# Post's theorem

Post's theorem In computability theory Post's theorem, named after Emil Post, describes the connection between the arithmetical hierarchy and the Turing degrees.

Contents 1 Background 2 Post's theorem and corollaries 3 Proof of Post's theorem 3.1 Formalization of Turing machines in first-order arithmetic 3.2 Implementation example 3.3 Recursively enumerable sets 3.4 Oracle machines 3.5 Turing jump 3.6 Higher Turing jumps 4 References Background See also: Arithmetical hierarchy § Relation to Turing machines 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 {displaystyle Sigma _{m}^{0}} if it is an existential statement in prenex normal form (all quantifiers at the front) with {displaystyle m} alternations between existential and universal quantifiers applied to a formula with bounded quantifiers only. Formally a formula {displaystyle phi (s)} in the language of Peano arithmetic is a {displaystyle Sigma _{m}^{0}} formula if it is of the form {displaystyle left(exists n_{1}^{1}exists n_{2}^{1}cdots exists n_{j_{1}}^{1}right)left(forall n_{1}^{2}cdots forall n_{j_{2}}^{2}right)left(exists n_{1}^{3}cdots right)cdots left(Qn_{1}^{m}cdots right)rho (n_{1}^{1},ldots n_{j_{m}}^{m},x_{1},ldots ,x_{k})} where {displaystyle rho } contains only bounded quantifiers and Q is {displaystyle forall } if m is even and {displaystyle exists } if m is odd.

A set of natural numbers {displaystyle A} is said to be {displaystyle Sigma _{m}^{0}} if it is definable by a {displaystyle Sigma _{m}^{0}} formula, that is, if there is a {displaystyle Sigma _{m}^{0}} formula {displaystyle phi (s)} such that each number {displaystyle n} is in {displaystyle A} if and only if {displaystyle phi (n)} holds. It is known that if a set is {displaystyle Sigma _{m}^{0}} then it is {displaystyle Sigma _{n}^{0}} for any {displaystyle n>m} , but for each m there is a {displaystyle Sigma _{m+1}^{0}} set that is not {displaystyle Sigma _{m}^{0}} . 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 {displaystyle A} of natural numbers is said to be {displaystyle Sigma _{m}^{0}} relative to a set {displaystyle B} , written {displaystyle Sigma _{m}^{0,B}} , if {displaystyle A} is definable by a {displaystyle Sigma _{m}^{0}} formula in an extended language that includes a predicate for membership in {displaystyle 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 {displaystyle A} is said to be Turing reducible to a set {displaystyle B} , written {displaystyle Aleq _{T}B} , if there is an oracle Turing machine that, given an oracle for {displaystyle B} , computes the characteristic function of {displaystyle A} . The Turing jump of a set {displaystyle A} is a form of the Halting problem relative to {displaystyle A} . Given a set {displaystyle A} , the Turing jump {displaystyle A'} is the set of indices of oracle Turing machines that halt on input {displaystyle 0} when run with oracle {displaystyle A} . It is known that every set {displaystyle 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 {displaystyle A} of natural numbers, the notation {displaystyle A^{(n)}} indicates the {displaystyle n} –fold iterated Turing jump of {displaystyle A} . Thus {displaystyle A^{(0)}} is just {displaystyle A} , and {displaystyle A^{(n+1)}} is the Turing jump of {displaystyle A^{(n)}} .

Post's theorem and corollaries Post's theorem establishes a close connection between the arithmetical hierarchy and the Turing degrees of the form {displaystyle emptyset ^{(n)}} , that is, finitely iterated Turing jumps of the empty set. (The empty set could be replaced with any other computable set without changing the truth of the theorem.) Post's theorem states: A set {displaystyle B} is {displaystyle Sigma _{n+1}^{0}} if and only if {displaystyle B} is recursively enumerable by an oracle Turing machine with an oracle for {displaystyle emptyset ^{(n)}} , that is, if and only if {displaystyle B} is {displaystyle Sigma _{1}^{0,emptyset ^{(n)}}} . The set {displaystyle emptyset ^{(n)}} is {displaystyle Sigma _{n}^{0}} -complete for every {displaystyle n>0} . This means that every {displaystyle Sigma _{n}^{0}} set is many-one reducible to {displaystyle emptyset ^{(n)}} .

Post's theorem has many corollaries that expose additional relationships between the arithmetical hierarchy and the Turing degrees. These include: Fix a set {displaystyle C} . A set {displaystyle B} is {displaystyle Sigma _{n+1}^{0,C}} if and only if {displaystyle B} is {displaystyle Sigma _{1}^{0,C^{(n)}}} . This is the relativization of the first part of Post's theorem to the oracle {displaystyle C} . A set {displaystyle B} is {displaystyle Delta _{n+1}} if and only if {displaystyle Bleq _{T}emptyset ^{(n)}} . More generally, {displaystyle B} is {displaystyle Delta _{n+1}^{C}} if and only if {displaystyle Bleq _{T}C^{(n)}} . A set is defined to be arithmetical if it is {displaystyle Sigma _{n}^{0}} for some {displaystyle n} . Post's theorem shows that, equivalently, a set is arithmetical if and only if it is Turing reducible to {displaystyle emptyset ^{(m)}} for some m. Proof of Post's theorem Formalization of Turing machines in first-order arithmetic The operation of a Turing machine {displaystyle T} on input {displaystyle n} can be formalized logically in first-order arithmetic. For example, we may use symbols {displaystyle A_{k}} , {displaystyle B_{k}} , and {displaystyle C_{k}} for the tape configuration, machine state and location along the tape after {displaystyle k} steps, respectively. {displaystyle T} 's transition system determines the relation between {displaystyle (A_{k},B_{k},C_{k})} and {displaystyle (A_{k+1},B_{k+1},C_{k+1})} ; their initial values (for {displaystyle k=0} ) are the input, the initial state and zero, respectively. The machine halts if and only if there is a number {displaystyle k} such that {displaystyle B_{k}} is the halting state.

The exact relation depends on the specific implementation of the notion of Turing machine (e.g. their alphabet, allowed mode of motion along the tape, etc.) In case {displaystyle T} halts at time {displaystyle n_{1}} , the relation between {displaystyle (A_{k},B_{k},C_{k})} and {displaystyle (A_{k+1},B_{k+1},C_{k+1})} must be satisfied only for k bounded from above by {displaystyle n_{1}} .

Thus there is a formula {displaystyle varphi (n,n_{1})} in first-order arithmetic with no unbounded quantifiers, such that {displaystyle T} halts on input {displaystyle n} at time {displaystyle n_{1}} at most if and only if {displaystyle varphi (n,n_{1})} 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: {displaystyle A_{k}} is the 1-ary symbol for the configuration of the whole tape after {displaystyle k} steps (which we may write as a number with LSB first, the value of the m-th location on the tape being its m-th least significant bit). In particular {displaystyle A_{0}} is the initial configuration of the tape, which corresponds the input to the machine. {displaystyle B_{k}} is the 1-ary symbol for the Turing machine state after {displaystyle k} steps. In particular, {displaystyle B_{0}=q_{I}} , the initial state of the Turing machine. {displaystyle C_{k}} is the 1-ary symbol for the Turing machine location on the tape after {displaystyle k} steps. In particular {displaystyle C_{0}=0} . {displaystyle M(q,b)} is the transition function of the Turing machine, written as a function from a doublet (machine state, bit read by the machine) to a triplet (new machine state, bit written by the machine, +1 or -1 machine movement along the tape). {displaystyle bit(j,m)} is the j-th bit of a number {displaystyle m} . This can be written as a first-order arithmetic formula with no unbounded quantifiers.

For a prefix-free Turing machine we may use, for input n, the initial tape configuration {displaystyle t(n)=cat(2^{ceil(log_{2}n)}-1,0,n)} where cat stands for concatenation; thus {displaystyle t(n)} is a {displaystyle log(n)-} length string of {displaystyle 1-s} followed by {displaystyle 0} and then by {displaystyle n} .

The operation of the Turing machine at the first {displaystyle n_{1}} steps can thus be written as the conjunction of the initial conditions and the following formulas, quantified over {displaystyle k} for all {displaystyle k

We may thus enumerate the {displaystyle k_{1}} –tuples of natural numbers and run an oracle machine with an oracle for {displaystyle emptyset ^{(1)}} 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 {displaystyle varphi (n)} , 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 {displaystyle emptyset ^{(p)}} is in {displaystyle Sigma _{p+1}^{0}} . Then for an oracle machine with an oracle for {displaystyle emptyset ^{(p+1)}} , {displaystyle psi ^{O}(m)=exists m_{1}:psi _{H}(m,m_{1})} is in {displaystyle Sigma _{p+1}^{0}} .

Since {displaystyle psi ^{O}(m)} is the same as {displaystyle varphi (n)} for the previous Turing jump, it can be constructed (as we have just done with {displaystyle varphi (n)} above) so that {displaystyle psi _{H}(m,m_{1})} in {displaystyle Pi _{p}^{0}} . After moving to prenex formal form the new {displaystyle varphi (n)} is in {displaystyle Sigma _{p+2}^{0}} .

By induction, every set that is recursively enumerable by an oracle machine with an oracle for {displaystyle emptyset ^{(p)}} , is in {displaystyle Sigma _{p+1}^{0}} .

The other direction can be proven by induction as well: Suppose every formula in {displaystyle Sigma _{p+1}^{0}} can be enumerated by an oracle machine with an oracle for {displaystyle emptyset ^{(p)}} .

Now Suppose {displaystyle varphi (n)} is a formula in {displaystyle Sigma _{p+2}^{0}} with {displaystyle k_{1}} existential quantifiers followed by {displaystyle k_{2}} universal quantifiers etc. Equivalently, {displaystyle varphi (n)} has {displaystyle k_{1}} > existential quantifiers followed by a negation of a formula in {displaystyle Sigma _{p+1}^{0}} ; the latter formula can be enumerated by an oracle machine with an oracle for {displaystyle emptyset ^{(p)}} and can thus be checked immediately by an oracle for {displaystyle emptyset ^{(p+1)}} .

We may thus enumerate the {displaystyle k_{1}} –tuples of natural numbers and run an oracle machine with an oracle for {displaystyle emptyset ^{(p+1)}} 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 {displaystyle varphi (n)} , and thus enumerates its corresponding set.

References Rogers, H. The Theory of Recursive Functions and Effective Computability, MIT Press. ISBN 0-262-68052-1; ISBN 0-07-053522-1 Soare, R. Recursively enumerable sets and degrees. Perspectives in Mathematical Logic. Springer-Verlag, Berlin, 1987. ISBN 3-540-15299-7 Categories: Theorems in the foundations of mathematicsComputability theoryMathematical logic hierarchies

Si quieres conocer otros artículos parecidos a **Post's theorem** puedes visitar la categoría **Computability theory**.

Deja una respuesta