# Turing degree

In computer science and mathematical logic the **Turing degree** or **degree of unsolvability** of a set of natural numbers measures the level of algorithmic unsolvability of the set. The concept of Turing degree is fundamental in computability theory, where sets of natural numbers are often regarded as decision problems. The Turing degree of a set tells how difficult it is to solve the decision problem associated with the set, that is, to determine whether an arbitrary number is in the given set.

Two sets are **Turing equivalent** if they have the same level of unsolvability; each Turing degree is a collection of Turing equivalent sets, so that two sets are in different Turing degrees exactly when they are not Turing equivalent. Furthermore, the Turing degrees are partially ordered so that if the Turing degree of a set *X* is less than the Turing degree of a set *Y* then any (noncomputable) procedure that correctly decides whether numbers are in *Y* can be effectively converted to a procedure that correctly decides whether numbers are in *X*. It is in this sense that the Turing degree of a set corresponds to its level of algorithmic unsolvability.

The Turing degrees were introduced by Emil Leon Post (1944), and many fundamental results were established by Stephen Cole Kleene and Post (1954). The Turing degrees have been an area of intense research since then. Many proofs in the area make use of a proof technique known as the **priority method**.

## Turing equivalence

{{#invoke:main|main}}

For the rest of this article, the word *set* will refer to a set of natural numbers. A set *X* is said to be **Turing reducible** to a set *Y* if there is an oracle Turing machine that decides membership in *X* when given an oracle for membership in *Y*. The notation *X* ≤_{T} *Y* indicates that *X* is Turing reducible to *Y*.

Two sets *X* and *Y* are defined to be **Turing equivalent** if *X* is Turing reducible to *Y* and *Y* is Turing reducible to *X*. The notation *X* ≡_{T} *Y* indicates that *X* and *Y* are Turing equivalent. The relation ≡_{T} can be seen to be an equivalence relation, which means that for all sets *X*, *Y*, and *Z*:

*X*≡_{T}*X**X*≡_{T}*Y*implies*Y*≡_{T}*X*- If
*X*≡_{T}*Y*and*Y*≡_{T}*Z*then*X*≡_{T}*Z*.

A **Turing degree** is an equivalence class of the relation ≡_{T}. The notation [*X*] denotes the equivalence class containing a set *X*. The entire collection of Turing degrees is denoted .

The Turing degrees have a partial order ≤ defined so that [*X*] ≤ [*Y*] if and only if *X* ≤_{T} *Y*. There is a unique Turing degree containing all the computable sets, and this degree is less than every other degree. It is denoted **0** (zero) because it is the least element of the poset . (It is common to use boldface notation for Turing degrees, in order to distinguish them from sets. When no confusion can occur, such as with [*X*], the boldface is not necessary.)

For any sets *X* and *Y*, X **join** Y, written *X ⊕ Y*, is defined to be the union of the sets {2*n* : *n* ∈ *X*} and {2*m*+1 : *m ∈ Y*}. The Turing degree of *X ⊕ Y* is the least upper bound of the degrees of *X* and *Y*. Thus is a join-semilattice. The least upper bound of degrees **a** and **b** is denoted **a** ∪ **b**. It is known that is not a lattice, as there are pairs of degrees with no greatest lower bound.

For any set *X* the notation *X*′ denotes the set of indices of oracle machines that halt when using *X* as an oracle. The set *X*′ is called the **Turing jump** of *X*. The Turing jump of a degree [*X*] is defined to be the degree [*X*′]; this is a valid definition because *X*′ ≡_{T} *Y*′ whenever *X* ≡_{T} *Y*. A key example is **0**′, the degree of the halting problem.

## Basic properties of the Turing degrees

- Every Turing degree is countably infinite, that is, it contains exactly sets.

- For each degree
**a**the strict inequality**a**<**a**′ holds.

- For each degree
**a**, the set of degrees below**a**is at most countable. The set of degrees greater than**a**has size .

## Structure of the Turing degrees

A great deal of research has been conducted into the structure of the Turing degrees. The following survey lists only some of the many known results. One general conclusion that can be drawn from the research is that the structure of the Turing degrees is extremely complicated.

### Order properties

- There are
**minimal degrees**. A degree**a**is*minimal*if**a**is nonzero and there is no degree between**0**and**a**. Thus the order relation on the degrees is not a dense order.

- For every nonzero degree
**a**there is a degree**b**incomparable with**a**.

- Every countable partially ordered set can be embedded in the Turing degrees.

- No infinite, strictly increasing sequence of degrees has a least upper bound.

### Properties involving the jump

- For every degree
**a**there is a degree strictly between**a**and**a′**. In fact, there is a countable sequence of pairwise incomparable degrees between**a**and**a′**.

- A degree
**a**is of the form**b′**if and only if**0′**≤**a**.

- For any degree
**a**there is a degree**b**such that**a**<**b**and**b′**=**a′**; such a degree**b**is called*low*relative to**a**.

- There is an infinite sequence
**a**_{i}of degrees such that**a**′_{i+1}≤**a**_{i}for each*i*.

### Logical properties

- Simpson (1977) showed that the first-order theory of in the language ⟨ ≤, = ⟩ or ⟨ ≤, ′, =⟩ is many-one equivalent to the theory of true second-order arithmetic. This indicates that the structure of is extremely complicated.

- Shore and Slaman (1999) showed that the jump operator is definable in the first-order structure of the degrees with the language ⟨ ≤, =⟩.

## Structure of the r.e. Turing degrees

A degree is called r.e. (recursively enumerable) if it contains a recursively enumerable set. Every r.e. degree is less than or equal to **0′** but not every degree less than **0′** is an r.e. degree.

- (G. E. Sacks, 1964) The r.e degrees are dense; between any two r.e. degrees there is a third r.e degree.

- (A. H. Lachlan, 1966a and C. E. M. Yates, 1966) There are two r.e. degrees with no greatest lower bound in the r.e. degrees.

- (A. H. Lachlan, 1966a and C. E. M. Yates, 1966) There is a pair of nonzero r.e. degrees whose greatest lower bound is
**0**.

- (S. K. Thomason, 1971) Every finite distributive lattice can be embedded into the r.e. degrees. In fact, the countable atomless Boolean algebra can be embedded in a manner that preserves suprema and infima.

- (A. H. Lachlan and R. I. Soare, 1980) Not all finite lattices can be embedded in the r.e. degrees (via an embedding that preserves suprema and infima). The following particular lattice cannot be embedded in the r.e. degrees:

- (A. H. Lachlan, 1966b) There is no pair of r.e. degrees whose greatest lower bound is
**0**and whose least upper bound is**0′**. This result is informally called the*nondiamond theorem*.

- (L. A. Harrington and T. A. Slaman, see Nies, Shore, and Slaman (1998)) The first-order theory of the r.e. degrees in the language ⟨
**0**, ≤, = ⟩ is many-one equivalent to the theory of true first order arithmetic.

## Post's problem and the priority method

{{#invoke:Hatnote|hatnote}}Template:Main other

Emil Post studied the r.e. Turing degrees and asked whether there is any r.e. degree strictly between **0** and **0′**. The problem of constructing such a degree (or showing that none exist) became known as **Post's problem**. This problem was solved independently by Friedberg and Muchnik in the 1950s, who showed that these intermediate r.e. degrees do exist. Their proofs each developed the same new method for constructing r.e degrees which came to be known as the **priority method**. The priority method is now the main technique for establishing results about r.e. sets.

The idea of the priority method for constructing an r.e. set *X* is to list a countable sequence of *requirements* that *X* must satisfy. For example, to construct an r.e. set *X* between **0** and **0′** it is enough to satisfy the requirements *A _{e}* and

*B*for each natural number

_{e}*e*, where

*A*requires that the oracle machine with index

_{e}*e*does not compute 0′ from

*X*and

*B*requires that the Turing machine with index

_{e}*e*(and no oracle) does not compute

*X*. These requirements are put into a

*priority ordering*, which is an explicit bijection of the requirements and the natural numbers. The proof proceeds inductively with one stage for each natural number; these stages can be thought of as steps of time during which the set

*X*is enumerated. At each stage, numbers may be put into

*X*or forever prevented from entering

*X*in an attempt to

*satisfy*requirements (that is, force them to hold once all of

*X*has been enumerated). Sometimes, a number can be enumerated into

*X*to satisfy one requirement but doing this would cause a previously satisfied requirement to become unsatisfied (that is, to be

*injured*). The priority order on requirements is used to determine which requirement to satisfy in this case. The informal idea is that if a requirement is injured then it will eventually stop being injured after all higher priority requirements have stopped being injured, although not every priority argument has this property. An argument must be made that the overall set

*X*is r.e. and satisfies all the requirements. Priority arguments can be used to prove many facts about r.e. sets; the requirements used and the manner in which they are satisfied must be carefully chosen to produce the required result.

## References

### Monographs (undergraduate level)

- Cooper, S.B.
*Computability theory*. Chapman & Hall/CRC, Boca Raton, FL, 2004. ISBN 1-58488-237-9

- Cutland, N.
*Computability.*Cambridge University Press, Cambridge-New York, 1980. ISBN 0-521-22384-9; ISBN 0-521-29465-7

### Monographs and survey articles (graduate level)

- Ambos-Spies, K. and Fejer, P. Degrees of Unsolvability. Unpublished. http://www.cs.umb.edu/~fejer/articles/History_of_Degrees.pdf

- Lerman, M.
*Degrees of unsolvability.*Perspectives in Mathematical Logic. Springer-Verlag, Berlin, 1983. ISBN 3-540-12155-2

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}

- Rogers, H.
*The Theory of Recursive Functions and Effective Computability*, MIT Press. ISBN 0-262-68052-1; ISBN 0-07-053522-1

- Sacks, Gerald E.
*Degrees of Unsolvability*(Annals of Mathematics Studies), Princeton University Press. ISBN 978-0691079417

- Simpson, S. Degrees of unsolvability: a survey of results.
*Handbook of Mathematical Logic*, North-Holland, 1977, pp. 631–652.

- Shoenfield, Joseph R.
*Degrees of Unsolvability*, North-Holland/Elsevier, ISBN 978-0720420616.

- Shore, R. The theories of the T, tt, and wtt r.e. degrees: undecidability and beyond. Proceedings of the IX Latin American Symposium on Mathematical Logic, Part 1 (Bahía Blanca, 1992), 61–70, Notas Lógica Mat., 38, Univ. Nac. del Sur, Bahía Blanca, 1993.

- Soare, R.
*Recursively enumerable sets and degrees.*Perspectives in Mathematical Logic. Springer-Verlag, Berlin, 1987. ISBN 3-540-15299-7

- Soare, Robert I. Recursively enumerable sets and degrees.
*Bull. Amer. Math. Soc.*84 (1978), no. 6, 1149–1181. Template:MathSciNet

### Research papers

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}