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/limit-computability
@misc{turing-degrees-limit-computability,
  title = {{Limit computability}},
  howpublished = {Lesson 4 of \emph{Oracles and Turing degrees}, Computability Theory course notes},
  url = {/courses/turing-degrees/limit-computability},
  note = {Unreleased working version}
}

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

Lesson 4 of 6

Limit computability

Shoenfield's limit lemma; Δ⁰₂ approximations, their moduli and computation functions; domination properties of the sets computable in ∅′.

40 min4 questions
Before this lesson:The Turing jump
Oracles and Turing degrees · lesson 4 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

A set computable in ∅′\emptyset' can be computed by an algorithm that is allowed to change its mind finitely many times on each input: it produces guesses A0(x),A1(x),A2(x),…A_0(x), A_1(x), A_2(x), \dots which are eventually correct, but without ever knowing that the last change has occurred. This is Shoenfield’s limit lemma. It gives the sets below 0′\obf' a concrete description by computable approximations, and it is the basis of most constructions of sets below ∅′\emptyset', notably by the priority method. This lesson proves the lemma and studies how fast an approximation settles.

4.1 Limit computable sets

Definition 4.1.#

A Δ20\Delta^0_2 approximation of a set AA is a uniformly computable sequence of sets A0,A1,A2,…A_0, A_1, A_2, \dots such that for every xx, As(x)=A(x)A_s(x) = A(x) for all sufficiently large ss. A set is limit computable if it has a Δ20\Delta^0_2 approximation.

Equivalently, AA is limit computable if there is a total computable function g:N2→{0,1}g : \nat^2 \to \{0, 1\} with A(x)=lim⁡sg(x,s)A(x) = \lim_s g(x, s) for every xx, where the limit of a sequence of integers is the value it eventually takes. A c.e. approximation (Definition 4.2 of “Computably enumerable sets”) is a Δ20\Delta^0_2 approximation in which elements may enter but never leave; so c.e. sets are limit computable. In a general Δ20\Delta^0_2 approximation, As(x)A_s(x) may change any finite number of times.

0123456stageA01001100A11101000A21101010A30101010A40111010A50110010A60110011A70110011⋮A0110011shaded: a bit thatchanges at this stage

A Δ20\Delta^0_2 approximation. Each column xx changes finitely many times; the shaded cells are the changes, and the bits shown in full have reached their final value.
Theorem 4.2 (Shoenfield’s limit lemma).#

A set AA is computable in ∅′\emptyset' if and only if it is limit computable. More generally, for every XX, a set is computable in X′X' if and only if it has an XX-computable Δ20\Delta^0_2 approximation.

Proof of Theorem 4.2.

We prove the unrelativized statement; the proof relativizes. Fix a c.e. approximation (∅s′)(\emptyset'_s) of ∅′\emptyset', for instance ∅s′={e:Φe(e)[s] ⁣ ⁣↓}\emptyset'_s = \{ e : \Phi_e(e)[s]\converge \}.

(⇒\Rightarrow) Let A=Φe∅′A = \Phi^{\emptyset'}_e. Define As(x)=Φe∅s′(x)[s]A_s(x) = \Phi^{\emptyset'_s}_e(x)[s] if this computation converges with a value in {0,1}\{0, 1\}, and As(x)=0A_s(x) = 0 otherwise. The sequence (As)(A_s) is uniformly computable, by Proposition 1.5. Fix xx, and let uu be the use of the computation Φe∅′(x)\Phi^{\emptyset'}_e(x) and tt a stage at which it converges. Since only finitely many elements below uu enter ∅′\emptyset', there is s0s_0 with ∅s′ ⁣↾u=∅′ ⁣↾u\emptyset'_s \uh u = \emptyset' \uh u for all s≥s0s \geq s_0. For s≥max⁡(s0,t)s \geq \max(s_0, t), the computation with oracle ∅s′\emptyset'_s agrees with the computation with oracle ∅′\emptyset' on all the cells it reads, so by monotonicity and the use principle Φe∅s′(x)[s] ⁣ ⁣↓=A(x)\Phi^{\emptyset'_s}_e(x)[s]\converge = A(x), and As(x)=A(x)A_s(x) = A(x).

(⇐\Leftarrow) Let (As)(A_s) be a Δ20\Delta^0_2 approximation of AA. The relation

C(x,y)  ⟺  ∃s≥y  As(x)≠Ay(x)C(x, y) \iff \exists s \geq y\ \ A_s(x) \neq A_y(x)

is c.e., hence computable in ∅′\emptyset' (Proposition 2.7). To compute A(x)A(x) with oracle ∅′\emptyset', search for the least yy with ¬C(x,y)\neg C(x, y), that is, such that the approximation of xx does not change after stage yy, and output Ay(x)A_y(x). Such a yy exists since the approximation of xx eventually stabilizes, and then Ay(x)=lim⁡sAs(x)=A(x)A_y(x) = \lim_s A_s(x) = A(x).

The two directions use ∅′\emptyset' differently. In the first, the oracle ∅′\emptyset' is replaced by its approximations, and the use principle guarantees that the computation eventually sees a correct prefix of the oracle. In the second, the oracle is asked a single question for each yy: “will xx change again after stage yy?”, a c.e. question.

Corollary 4.3.#
  1. If YY is XX-c.e., then Y≤TX′Y \leq_T X'.
  2. The relation “is c.e. relative to” is not transitive: ∅′′\emptyset'' is ∅′\emptyset'-c.e., ∅′\emptyset' is c.e., and ∅′′\emptyset'' is not c.e.
Proof of Corollary 4.3.
  1. An XX-c.e. approximation of YY is an XX-computable Δ20\Delta^0_2 approximation; apply the relativized limit lemma.
  2. If ∅′′\emptyset'' were c.e., it would be computable in ∅′\emptyset' by item 1, contradicting ∅′<T∅′′\emptyset' <_T \emptyset''.

4.2 Moduli and computation functions

A Δ20\Delta^0_2 approximation does not tell when it has settled. How long one must wait is measured by the following functions.

Definition 4.4.#

Let (As)(A_s) be a Δ20\Delta^0_2 approximation of AA.

  1. Its modulus is the function m(x)=m(x) = the least ss such that At ⁣↾x=As ⁣↾xA_t \uh x = A_s \uh x for every t≥st \geq s.
  2. Its computation function is c(x)=c(x) = the least s≥xs \geq x such that As ⁣↾x=A ⁣↾xA_s \uh x = A \uh x.

Both are total, since each of the finitely many bits below xx eventually settles. Clearly c(x)≤max⁡(x,m(x))c(x) \leq \max(x, m(x)). The computation function may be much smaller than the modulus: As ⁣↾xA_s \uh x may be correct at some stage and change later. A function ff dominates gg if f(x)≥g(x)f(x) \geq g(x) for every xx.

Proposition 4.5.#

Let (As)(A_s) be a Δ20\Delta^0_2 approximation of AA with modulus mm.

  1. Every function ff dominating mm computes AA.
  2. If (As)(A_s) is a c.e. approximation, then mm is computable in AA, so that A≡TmA \equiv_T m.
Proof of Proposition 4.5.
  1. A(x)=Af(x+1)(x)A(x) = A_{f(x+1)}(x), since f(x+1)≥m(x+1)f(x+1) \geq m(x+1) and the bits below x+1x + 1 do not change after stage m(x+1)m(x+1).
  2. For a c.e. approximation, once As ⁣↾x=A ⁣↾xA_s \uh x = A \uh x, no element below xx enters later, since all elements of AA below xx are already in AsA_s and elements never leave. So m(x)m(x) is the least ss with As ⁣↾x=A ⁣↾xA_s \uh x = A \uh x, which is found with oracle AA by testing s=0,1,…s = 0, 1, \dots. Conversely A≤TmA \leq_T m by item 1.
Corollary 4.6.#

Let mm be the modulus of the approximation ∅s′={e:Φe(e)[s] ⁣ ⁣↓}\emptyset'_s = \{ e : \Phi_e(e)[s]\converge \}. A set XX computes ∅′\emptyset' if and only if XX computes a function dominating mm.

Proof of Corollary 4.6.

If X≥T∅′X \geq_T \emptyset', then XX computes mm by Proposition 4.5. Conversely, a function dominating mm computes ∅′\emptyset' by the same proposition, and if XX computes it, so does XX.

So the sets that compute ∅′\emptyset' are exactly the sets that compute sufficiently fast-growing functions, as already observed in Example 1.3. For general Δ20\Delta^0_2 approximations, the modulus is usually not computable in AA, but the computation function is, and the following result shows that it carries the same information.

Theorem 4.7 (Martin–Miller).#

Let (As)(A_s) be a Δ20\Delta^0_2 approximation of AA with computation function cc. Then c≤TAc \leq_T A, and every function ff dominating cc computes AA.

Proof of Theorem 4.7.

To compute c(x)c(x) from AA, read A ⁣↾xA \uh x and search for the least s≥xs \geq x with As ⁣↾x=A ⁣↾xA_s \uh x = A \uh x.

Let ff dominate cc. For each xx, let M(x)M(x) be the largest y≤xy \leq x such that At ⁣↾y=Ax ⁣↾yA_t \uh y = A_x \uh y for every tt with x≤t≤f(x)x \leq t \leq f(x). The function MM is ff-computable: it only involves the finitely many sets AtA_t, x≤t≤f(x)x \leq t \leq f(x).

Claim 1: Ax ⁣↾M(x)=A ⁣↾M(x)A_x \uh M(x) = A \uh M(x). Since x≤c(x)≤f(x)x \leq c(x) \leq f(x), the stage t=c(x)t = c(x) is among those considered, and Ac(x) ⁣↾x=A ⁣↾xA_{c(x)} \uh x = A \uh x. With y=M(x)≤xy = M(x) \leq x, we get Ax ⁣↾y=Ac(x) ⁣↾y=A ⁣↾yA_x \uh y = A_{c(x)} \uh y = A \uh y.

Claim 2: M(x)→∞M(x) \to \infty. Fix nn, and let sns_n be such that At ⁣↾n=A ⁣↾nA_t \uh n = A \uh n for all t≥snt \geq s_n. For x≥max⁡(n,sn)x \geq \max(n, s_n), all AtA_t with t≥xt \geq x agree with AA below nn, so M(x)≥nM(x) \geq n.

To decide whether n∈An \in A with oracle ff, search for xx with M(x)>nM(x) > n, which exists by Claim 2, and answer Ax(n)A_x(n), which is correct by Claim 1.

The condition c(x)≥xc(x) \geq x in the definition of the computation function is used in Claim 1: it guarantees that the stages x≤t≤f(x)x \leq t \leq f(x) include a correct stage.

4.3 Exercises

Exercise 4.8 ★.

A set AA is d.c.e. if A=B∖CA = B \setminus C for c.e. sets BB and CC. Show that every d.c.e. set has a Δ20\Delta^0_2 approximation in which each xx changes at most twice, and is therefore computable in ∅′\emptyset'.

Solution

Let (Bs)(B_s) and (Cs)(C_s) be c.e. approximations, and As=Bs∖CsA_s = B_s \setminus C_s. The value As(x)A_s(x) starts at 00, may become 11 when xx enters BB, and may become 00 again when xx enters CC; once x∈Csx \in C_s it stays 00. So it changes at most twice, and converges to (B∖C)(x)(B \setminus C)(x). Apply Theorem 4.2.

Exercise 4.9 ★.

Let mm be the modulus of the approximation ∅s′={e:Φe(e)[s] ⁣ ⁣↓}\emptyset'_s = \{ e : \Phi_e(e)[s]\converge \}. Show that no computable function dominates mm, and that for every computable ff there are infinitely many xx with f(x)<m(x)f(x) < m(x).

Solution

A computable function dominating mm would compute ∅′\emptyset' by Proposition 4.5, so ∅′\emptyset' would be computable. If f(x)≥m(x)f(x) \geq m(x) for all but finitely many xx, modify ff at these finitely many points to obtain a computable function dominating mm, which is impossible.

Exercise 4.10 ★★.

Let (As)(A_s) be a Δ20\Delta^0_2 approximation of AA such that, for every xx, the number of ss with As+1(x)≠As(x)A_{s+1}(x) \neq A_s(x) is at most h(x)h(x), for a computable function hh. Show that there are an index ee and a computable function bb such that Φe∅′=A\Phi^{\emptyset'}_e = A and use⁡e∅′(x)≤b(x)\use^{\emptyset'}_e(x) \leq b(x) for every xx.

Solution

For each xx and kk, let q(x,k)q(x, k) be an index, computable from (x,k)(x, k), of the machine which halts on its own index if and only if the approximation of xx changes at least kk times; then q(x,k)∈∅′q(x, k) \in \emptyset' if and only if xx changes at least kk times. To compute A(x)A(x), query ∅′\emptyset' at the positions q(x,1),…,q(x,h(x))q(x, 1), \dots, q(x, h(x)), let kk be the number of changes found, and run the approximation until kk changes of xx have been observed; the value reached is A(x)A(x). Only the positions q(x,k)q(x, k), k≤h(x)k \leq h(x), are queried, so the use is bounded by b(x)=1+max⁡k≤h(x)q(x,k)b(x) = 1 + \max_{k \leq h(x)} q(x, k), up to the cells the oracle head crosses to reach them, which are below this bound.

4.4 Notes and references

The limit lemma is due to Shoenfield (1959), and was also observed by Gold and by Putnam (1965), in connection with learning in the limit and trial-and-error predicates. The result on computation functions is due to Martin and Miller (1968). The d.c.e. sets and the hierarchy of nn-c.e. sets were introduced by Putnam and by Ershov.

  • J. R. Shoenfield, On degrees of unsolvability, Annals of Mathematics 69 (1959), 644–653.
  • H. Putnam, Trial and error predicates and the solution to a problem of Mostowski, Journal of Symbolic Logic 30 (1965), 49–57.
  • E. M. Gold, Limiting recursion, Journal of Symbolic Logic 30 (1965), 28–48.
  • W. Miller and D. A. Martin, The degrees of hyperimmune sets, Zeitschrift für mathematische Logik und Grundlagen der Mathematik 14 (1968), 159–166.