# three-value logic

For an explanation of the notation used in this article, see the explanation here.

## by la xorxes:

Ok, this is what I propose for a trivalent system of unary operators in lojban:

cai = (1,-1,-1)

sai = (1,0,0)

ru'e = (1,1,-1)

cu'i = (0,1,-1)

nai = (-1,0,1)

I think {cai}, {ru'e} and {nai} are the easiest to accept. (-1,0,1) is the most obvious generalization of {nai} from binary. (1,-1,-1) corresponds to the strongest assertion (certainty or necessity, depending on what system we use it on) so it has to be {cai}. (1,1,-1) is possibility or a weak assertion, so I think {ru'e} fits well. Now, (1,0,0) is also an assertion, but not as strong as certainty, something like "this is how it is, but I give no guarantees". I think {sai} can work for that.

And finally, {cu'i} is for neutral. (0,1,-1) is not absolutely neutral, it is uncertainty with a bent towards assertion, but it is the closest to neutral and we do need it to generate others, so {cu'i} has to be it.

With those 5 it is possible to generate all 27 unary operators, with at most three of them. For example, (0,0,1) is {naisai}, (-1,1,-1) is {cu'icai}, (0,0,0) is {sairu'ecu'i} (among several possibilities), etc.

Only 8 of the 27 need three basic functions, the rest can be formed from just two.

The nice thing about this system is that it can be used for different things. For example, for a strictly logical system we just attach them to {ja'a}, using {ja'acai}, {ja'acu'inai}, etc. And {na}={ja'anai}, so some of them can be shortened.

But they can also be used for evidentials, attaching them to {ju'a} for example. Then again there might be some shortcuts, like {ju'acai} might be {za'a} and {ju'asairu'e} might be {ca'e}, etc, but we know that we can get all 27 of them from just the simplest, which is always (1,0,-1)

and doesn't take any modifier. We can use {la'a} as the basis for the probability set, etc.

Would that work?

## The three assertions:

cai = (1,-1,-1) = necessarily

sai = (1,0,0) = probably

ru'e = (1,1,-1) = possibly

are the three that differ minimally from the simple assertion (1,0,-1).

## (work in progress)

- I don't get it. What are your axes?
- This proposal is from A discussion of trivalent logic in the summer of 2000. See also The Aymara Language and The paper describing Aymara suffixes in terms of trivalent logic. A detailed description of trivalent logic begins at the section labeled "4.1" in Chapter IV: The Logical Suffixes of the Aymara Language of that paper.
- In brief, trivalent logic uses, in addition to the standard two truth values of TRUE and FALSE, a third value (neither true nor false, both true and false, etc.), which might be called
*ina*, after the Aymara, or*norje'u*in Lojban. True is represented by 1, norje'u by 0, and false by -1. The notation P = (p1, p2, p3) for a unary operator P means that P(1) = p1, P(0) = p2, P(-1) = p3. It relates the truth value (one of 1, 0, or -1) of an operand to the truth value of a claim (P, in this case) about the operand. p1 represents the truth of P(x) when x is known to be true (1). p2 represents the truth value of P(x) when x is known to be neither-true-nor-false (0, or*ina*). p3 represents the truth value of P(x) if x is known to be false (-1). - The following truth tables are the return value for true, norje'u, and false, in that order. (The plus in parentheses means that it is plausible (for example) that the statement is true, and the minus, that it is plausible that the statement is false. The glosses are an elaboration of the glosses presented in the above paper.)

(1, 1, 1) | tautology | sairu'e | |

(1, 1, 0) | plausibility (+)/feasibility (+) | ru'esai, naisaicu'i | |

(1, 1, -1) | possibility (+)/eventuality (+)/doubt (-) | ru'e, naicainai | |

(1, 0, 1) | cu'isaicu'i | ||

(1, 0, 0) | likelihood (+)/probability (+)/adversative (-)/favourable(+)? | sai | |

(1, 0, -1) | true, irrefutable, reliable (+) | cu'icu'i, nainai, ja'ai | |

(1, -1, 1) | falsifiable/determinant | cu'inairu'e, cu'icainai | |

(1, -1, 0) | evidence (+)/no controversy? | naicu'inai | |

(1, -1, -1) | certainty (+) | cai, nairu'enai | |

(0, 1, 1) | plausibility (-)/feasibility (-) | saicu'i, nairu'esai, cainaisai | |

(0, 1, 0) | contingency/symmetric doubt | cu'isai | |

(0, 1, -1) | no evidence (-)/controversy (-) | cu'i | |

(0, 0, 1) | likelihood (-)/adversative | naisai, ru'ecu'inai | |

(0, 0, 0) | (abdiction/abduction/abdication(?)) unimportant/aoristic/apathy | sairu'ecu'i, caicu'isai, ru'ecu'isai | |

(0, 0, -1) | unlikelihood? (-)/granted that/unfavourable (-) | ru'ecu'i, naisainai | |

(0, -1, 1) | evidence (-) | cu'inai | |

(0, -1, 0) | incontingent | cu'isainai | |

(0, -1, -1) | unfeasibility (-) | caicu'i | |

(-1, 1, 1) | doubt (+)/uncertainty/possibility (-)/eventuality (-) | nairu'e, cainai | |

(-1, 1, 0) | no evidence (+)/controversy (+)/extortion (-) | naicu'i | |

(-1, 1, -1) | unfalsifiable/total contingency/certainly contingent | cu'icai | |

(-1, 0, 1) | false, negation, reliable (-) | nai | |

(-1, 0, 0) | unlikelihood? (+)/improbability/unfavourable (+) | sainai, nairu'ecu'i, cainaicu'i | |

(-1, 0, -1) | cu'icaicu'i | ||

(-1, -1, 1) | impossibility, certainty (-), not eventual | ru'enai, naicai | |

(-1, -1, 0) | unfeasibility (+) | naicaicu'i, ru'enaicu'i, ru'esainai | |

(-1, -1, -1) | contradiction, paradox | sairu'enai, sainaicai, caicu'icai, ru'ecu'icai |

- And Rosta:
- am not sure what '0'/'ina' is. Is it "either true/1 or false/-1 -- but I don't know which", i.e. a kind of epistemic modality as suggested by the glosses for the operators and by the gloss 'maybe'? Or is it "neither true nor false (but rather, in between)", as in fuzzy logic, in which case, 'sort of' might be a better gloss? I don't deny that when reasoning, we may want to treat 'maybe' and 'sort of' alike, but in understanding the trivalent system, and in thinking about how to implement it in Lojban, we need to get a clearer handle on the nature of '0'/'ina'.

- And Rosta:

## "Trivalent Logic" in Lojban

- .i le logji cu logji lo se vamji be ci da i logji lo cibdzaselva'i i ta'unai le logji cu cibdzaselva'i logji
- All very fascinating! Do you suppose the Aymara language was created artificially?
- pc:
- At least one really weird person -- I think the author of the text this all is based on -- believes that Aymara was created by the culture god = space man.

- pc:
- Have you ever heard it spoken, Jorge?
- xorxes:
- Nope, but I found the article fascinating too

- xorxes:
- la xod:
- I see they understand the difference between
**nibli**,**mukti**, and**rinka**! But I still don't get your logic system. I need to study it more. Why aren't you using**cai**,**cu'i**, and**nai**? The 3rd value is "maybe". Why do we need a new word "ina"?

- Adam:
- I used the word
*ina*just in order to use the source culture's word; in English*maybe*will work and in Lojban**norje'u**. The system still needs work, but it promises to be a rich and interesting logic which allows reasoning about much more complex things than the standard logic. Sorry for the confusion, it was me who put up the above table.

- la xod:
- But cu'i is the neutral term, which my reading of the Aymara link indicates is the meaning of the "third term of logic".

- Adam:
**cu'i**was used in the above system to represent a unary operator, not a truth-value, though it no doubt could have been done differently. Also, I was looking for a word to parallel**jetnu**and**jitfa**.

- In some contexts in might be na'i in Lojban. In
*Zen and the Art of Motorcycle Maintenance*it is called*mu*(from Japanese).

- I used the word

- I see they understand the difference between

- All very fascinating! Do you suppose the Aymara language was created artificially?
- What would count as a valid argument in trivalent logic? I assume that in trivalent logic, in addition to valid and invalid arguments, there would be maybe-valid arguments. -- Adam
- Valid arguments, invalid arguments, and non-arguments ;)

- Just a couple of add-ons:
- There are two kinds (at least) of valid: always-true and never-false and I suppose you could add combo (no false premises gives true or unfalse. Rules or trees would generate different of these sets and give different parallel conditionals. I haven't seen good rules sets for any of them.
- A complete set of trivalent unary connectives can be generated from three: one rotation (e.g., <-1,1,0>), one exchange (e.g., <-1,0,1>) and one identification (e.g. <1,1,-1>). Different choices make for differently efficient definitions. This rule applies in fact for any finite number of truth-values (in two, the rotation and the swap are the same: negation). All connectives of any variety can be defined in terms of either the Peirce or Scheffer functions: NOR or NAND, Max+1 or Min-1 (I think--I regularly screw this one up)

- pc:
- This suggests that any three moves of the sort listed will do. That is true for three values but not generally. In particular, a rotation whose span (the distance a place moves in one application) shares a prime factor with the number of values will not serve as the rotation needed. In three-valued logic the rotation can be replaced by another exchange. This does not happen generally, nor can the problem rotations be cured by any exchange generally. To be on the safe side, I say that in any variety the 1-2 exchange, the 1-left rotation and the 1->2 identification are sufficient. The number cannot be reduced -- within one-place connectives -- nor can either the rotation or the exchange be eliminated. Other combinations of an exchange and a rotation may work however. pc >|8}

- For each n, the role of a single rotation + a single exchange can be played by n-1 exchanges, provided that they are connected -- there is a path from any one value to any other using the exchanges provided. The 3-value case (replace the rotation by an exchange) works because every pair of exchanges over three values is connected. The two value case - using only negation -- fits better with this generalization than with the universal 3-function scheme. Any rotation that does not share a prime factor with n can be used as the rotation (a rotation with a span of 1 can be defined). In any case, only one identification is needed. >|8}

- For a given unary operator, its
__opposite__is the result of applying**nai**to it, or of multiplying it by -1. For example, the opposite of**ru'e**(1, 1, -1) is**ru'enai**(-1, -1, 1). Also, its "antonym" is the result of applying it to**nai**, or of reversing its order. For example, the antonym of**ru'e**(1, 1, -1) is**nairu'e**(-1, 1, 1). - Unary operators are commutative (
**cairu'esai**=**cairu'esai**) and so the opposite of the antonym is the same as the antonym of the opposite (**nairu'enai**=**nairu'enai**), and the opposite-antonym of the opposite-antonym is the operator itself (**nainairu'enainai**=**nainairu'enainai**=**ru'e**).**ru'e**and**cai**are opposite antonyms. - It is possible to move
**nai**around, but every operator that it crosses must be replaced by its opposite-antonym.**cainai**->**nairu'enai nai**->**nairu'e**, etc. - This works very similarly to the traditional logical operators of possibility and necessity, i.e.
*it is possible that not ...*=*it is not necessary that ...*, etc. However, there are differences.*It is possible that broda and it is possible that not broda*in two-valued modal logic says nothing about the actual truth value of*broda*. However, (taking AND(x, y) to be min(x, y] the truth-value of*ge ru'e broda gi nairu'e broda*is equivalent to the truth-value of*cu'icai broda*, and the statement claims that the truth-value of*broda*must necessarily be*norje'u*:

|| broda | ge |ru'e |broda gi nairu'e broda

1 | -1 | 1 | -1

0 | 1 | 1 | 1

-1 | -1 | -1 | 1||

The opposite and the antonym can be defined with *any* unary operator that nullifies itself when applied to itself, i.e. *ja'ai*, *nai*, *cu'i*, and *naicu'inai*. For example, the *cu'i*-opposite antonym of *ru'esai* (1, 1, 0) is *cu'iru'esaicu'i* = *naisai* (0, 0, 1), and so *ru'esai cu'i* = *cu'i naisai*.

It is relatively intuitive to understand what the *nai*-opposite antonym means ("*it is not possible/probable/certain, etc. that not*"), but it is less obvious what the *cu'i*-opposite antonym means. (Or for that matter what the *cu'i*-opposite or *cu'i*-antonym means) at least for me. Any suggestions?

There are 3**9 = 19,683 possible binary operators. A simple and relatively intuitive definition for AND is the minimum of the two predicates and for OR is the maximum of the two predicates:

|| **x** | **y** |**x AND y**

1 | 1 | 1

1 | 0 | 0

1 | -1 | -1

0 | 1 | 0

0 | 0 | 0

0 | -1 | -1

-1 | 1 | -1

-1 | 0 | -1

-1 | -1 | -1||

|| **x** | **y** |**x OR y**

1 | 1 | 1

1 | 0 | 1

1 | -1 | 1

0 | 1 | 1

0 | 0 | 0

0 | -1 | 0

-1 | 1 | 1

-1 | 0 | 0

-1 | -1 | -1||

-- Adam

- The author of the article that started all this for us has a complicated device for generating some fraction of two-placed connectives from the one-placed and something like addition and multiplication. He seems to think that this formula is actually used in Aymara, but offers only a small number of cases, of the sort that are likely fixed expressions. The formula seems too complicated to be used creatively.

This is all well and good if you want to *represent* degrees of trueness in language, but can you use it to prove things about propositions with values over the three-valued set? Like do you have the equivalent of many versions of *modens ponen*: In ordinary logic *modus ponens* says A -> B and you have A true, then B is true. And you also get the contrapositive, *modus tollens*: if you have not B, you have not A. But if A is probably true, is B possibly true? If B is possibly not true, is A probably not true? If A implies only probably B, does having A mean you have possibly B? (you need the truth/falsity operators in unary forms that you can attach to letters) And does not having B mean you possibly don't have A?

With just this rule and the rule that you can accept any tautology as true, you can prove all the theorems in ordinary propositional calculus (it's complete--- too simple for Godel's theorrem to apply (in fact he proved the "Completeness theorem" for propositional calculus), for that you need some numbers or sets, like if you make the propositions things like a is an element of the set B then you run into incompleteness (and I may add theorems that are actually worth proving!]. But Anyway with the *modus ponens/tollens* I proposed, can we prove all the theorems of this logic? Or is it, as I fear, inconsistent somewhere? Or incomplete? Or both? (It might be incomplete because two propositions that might have a difference in truth value between one of our three values and then you'd have to start reasoning about possibly probably and so on as someone did above with the 27 beautiful words that unfortunately sound like trig functions to me...

-Millie

- Well, just the rule "Accept any tautology" will give a complete system, since "complete" means "the set of theorems = the set of tautologies." But taking some set of tautologies as given, MPP or MTT will be crucial rules in developing a complete system. In the case of three-valued logic, there at least two notions of "tautology": "always true" and "never false." There are also at least three notions of negation and God knows how many notions of conditional, in most of which MTT and MPP will hold (that being a part of the intuitive notion of conditionals). For a variety of such three-valued systems, Rescher (Many-Valued Logics), for example, gives complete sets of rules and axioms and also notes some cases that do not appear to be completable (and at least one case that has no theorems because no tautologoes).

- pc:
- Getting numbers in does not guarantee incompleteness, since Tarski analysis is complete, while Peano arithmentic is not. And you can get incompleteness without numbers (though Goedel's proof will not be directly useful) in the strong sense that no finite extension is complete (just
*this*is not complete is a snap - leave out a rule or an axiom). Many of these systems may be incomplete in the sense that not all possible three-valued claims can be expressed in them, but at least some are complete in this sense also.

- Getting numbers in does not guarantee incompleteness, since Tarski analysis is complete, while Peano arithmentic is not. And you can get incompleteness without numbers (though Goedel's proof will not be directly useful) in the strong sense that no finite extension is complete (just

- pc:

- maikl:
- On creating three-value logic truth tables. For combining "true" & "maybe" (or "fictive"): a novel about Teddy Roosevelt as a detective is not more "true" for having a real person as a character. But an appearance of Sherlock Holmes in a biography of Teddy Roosevelt seriously discredits the veracity of the author...

- pc:
- This is on a different point: what to do with non-existent objects. Here the point is that TR has a fictive counterpart (perhaps having all the properties of the real TR that are compatible with the story), whereas SH is not the counterpart (stories about Prof. Bell notwithstanding) of any real person and so has exactly the properties ascribed in the story/ies. Typically (but this gets tricky with some rules) the subject sets the context, so that SH could do things to or for TR (the fictive counterpart), but TR could not do anything (non-intensional) to or for SH (SH was knighted by Victoria, but Victoria did not knight SH, for example).