# Why is non-binary logic not commonly used?

This question has been modified in response to a comment.

While many-valued logic exists, rarely is it used. People primarily just use binary logic. Is there a reason for this? So many-valued logic not achieve anything further than binary logic? Or is many-valued logic simply not intuitive to people?

• In terms of implementation, this video gives a good explanation why we stick to binary: youtube.com/watch?v=fXwSFhUVFmE Jun 6 at 4:01
• @armand thank you for the comment.... as you can see, I modified the question in response to your comment.
– J Li
Jun 6 at 6:14
• Sure. Now let's hope someone who is actually knowledgeable about multi valued logic can answer. I merely know it exists. I think fuzzy logic is used a lot in AI, but not sure. Jun 6 at 9:33
• Every time you consider one thing more true than another, you are using non-binary logic. There is no use for this concept in binary logic, but we really can't escape it as a feeling. So on a day-to-day basis, we are actually using, some informal cousin of 'fuzzy' logic. So, really, we use it all the time. It is not the logic we formally teach, because it is not the simplest form. But in reality, there is often no use for binary logic. Quite often you do not have enough information to consider any of the facts that enter into a consideration to be totally reliable. Jun 8 at 14:14

The answer can be reasonably summed up as

2. Multi-valued logics are avoidable.
3. Two-valued logic is what you want in most contexts where you would use logic.

Let's take for example fuzzy logic. This is a logic meant to handle predicates such as "Violets are blue." Are violets really blue? Well, they are bluish, but most people would say their color is violet instead of blue. Still, "violets are blue" seems to be more true than "violets are orange". Fuzzy logic deals with this situation by saying that propositions are not simply true or false, but can have a range of truthfulness from 0 (utterly false) to 1 (utterly true). 0.5 is a half-truth.

This ability to handle imprecise statements may sound useful, but in the contexts in which logic is most often used (such as mathematics, and analytical philosophy) logic is used specifically for its precision. What would be the use of a logic of imprecision?

Of course, two-valued logic is contained in fuzzy logic, so you could use fuzzy logic and just stick to propositions with a value of 0 or 1, but what would be the point? Fuzzy logic is more complex. That would be like using complex numbers where you only need real numbers, or using real numbers where you only need natural numbers.

In a context like this, you wouldn't generally be satisfied to say something that is mostly true (like "violets are blue"), instead you would work to make the statement more precise by, for example, inventing a new color name such as "violet". Perhaps you would construct a detailed color chart and number each panel in it so you could say, "violets are categorized as color 147". There aren't many contexts where you want to use formal logic and are willing to put up with vague, imprecise statements.

Now, there are some such contexts. That is, there are applications where you want to use logic and you really need to handle fuzzy propositions like "violets are blue" (such as when analyzing natural-language sentences); however, even here, fuzzy logic is avoidable by a mechanism that has been around for centuries: a function. Instead of saying that "Violets are blue" is a proposition with a fuzzy truth value of 0.7, for example, you would say "Violates have a blueness rating of 0.7. Using a function like the blueness rating, you can do anything that you could do with fuzzy logic, and you don't have to explain fuzzy logic to your readers.

The other well-known application of multi-value logics is to deal with sentences like the Liar: "this sentence is false". There is no way to treat the Liar as a legitimate proposition in two-valued logic. In two-valued logic, every proposition must be either true or false, but if the Liar is true, then it is false, and if it is false, then it is true. Three-valued logic deals with this by saying that a proposition can be true, false, or null. They also have to construct truth tables to deal with null truth values, and these truth table generally violate the usual rules of the propositional calculus. For example, you can no long say that T&x=F whenever x=F, because x could be N (null).

You can't rewrite the Liar using a function like you can rewrite "violets are blue" (not without ascending to a meta language), so multi-valued logic is not avoidable if you want to treat the Liar as a proposition, but what you can do is say that the Liar is not a proposition at all. That is, you simply exclude from your logic any mechanism for expressing the Liar. Most logics have no mechanism for referring to propositions of the logic from within the logic, so this is no problem.

Similar comments apply to other multi-valued logics. There just aren't many contexts where you need them, and when you do, they are usually avoidable by using another mechanism, so they remain obscure, which is another reason to try to avoid using them.

The situation is similar as the fact that classical physics seems commonly applied in our everyday life while GR and QM seem not that commonly used around us. But if you work in some non-common areas you'll definitely use more non-classical physics than classical ones most likely. In fact human being's logical intuition is not binary as concluded by Kurt Gödel as referenced here:

In the study of logic itself, infinite-valued logic has served as an aid to understand the nature of the human understanding of logical concepts. Kurt Gödel attempted to comprehend the human ability for logical intuition in terms of finite-valued logic before concluding that the ability is based on infinite-valued logic. Open questions remain regarding the handling, in natural language semantics, of indeterminate truth values.

One main reason binary logic seems so natural is due to the famous Principle of bivalence:

In logic, the semantic principle (or law) of bivalence states that every declarative sentence expressing a proposition (of a theory under inspection) has exactly one truth value, either true or false. A logic satisfying this principle is called a two-valued logic or bivalent logic... The principle of bivalence is related to the law of excluded middle though the latter is a syntactic expression of the language of a logic of the form "P ∨ ¬P".

However, if you work in database SQL area, you'll use 3-valued logic according to reference here:

The database structural query language SQL implements ternary logic as a means of handling comparisons with NULL field content. The original intent of NULL in SQL was to represent missing data in a database, i.e. the assumption that an actual value exists, but that the value is not currently recorded in the database. SQL uses a common fragment of the Kleene K3 logic, restricted to AND, OR, and NOT tables.

If you have to deal with some vagueness such as Sorites paradox or Continuum fallacy, then you'll have to use the powerful fuzzy logic or some other form of infinite-valued logic.

Fuzzy logic is an important concept when it comes to medical decision making. Since medical and healthcare data can be subjective or fuzzy, applications in this domain have a great potential to benefit a lot by using fuzzy logic based approaches. One of the common application areas that use fuzzy logic is computer-aided diagnosis (CAD) in medicine. CAD is a computerized set of inter-related tools which can be used to aid physicians in their diagnostic decision-making.

If you work in formal verification of software specs area where it is used to state requirements of hardware or software systems, for instance, one may wish to say that whenever a request is made, access to a resource is eventually granted, but it is never granted to two requestors simultaneously, then you'll have to use some form of temporal logic to express such request which is not strictly binary in the classic sense.

If you work in the area of knowledge management, AI or software engineering to deal with the pervasive inconsistencies among the documentation, use cases, and code of large software systems, then you'd better use some form of paraconsistent logic where the classic binary law of non-contradiction (LNC) doesn't hold any more generally speaking.

Knowledge management and artificial intelligence: Some computer scientists have utilized paraconsistent logic as a means of coping gracefully with inconsistent or contradictory information... Software engineering: Paraconsistent logic has been proposed as a means for dealing with the pervasive inconsistencies among the documentation, use cases, and code of large software systems.

Finally if you're constructive or intuitionistic mathematician following Brouwer against Hilbert, then you'll have to use some form of intuitionistic logic where the classic binary law of excluded middle (LEM) doesn't hold any more generally speaking.

There are several many-valued logics in existence, all of which are in seriously limited use compared to classical two-valued logic.

The largest problem with them seems to be that they all have difficulties with logical entailment, that is, guaranteeing that every interpretation that satisfies the premises of an argument also satisfies the conclusion. Some of the theorems or tautologies of classical two valued logic hold, while others do not, and it is not clear which are the most important or why.

The most important branches of non-classical logic seem to include multivalued logic, modal logic, intuitionistic logic, paraconsistent logic, and fuzzy logic. While each has its champions, and there are some similarities in the problems they address, they are for one reason or other more difficult and cumbersome than classical two-valued logic, and are generally regarded as technically incompatible with one another.

Propositions are either true or false. It is either true of false that Raspoutine had Russian tea for breakfast on February 6, 1889.

Values between true and false are therefore not truth values. It is literally nonsense to talk of a proposition as being "half true". So-badly called fuzzy logic is either not logic at all, or nonsensical logic, if that could exist, or is simply a protracted way of doing a sort of probability calculus.

The fact that we can make sense of the notion of half-truth shouldn't confuse us into believing that a half-truth is a proposition which is 50% true, and 50% false. A half-truth is a mix of truths and falsehoods. As such, it is a conjunction and as such it is a false conjunction. A false conjunction may feature true conjuncts as well as false conjuncts, but that won't ever make it a true conjunction.

Fuzzy logic is meant to take into account and reflect our inherent uncertainty concerning the truth of even very ordinary propositions. As such, fuzzy logic should be called uncertainty calculus, and it is not called uncertainty calculus because this would make it obvious that uncertainty is already theorised by probabilities.

• The king of France is bald. True or false? Or: Is it true or false you have stopped beating your wife? Jun 28 at 0:13
• @CriglCragl Propositions are true or false. The rest follows. You are only repeating Russell, whose work shows he never understood logic. Jun 30 at 15:17
• Whereas you are an unacknowledged genius, no doubt.. What do you think of the issue, in programming/Shannon entropy terms? 'Why is a measured true value “TRUE”?' philosophy.stackexchange.com/questions/81655/… Jul 1 at 9:28
• @CriglCragl Sorry, I don't believe anyone ever thinks in terms of entropy when it comes to whether they think something is true or not, not even Shannon would have. You seem to confuse the question of the semantics of the word "true" with the fact that we think something is true or false. You know what is the measuring device, do you? Jul 1 at 17:05
• I meant expected vs actual signal Jul 1 at 17:11