Close

More on Ternary Logic

A project log for Ternary Computing Menagerie

A place for documenting the many algorithms, data types, logic diagrams, etc. that would be necessary for the design of a ternary processor.

mechanical-advantageMechanical Advantage 04/20/2019 at 07:160 Comments

To wrap up the subject of logic (for the foreseeable future), this is an enumeration of the 16 binary connectives and their Kleene logic equivalents as well as a few extras. The Kleene truth tables given here consist of the original four that Kleene defined with the remainder being logically consistent extensions that follow the same pattern while matching up against the remaining binary connectives. Thus we have one balanced ternary connective that corresponds to each binary connective.

I include the gate name, logical connective name, traditional logic symbol for that type of connective and the truth table. On the ternary gates I also include the generic three number/letter name.

As you can see there is one additional connective which I have named "uncertainty". It always outputs an uncertain value. I have assigned the interrobang as its logic symbol (naturally). Of course, these connectives have no logical usefulness so they are only included for the sake of completeness.

These gates also have no particular use but are documented regardless.

These are the four connectives explicitly defined by Kleene as ternary extensions to the existing binary connectives. These are covered in detail in the post previous to this one. The only new data here is the ternary gates generic names and the symbolic logic symbols for the connectives.

These gates are the inversion of the AND gate and the OR gate. The ternary versions are not connectives explicitly defined by Kleene, but are logical extensions of them.

These gates are the inversion of the XNOR gate and the Implication gate. The ternary versions are not connectives explicitly defined by Kleene, but are logical extensions of them.

And finally, two gates which are not trivial, but which are not defined by Kleene or simply inversions of gates defined by Kleene. Nevertheless, the ternary versions of the binary connectives can be logically deduced. Where implication is the truth table for the rule "If P is true, then Q cannot be false", Converse Implication is the truth table for the rule "If P is false, then Q cannot be true". This is not the inversion of Implication, but rather a reversing of its logical assertion. Converse Nonimplication is simply the inversion of Converse Implication.

Finally, we'll take up two alternative gates that Kleene developed in later years are part of a system eventually known as "weak Kleene logic". In these, the basic logical structures are the same except that an uncertain input always "casts doubt" on the result. In other words, an uncertainty ALWAYS results in an uncertain output. He explicitly defined the truth tables for conjunction (AND gate) and disjunction (OR gate). I include them here as well as their inversions. We can call these the weak Min, weak Max, Weak NAND and weak NOR.

That's it for symbolic logic! I don't plan to come back to it unless there is some compelling reason, but we will see some of these concepts again when it is time to look into bitwise tritwise operations.

Discussions