Science Fair Project Encyclopedia
Tractatus Logico-Philosophicus (5.101)
- Note: this article reviews the impact of the truth function on computing; as such, a background in computer science or electrical engineering would be helpful. As in the study of a law of physics, this program might take years to complete. For an interested layman, a more accessible approach might be to start with the logic article.
In Ludwig Wittgenstein's Tractatus Logico-Philosophicus, Proposition 5.101 is a pioneering insight from the point of view of a computer or electrical engineer. Wittgenstein simply demonstrated that some ordinary English words (or originally German words), "and, or and not", have exact mathematical counterparts. The counterparts are shown in the truth function table below. A truth function simply means a mapping (or function) between values (true or false) and propositions (or the meanings of sentences).
To demonstrate this, below, we transcribe the 5.101 notation into a more modern notation: (C language) and Electrical Engineering boolean logic notation, where "&&" means AND, "||" means OR, "!" means NOT. By C language convention the integer zero, "0" means "false", where "NOT false" is "true" in boolean algebra.
We then re-sort the truth-functions into numerical order 0 to 15 decimal, or 0 to f hexadecimal. This yields the following table of truth functions X of 2 binary variables, 'a' and 'c' (with their C programming language equivalent). Note that variable 'c' takes the successive True-False values TTFF, and that variable 'a' takes the successive values TFTF. To use the table, take the values of c and a, 1 column at a time, and read the Truth Function value at the corresponding row and column.
Thus for example, Truth Function e emerges from the truth table row labelled 'e', and e(a=T,c=T) yields T, but e(F,F) yields F.
In Electrical Engineering terms, e(a,c) is a boolean OR logic gate. Note that 1(a,c), the NOR gate, is a valid implementation, along with 7(a,c), NAND, of the Sheffer stroke symbol.
The 16 possible Truth-Functions of 2 binary variables follow:
| X(c,a) c 1100 a 1010 | Values TTFF TFTF | English proposition | C language expression |
|---|---|---|---|
| 0 0000 | FFFF | False, contradiction | (0) |
| 1 0001 | FFFT | Neither a nor c | !(a || c) |
| 2 0010 | FFTF | a and not c | a && !c |
| 3 0011 | FFTT | Not c | !c |
| 4 0100 | FTFF | c and not a | c && !a |
| 5 0101 | FTFT | Not a | !a |
| 6 0110 | FTTF | a is not c | (a != c) |
| 7 0111 | FTTT | Not both a and c | !(a && c) |
| 8 1000 | TFFF | c and a | (c && a) |
| 9 1001 | TFFT | a is c | a == c |
| a 1010 | TFTF | a | a |
| b 1011 | TFTT | If c then a | (!c || a) |
| c 1100 | TTFF | c | c |
| d 1101 | TTFT | If a then c | (!a || c) |
| e 1110 | TTTF | a or c | (a || c) |
| f 1111 | TTTT | Not False, tautology | (!0) |
In other words, Wittgenstein demonstrated that bit-patterns, such as "TFTT" can correspond directly to word concepts, such as "If C then A". Note that C and A are logic predicates, shorthand for sentences like "Socrates is a man", and "Socrates is mortal"
From the perspective of eight decades, it is clear that we owe the systematic statement of the 16 binary-valued Truth-Functions to this philosopher, well before Emil Post's machine (1936), before Alan Turing's machine (1936), before Walther Bothe's coincidence circuit (1924), before the Atanasoff-Berry computing circuits (1938), before the Mauchly-Eckert computer (1946), before Claude Shannon's Boolean switching circuits (about 1936), 50 years before the C programming language, 60 years before Programmable Logic Arrays, but a half century after George Boole, and a decade after the Principia Mathematica.
It should be noted that the encoding of logic as a bit-set is a special case of a Gödel code .
Note: The C language ternary operator and its more expansive equivalent, the "conditional statement" (if .. then .. else .. ;) are designed to directly use the right-most column of this table - for example, a row 9-type statement might be:
- if( a==c ) then doSomething() else doSomethingElse();
These boolean-valued predicates, which Wittgenstein systematized, live on in the control logic of the programs which are executing on the desktop computers of today.
Note that the table exhibits a mirror-symmetry in its rows: by DeMorgan's theorems, row 0 is the contrapositive of f, row 1 contrapositive of e, etc; that is, 0 is the mirror of 1, OR is the mirror of AND, etc.
The contents of this article is licensed from www.wikipedia.org under the GNU Free Documentation License. Click here to see the transparent copy and copyright details


