From TheBestLinks.com
- 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, "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 predicates (or 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:
The Truth-Functions, and their C-language equivalents
X(c,a) c 1100 a 1010
| Values TTFF TFTF
| English predicate
| 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.
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.
Related links
Top visited
0 of
0 links
[no links posted yet]
>> place link >>
Discussion
Last posted
0 of
0 messages
[no messages posted yet]
>> post message >>
Watch
You can
add this article to your own "watchlist" and receive e-mail notification about all changes in this page.