Typographical Number Theory

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).

Numerals
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
 * }
 * 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.

Variables
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.

Addition and multiplication of numerals
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))

Equivalency
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) = SSSSSS0

is a theorem statement in TNT, with the interpretation "3 plus 3 equals 6".

Negation
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.

Compounds
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:


 * 
 * 
 * 

The quantification status of a variable doesn't change here.

Quantifiers
There are two quantifiers used:  and.

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 ∀a:(a∈N):∀b:(b∈N):(a+b)=(b+a) and ∀a:∀b:(a+b)=(b+a)


 * means "There exists"
 * means "For every" or "For all"
 * The symbol  is used to separate a quantifier from other quantifiers or from the rest of the formula. It is commonly read "such that"

For example:


 * ∀a:∀b:(a+b)=(b+a)

("For every number a and every number b, a plus b equals b plus a", or more figuratively, "Addition is commutative.")


 * ~∃c:Sc=0

("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.")

Atoms and propositional statements
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) = SSSSS0

2 plus 2 is equal to 4:
 * (SS0 + SS0) = SSSS0