Cite

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

/courses/immunity-growth/dnc-functions
@misc{immunity-growth-dnc-functions,
  title = {{Diagonally non-computable functions}},
  howpublished = {Lesson 3 of \emph{Immunity and growth of functions}, Computability Theory course notes},
  url = {/courses/immunity-growth/dnc-functions},
  note = {Unreleased working version}
}

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

Lesson 3 of 4

Diagonally non-computable functions

DNC and fixed-point free functions compute each other; the DNC degrees are the degrees of effectively immune sets; Arslanov's completeness criterion shows that a c.e. set computing a DNC function is complete.

45 min4 questions
Before this lesson:Immune and hyperimmune sets · Kleene's fixed point theorem (Fundamentals of computability) · PA degrees (Π⁰₁ classes) · A low simple set (Post's problem and the priority method)
Immunity and growth of functions · lesson 3 of 4
  1. Immune and hyperimmune sets
  2. Computably dominated degrees
  3. Diagonally non-computable functions
  4. Martin's domination theorem

The fixed point theorem says that every computable transformation of programs has a fixed point, up to the function computed. A function that transforms every program into one computing a different function cannot be computable; this lesson studies the degrees of such fixed-point free functions. They coincide with the degrees of diagonally non-computable functions, which differ from the diagonal e↦Φe(e)e \mapsto \Phi_e(e) wherever it is defined, and with the degrees of effectively immune sets. Arslanov’s completeness criterion then shows that among c.e. sets, only the complete ones have this power.

3.1 DNC and fixed-point free functions

Definition 3.1.#

A total function f:N→Nf : \nat \to \nat is diagonally non-computable, or DNC, if f(e)≠Φe(e)f(e) \neq \Phi_e(e) for every ee such that Φe(e) ⁣ ⁣↓\Phi_e(e)\converge. A total function ff is fixed-point free if Φf(e)≠Φe\Phi_{f(e)} \neq \Phi_e for every ee.

No DNC function is computable: if f=Φef = \Phi_e were total, then Φe(e) ⁣ ⁣↓=f(e)\Phi_e(e)\converge = f(e). The set ∅′\emptyset' computes a DNC function, namely f(e)=Φe(e)+1f(e) = \Phi_e(e) + 1 if e∈∅′e \in \emptyset' and f(e)=0f(e) = 0 otherwise. The PA sets compute {0,1}\{0, 1\}-valued DNC functions (Definition 4.1 of “PA degrees”). No fixed-point free function is computable, by the fixed point theorem (Fixed point theorem).

Theorem 3.2 (Jockusch, Lerman, Soare, Solovay).#

A set XX computes a DNC function if and only if it computes a fixed-point free function.

Proof of Theorem 3.2.

(⇒\Rightarrow) Let g≤TXg \leq_T X be DNC. By the parameter form of SMN (Parameter form), there is a total computable function qq such that Φq(n,v)\Phi_{q(n, v)} is the function defined only at the input nn, with value vv. Let f(n)=q(n,g(n))f(n) = q(n, g(n)); it is XX-computable. If Φf(n)=Φn\Phi_{f(n)} = \Phi_n for some nn, then Φn(n) ⁣ ⁣↓=Φf(n)(n)=g(n)\Phi_n(n)\converge = \Phi_{f(n)}(n) = g(n), contradicting the fact that gg is DNC. So ff is fixed-point free.

(⇐\Leftarrow) Let f≤TXf \leq_T X be fixed-point free. By SMN, there is a total computable function dd such that the program d(n)d(n), on input mm, computes Φn(n)\Phi_n(n) and, if this converges with value vv, runs Φv(m)\Phi_v(m). So Φd(n)=ΦΦn(n)\Phi_{d(n)} = \Phi_{\Phi_n(n)} when Φn(n) ⁣ ⁣↓\Phi_n(n)\converge. Let g(n)=f(d(n))g(n) = f(d(n)); it is XX-computable and total, since it does not run the computation Φn(n)\Phi_n(n). If g(n)=Φn(n)g(n) = \Phi_n(n) for some nn with Φn(n) ⁣ ⁣↓\Phi_n(n)\converge, then Φf(d(n))=ΦΦn(n)=Φd(n)\Phi_{f(d(n))} = \Phi_{\Phi_n(n)} = \Phi_{d(n)}, contradicting the fact that ff is fixed-point free. So gg is DNC.

The reductions are uniform. A DNC function avoids, at each ee, the single value Φe(e)\Phi_e(e). The next theorem shows that DNC functions can be used to avoid, uniformly, any finite c.e. set whose size is bounded in advance.

3.2 Effectively immune sets

Definition 3.3.#

An infinite set AA is effectively immune if there is a total computable function qq such that ∣We∣≤q(e)|W_e| \leq q(e) for every ee with We⊆AW_e \subseteq A. A c.e. set is effectively simple if its complement is effectively immune.

An effectively immune set is immune: an infinite c.e. subset WeW_e would have more than q(e)q(e) elements. Effective immunity requires that a c.e. subset of AA reveals, through its index, a bound on its size.

Theorem 3.4.#

For every set XX, the following are equivalent:

  1. XX computes a DNC function;
  2. XX computes a function h:N2→Nh : \nat^2 \to \nat such that h(e,n)∉Weh(e, n) \notin W_e whenever ∣We∣≤n|W_e| \leq n;
  3. XX computes an effectively immune set.
Proof of Theorem 3.4.

Let ⟨k0,…,kn−1⟩\langle k_0, \dots, k_{n-1} \rangle denote a computable bijection between Nn\nat^n and N\nat, uniform in n≥1n \geq 1.

(1 ⇒ 2) Let f≤TXf \leq_T X be DNC. By SMN, there is a total computable function uu such that the program u(e,n,i)u(e, n, i), for i<ni < n, on any input, waits for the ii-th element kk enumerated into WeW_e (counting from 00), and if it appears, outputs the ii-th component kik_i of the tuple k=⟨k0,…,kn−1⟩k = \langle k_0, \dots, k_{n-1} \rangle; otherwise it diverges. For n≥1n \geq 1, let

h(e,n)=⟨f(u(e,n,0)),…,f(u(e,n,n−1))⟩,h(e, n) = \langle f(u(e, n, 0)), \dots, f(u(e, n, n-1)) \rangle,

and h(e,0)=0h(e, 0) = 0. It is XX-computable. Suppose that ∣We∣≤n|W_e| \leq n and h(e,n)∈Weh(e, n) \in W_e. Then n≥1n \geq 1, and h(e,n)h(e, n) is the ii-th element enumerated into WeW_e for some i<ni < n. So the program u(e,n,i)u(e, n, i), on input u(e,n,i)u(e, n, i), outputs the ii-th component of h(e,n)h(e, n), which is f(u(e,n,i))f(u(e, n, i)). This contradicts the fact that ff is DNC.

(2 ⇒ 3) Let h≤TXh \leq_T X be as in (2). Let γ\gamma be the partial computable function such that γ(e)\gamma(e) is the canonical index of the set of the first e+1e + 1 elements enumerated into WeW_e, defined if and only if ∣We∣≥e+1|W_e| \geq e + 1. We build an XX-computable strictly increasing sequence x0<x1<⋯x_0 < x_1 < \cdots such that, for every ss,

(⋆s)for every e≤s with γ(e) ⁣ ⁣↓,Dγ(e)⊈{x0,…,xs}.(\star_s) \qquad \text{for every } e \leq s \text{ with } \gamma(e)\converge, \quad D_{\gamma(e)} \not\subseteq \{ x_0, \dots, x_s \}.

Suppose that x0,…,xs−1x_0, \dots, x_{s-1} are defined, for some s≥0s \geq 0. By SMN, uniformly in ss and in the finite sequence x0,…,xs−1x_0, \dots, x_{s-1}, one computes an index vv with

Wv={y:y≤xs−1}∪⋃e≤s, γ(e) ⁣ ⁣↓Dγ(e),W_v = \{ y : y \leq x_{s-1} \} \cup \bigcup_{e \leq s,\ \gamma(e)\converge} D_{\gamma(e)},

where the first part is empty for s=0s = 0. This set has at most ns=(xs−1+1)+∑e≤s(e+1)n_s = (x_{s-1} + 1) + \sum_{e \leq s} (e + 1) elements, a number computable from ss and xs−1x_{s-1}. Let xs=h(v,ns)x_s = h(v, n_s); then xs∉Wvx_s \notin W_v. So xs>xs−1x_s > x_{s-1}, and xs∉Dγ(e)x_s \notin D_{\gamma(e)} for every e≤se \leq s with γ(e) ⁣ ⁣↓\gamma(e)\converge.

We check (⋆s)(\star_s). Let e≤se \leq s with γ(e) ⁣ ⁣↓\gamma(e)\converge. If e<se < s, by (⋆s−1)(\star_{s-1}) some element of Dγ(e)D_{\gamma(e)} is not among x0,…,xs−1x_0, \dots, x_{s-1}, and it is not xsx_s either, since xs∉Dγ(e)x_s \notin D_{\gamma(e)}. If e=se = s, the set Dγ(s)D_{\gamma(s)} has s+1s + 1 elements and does not contain xsx_s; it cannot be contained in the ss-element set {x0,…,xs−1}\{ x_0, \dots, x_{s-1} \}.

Let H={xs:s∈N}H = \{ x_s : s \in \nat \}; it is infinite and XX-computable, since the sequence is increasing. If We⊆HW_e \subseteq H and ∣We∣≥e+1|W_e| \geq e + 1, then γ(e) ⁣ ⁣↓\gamma(e)\converge and Dγ(e)⊆HD_{\gamma(e)} \subseteq H is finite, so Dγ(e)⊆{x0,…,xs}D_{\gamma(e)} \subseteq \{ x_0, \dots, x_s \} for some s≥es \geq e, contradicting (⋆s)(\star_s). So ∣We∣≤e|W_e| \leq e whenever We⊆HW_e \subseteq H: HH is effectively immune, with q(e)=eq(e) = e.

(3 ⇒ 1) Let H≤TXH \leq_T X be effectively immune, with bound qq. By SMN, there is a total computable kk with Wk(n)=DnW_{k(n)} = D_n. Let f(e)=k(c(e))f(e) = k(c(e)), where c(e)c(e) is the canonical index of the set of the first q(e)+1q(e) + 1 elements of HH; ff is XX-computable. If Wf(e)=WeW_{f(e)} = W_e, then WeW_e is a subset of HH with q(e)+1q(e) + 1 elements, contradicting the choice of qq. So Wf(e)≠WeW_{f(e)} \neq W_e, hence Φf(e)≠Φe\Phi_{f(e)} \neq \Phi_e for every ee: ff is fixed-point free, and XX computes a DNC function by Theorem 3.2.

3.3 Arslanov’s completeness criterion

The halting set computes a DNC function. Arslanov showed that it is the only c.e. degree with this property.

Theorem 3.5 (Arslanov’s completeness criterion).#

A c.e. set AA is Turing complete if and only if it computes a DNC function.

Proof of Theorem 3.5.

If A≡T∅′A \equiv_T \emptyset', it computes a DNC function. Conversely, let AA be c.e., with a c.e. approximation (As)(A_s), and suppose that AA computes a DNC function. By Theorem 3.2, there is a functional Φi\Phi_i such that f=ΦiAf = \Phi^A_i is total and fixed-point free. Let fs(x)=ΦiAs(x)[s]f_s(x) = \Phi^{A_s}_i(x)[s] if this computation converges, and fs(x)=0f_s(x) = 0 otherwise; the function (s,x)↦fs(x)(s, x) \mapsto f_s(x) is computable. Let ∅t′\emptyset'_t be the set of n≤tn \leq t with Φn(n)[t] ⁣ ⁣↓\Phi_n(n)[t]\converge.

By SMN, there is a total computable function rr such that the program r(n,x)r(n, x), on input mm, searches for the least tt with n∈∅t′n \in \emptyset'_t and, if it finds one, runs Φft(x)(m)\Phi_{f_t(x)}(m). By the fixed point theorem with parameters (Fixed point theorem with parameters), there is a total computable function pp with Φp(n)=Φr(n,p(n))\Phi_{p(n)} = \Phi_{r(n, p(n))} for every nn.

With oracle AA, compute for each nn the least stage s(n)s(n) such that ΦiAs(p(n))[s]\Phi^{A_s}_i(p(n))[s] converges, with use uu, and As ⁣↾u=A ⁣↾uA_s \uh u = A \uh u, for s=s(n)s = s(n). Such a stage exists, since f(p(n))f(p(n)) is defined and As ⁣↾uA_s \uh u eventually equals A ⁣↾uA \uh u; and the condition is decided by AA. Since AA is c.e., At ⁣↾u=A ⁣↾uA_t \uh u = A \uh u for every t≥s(n)t \geq s(n), so the same computation gives ft(p(n))=f(p(n))f_t(p(n)) = f(p(n)) for every t≥s(n)t \geq s(n).

We claim that n∈∅′n \in \emptyset' if and only if n∈∅s(n)′n \in \emptyset'_{s(n)}, which shows ∅′≤TA\emptyset' \leq_T A. Suppose that n∈∅′n \in \emptyset', and let tt be the least stage with n∈∅t′n \in \emptyset'_t. If t>s(n)t > s(n), then the program r(n,p(n))r(n, p(n)) runs Φft(p(n))=Φf(p(n))\Phi_{f_t(p(n))} = \Phi_{f(p(n))}, so Φp(n)=Φr(n,p(n))=Φf(p(n))\Phi_{p(n)} = \Phi_{r(n, p(n))} = \Phi_{f(p(n))}, contradicting the fact that ff is fixed-point free. So t≤s(n)t \leq s(n), and n∈∅s(n)′n \in \emptyset'_{s(n)}, since ∅t′⊆∅s(n)′\emptyset'_t \subseteq \emptyset'_{s(n)}. Conversely, ∅s(n)′⊆∅′\emptyset'_{s(n)} \subseteq \emptyset'.

The program p(n)p(n) waits for nn to enter ∅′\emptyset' and then copies the program that the current approximation of ff assigns to it. If nn entered ∅′\emptyset' after the approximation of f(p(n))f(p(n)) has settled, p(n)p(n) would be a fixed point of ff. So, once AA knows that the approximation has settled, the entry of nn into ∅′\emptyset' is already decided. The c.e. hypothesis is necessary: there are low PA sets (Corollary 4.3 of “PA degrees”), which compute DNC functions without computing ∅′\emptyset'.

Corollary 3.6.#
  1. A c.e. set of PA degree is Turing complete.
  2. (Martin) Every effectively simple set is Turing complete.
  3. The complement of a low simple set is immune but not effectively immune.
Proof of Corollary 3.6.
  1. A PA set computes a DNC function.
  2. If AA is effectively simple, then AA computes its complement, which is effectively immune; by Theorem 3.4, AA computes a DNC function, and Theorem 3.5 applies.
  3. A low simple set exists (Theorem 3.1 of “A low simple set”). Its complement is immune; if it were effectively immune, the set would be complete by 2, hence not low.

3.4 Exercises

Exercise 3.7 ★.

Show that if XX computes a DNC function, then the degree of XX contains a DNC function.

Solution

Let g≤TXg \leq_T X be DNC. By the padding lemma, there is a computable strictly increasing sequence a0<a1<⋯a_0 < a_1 < \cdots of indices of the nowhere defined function; its range RR is computable. Let f(x)=X(n)f(x) = X(n) if x=anx = a_n, and f(x)=g(x)f(x) = g(x) if x∉Rx \notin R. Then f≤TXf \leq_T X, and X≤TfX \leq_T f since X(n)=f(an)X(n) = f(a_n). For x∉Rx \notin R, f(x)=g(x)≠Φx(x)f(x) = g(x) \neq \Phi_x(x) when Φx(x) ⁣ ⁣↓\Phi_x(x)\converge; for x∈Rx \in R, Φx(x)\Phi_x(x) diverges. So ff is DNC.

Exercise 3.8 ★★.

Show that there is a non-computable set, computable in ∅′′\emptyset'', that computes no DNC function.

Hint

Build the set by finite extensions. For a functional Φi\Phi_i and a string σ\sigma, either Φiστ(m)\Phi^{\sigma\tau}_i(m) diverges for some mm and all τ\tau, or the first convergent extension defines a total computable function, which agrees with the diagonal somewhere.

Solution

Build σ0≺σ1≺⋯\sigma_0 \prec \sigma_1 \prec \cdots with oracle ∅′′\emptyset'', alternating two kinds of steps. To make the set XX different from Φe\Phi_e, extend σ\sigma by a bit bb different from Φe(∣σ∣)\Phi_e(|\sigma|) if it converges, by 00 otherwise; ∅′\emptyset' decides this. To defeat Φi\Phi_i as a DNC function, given σ\sigma, ask ∅′′\emptyset'' whether there is mm such that Φiστ(m) ⁣ ⁣↑\Phi^{\sigma\tau}_i(m)\diverge for every τ\tau, a Σ20\Sigma^0_2 question.

  • If yes, find such an mm with ∅′′\emptyset'' and keep σ\sigma: every X≻σX \succ \sigma has ΦiX(m) ⁣ ⁣↑\Phi^X_i(m)\diverge, so ΦiX\Phi^X_i is not total.
  • If no, let ψ(m)\psi(m) be the value Φiστ(m)\Phi^{\sigma\tau}_i(m) for the first τ\tau found with convergence; ψ\psi is total computable. By the fixed point theorem applied to the function y↦y \mapsto (an index of the constant function with value ψ(y)\psi(y)), there is aa with Φa\Phi_a constant equal to ψ(a)\psi(a), so Φa(a) ⁣ ⁣↓=ψ(a)\Phi_a(a)\converge = \psi(a). Extend σ\sigma to the string στ\sigma\tau found for m=am = a. Then every X≻στX \succ \sigma\tau has ΦiX(a)=ψ(a)=Φa(a)\Phi^X_i(a) = \psi(a) = \Phi_a(a), so ΦiX\Phi^X_i is not DNC.

The limit XX is computable in ∅′′\emptyset'', is not computable, and computes no DNC function.

3.5 Notes and references

Arslanov (1981) proved the completeness criterion, in the form of fixed-point free functions; Martin (1966) had proved that effectively simple sets are complete. The equivalence between DNC and fixed-point free functions is due to Jockusch, Lerman, Soare and Solovay (1989), and the characterization through effectively immune sets to Jockusch. In the course on algorithmic randomness, DNC functions reappear through the complexity of the initial segments of a set.

  • M. M. Arslanov, Some generalizations of a fixed-point theorem, Soviet Mathematics (Izvestiya VUZ. Matematika) 25 (1981), 1–10.
  • D. A. Martin, Completeness, the recursion theorem and effectively simple sets, Proceedings of the American Mathematical Society 17 (1966), 838–842.
  • C. G. Jockusch, M. Lerman, R. I. Soare and R. M. Solovay, Recursively enumerable sets modulo iterated jumps and extensions of Arslanov’s completeness criterion, Journal of Symbolic Logic 54 (1989), 1288–1323.
  • C. G. Jockusch, Degrees of functions with no fixed points, in Logic, Methodology and Philosophy of Science VIII, North-Holland, 1989, 191–201.