{"id":1286,"date":"2011-01-31T21:23:17","date_gmt":"2011-02-01T02:23:17","guid":{"rendered":"http:\/\/scientopia.org\/blogs\/goodmath\/?p=1286"},"modified":"2011-01-31T21:23:17","modified_gmt":"2011-02-01T02:23:17","slug":"more-3-valued-logic-lukasiewicz-and-bochvar","status":"publish","type":"post","link":"http:\/\/www.goodmath.org\/blog\/2011\/01\/31\/more-3-valued-logic-lukasiewicz-and-bochvar\/","title":{"rendered":"More 3-valued logic: Lukasiewicz and Bochvar"},"content":{"rendered":"<p> Last time I wrote about fuzzy logic, we were looking at 3-valued logics, and I mentioned that there&#8217;s more than one version of 3-valued logic. We looked at one, called <img src='http:\/\/l.wordpress.com\/latex.php?latex=K%5ES_3&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='K^S_3' style='vertical-align:1%' class='tex' alt='K^S_3' \/>, Kleene&#8217;s strong 3-valued logic. In <img src='http:\/\/l.wordpress.com\/latex.php?latex=K%5ES_3&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='K^S_3' style='vertical-align:1%' class='tex' alt='K^S_3' \/>, we extended a standard logic so that for any statement, you can say that it&#8217;s true (T), false (F), or that you <em>don&#8217;t know<\/em> (N). In this kind of logic, you can see some of the effect of uncertainty. In many ways, it&#8217;s a very natural logic for dealing with uncertainty: &#8220;don&#8217;t know&#8221; behaves in a very reasonable way.<\/p>\n<p> For example, suppose I know that Joe is happy, but I don&#8217;t know if Jane is happy. So the truth value of &#8220;Happy(Joe)&#8221; is T; the truth value of &#8220;Happy(Jane)&#8221; is N. In Kleene, the truth value of &#8220;Happy(Joe) &or; Happy(Jane)&#8221; is T; since &#8220;Happy(Joe)&#8221; is true, then &#8220;Happy(Joe) &or; <em>anything<\/em>&#8221; is true. And &#8220;Happy(Joe) &and; Happy(Jane)&#8221; is N; since we know that Joe is happy, but we don&#8217;t know whether or not Jane is happy, we can&#8217;t know whether both Joe <em>and<\/em> Jane are happy. It works nicely. It&#8217;s a rather <em>vague<\/em> way of handling  vagueness, (that is, it lets you say you&#8217;re not sure, but it doesn&#8217;t let you say <em>how<\/em> not sure you are) but in so far as it goes, it works nicely.<\/p>\n<p> A lot of people, when they first see Kleene&#8217;s three-valued logic think that it makes so much sense that it somehow defines <em>the<\/em> fundamental, canonical three-valued logic in the same way that, say, first order predicatelogic defines the fundamental two-valued predicate logic.<\/p>\n<p> It isn&#8217;t.<\/p>\n<p> There are a bunch of different ways of doing three-valued logic. The difference between them is related to the meaning of the third value &#8211; which, in turn, defines how the various connectives work.<\/p>\n<p> There are other 3-valued logics. We&#8217;ll talk about two others. There&#8217;s Bochvar&#8217;s logic, and there&#8217;s Lukasiewicz&#8217;s. In fact, we&#8217;ll end up building our fuzzy logic on Lukasiewicz&#8217;s. But Bochvar is interesting in its own right. So we&#8217;ll take a look at both.<\/p>\n<p><!--more--><\/p>\n<p> Lukasiewicz&#8217;s, which we&#8217;ll call <img src='http:\/\/l.wordpress.com\/latex.php?latex=L_3&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='L_3' style='vertical-align:1%' class='tex' alt='L_3' \/>, is very similar to <img src='http:\/\/l.wordpress.com\/latex.php?latex=K%5ES_3&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='K^S_3' style='vertical-align:1%' class='tex' alt='K^S_3' \/>. <img src='http:\/\/l.wordpress.com\/latex.php?latex=N&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='N' style='vertical-align:1%' class='tex' alt='N' \/> means the same thing in <img src='http:\/\/l.wordpress.com\/latex.php?latex=L_3&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='L_3' style='vertical-align:1%' class='tex' alt='L_3' \/> as in <img src='http:\/\/l.wordpress.com\/latex.php?latex=K%5ES_3&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='K^S_3' style='vertical-align:1%' class='tex' alt='K^S_3' \/>. The difference is in the implication operator. In Kleene, <img src='http:\/\/l.wordpress.com\/latex.php?latex=N%20rightarrow%20N&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='N rightarrow N' style='vertical-align:1%' class='tex' alt='N rightarrow N' \/> is <img src='http:\/\/l.wordpress.com\/latex.php?latex=N&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='N' style='vertical-align:1%' class='tex' alt='N' \/>. But in Lukasiewicz&#8217;s, it&#8217;s <img src='http:\/\/l.wordpress.com\/latex.php?latex=T&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='T' style='vertical-align:1%' class='tex' alt='T' \/>. So where <img src='http:\/\/l.wordpress.com\/latex.php?latex=K%5ES_3&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='K^S_3' style='vertical-align:1%' class='tex' alt='K^S_3' \/> says, roughly, that &#8220;If I don&#8217;t know, I can&#8217;t infer anything&#8221;; and <img src='http:\/\/l.wordpress.com\/latex.php?latex=L_3&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='L_3' style='vertical-align:1%' class='tex' alt='L_3' \/> says &#8220;If I I don&#8217;t know, I can infer that I don&#8217;t know&#8221;. They&#8217;re both reasonable interpretations. But you can see the difference: even though both <img src='http:\/\/l.wordpress.com\/latex.php?latex=K%5ES_3&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='K^S_3' style='vertical-align:1%' class='tex' alt='K^S_3' \/> and <img src='http:\/\/l.wordpress.com\/latex.php?latex=L_3&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='L_3' style='vertical-align:1%' class='tex' alt='L_3' \/> both define <img src='http:\/\/l.wordpress.com\/latex.php?latex=N&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='N' style='vertical-align:1%' class='tex' alt='N' \/> as &#8220;I don&#8217;t know&#8221;, <img src='http:\/\/l.wordpress.com\/latex.php?latex=L_3&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='L_3' style='vertical-align:1%' class='tex' alt='L_3' \/>&#8216;s version of <img src='http:\/\/l.wordpress.com\/latex.php?latex=N&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='N' style='vertical-align:1%' class='tex' alt='N' \/> has a slightly different meaning, because you can use statements involving <img src='http:\/\/l.wordpress.com\/latex.php?latex=N&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='N' style='vertical-align:1%' class='tex' alt='N' \/> to infer truth. In <img src='http:\/\/l.wordpress.com\/latex.php?latex=K%5ES_3&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='K^S_3' style='vertical-align:1%' class='tex' alt='K^S_3' \/>, the only way you can infer a truth from a statement containing something with the truth-value <img src='http:\/\/l.wordpress.com\/latex.php?latex=N&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='N' style='vertical-align:1%' class='tex' alt='N' \/> is by eliminating the <img src='http:\/\/l.wordpress.com\/latex.php?latex=N&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='N' style='vertical-align:1%' class='tex' alt='N' \/>. For example, in Kleene, we can infer that if <img src='http:\/\/l.wordpress.com\/latex.php?latex=B&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='B' style='vertical-align:1%' class='tex' alt='B' \/> is <img src='http:\/\/l.wordpress.com\/latex.php?latex=N&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='N' style='vertical-align:1%' class='tex' alt='N' \/> in <img src='http:\/\/l.wordpress.com\/latex.php?latex=A%20lor%20B&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='A lor B' style='vertical-align:1%' class='tex' alt='A lor B' \/>. But in <img src='http:\/\/l.wordpress.com\/latex.php?latex=L_3&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='L_3' style='vertical-align:1%' class='tex' alt='L_3' \/>, we can actually use <img src='http:\/\/l.wordpress.com\/latex.php?latex=N&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='N' style='vertical-align:1%' class='tex' alt='N' \/> statements: if <img src='http:\/\/l.wordpress.com\/latex.php?latex=A&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='A' style='vertical-align:1%' class='tex' alt='A' \/> and <img src='http:\/\/l.wordpress.com\/latex.php?latex=B&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='B' style='vertical-align:1%' class='tex' alt='B' \/> are both <img src='http:\/\/l.wordpress.com\/latex.php?latex=N&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='N' style='vertical-align:1%' class='tex' alt='N' \/>, then <img src='http:\/\/l.wordpress.com\/latex.php?latex=A%20leftrightarrow%20B%20%3D%3D%20T&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='A leftrightarrow B == T' style='vertical-align:1%' class='tex' alt='A leftrightarrow B == T' \/>. <\/p>\n<p> The change has one big benefit. In <img src='http:\/\/l.wordpress.com\/latex.php?latex=L_3&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='L_3' style='vertical-align:1%' class='tex' alt='L_3' \/>, there are real tautologies.<\/p>\n<p> If you recall classical two-valued logic, a tautology is a statement which, by virtue of its structure, is always true. No matter what truth values you assign to the elements of a tautology, the tautology itself will <em>always<\/em> be true. For example, in classical propositional logic, <img src='http:\/\/l.wordpress.com\/latex.php?latex=A%20rightarrow%20A&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='A rightarrow A' style='vertical-align:1%' class='tex' alt='A rightarrow A' \/> is always true. If <img src='http:\/\/l.wordpress.com\/latex.php?latex=A&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='A' style='vertical-align:1%' class='tex' alt='A' \/> is true, then <img src='http:\/\/l.wordpress.com\/latex.php?latex=A%20rightarrow%20A&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='A rightarrow A' style='vertical-align:1%' class='tex' alt='A rightarrow A' \/> is true; if <img src='http:\/\/l.wordpress.com\/latex.php?latex=A&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='A' style='vertical-align:1%' class='tex' alt='A' \/> is false, then <img src='http:\/\/l.wordpress.com\/latex.php?latex=A%20rightarrow%20A&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='A rightarrow A' style='vertical-align:1%' class='tex' alt='A rightarrow A' \/> is still true. In <img src='http:\/\/l.wordpress.com\/latex.php?latex=K%5ES_3&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='K^S_3' style='vertical-align:1%' class='tex' alt='K^S_3' \/>, it&#8217;s <em>not<\/em> true. If <img src='http:\/\/l.wordpress.com\/latex.php?latex=A&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='A' style='vertical-align:1%' class='tex' alt='A' \/> is <img src='http:\/\/l.wordpress.com\/latex.php?latex=N&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='N' style='vertical-align:1%' class='tex' alt='N' \/>,  <img src='http:\/\/l.wordpress.com\/latex.php?latex=N%20rightarrow%20N&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='N rightarrow N' style='vertical-align:1%' class='tex' alt='N rightarrow N' \/> is <em>not<\/em> true. So it&#8217;s not a tautology. In fact, <em>every<\/em> tautology in classical logic will have that problem: it won&#8217;t be true for truth-bindings involving <img src='http:\/\/l.wordpress.com\/latex.php?latex=N&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='N' style='vertical-align:1%' class='tex' alt='N' \/>.<\/p\n\n\n\n<p> But <img src='http:\/\/l.wordpress.com\/latex.php?latex=L_3&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='L_3' style='vertical-align:1%' class='tex' alt='L_3' \/> <em>does<\/em> have tautologies &#8211; and, in fact, they&#8217;re the same tautologies as two-valued logic!<\/p>\n<p> Another example of a three-valued logic is Bochvar&#8217;s internal three-valued logic, commonly written as <img src='http:\/\/l.wordpress.com\/latex.php?latex=B%5EI_3&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='B^I_3' style='vertical-align:1%' class='tex' alt='B^I_3' \/>. Bochvar was interested in logic where you&#8217;ve got statements that aren&#8217;t true or false &#8211; not because  we don&#8217;t <em>know<\/em> whether they&#8217;re true or false, but rather they aren&#8217;t true or false because they&#8217;re nonsensical, like the classical liars paradox: &#8220;This sentence is false.&#8221;. Is it true, or is it false? It makes no sense. It can&#8217;t be true, and it can&#8217;t be false. Most logics try to cope with that by saying is&#8217;s not a valid statement at all &#8211; that it&#8217;s not something you can say in the logic. Bochvar lets you say it, but gives it a  truth value of &#8220;N&#8221;, meaning either nonsense or meaningless.<\/p>\n<p> With N having the meaning that something is nonsense, the proper behavior of the logical connectives is quite different. Nonsense is<em>contagious<\/em>: N &land; Anything = N; N &or; Anything = N. N &rarr; Anything = N. And so on. Any logical statement that includes an N value will always have a combined truth value of N. What this is supposed to mean is pretty simple: if any step in a logical is nonsense, then the entire argument is nonsense. You can&#8217;t reason from garbage to  meaningful.<\/p>\n<p> In terms of vagueness, this seems somewhat less useful. We <em>can<\/em> use it, and in some ways, it makes sense. If you&#8217;ve got a vague statement, and you can&#8217;t quantify vagueness, then the only thing you can conclude from vagueness is vagueness. I&#8217;m a little bit happy. If I&#8217;m happy, then I must be smiling. If I&#8217;m not happy, then I&#8217;m not smiling. Can we conclude from that that I&#8217;m smiling? No. Can we conclude that I&#8217;m <em>not<\/em> smiling? No. We don&#8217;t know enough to conclude either way. So that makes sense, in its way.<\/p>\n<p> If you&#8217;re the kind of person who reads this blog, you&#8217;ve probably been wondering: Why is the logic named <img src='http:\/\/l.wordpress.com\/latex.php?latex=B%5EI_3&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='B^I_3' style='vertical-align:1%' class='tex' alt='B^I_3' \/> instead of just <img src='http:\/\/l.wordpress.com\/latex.php?latex=B_3&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='B_3' style='vertical-align:1%' class='tex' alt='B_3' \/>? The reason is that there&#8217;s more to Bochvar than this. What I&#8217;ve been describing  to you so far is Bochvar&#8217;s <em>internal<\/em> three-valued logic. Bochvar described another 3-value logic, called the external logic, and he defined a way of combining the two, which makes things much more interesting.<\/p>\n<p> The second Bochvar logic, also known as <img src='http:\/\/l.wordpress.com\/latex.php?latex=B%5EE_3&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='B^E_3' style='vertical-align:1%' class='tex' alt='B^E_3' \/> or Bochvar&#8217;s external three-valued logic, treats &#8220;N&#8221; as being equivalent to &#8220;F&#8221;. We&#8217;ll write Bochvar&#8217;s external connectives as <img src='http:\/\/l.wordpress.com\/latex.php?latex=land_E&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='land_E' style='vertical-align:1%' class='tex' alt='land_E' \/> and <img src='http:\/\/l.wordpress.com\/latex.php?latex=lor_E&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='lor_E' style='vertical-align:1%' class='tex' alt='lor_E' \/>, etc. Bochvar&#8217;s external logic is, sort of like taking the internal logic, and asking &#8220;What can we prove to be true if we discard everything nonsensical?&#8221;. So, for example, <img src='http:\/\/l.wordpress.com\/latex.php?latex=T%20land_E%20N%20%3D%20F&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='T land_E N = F' style='vertical-align:1%' class='tex' alt='T land_E N = F' \/>: if part of a logical and statement isn&#8217;t true, then the conjunction can&#8217;t be true.<\/p>\n<p> The connection between the two is the use of a sort-of forcing operator: something which takes the truth value from the three-valued logic, and converts it into a valid truth value in standard two-value logic. It&#8217;s called the <em>assertion operator<\/em>, written <img src='http:\/\/l.wordpress.com\/latex.php?latex=a&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='a' style='vertical-align:1%' class='tex' alt='a' \/>. <img src='http:\/\/l.wordpress.com\/latex.php?latex=aP&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='aP' style='vertical-align:1%' class='tex' alt='aP' \/> is the assertion operator applied to the proposition <img src='http:\/\/l.wordpress.com\/latex.php?latex=P&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='P' style='vertical-align:1%' class='tex' alt='P' \/>. What the <img src='http:\/\/l.wordpress.com\/latex.php?latex=a&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='a' style='vertical-align:1%' class='tex' alt='a' \/> operator <em>means<\/em> is &#8220;I assert that this statement can be proven to be true&#8221;. So <img src='http:\/\/l.wordpress.com\/latex.php?latex=aN%20%3D%20F&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='aN = F' style='vertical-align:1%' class='tex' alt='aN = F' \/>; N isn&#8217;t true, and it isn&#8217;t false: it&#8217;s N. Since it&#8217;s not true, <img src='http:\/\/l.wordpress.com\/latex.php?latex=aN&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='aN' style='vertical-align:1%' class='tex' alt='aN' \/> is false.<\/p>\n<p> So if <img src='http:\/\/l.wordpress.com\/latex.php?latex=land_I&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='land_I' style='vertical-align:1%' class='tex' alt='land_I' \/> is the and operator from the internal logic, and <img src='http:\/\/l.wordpress.com\/latex.php?latex=land_E&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='land_E' style='vertical-align:1%' class='tex' alt='land_E' \/> is the and operator from the external logic, then <img src='http:\/\/l.wordpress.com\/latex.php?latex=A%20land_E%20B&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='A land_E B' style='vertical-align:1%' class='tex' alt='A land_E B' \/> is equivalent to <img src='http:\/\/l.wordpress.com\/latex.php?latex=a%28A%20land_I%20B%29&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='a(A land_I B)' style='vertical-align:1%' class='tex' alt='a(A land_I B)' \/>.<\/p>\n<p> The way that the two can be combined is through the use of asassertion operation, <img src='http:\/\/l.wordpress.com\/latex.php?latex=a&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='a' style='vertical-align:1%' class='tex' alt='a' \/>, where <img src='http:\/\/l.wordpress.com\/latex.php?latex=aS&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='aS' style='vertical-align:1%' class='tex' alt='aS' \/> is the assertion that S is true. So the connectives in the Bochvar&#8217;s external are really just the result of applying <img src='http:\/\/l.wordpress.com\/latex.php?latex=a&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='a' style='vertical-align:1%' class='tex' alt='a' \/> to the internal connectives. In the internal logic, <img src='http:\/\/l.wordpress.com\/latex.php?latex=T%20land%20N%20%3D%20N&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='T land N = N' style='vertical-align:1%' class='tex' alt='T land N = N' \/>. So in the external, <img src='http:\/\/l.wordpress.com\/latex.php?latex=a%28T%20land%20N%29%20%3D%20a%28N%29%20%3D%20F&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='a(T land N) = a(N) = F' style='vertical-align:1%' class='tex' alt='a(T land N) = a(N) = F' \/>.<\/p>\n<p> There are a couple of properties of three-valued logic that we can use to categorize the logics.<\/p>\n<p> The most important property is <em>normality<\/em>. We really wouldn&#8217;t want to use a logic that&#8217;s not normal. A three-valued logic is <em>normal<\/em> if, for any logical statement that only involves the values true and false, it will have the <em>same<\/em> truth value as standard FOPL. All of the logics we&#8217;ve seen: Kleene, Lukasiewicz&#8217;s, Bochvar&#8217;s internal, Bochvar&#8217;s external, and Bochvar&#8217;s combined, are all normal.<\/p>\n<p> Next, we&#8217;ve got <em>uniformity<\/em>. This is a bit harder to explain. In conventional two-valued logic, some binary operators have results that are determinable by a single particular truth value. For example, <img src='http:\/\/l.wordpress.com\/latex.php?latex=land&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='land' style='vertical-align:1%' class='tex' alt='land' \/> is determinable by <img src='http:\/\/l.wordpress.com\/latex.php?latex=F&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='F' style='vertical-align:1%' class='tex' alt='F' \/>: if either side of a logical and is false, then it doesn&#8217;t matter what the other side is: we know the result. An operator in a three-valued logic is uniform if it&#8217;s truth values are determinable by a single truth value, just like the conventional two-valued logic. Kleene&#8217;s three-valued logic is uniform; Lukasiewicz&#8217;s three-valued logic is uniform; Bochvar&#8217;s internal and combined logics are not; Bochvar&#8217;s external <em>is<\/em>.<\/p>\n<p> Now we can get to a really interesting one: tautologies. A tautology is a statement that is always true, by virtue of its structure. No matter what truth value you assign to its elements, the statement will always be true. For example, <img src='http:\/\/l.wordpress.com\/latex.php?latex=A%20lor%20lnot%20A&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='A lor lnot A' style='vertical-align:1%' class='tex' alt='A lor lnot A' \/>. Whether A is true or false, that&#8217;s  going to be true. <img src='http:\/\/l.wordpress.com\/latex.php?latex=A%20implies%20A&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='A implies A' style='vertical-align:1%' class='tex' alt='A implies A' \/> is always true in a two-valued logic. So, can we have tautologies in three-valued logics?<\/p>\n<p> In Kleene, the answer is no. Take that simple example, above: <img src='http:\/\/l.wordpress.com\/latex.php?latex=A%20lor%20lnot%20A&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='A lor lnot A' style='vertical-align:1%' class='tex' alt='A lor lnot A' \/>. Suppose A is N. Then we&#8217;ll end up with <img src='http:\/\/l.wordpress.com\/latex.php?latex=N%20lor%20lnot%20N&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='N lor lnot N' style='vertical-align:1%' class='tex' alt='N lor lnot N' \/>, which is not true. So the tautology doesn&#8217;t work. In fact, in Kleene, we can&#8217;t have any tautologies: they&#8217;ll all fail this way.<\/p>\n<p> In Bochvar&#8217;s internal logic, we also can&#8217;t have tautologies &#8211; for exactly the same reason.<\/p>\n<p> Bochvar&#8217;s external, because of the way that the assertion operator forces things into a two-valued frame, does allow tautologies. Likewise, obviously, the combined form of Bochvar&#8217;s allows tautologies.<\/p>\n<p> So &#8211; if we&#8217;re looking for a candidate for talking about vagueness, we&#8217;d like something which is normal, uniform, and contains tautologies. That  eliminates everything except Lukasiewicz&#8217;s. And so we&#8217;ll use a Lukasiewicz based logic as the foundation of our fuzzy logic.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Last time I wrote about fuzzy logic, we were looking at 3-valued logics, and I mentioned that there&#8217;s more than one version of 3-valued logic. We looked at one, called , Kleene&#8217;s strong 3-valued logic. In , we extended a standard logic so that for any statement, you can say that it&#8217;s true (T), false [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[87],"tags":[165,193],"class_list":["post-1286","post","type-post","status-publish","format-standard","hentry","category-fuzzy-logic","tag-fuzzy","tag-logic-2"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p4lzZS-kK","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/posts\/1286","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/comments?post=1286"}],"version-history":[{"count":0,"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/posts\/1286\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/media?parent=1286"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/categories?post=1286"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/tags?post=1286"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}