Cite

This course has no released version yet: the text at this address may change. Cite a released version when one exists.

/courses/turing-degrees/turing-reducibility
@misc{turing-degrees-turing-reducibility,
  title = {{Turing reducibility and degrees}},
  howpublished = {Lesson 2 of \emph{Oracles and Turing degrees}, Computability Theory course notes},
  url = {/courses/turing-degrees/turing-reducibility},
  note = {Unreleased working version}
}

To cite a single statement, use the # link that appears next to its heading.

Lesson 2 of 6

Turing reducibility and degrees

Turing reducibility, the partial order of Turing degrees, the join as least upper bound, countability of lower cones, and relative computable enumerability.

35 min4 questions
Oracles and Turing degrees · lesson 2 of 6
  1. Computation relative to an oracle
  2. Turing reducibility and degrees
  3. The Turing jump
  4. Limit computability
  5. The finite extension method
  6. Low and high sets

Relative computability compares sets by their computational power: XX is at most as powerful as YY if every question about XX can be answered by an algorithm consulting YY. This is Turing reducibility, the most important of the reducibilities of computability theory. Identifying sets of the same power gives the Turing degrees, whose structure is one of the main subjects of the theory. This lesson sets up the basic definitions and the first properties of the degrees.

2.1 Turing reducibility

Definition 2.1.#

Let X,Y∈2NX, Y \in \cs. The set XX is Turing reducible to YY, written X≤TYX \leq_T Y, if XX is YY-computable: ΦeY=X\Phi^Y_e = X for some ee, that is, ΦeY(n) ⁣ ⁣↓=X(n)\Phi^Y_e(n)\converge = X(n) for every nn. We write X<TYX <_T Y if X≤TYX \leq_T Y and Y̸≤TXY \not\leq_T X.

Proposition 2.2.#
  1. ≤T\leq_T is reflexive and transitive.
  2. Transitivity is uniform: there is a computable function cc such that, if ΦaY=X\Phi^Y_a = X, then Φc(a,b)Y=ΦbX\Phi^Y_{c(a, b)} = \Phi^X_b as partial functions, for every bb. In particular, if moreover ΦbX=Z\Phi^X_b = Z, then Φc(a,b)Y=Z\Phi^Y_{c(a, b)} = Z.
  3. If A≤mBA \leq_m B, then A≤TBA \leq_T B. Moreover X≤TN∖XX \leq_T \nat \setminus X, and every computable set is reducible to every set.
Proof of Proposition 2.2.
  1. Reflexivity: the machine that copies the bit X(n)X(n) from its oracle tape computes XX with oracle XX. Transitivity follows from item 2.
  2. Let Φc(a,b)\Phi^{c(a, b)} be the following oracle machine. On input nn, with oracle YY, it runs the machine bb on input nn, but whenever the machine bb needs the bit of its oracle at cell kk, it computes ΦaY(k)\Phi^Y_a(k) and uses the result. With ΦaY=X\Phi^Y_a = X, every requested bit is computed correctly and the simulation follows the computation of ΦbX(n)\Phi^X_b(n). Formally, the machine searches for tt and a string σ\sigma such that ΦaY(k) ⁣ ⁣↓=σ(k)\Phi^Y_a(k)\converge = \sigma(k) for all k<∣σ∣k < |\sigma|, and tt codes a halting computation of bb on nn with oracle σ\sigma, then outputs its result. If ΦaY=X\Phi^Y_a = X, the strings σ\sigma found are prefixes of XX. If ΦbX(n) ⁣ ⁣↓\Phi^X_b(n)\converge, such a pair exists, namely the computation with oracle XX and σ=X ⁣↾u\sigma = X \uh u for uu its use, and by Proposition 1.5 any pair found gives the output ΦbX(n)\Phi^X_b(n). If ΦbX(n) ⁣ ⁣↑\Phi^X_b(n)\diverge, no pair exists, since a halting computation with oracle σ≺X\sigma \prec X would give ΦbX(n) ⁣ ⁣↓\Phi^X_b(n)\converge by the same proposition; so the search diverges. The machine does not depend on YY, and its code is obtained computably from aa and bb.
  3. If ff is a many-one reduction of AA to BB, then A(n)=B(f(n))A(n) = B(f(n)), computed by evaluating f(n)f(n) and reading the oracle. The complement is computed by reading the bit and flipping it. A computable set is computed by a machine that ignores its oracle.

2.2 Turing degrees

Definition 2.3.#

Two sets XX and YY are Turing equivalent, written X≡TYX \equiv_T Y, if X≤TYX \leq_T Y and Y≤TXY \leq_T X. The Turing degree of XX is its equivalence class deg⁡T(X)={Y:Y≡TX}\deg_T(X) = \{ Y : Y \equiv_T X \}. The set of Turing degrees is D\mathcal D, ordered by deg⁡T(X)≤deg⁡T(Y)\deg_T(X) \leq \deg_T(Y) if and only if X≤TYX \leq_T Y.

The order on degrees is well defined, since X≡TX1X \equiv_T X_1 and Y≡TY1Y \equiv_T Y_1 imply that X≤TYX \leq_T Y if and only if X1≤TY1X_1 \leq_T Y_1, by transitivity. It is a partial order on D\mathcal D. Degrees are written in bold: a,b,d,…\abf, \bbf, \dbf, \dots. The least degree is 0\obf, the degree of the computable sets.

Proposition 2.4.#
  1. For every YY, the lower cone {X:X≤TY}\{ X : X \leq_T Y \} is countable.
  2. Every Turing degree is countably infinite, and is closed under finite modifications: if X∈dX \in \dbf and X△ZX \symdiff Z is finite, then Z∈dZ \in \dbf.
  3. For every sequence (Yn)n∈N(Y_n)_{n \in \nat} of sets, there is a set ZZ with Z̸≤TYnZ \not\leq_T Y_n for every nn. Hence no sequence of degrees contains every degree, and every degree has only countably many degrees below it.
Proof of Proposition 2.4.
  1. Each X≤TYX \leq_T Y is ΦeY\Phi^Y_e for some ee, so e↦ΦeYe \mapsto \Phi^Y_e, restricted to the indices of total {0,1}\{0,1\}-valued functions, is a surjection from a subset of N\nat onto the lower cone.
  2. A degree is contained in a lower cone, hence countable. If X△ZX \symdiff Z is finite, a machine computes ZZ from XX by copying the oracle except at the finitely many positions where XX and ZZ differ, which are written in its table; and symmetrically. The finite modifications of XX form an infinite set, so the degree is infinite.
  3. Let Z(⟨e,n⟩)=1−ΦeYn(⟨e,n⟩)Z(\langle e, n \rangle) = 1 - \Phi^{Y_n}_e(\langle e, n \rangle) if this value is defined and in {0,1}\{0, 1\}, and Z(⟨e,n⟩)=0Z(\langle e, n \rangle) = 0 otherwise. If Z=ΦeYnZ = \Phi^{Y_n}_e, then ΦeYn(⟨e,n⟩) ⁣ ⁣↓=Z(⟨e,n⟩)∈{0,1}\Phi^{Y_n}_e(\langle e, n \rangle)\converge = Z(\langle e, n \rangle) \in \{0, 1\}, and by definition Z(⟨e,n⟩)=1−Z(⟨e,n⟩)Z(\langle e, n \rangle) = 1 - Z(\langle e, n \rangle), a contradiction. For the second statement, given a sequence of degrees (dn)(\dbf_n), apply this to a sequence of representatives Yn∈dnY_n \in \dbf_n; the degree of ZZ is none of the dn\dbf_n, since otherwise Z≤TYnZ \leq_T Y_n. The last statement is item 1.

The choice of representatives in item 3 uses the axiom of countable choice. With the axiom of choice, D\mathcal D has the cardinality of the continuum, as a set of countable classes partitioning 2N\cs. Without choice, a refinement of the finite extension method of a later lesson, which builds a perfect tree of strings instead of a single sequence, gives an explicit family of continuum many pairwise incomparable degrees; the exercises of that lesson treat the case of countably many.

2.3 The join

Definition 2.5.#

The join of XX and YY is X⊕Y={2n:n∈X}∪{2n+1:n∈Y}X \oplus Y = \{ 2n : n \in X \} \cup \{ 2n + 1 : n \in Y \}, as in Definition 5.3 of “The cardinality of the continuum”.

Proposition 2.6.#

For all XX and YY, deg⁡T(X⊕Y)\deg_T(X \oplus Y) is the least upper bound of deg⁡T(X)\deg_T(X) and deg⁡T(Y)\deg_T(Y). Hence D\mathcal D is an upper semilattice, and we write a∨b\abf \vee \bbf for the least upper bound of a\abf and b\bbf.

Proof of Proposition 2.6.

X(n)=(X⊕Y)(2n)X(n) = (X \oplus Y)(2n) and Y(n)=(X⊕Y)(2n+1)Y(n) = (X \oplus Y)(2n + 1), so XX and YY are computable from X⊕YX \oplus Y. If X=ΦaZX = \Phi^Z_a and Y=ΦbZY = \Phi^Z_b, then X⊕YX \oplus Y is computed from ZZ by: on input mm, if m=2nm = 2n, compute ΦaZ(n)\Phi^Z_a(n); if m=2n+1m = 2n + 1, compute ΦbZ(n)\Phi^Z_b(n). So every upper bound of deg⁡T(X)\deg_T(X) and deg⁡T(Y)\deg_T(Y) is above deg⁡T(X⊕Y)\deg_T(X \oplus Y). The least upper bound depends only on the degrees, so a∨b\abf \vee \bbf is well defined.

The degrees do not form a lattice: there are pairs of degrees without a greatest lower bound, and no strictly increasing sequence of degrees has a least upper bound. These results go back to Kleene and Post (1954) and Spector (1956); we admit them here, and they are proved in the specialized course on the structure of the Turing degrees (Kleene, Post; Spector).

2.4 Relative enumerability

By relativization (Definition 1.8), a set AA is YY-c.e. if A=WeYA = W^Y_e for some ee, and the results on c.e. sets hold relative to YY: AA is YY-c.e. if and only if A={x:∃s R(x,s)}A = \{ x : \exists s\ R(x, s) \} for some YY-computable relation RR, and AA is YY-computable if and only if AA and N∖A\nat \setminus A are YY-c.e.

Proposition 2.7.#

Every c.e. set is Turing reducible to ∅′\emptyset'. More generally, if AA is YY-c.e. and Y≤TZY \leq_T Z, then AA is ZZ-c.e.

Proof of Proposition 2.7.

A c.e. set is many-one reducible to ∅′\emptyset' (Theorem 4.12 of “Computably enumerable sets”), hence Turing reducible to it. For the second statement, if A={x:∃s R(x,s)}A = \{ x : \exists s\ R(x, s) \} with R≤TY≤TZR \leq_T Y \leq_T Z, then RR is ZZ-computable and AA is ZZ-c.e.

So the c.e. degrees, that is, the degrees of c.e. sets, all lie between 0\obf and deg⁡T(∅′)\deg_T(\emptyset'), written 0′\obf'. Whether there are c.e. degrees strictly between 0\obf and 0′\obf' is Post’s problem, solved by the priority method in a later course.

2.5 Exercises

Exercise 2.8 ★.

Show that if X≤TYX \leq_T Y and A≤TBA \leq_T B, then X⊕A≤TY⊕BX \oplus A \leq_T Y \oplus B.

Solution

X≤TY≤TY⊕BX \leq_T Y \leq_T Y \oplus B and A≤TB≤TY⊕BA \leq_T B \leq_T Y \oplus B, so Y⊕BY \oplus B is an upper bound of XX and AA, hence computes X⊕AX \oplus A by Proposition 2.6.

Exercise 2.9 ★.

Show that X≤TYX \leq_T Y if and only if X⊕(N∖X)X \oplus (\nat \setminus X) is YY-c.e.

Solution

If X≤TYX \leq_T Y, then XX and its complement are YY-computable, so their join is YY-computable, hence YY-c.e. Conversely, if X⊕(N∖X)X \oplus (\nat \setminus X) is YY-c.e., then X={n:2n∈X⊕(N∖X)}X = \{ n : 2n \in X \oplus (\nat \setminus X) \} and N∖X={n:2n+1∈X⊕(N∖X)}\nat \setminus X = \{ n : 2n + 1 \in X \oplus (\nat \setminus X) \} are YY-c.e., as preimages under computable functions, so XX is YY-computable.

Exercise 2.10 ★★.

Let XX be infinite. Show that XX is Turing equivalent to its principal function pXp_X, used as an oracle, and to the set {⟨n,pX(n)⟩:n∈N}\{ \langle n, p_X(n) \rangle : n \in \nat \}.

Solution

From XX, compute pX(0)=min⁡Xp_X(0) = \min X and pX(n+1)=min⁡{x>pX(n):x∈X}p_X(n+1) = \min \{ x > p_X(n) : x \in X \} by searching the oracle; the searches terminate since XX is infinite. Conversely, from pXp_X, decide x∈Xx \in X by computing pX(0),…,pX(x)p_X(0), \dots, p_X(x), which exceed or reach xx since pX(n)≥np_X(n) \geq n, and checking whether xx is among them. The set {⟨n,pX(n)⟩}\{ \langle n, p_X(n) \rangle \} is the graph GpXG_{p_X}, equivalent to pXp_X by definition of computation with a function oracle.

2.6 Notes and references

Turing reducibility was defined by Post (1944) from Turing’s oracle machines, and the degrees of unsolvability were introduced by Post and studied systematically by Kleene and Post (1954). Spector proved in 1956 that strictly increasing sequences of degrees have no least upper bound. Lerman’s monograph studies the global structure of D\mathcal D.

  • E. L. Post, Recursively enumerable sets of positive integers and their decision problems, Bulletin of the American Mathematical Society 50 (1944), 284–316.
  • S. C. Kleene and E. L. Post, The upper semi-lattice of degrees of recursive unsolvability, Annals of Mathematics 59 (1954), 379–407.
  • C. Spector, On degrees of recursive unsolvability, Annals of Mathematics 64 (1956), 581–592.
  • M. Lerman, Degrees of Unsolvability, Springer, 1983.