Jump to content

Talk:Three-valued logic

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia

Does attention belong on talk or article page?

[edit]

RJFJR 22:26, Feb 5, 2005 (UTC)

What is "attention"? --Loqi T. 05:38, 11 October 2006 (UTC)[reply]

Attention = the act or state of attending especially through applying the mind to an object of sense or thought b : a condition of readiness for such attention involving especially a selective narrowing or focusing of consciousness and receptivity — Preceding unsigned comment added by 77.169.168.165 (talk) 03:32, 6 November 2011 (UTC)[reply]

Is this article defining 'a' logic or a 'class' of logics?

[edit]

The intro currently says that ternary logic is a multi-valued logic. But the article is kind of reluctant to say exactly how to implement ternary logic (such as saying that the assignment of ternary values to truth values is or a permutation). Does that mean this is really a description of many different logics?

Am I splitting semantic hairs again? RJFJR 22:24, Feb 5, 2005 (UTC)

c:No, you're absolutely right, ternary logic is a collective name for a wide variety of logics. Qwertyus 13:19, 16 August 2005 (UTC)[reply]

There are a number of Ternary logics. The article provides a truth table for ONE of them (Admitedly a common one). The article's underlying assumption is that the third value is "unknown". There are different ternary logics with different truth tables that coorespond to other assumed meanings. Which is the "correct" truth table is still a matter of debate. (Particularly when adding modal operators to the ternary logic). Nahaj 15:35, 17 January 2006 (UTC)[reply]

Actually, the currently described truth table is that of Kleene's logic. It is obtained by a continuity (or strictness) principle (cf. J.P.Cleave: A Study of Logics, Oxford University Press 1991). Suggestion: replace the current truth table with an overview of different ternary logics, and create subpages for these. --Tillmo 15:38, 24 March 2006 (UTC)[reply]

You are confusing the semantics of the logic (what the values mean) with the relationships of the values in the logics. These are two separate issues.

0 → 0

[edit]

0 → 0 = 0, isn't it? MvR 14:47, 19 October 2005 (UTC)[reply]

It is in areas like this that people argue what the "right" truth table is. They are usually heated arguments because the answer is clear For some *specific* "meaning" of the values. And since the specific meaning being used by a speaker is the "obvious" one (to them) they assume that anyone else that doesn't agree is being dense.Bottom line: Yes, there are ternary logics that have 0 → 0 = 0. And there are ternary logics where that is not the case. Each captures a different sense of "unknown" or a different sense of "→".
Personal unsolicited opinion: Wikipedia has a bad tendency, statistically, to take ONE example of something, and write as if it were THE example of something. Nahaj 15:45, 17 January 2006 (UTC)[reply]

Why numbers?

[edit]

I find the use of 0,1,2 rather confusing. Why not use *, T and F ? --Tillmo 15:42, 24 March 2006 (UTC)[reply]

I agree. Also, I think that the conjunctions would be easier to see if they were separated each into their own table. Smmurphy(Talk) 21:54, 2 June 2006 (UTC)[reply]
I don't think it needs to be split into separate truth tables, but the values certainly need to be clarified, since (even if we're sticking to one class of ternary logic) different sources will attribute different values to 0, 1, and 2.--Rinn 16:39, 15 July 2006 (UTC)[reply]

Truth Valuation Functions

[edit]

I believe there should be a discussion of the different truth valuation functions. Definitely Strong vs. Weak Kleene logic should be addressed here. I know this is addressed slightly in George Boole's "Logical Options" to some extent, and the discussion must be carried on further elsewhere.

Yes, I've addressed this with a discussion per the truth tables derived from Kleene 1952 (see entry below). Bill Wvbailey (talk) 23:52, 6 April 2011 (UTC)[reply]

(Bi-)Intuitionist Logic & Orthologic

[edit]

Should be included, as well. In particular, the unique 3-valued Heyting lattice, which (being finite) is also bi-Heyting. It agrees on all the operations except the conditional. For the 3-valued lattice, the intuitionist negation ¬x = x⊃F coincides with Mx; where its conditional, denoted here x⊃y, is related to the Łukasiewicz conditional x→y and Kleene negation ~x by x→y = (x⊃y) ∨ ~(x-y), where (x - y) = ~(~y ⊃ ~x) is the subtractive operator on the dual Heyting lattice (the "unless" connective). The weak negation (T - x) in the bi-Heyting lattice coincides with Lx. The Kleene, Łukasiewicz and Heyting conditional agree everywhere except for the pairs (0,0) (= 0 for Kleene, = T for Łukasiewicz and Heyting), and (0,F) (= 0 for Kleene and Łukasiewicz, = F for Heyting).

There is also a unique 3-valued orthologic (defined on the 3-element ortholattice), whose negation coincides with the Kleene negation. On quasi-implicative ortholattices, the Sasaki arrow operation ~x ∨ (x∧y) plays the role of the conditional operator. This agrees with the Kleene conditional, except that (0,T) has 0 as a value, instead of T.

Article is problematic

[edit]

This article is confusing the semantics with logic.

It should be a disambiguation page to different 3-valued logical systems.

Choice of symbols

[edit]

I would think that something like -, 0 and + would psychologically be the most satisfying choice to represent the different truth values. Does anyone agree? -- Dissident (Talk) 03:13, 25 August 2006 (UTC)[reply]

I disagree on the grounds that 0 is usually associated with false, thus possibly causing confusion between your - and 0. I agree with someone above who suggested that F, *, and T are good choices. Or perhaps 0, 1/2, and 1. I do agree that the current 0, 1, 2 notation is very confusing. --216.254.66.59 23:47, 28 August 2006 (UTC)[reply]
  • Using the symbols { -, 0, + } is one of the common notations used in balanced ternary. I agree that { 2, 0, 1 } is confusing. And { 0, ½, 1 } is less confusing, but still represents the unknown value as the same kind of thing as a known value—do two unknowns add up to a true? I think { F, *, T } or { F, ?, T } would be a much better choice of symbols. A question mark intuitively means "unknown" while an asterisk visually scans well for finding patterns.
    __ The reason we use numerical bits in binary logic is because computer memory is customarily designed to address several bits together, for efficient integer arithmetic. It's just a convenience for human engineers to denote the concepts of false and true with the numeric symbols 0 and 1 and then use the same machine for anding and oring that we use for adding and dividing. It's less cumbersome to represent the boolean true as 1 than it is to write the integer ten as FFFFTFTF. But either way, bits are not little zeros and ones or Fs and Ts inside the machine, they're just conceptualized that way by us users.
    __ With the { 2, 0, 1 } symbol scheme, we're asked to re-denote 0 from false to unknown, and to re-designate false as the numeral 2, while true stays as 1. But there doesn't appear to be any corresponding integer arithmetic to go with the numerical symbol scheme. That is, a string of ternary digits (tits?) doesn't normally represent a number, so why bother using numerals to represent the concepts?
    I propose using the symbols { false, unknown, true } (spelled out and italicized) whenever horizontal space is not a consideration, and the symbols { F, ?, T } (not italicized) in truth tables and similar columnized presentation formats. --Loqi T. 06:02, 29 September 2006 (UTC)[reply]
Is there any fixed usage by major journals? in the most popular textbooks? Smmurphy(Talk) 02:10, 5 October 2006 (UTC)[reply]
  • I don't think there's a standard numerical notation accepted by everyone. { -1, 0, +1 } is preferred for digital hardware. { 0, ½, 1 } is popular with some, and I don't know who came up with { 2, 0, 1 } but I've seen it in more than one place. Using spelled-out words has the additional minor controversy of what word to use for the neither-true-nor-false value. I've seen unknown, maybe, possible, indeterminate, inconclusive, uncollapsed and fictive. I'd go with unknown or possible. --Loqi T. 01:51, 11 October 2006 (UTC)[reply]
This probably wouldn't be appropriate since I haven't seen it in use elsewhere, but in my own tinkering I have found { -, *, + } to be the most intuitive. It eliminates the confusion of 0 being misinterpreted as False, and * is also commonly used as a wildcard for "anything" or "unknown". Maghnus 09:05, 19 March 2007 (UTC)[reply]

Article reduced to stub length.

[edit]

The {{references}} tag has been on the article since April 16, 2006, and it has only gotten worse since then. I have solved the problem by removing the vast majority of the article's content. See WP:RS#Requesting sources. Simões (talk/contribs) 01:48, 5 November 2006 (UTC)[reply]

I have replaced the bulk of what was removed. While it is true that the article is not of high quality, it is far more informative than while it was castrated. There is nothing here that is so controversial that it can't stay until the article evolves. It is difficult to provide sources because this is a somewhat obscure topic, and everyone seems to have their own interpretations. Rather than deleting everything, however, it should be sufficient to make note of this situation within the article. And if there is a particular statement that is questionable, then {{fact}} or deletion would apply there. Don't just delete essentially the entire article. WTF. 66.191.103.64 13:17, 25 December 2006 (UTC)[reply]
The article has been restubbified. A new version is forthcoming, and the version you restored, besides being unsourced (which warrants any editor to strip it down per WP:CITE, is also misleading in places. Simões (talk/contribs) 15:15, 25 December 2006 (UTC)[reply]
Yes, I have read those guidelines and there is nothing that would warrant removing virtually the entire article, even if a better version is forthcoming. "If it is doubtful but not harmful to the whole article, use the {{fact}} tag to ask for source verification, but remember to go back and remove the claim if no source is produced within a reasonable time."
If you have problems with some of the statements, tag those for citations. Otherwise, leave it alone.
Even with its (non-harmful) flaws, this is a fairly decent introduction to the concepts of ternary logic, and you are doing a disservice to anyone who would come across this article. No, most people don't go check the history page to see if someone overzealously wiped the entire article because a few statements didn't yet have references cited. 66.191.103.64 16:03, 25 December 2006 (UTC)[reply]
There were no sources, and, as I pointed out back in November, the {{references}} had been there since April. WP:CITE says, "Any material that is challenged and for which no source is provided may be removed by any editor." I challenge all of it. Any restoration of unsourced content will be reverted. I'm sorry if you dislike this application of WP:CITE, but I am of the view that reliability is more important than "informativeness." Simões (talk/contribs) 16:12, 25 December 2006 (UTC)[reply]

Proposed revamp

[edit]

I’d like to see a section on motivations for three-valued logic (future contingents, quantum mechanics, intuitionism in mathematics, etc.), and then a section on different systems (Strong and Weak Kleene, Sobocinski, Reichenbach, etc.) There should be a brief discussion, at the end, of truth-functional completeness, including mention of Sheffer connectives. If no one objects, I’ll pull this together, incorporating as much previously posted material as I can, and heeding the above comments where possible. I'll cite books by Susan Haack and Nicholas Rescher as primary sources. Comments? --Knorlin 10:50, 25 November 2006

Sounds like a good plan. What about Łukasiewicz, though? An article on trivalent logic seems to be sorrowfully incomplete without mention of him and his work. Simões (talk/contribs) 19:51, 25 November 2006 (UTC)[reply]

Right. Actually, I think I would say, "Here's Łukas. system, and the Strong Kleene system is the same except for the following difference with the if-then connective..." --Knorlin 14:07, 25 November 2006

That's reasonable. I look forward to seeing how it turns out! Simões (talk/contribs) 23:12, 25 November 2006 (UTC)[reply]

IMHO, You have problem with ternary logic. Plz, change back the article. We maked Setun, we understand it. Ignat99 16:39, 28 November 2006 (UTC)[reply]

Aristotlean logic which provides for true and false and .

It is true! Ignat99 14:10, 30 November 2006 (UTC)[reply]

I mean the Soviet Union and my schools of thought (Moscow Institute of Electronic Technology) and my teacher ([Nikolai Brusentsov http://www.icfcst.kiev.ua/MUSEUM/Brusentsov.html]) and our (russian) philosophers.
>If you think otherwise, you'll have to cite the work and section number.
Брусенцов Н.П. "Блуждание в трех соснах (Приключения диалектики в информатике)" Москва, SvR - Аргус, 2000. – 16 с. и в сборнике: "Программные системы и инструменты",Труды ф-та ВМиК МГУ, №1, Москва: МАКС Пресс, 2000, с.13-23
Васильев Н.И. Воображаемая логика. Избранные труды. - М.: "Наука,, 1989.
Карпенко А.С. Многозначные логики // Логика и компьютер. Вып.4. - М.: "Наука", 1997.
Лукасевич Я. Аристотелевская силлогистика с точки зрения современной формальной логики. - М.: ИЛ, 1959.
Пиаже Ж. Логика и психология // Ж.Пиаже. Избранные психологические труды. - М.: "Просвещение", 1969.
Порецкий П.С. О способах решения логических равенств и об обратном способе математической логики. - Казань, 1884.
Слинин Я.А. Современная модальная логика. - Л.: Изд-во Ленингр. ун-та, 1976.
Стяжкин Н.И. Формирование математической логики. - М.: "Наука", 1967.
Советская научная школа до сих пор питает все научные идеи и разработки в мире. Ваша буржуазная философия чужда диалектики и направлена только на угнетение народа посредством выдуманной истории и философии и ваших законов. Вас обманывает Ваша наука.
Read Aristotle (Organon) and find there word (attendant, circumstantial) and think. :-)

Ignat99 07:22, 1 December 2006 (UTC)[reply]

Greek words do not end in zeta. Obviously sigma is meant...but if we are being asked to go to the original text, you really ought to get your Greek correct in the first place. Also, I just love all the original research going on! Yay Wikipedia! DnP, 19 Feb 2007 —The preceding unsigned comment was added by 24.208.78.163 (talk) 00:03, 20 February 2007 (UTC).[reply]

Trying to avoid an edit war

[edit]

I wish Ignat99 would give a more specific citation. The Future Sea Battle example in De Interpretatione, ch. 9, is the usual reference on future contingents (see my above note). But near as I can tell (without ready access to the Greek texts and without being a specialist in this area), the word sumbebekos appears elsewhere in the Organon and doesn't directly relate to the topic at hand. I think sumbebekos relates to essential versus nonessential predication, but statements of this type are still either true or false (if I understand correctly). My source on this is http://plato.stanford.edu/entries/aristotle-logic/.

I don't sense that Simoes has a problem with three-valued logic. Just wants to see some references--which is reasonable. I'm still waiting for the library to tell me that the Rescher book has come in, and then I'll try to get something up.

Meanwhile, let me propose that since Ignat99's interests lie in the direction of computer science applications of ternary logic, maybe we can have two articles? One can be Three-valued logic and the other can be Ternary logic (computer science). To me, tenary and binary seem like terms more current in computer science than philosophical logic, anyway.

Knorlin talk 05:51, 11 December 2006 (UTC).[reply]

I don't think Ignat99 will engage in edit warring. He's been civil and is putting talk pages to good use (despite leaving sometimes confusing messages).
As for your article-splitting proposal, it doesn't really seem necessary. I think "trivalent logic" has greater mean currency in computer science and philosophy than either "ternary logic" or "three-valued logic." So maybe the article should be renamed. But since the topics in computer science and philosophy are closely related ("trivalent logic" is not an ambiguous phrase, with one sense used in philosophy and another in CS), I think it might be best to just have sections in a single article with information on specific applications and topical emphases in the respective fields. Simões (talk/contribs) 06:54, 11 December 2006 (UTC)[reply]

Okay, one article with multiple sections. Sounds like a plan. I hope to get something up on different 3-valued systems and motivation soon. Knorlin 07:21, 11 December 2006 (UTC)[reply]

I just added two basic paragraphs, not realizing that others had major revisions in mind. Reading that the article was a stub, I just assumed it had been ignored. Now I see that this is not the case. I'll leave me edits in should they prove useful in Knorlin's rewrite. If not, trash 'em. :) 2*6 10:53, 24 December 2006 (UTC)[reply]

Draft workspace for new version.

[edit]

Knorlin has offered to do a load of work offline on a new version of the article, but it's been a while since the article has been cut down. I'd like to see some progress, and there seems to be interest by a few people in collaborating on it.

I've created a page for this collaboration: Talk:Ternary_logic/Draft It's intended as a back-end workspace for the new version of the article, so please use it in place of the live page to develop the article until this sourcing controversy is ironed out.

In the meantime, I, for one, would rather have the long, unsourced version, rather than the short, uninformative version as the live article. --Loqi T. 20:22, 25 December 2006 (UTC)[reply]

Added slight clarification of SQL 3VL

[edit]

Changed the word "triggers" to "initiates an action" to avoid possible confusion with actual SQL Triggers. Also added that while Unknown and False truth values cause DML statements to disregard rows, only a False truth value will cause a row to fail the validation of a SQL Check Constraint. Both True and Unknown indicate a valid row as far as a SQL Check Constraint is concerned. Info was added to the "Ternary logic in database applications" section. The Null article also provides a more in-depth discussion of SQL's implementation of three-valued logic, so I'm adding a link to that article as well.SqlPac 14:52, 17 April 2007 (UTC)[reply]

Oops, I was so wrapped up in "triggers" I initially put trigger in there - corrected to Check Constraints.SqlPac 15:09, 17 April 2007 (UTC)[reply]

Reworked the Ternary logic in database applications section

[edit]

Are two example of SQL 3VL really necessary here? I think two examples is redundant redundancy, especially since we have several examples of SQL expressions demonstrating how SQL 3VL is handled on the Null page.SqlPac 15:20, 20 April 2007 (UTC)[reply]

I don't think the second example was necessary here. If you boil down the second explanation, it's just re-stating the explanation for the previous example again (times two since it has to describe both expressions on either side of the OR). I don't think three copies of the same explanation in the same section of the same page are necessary. I also think it's confusing. So I changed it. SqlPac 15:29, 20 April 2007 (UTC)[reply]

Without a logical operation like OR or AND, there's not actually any ternary logic going on. I tried to make the explanation as clear as possible, but for many readers it's inherently confusing material. I want to avoid readers falling into the trap of seeing a null field as a synonym for the unknown truth state—an error I've even seen some writers make in this article. And since this is an article about ternary logic, not SQL, readers must be introduced to the concept of null fields, in order for the example to make sense. Maybe there's a better way to represent an example of ternary logic in SQL, but I'm sure there's gotta be a boolean in it somewhere, otherwise it's not really demonstrating ternary logic. --Loqi T. 07:12, 13 May 2007 (UTC)[reply]

"Without a logical operation like OR or AND, there's not actually any ternary logic going on" appears, at first glance, to be a False statement. For ternary logic to be going on, one would think you need a predicate and three possible logical results. Like this:
 The predicate (10 = 10) produces TRUE
 The predicate (10 < 10) produces FALSE
 The predicate (10 > NULL) produces UNKNOWN
Based on your assertion, none of these examples falls under the heading of ternary logic since none have an OR or an AND, so no ternary logic is going on. The example in the article at first appears to be complex, and 3 times redundant. Here's a short introduction to SQL NULL: "SQL Null is a marker that represents a missing value." For a thorough explanation of SQL Null and SQL ternary logic (3VL), see the Good Article, Null (SQL). This article on ternary logic is not my article, so I won't be doing any more editing on it after I add your assertion to it, per Be Afraid!: "Without a logical operation like OR or AND, there's not actually any ternary logic going on." I think it's a wonderful quote that will better inform readers why the complex example is included, and why a simple SQL predicate like (10 = 10) does not fall under the scope of ternary logic (as there's no ternary logic going on). SqlPac 16:56, 13 May 2007 (UTC)[reply]
I just helped eliminate the confusion for those who might have mistakenly believed that "ternary logic" applied to simple predicates in SQL as well as compound predicates. I added your assertion that simple predicates do not fall under the scope of ternary logic in SQL (without a logical operation like OR or AND, there's not actually any ternary logic going on), and only compound predicates do. Thanks for the heads up on that fact... I really had no idea ternary logic only applied to compound predicates in SQL, and I'm sure others will be better informed by this fact. Another article might need to be created to discuss the SQL three-valued logic system and simple predicates, since simple predicates do not fall under the scope of ternary logic (or this article). BTW, can you provide a reference for this assertion? Thanks. SqlPac 20:57, 13 May 2007 (UTC)[reply]

How utterly charming, SqlPac. Did you really intend for your principal contribution toward solving this problem to be hostile comments on the talk page and vandalism of the article? WP:POINT How could you possibly think it responsible to add this passage to the text of the article? "The simple three-valued logic system employed by SQL does not constitute "ternary logic", however. Simple predicates like the example above do not fall under the scope of "ternary logic" in SQL. In fact, for "ternary logic" to be "going on" in SQL requires a compound predicate with an AND or OR keyword joining two or more simple predicate." The worst part of that contribution is not the horrible grammar or factual inaccuracies, it's that it remained on the live article for nearly two months! --Loqi T. 22:08, 5 July 2007 (UTC)[reply]

I was working under the assumption that you knew what you were talking about when you stated that ternary logic only encompasses compound predicates. I think this is a very important concept that needs to be put in the article, as many people might mistakenly believe that ternary logic can actually encompass simple predicates as well. Acusations of vandalism are fairly strong, WP:AGF. I have not made any hostile comments, I simply asked you to further explain your previous assertion and provide a source. I strongly believe that this information needs to be included in the article, and I ask you to please put it back in and source it. Perhaps the reason it was not changed for two months is that your assertion is 100% correct. If there are any factual inaccuracies, that would be an artifact of your previous posts to the talk page where you provided the information. I suppose we really need to decide whether or not your assertion is correct, and if so, source it. If your assertion is actually incorrect, then we'll need to come up with a whole new rationale for over-complicating the examples. Please advise. SqlPac 20:40, 27 July 2007 (UTC)[reply]

This really is quite amusing, SqlPac. First, you apply rigorous analysis to a sentence in a casual talk-page comment, thus demonstrating the casual comment is not literally true in all cases. You then re-state that casual comment into its most extreme interpretation and put quotation marks around it, implying attribution to it's original author. You then vandalize (yes, vandalize) the live article, by stating that extreme interpretation as fact, apparently on the strength of your own original research interpretation of a casual comment you found on a Wikipedia talk page. And on top of that, you ask for the casual talk page comment to be footnoted after you used it as a source in the live article. For the record, I hereby acknowledge that ternary logic is, in fact, going on in the expressions "10 = 10", "10 < 10" and "10 > NULL". --Loqi T. (talk) 16:38, 23 November 2007 (UTC)[reply]

Your concerns about simple predicates falling under the rubric of ternary logic seem to be covered by this sentence in the introductory paragraph: "For example, the SQL expression "City = 'Paris'" resolves to FALSE for a record with "Chicago" in the City field, but it resolves to UNKNOWN for a record with a NULL City field." This sentence pretty-much sums up your table above, though it admittedly omits the P=P case, "i.e. ...resolves to TRUE for a record with "Paris" in the city field..." ). I'm guessing this sentence is what you're referring to when you talk about a first example, above. When you talk about a second example, I'm pretty sure you're referring to the paragraph that introduces the OR operator. This paragraph builds on the introductory sentence that covers the simplest of cases, giving a concrete example of how UNKNOWN truth states propagate. I'm certain this paragraph could be re-worked to provide more clarity or brevity (preferably both), but deleting it doesn't help explain anything to anyone. --Loqi T. (talk) 16:38, 23 November 2007 (UTC)[reply]

Ternary logic as a natural phenomenon

[edit]
There is a very important fact: all third values are analogous. The word "unknown" does not convey in terms of known truth, while true and false do. That is okay, but the reader can known what that means in terms of truth and falsehood. Given true and false, one has as the third value "neither true nor false as both true and false". Some examples that prove the naturalness of ternary logic are: negative, positive, neutral; heavy, light-weight, weightless; light, darkness, visual detail; transparent, opague, reflective; do, don't do, multi-task; yes, no, I don't know. A third option is present for every pair of opposites that exist. With that being so, all (dualistic and monistic) phenomenon can be digitally mapped. mcampbell422

Trivalent logic applied to AI for skeptics

[edit]

If true, then accept; If false, then reject; If unknown, be skeptical. mcampbell422

Changed False Statement

[edit]

This statement was included in the section on SQL 3VL:

Comparing anything to NULL—even another NULL—results in an UNKNOWN truth state (which happens to also be represented by a NULL value).

(Emphasis added by me).

If "NULL=UNKNOWN", then a choice needs to be made to change the 3VL truth table (or not) to reconcile the fact that SQL NULLs propagate through expressions (a basic property of NULL):

Standard SQL 3VL truth table:

( TRUE OR UNKNOWN ) → TRUE
( FALSE AND UNKNOWN ) → FALSE

"NULL=UNKNOWN" SQL 3VL truth table:

( TRUE OR NULL ) → NULL ( = UNKNOWN )
( FALSE AND NULL ) → NULL ( = UNKNOWN )

If NULL = UNKNOWN then the result of ( TRUE OR NULL ) is not TRUE as stated in this article, but rather it is UNKNOWN. In SQL, an easier way to think of it is that NULL is a "placeholder" that represents a missing value. UNKNOWN represents the result of any comparison to a missing value.

(NULL is also not a "value", it's the absence of a value, but we'll save that discussion for another day).

Good call on removing that parenthetical. Not only was it inaccurate, but also irrelevant and confusing. ==Loqi T. (talk) 20:57, 27 February 2008 (UTC)[reply]

Removed reference to Aymara language from "See also"

[edit]

The article referenced provides no relevant information, other than the one sentence statement that it uses three valued logic. (I.E. going to the page doesn't gain you any information.) And that statment there has the complaint that there is no citation. And I can't find any article on the language that makes the claim. So, since seeing that also provides no information, I removed it. 155.101.224.65 (talk) 16:10, 7 April 2008 (UTC)[reply]

The section on Electronics?

[edit]

The author claims that the Electronics is four- and more- valued. Ok, he has missed the topic. I would also like to ask the author to refer us to the standard that assigns the four values for the electronics simulation. The section must be removed as a mistake. --Javalenok (talk) 19:44, 10 September 2009 (UTC)[reply]

I see that this section has been moved to four-valued logic, much to the detriment of the article, and without anything on the talk page by the person who did it. Three-valued logic using 1,0, and one of either "don't care" (X,-) or "high-Z" is basic first or second semester digital electronics. The {1,0,Z} encoding is commonly used on data busses and configurable I/O pins. It is essentially a multiplexing scheme. The {1,0,X} (aka {1,0,-} in VHDL) scheme is a metalogical extention - real devices don't have such a value value, but the representation is useful for design. (The actual device will have H,L, occasionally high-Z, or even no wire at all at places marked in the design as "don't care".) Using both {Z,-} is less usual in education, but does frequently happen when dealing with real devices which frequently have tristate outputs on their configurable I/O pins in designs where one also doesn't care about the state of some of the other pins. IEEE standard 1176 defines these states as well as some others less frequently used (9 states total- 1,0,unknown, weak-signal versions of these 3, high-Z, don't' care, uninitialized), and these are used in the VHDL standard (IEEE 1076). For instance see: http://www.ece.gatech.edu/academic/courses/spring2007/ece4170/DesignDocumentation/IEEE_1076.3.pdf pages 8-9 for an older version of the standard (the current version costs money, but the basics haven't changed).Enon (talk) 20:24, 23 February 2011 (UTC)[reply]

It also might be worth noting that Thomas Fowler built one of the first digital calculators in the 1830s using three-valued logic (balanced ternary).Enon (talk) 20:37, 23 February 2011 (UTC)[reply]

Truth table images, Kleene and Lukasiewicz logic, SQL

[edit]

The intent here is to get some tables or images that compare the three logics succinctly, because right now the article is of no help whatever. (And By the way, the Łukasiewicz article is opaque, and functionally useless. There must be a better way to present it). The following is derived from Kleene 1952:

As noted here, the tables are blurry because they're pngs that are reduced in resolution. I can do these crudely in tables (see Principle of bivalence for an example of my handiwork), but to do them nicely so that they're easy to interpret and actually look like truth tables is a trauma, been there, tried it . . .. The following is what I want the tables to look like: I could create one for the SQL logic, too. I could move a table to each logic, but what's important is to get them all in one place and into a common format. Any thoughts out there before I plunge ahead?

The common logical connectives as given by Kleene to handle those instances when the predicate of one or more partial recursive functions (being computed by the same computation) has yet to produce a truth value e.g. t or f, i.e. the joint-computation consists of one or more recursions, some of which may still in progress because their mu operators are unsatisfied. Kleene calls these "strong tables" to distinguish them from "weak" tables that, when u appears in a row or column, causes the entire row or column to have the value u (these instances are shown shaded). Furthermore, Kleene deems these " regular in the following sense: A given column (row) contains t in the u row (column), only if the column (row) consists entirely of t 's; and likewise for f." This "regularity" distinguishes Kleene's from Łukasiewicz's 3-valued logic. (Kleene 1952:332-335)
The logic of Łukasiewicz differs from that of Kleene in the three tables on the right. In Kleene's terminology these tables are strong, where they differ from "weak" tables is highlighted (the pink is just to highlight the instance when Q = u and R = u and Q ≅ R evaluates to t). This logic is not "regular" per Kleene's definition. Note that Kleene's logic does not offer the (logical) equivalence relation symbolized by " ≅ " (Kleene 1952:335); rather, he uses Łukasiewicz's table when he requires the relation " ≅ ". Kleene defines " ≅ " as complete equivalence to distinguish it from his weak equivalence " ≡ " .
The logic of SQL is the same as that of Kleene (Kleene 1952:335). The implication connective (i.e. IF-THEN) symbolized by " → " can be derived from the evaluation of the formula Q → R ≅ ¬Q V R (but caution is advised e.g. Q & (R V ¬R) ≅ Q fails; see Kleene 1952:336).

At this point I am a bit confused by Kleene's use of ≅ and ≡, and I need to verify the formulas where ≅ is used, so the above will be emeneded as I make progress. Note Kleene's interesting example of the failure of the LoEM: Q & (R V ¬R) ≅ Q. Bill Wvbailey (talk) 17:43, 6 April 2011 (UTC)[reply]

3072 such logics

[edit]

Why are there exactly 3072 such logics? — Preceding unsigned comment added by 85.64.57.89 (talk) 11:11, 25 February 2013 (UTC)[reply]

The new truth tables are needlessly opaque for neophytes

[edit]

User 103.21.126.45 (talk) changed the crystal clear (although perhaps inelegant) table

A B A and B A or B
False False False False
False Unknown False Unknown
False True False True
Unknown False False Unknown
Unknown Unknown Unknown Unknown
Unknown True Unknown True
True False False True
True Unknown Unknown True
True True True True

into

AND True False Unknown
True True False Unknown
False False False False
Unknown Unknown False Unknown
OR True False Unknown
True True True True
False True False Unknown
Unknown True Unknown Unknown

but, unfortunately, provided no explanation for how to interpret the new tables, so the change is pedagogically insensitive to readers who may not know how to read them. What are the rows? The columns? What do the interior elements of the matrix represent? Those headers were useful and shouldn't be omitted for the sake of style. I propose to change it back to the prevision exposition that spelled out the truth values in a way that most everyone will understand.

Scwarebang (talk) 10:02, 20 August 2013 (UTC)[reply]

I find the two-dimensional matrices much easier to comprehend, as they allow to see patterns in the assignment of truth values for the connectives, whereas the linearized versions read like unstructured line noise. But then again I’m a logician, so I can’t tell what is better for the uninitiated.—Emil J. 11:17, 20 August 2013 (UTC)[reply]
I like the new ones better too as they separate the connectives into different tables. Both styles are used in logic textbooks, so which one is clearer for newbies will depend on which textbook you've read. QVVERTYVS (hm?) 11:34, 20 August 2013 (UTC)[reply]
I added more explicit headers to the tables to alleviate Scwarebang’s concern about missing information.—Emil J. 12:14, 20 August 2013 (UTC)[reply]

non English ext link, which language?

[edit]

Reference 9, "http://www.aymara.org/arpasi-idioma-aymara.html" isn't in English. I'm not sure what language it is in. Can someone recognize it with confidence and mark it? RJFJR (talk) 13:54, 20 August 2013 (UTC)[reply]

It’s just Spanish.—Emil J. 14:32, 20 August 2013 (UTC)[reply]
Thank you. RJFJR (talk) 17:02, 21 August 2013 (UTC)[reply]

SQL and L3

[edit]

The current text says that SQL is based on K3, and K3 and L3 differ with respect to {A AND B} and {A OR B} which are said to yield UNKNOWN in K3 and TRUE and FALSE in K3 when A and B are both UNKNOWN. However, K3 and L3 do have the very same truth tables for AND and OR (as stated previously in the article). This can't be right. --77.185.171.151 (talk) 16:06, 26 February 2014 (UTC)[reply]

Confusing truth tables

[edit]

Dear editors, the truth tables of material and Łukasiewicz implications are written in the T-U-F -order, while before it was written in the F-U-T order. Could you synchronize these? It took me some time to figure out why do I have a different table for the material implication... Thanks!188.36.216.64 (talk) 15:34, 4 November 2014 (UTC)[reply]

Has this come up yet?

[edit]

I haven't seen it directly mentioned on this page yet, but it seems like the article aught to mention that many (if not most) programming languages contain trinary boolean systems (yes I know how stupid that term sounds). In every language I've used, there is some way of declaring a boolean variable with a value of true, false, or null, thereby making their binary boolean systems trinary. Should this be in the article in some form? Is it, and I've just missed it? 142.156.1.225 (talk) 15:07, 15 October 2018 (UTC)[reply]

Pierce

[edit]

Since Pierce was unpublished, and since Łukasiewicz published extensively on this over decades, ca. 1920-1949, it is strange to include in the introduction a mention of Pierce whose work was unknown until the 1960's. Massive numbers of papers were published on non-binary logic prior to the discovery of the unpublished work of Pierce. I moved this information to its own subsection. It is interesting, but unpublished work does not give you priority of invention. It only demonstrates that the state-of-the-art was close to this discovery. Nick Beeson (talk) 12:37, 29 March 2021 (UTC)[reply]

De Morgan's laws + 3VLs

[edit]

Assuming the 3VL is the one that SQL uses, it seems that DM's laws apply ("A ∧ B = ¬(¬A ∨ ¬ B)" is shown in https://en.wikipedia.org/wiki/Three-valued_logic#%C5%81ukasiewicz_logic so it sort-of applies) but a clear statement would be good 89.241.103.187 (talk) 15:06, 25 March 2022 (UTC)[reply]