Post's theorem
In computability theory Post's theorem, named after Emil Post, describes the connection between the arithmetical hierarchy and the Turing degrees.
Background
The statement of Post's theorem uses several concepts relating to definability and recursion theory. This section gives a brief overview of these concepts, which are covered in depth in their respective articles.The arithmetical hierarchy classifies certain sets of natural numbers that are definable in the language of Peano arithmetic. A formula is said to be if it is an existential statement in prenex normal form with alternations between existential and universal quantifiers applied to a formula with bounded quantifiers only. Formally a formula in the language of Peano arithmetic is a formula if it is of the form
where contains only bounded quantifiers and Q is if m is even and if m is odd.
A set of natural numbers A is said to be if it is definable by a formula, that is, if there is a formula such that each number n is in A if and only if holds. It is known that if a set is then it is for any, but for each m there is a set that is not. Thus the number of quantifier alternations required to define a set gives a measure of the complexity of the set.
Post's theorem uses the relativized arithmetical hierarchy as well as the unrelativized hierarchy just defined. A set A of natural numbers is said to be relative to a set B, written, if
A is definable by a formula in an extended language that includes a predicate for membership in B.
While the arithmetical hierarchy measures definability of sets of natural numbers, Turing degrees measure the level of uncomputability of sets of natural numbers. A set A is said to be Turing reducible to a set B, written, if there is an oracle Turing machine that, given an oracle for B, computes the characteristic function of A.
The Turing jump of a set A is a form of the Halting problem relative to A. Given a set A,
the Turing jump is the set of indices of oracle Turing machines that halt on input 0 when run with oracle A. It is known that every set A is Turing reducible to its Turing jump, but the Turing jump of a set is never Turing reducible to the original set.
Post's theorem uses finitely iterated Turing jumps. For any set A of natural numbers, the notation
indicates the n-fold iterated Turing jump of A. Thus is just A, and is the Turing jump of.
Post's theorem and corollaries
Post's theorem establishes a close connection between the arithmetical hierarchy and the Turing degrees of the form, that is, finitely iterated Turing jumps of the empty set.Post's theorem states:
- A set B is if and only if is recursively enumerable by an oracle Turing machine with an oracle for, that is, if and only if B is.
- The set is -complete for every. This means that every set is many-one reducible to.
hierarchy and the Turing degrees. These include:
- Fix a set C. A set B is if and only if B is. This is the relativization of the first part of Post's theorem to the oracle C.
- A set B is if and only if. More generally, B is if and only if.
- A set is defined to be arithmetical if it is for some n. Post's theorem shows that, equivalently, a set is arithmetical if and only if it is Turing reducible to for some m.
Proof of Post's theorem
Formalization of Turing machines in first-order arithmetic
The operation of a Turing machine T on input n can be formalized logically in first-order arithmetic. For example, we may use symbols Ak, Bk and Ck for the tape configuration, machine state and location along the tape after k steps, respectively. T's transition system determines the relation between and ; their initial values are the input, the initial state and zero, respectively. The machine halts if and only if there is a number k such that Bk is the halting state.The exact relation depends on the specific implementation of the notion of Turing machine
In case T halts at time n1, the relation between and must be satisfied only for k bounded from above by n1.
Thus there is a formula in first-order arithmetic with no unbounded quantifiers, such that T halts on input n at time n1 at most if and only if is satisfied.
Implementation example
For example, for a prefix-free Turing machine with binary alphabet and no blank symbol, we may use the following notations:- Ak is the 1-ary symbol for the configuration of the whole tape after k steps. In particular A0 is the initial configuration of the tape, which corresponds the input to the machine.
- Bk is the 1-ary symbol for the Turing machine state after k steps. In particular B0 = qI, the initial state of the Turing machine.
- Ck is the 1-ary symbol for the Turing machine location on the tape after k steps. In particular C0 = 0.
- M is the transition function of the Turing machine, written as a function from a doublet to a triplet.
- bit is the j-th bit of a number m. This can be written as a first-order arithmetic formula with no unbounded quantifiers.
The operation of the Turing machine at the first n1 steps can thus be written as the conjunction of the initial conditions and the following formulas, quantified over k for all k
- . Since M has a finite domain, this can be replaced by a first-order quantifier-free arithmetic formula. The exact formula obviously depends on M.
- . Note that at the first n1 steps, T never arrives at a location along the tape greater than n1. Thus the universal quantifier over j can be bounded by n1+1, as bits beyond this location have no relevance for the machine's operation.
This is a first-order arithmetic formula with no unbounded quantifiers, i.e. it is in.
Recursively enumerable sets
Let S be a set that can be recursively enumerated by a Turing machine. Then there is a Turing machine T that for every n in S, T halts when given n as an input.This can be formalized by the first-order arithmetical formula presented above. The members of S are the numbers n satisfying the following formula:
This formula is in. Therefore, S is in.
Thus every recursively enumerable set is in.
The converse is true as well: for every formula in with k existential quantifiers, we may enumerate the k-tuples of natural numbers and run a Turing machine that goes through all of them until it finds the formula is satisfied. This Turing machine halts on precisely the set of natural numbers satisfying, and thus enumerates its corresponding set.
Oracle machines
Similarly, the operation of an oracle machine T with an oracle O that halts after at most n1 steps on input n can be described by a first-order formula, except that the formula now includes:- A new predicate, Om, giving the oracle answer. This predicate must satisfy some formula to be discussed below.
- An additional tape - the oracle tape - on which T has to write the number m for every call O to the oracle; writing on this tape can be logically formalized in a similar manner to writing on the machine's tape. Note that an oracle machine that halts after at most n1 steps has time to write at most n1 digits on the oracle tape. So the oracle can only be called with numbers m satisfying.
Then T halts on n after at most n1 steps if and only if the following formula is satisfied:
where is a first-order formula with no unbounded quantifiers.
Turing jump
If O is an oracle to the halting problem of a machine T', then is the same as "there exists m1 such that T' starting with input m is at the halting state after m1 steps".Thus:
where is a first-order formula that formalizes T'. If T' is a Turing machine, is in .
Since there is a finite number of numbers m satisfying, we may choose the same number of steps for all of them: there is a number m1, such that T' halts after m1 steps precisely on those inputs for which it halts at all.
Moving to prenex normal form, we get that the oracle machine halts on input n if and only if the following formula is satisfied:
.
Note that we may replace both n1 and m1 by a single number - their maximum - without changing the truth value of. Thus we may write:
For the oracle to the halting problem over Turing machines, is in and is in. Thus every set that is recursively enumerable by an oracle machine with an oracle for, is in.
The converse is true as well: Suppose is a formula in with k1 existential quantifiers followed by k2 universal quantifiers. Equivalently, has k1 existential quantifiers followed by a negation of a formula in ; the latter formula can be enumerated by a Turing machine and can thus be checked immediately by an oracle for.
We may thus enumerate the k1-tuples of natural numbers and run an oracle machine with an oracle for that goes through all of them until it finds a satisfaction for the formula. This oracle machine halts on precisely the set of natural numbers satisfying, and thus enumerates its corresponding set.
Higher Turing jumps
More generally, suppose every set that is recursively enumerable by an oracle machine with an oracle for is in. Then for an oracle machine with an oracle for, is in.Since is the same as for the previous Turing jump, it can be constructed so that in. After moving to prenex formal form the new is in.
By induction, every set that is recursively enumerable by an oracle machine with an oracle for, is in.
The other direction can be proven by induction as well: Suppose every formula in can be enumerated by an oracle machine with an oracle for.
Now Suppose is a formula in with k1 existential quantifiers followed by k2 universal quantifiers etc. Equivalently, has k1 existential quantifiers followed by a negation of a formula in ; the latter formula can be enumerated by an oracle machine with an oracle for and can thus be checked immediately by an oracle for.
We may thus enumerate the k1-tuples of natural numbers and run an oracle machine with an oracle for that goes through all of them until it finds a satisfaction for the formula. This oracle machine halts on precisely the set of natural numbers satisfying, and thus enumerates its corresponding set.