Typographical Number Theory (TNT) is a formal axiomatic system describing the natural numbers that appears in Douglas Hofstadter's book Gödel, Escher, Bach. It is an implementation of Peano arithmetic that Hofstadter uses to help explain Gödel's incompleteness theorems.
Like any system implementing the Peano axioms, TNT is capable of referring to itself (it is self-referential).
TNT does not use a distinct symbol for each natural number. Instead it makes use of a simple, uniform way of giving a compound symbol to each natural number:
zero | align=right | 0 | |
one | align=right | S0 | |
two | align=right | SS0 | |
three | align=right | SSS0 | |
four | align=right | SSSS0 | |
five | align=right | SSSSS0 |
The symbol S can be interpreted as "the successor of", or "the number after". Since this is, however, a number theory, such interpretations are useful, but not strict. It cannot be said that because four is the successor of three that four is SSSS0, but rather that since three is the successor of two, which is the successor of one, which is the successor of zero, which has been described as 0, four can be "proved" to be SSSS0. TNT is designed such that everything must be proven before it can be said to be true.
In order to refer to unspecified terms, TNT makes use of five variables. These are
a, b, c, d, e.More variables can be constructed by adding the prime symbol after them; for example,
a, b, c, a, a‴ are all variables.
In the more rigid version of TNT, known as "austere" TNT, only
a, a, a‴ etc. are used.
In Typographical Number Theory, the usual symbols of "+" for additions, and "·" for multiplications are used. Thus to write "b plus c" is to write
(b + c)
and "a times d" is written as
(a·d)
The parentheses are required. Any laxness would violate TNT's formation system (although it is trivially proved this formalism is unnecessary for operations which are both commutative and associative). Also only two terms can be operated on at once. Therefore, to write "a plus b plus c" is to write either
((a + b) + c)
or
(a + (b + c))
The "Equals" operator is used to denote equivalence. It is defined by the symbol "=", and takes roughly the same meaning as it usually does in mathematics. For instance,
(SSS0 + SSS0) = SSSSSS0is a theorem statement in TNT, with the interpretation "3 plus 3 equals 6".
In Typographical Number Theory, negation, i.e. the turning of a statement to its opposite, is denoted by the "~" or negation operator. For instance,
~(SSS0 + SSS0) = SSSSSSS0
is a theorem in TNT, interpreted as "3 plus 3 is not equal to 7".
By negation, this means negation in Boolean logic (logical negation), rather than simply being the opposite. For example, if I were to say "I am eating a grapefruit", the opposite is "I am not eating a grapefruit", rather than "I am eating something other than a grapefruit". Similarly "The Television is on" is negated to "The Television is not on", rather than "The Television is off", because, for example, it might be broken. This is a subtle difference, but an important one.
If x and y are well-formed formulas, and provided that no variable which is free in one is quantified in the other, then the following are all well-formed formulas
Examples:
<'''0'''='''0'''∧~'''0'''='''0'''>
The quantification status of a variable doesn't change here.
There are two quantifiers used: ''[[Universal quantification|∀]]''
and ''[[Existential quantification|∃]]''
.
Note that unlike most other logical systems where quantifiers over sets require a mention of the element's existence in the set, this is not required in TNT because all numbers and terms are strictly natural numbers or logical boolean statements. It is therefore equivalent to say and
∃
means "There exists"∀
means "For every" or "For all":
is used to separate a quantifier from other quantifiers or from the rest of the formula. It is commonly read "such that"For example:
("For every number a and every number b, a plus b equals b plus a", or more figuratively, "Addition is commutative.")
("There does not exist a number c such that c plus one equals zero", or more figuratively, "Zero is not the successor of any (natural) number.")
All the symbols of propositional calculus apart from the Atom symbols are used in Typographical Number Theory, and they retain their interpretations.
Atoms are here defined as strings which amount to statements of equality, such as
2 plus 3 equals five:
(SS0 + SSS0) = SSSSS02 plus 2 is equal to 4:
(SS0 + SS0) = SSSS0