Cite

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

/courses/ce-degrees/friedberg-muchnik
@misc{ce-degrees-friedberg-muchnik,
  title = {{The Friedberg–Muchnik theorem}},
  howpublished = {Lesson 2 of \emph{Post's problem and the priority method}, Computability Theory course notes},
  url = {/courses/ce-degrees/friedberg-muchnik},
  note = {Unreleased working version}
}

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

Lesson 2 of 4

The Friedberg–Muchnik theorem

Two Turing incomparable c.e. sets, by the finite injury priority method; requirements, witnesses, priority and initialization.

45 min3 questions
Before this lesson:Simple sets and Post's problem · The finite extension method (Oracles and Turing degrees)
Post's problem and the priority method · lesson 2 of 4
  1. Simple sets and Post's problem
  2. The Friedberg–Muchnik theorem
  3. A low simple set
  4. The Sacks splitting theorem

The Kleene–Post theorem builds two incomparable sets by finite extensions, with the oracle ∅′\emptyset' answering questions such as “is there an extension making this computation converge?”. To make the sets c.e., the construction must be computable, and elements may be added but never removed. It can no longer ask whether a computation will converge; it can only watch computations converge with the current approximations, and act on what it sees. A later action may then destroy what an earlier one relied on. The priority method, found independently by Friedberg and Muchnik, organizes these conflicts: requirements are ordered by priority, a requirement may only be disturbed by requirements of higher priority, and each requirement is disturbed only finitely often.

Theorem 2.1 (Friedberg, Muchnik).#

There are c.e. sets AA and BB such that A̸≤TBA \not\leq_T B and B̸≤TAB \not\leq_T A.

Corollary 2.2.#

There is a c.e. set AA with ∅<TA<T∅′\emptyset <_T A <_T \emptyset'. This solves Post’s problem.

Proof of Corollary 2.2.

Let AA and BB be as in the theorem. If AA were computable, it would be computable from BB, contradicting A̸≤TBA \not\leq_T B. If ∅′≤TA\emptyset' \leq_T A, then B≤T∅′≤TAB \leq_T \emptyset' \leq_T A, since every c.e. set is computable in ∅′\emptyset', contradicting B̸≤TAB \not\leq_T A. And A≤T∅′A \leq_T \emptyset' since AA is c.e.

2.1 The requirements

We enumerate AA and BB by stages, A=⋃sAsA = \bigcup_s A_s and B=⋃sBsB = \bigcup_s B_s, with finite sets As⊆As+1A_s \subseteq A_{s+1} and Bs⊆Bs+1B_s \subseteq B_{s+1} computable from ss. The requirements are, for every ee:

R2e:ΦeA≠B,R2e+1:ΦeB≠A.\mathcal R_{2e} : \Phi^A_e \neq B, \qquad \mathcal R_{2e+1} : \Phi^B_e \neq A.

They are ordered by priority: Ri\mathcal R_i has higher priority than Rj\mathcal R_j if i<ji < j.

The strategy for one requirement. Consider R2e\mathcal R_{2e}. It is assigned a witness xx, a number not yet in BB. It waits for a stage ss at which ΦeAs(x)[s] ⁣ ⁣↓=0\Phi^{A_s}_e(x)[s]\converge = 0. If this never happens, then either ΦeA(x)\Phi^A_e(x) diverges or is different from 00, while x∉Bx \notin B, so ΦeA(x)≠B(x)\Phi^A_e(x) \neq B(x): the requirement is satisfied without action. If it happens, the strategy enumerates xx into BB, so that B(x)=1≠0=ΦeAs(x)B(x) = 1 \neq 0 = \Phi^{A_s}_e(x), and must then ensure that AA does not change below the use uu of this computation, so that ΦeA(x)=0\Phi^A_e(x) = 0 as well. This last condition is a restraint on AA: the numbers below uu must not be enumerated into AA later. The strategy for R2e+1\mathcal R_{2e+1} is the same with AA and BB exchanged.

Conflicts. The requirements R2e′+1\mathcal R_{2e'+1} enumerate their witnesses into AA, and may thus violate the restraint of R2e\mathcal R_{2e}. Priority resolves the conflict: a requirement of lower priority must respect the restraints of higher priority, and a requirement of higher priority may injure one of lower priority, by enumerating a number below its restraint. The injured requirement is then initialized: it loses its witness, and starts again with a new one.

Respecting restraints is obtained without bookkeeping: when a requirement acts, all requirements of lower priority are initialized, and the witnesses chosen afterwards are fresh, larger than every number seen so far in the construction, in particular larger than the use of the computation being preserved.

2.2 The construction

A requirement Ri\mathcal R_i may have a witness, written xix_i, and may be marked as satisfied. To initialize Ri\mathcal R_i is to cancel its witness and remove its mark. A number is fresh at a stage if it is larger than every number mentioned so far in the construction: every witness, every element of AsA_s or BsB_s, and the stage itself.

Stage 00. A0=B0=∅A_0 = B_0 = \emptyset, no requirement has a witness.

Stage s+1s + 1. Say that R2e\mathcal R_{2e} requires attention if it has a witness xx, it is not marked as satisfied, and ΦeAs(x)[s] ⁣ ⁣↓=0\Phi^{A_s}_e(x)[s]\converge = 0; and similarly that R2e+1\mathcal R_{2e+1} requires attention if it has a witness xx, it is not marked, and ΦeBs(x)[s] ⁣ ⁣↓=0\Phi^{B_s}_e(x)[s]\converge = 0.

  1. If some Ri\mathcal R_i with i≤si \leq s requires attention, take the least such ii. If i=2ei = 2e, enumerate xix_i into BB; if i=2e+1i = 2e + 1, enumerate xix_i into AA. Mark Ri\mathcal R_i as satisfied, and initialize every Rj\mathcal R_j with j>ij > i. We say that Ri\mathcal R_i acts at stage s+1s + 1.
  2. Every Rj\mathcal R_j with j≤sj \leq s that has no witness receives a fresh witness, the witnesses being chosen in increasing order of jj.

The construction is computable: at each stage, finitely many requirements are considered, and the condition "ΦeAs(x)[s] ⁣ ⁣↓=0\Phi^{A_s}_e(x)[s]\converge = 0" is decidable. So AA and BB are c.e.

0123456789101112stageR0R1R2R3new witnessaction (enumeration and restraint)initialization

A schematic run of the construction for the first four requirements. Each action initializes the requirements of lower priority, which then receive new, fresh witnesses (in the construction, during the same stage; they are drawn one stage later for readability). A requirement of priority ii is initialized at most 2i−12^i - 1 times.

2.3 Verification

Witnesses are fresh when chosen, so distinct requirements, and distinct witnesses of the same requirement, never share a number; and a witness xix_i is enumerated only by Ri\mathcal R_i.

Lemma 2.3.#

Suppose R2e\mathcal R_{2e} acts at stage s+1s + 1 with witness xx, through a computation ΦeAs(x)[s] ⁣ ⁣↓=0\Phi^{A_s}_e(x)[s]\converge = 0 with use uu, and is never initialized afterwards. Then A ⁣↾u=As ⁣↾uA \uh u = A_s \uh u, so that ΦeA(x)=0≠1=B(x)\Phi^A_e(x) = 0 \neq 1 = B(x). The same holds for R2e+1\mathcal R_{2e+1}, with AA and BB exchanged.

Proof of Lemma 2.3.

The numbers enumerated into AA after stage ss are witnesses of requirements Rj\mathcal R_j with jj odd, at the stages where they act. No Rj\mathcal R_j with j<2ej < 2e acts after stage s+1s + 1, since it would initialize R2e\mathcal R_{2e}. Every Rj\mathcal R_j with j>2ej > 2e is initialized at stage s+1s + 1, so any witness it uses afterwards was chosen fresh at stage s+1s + 1 or later, and is greater than ss. The use satisfies u≤su \leq s, since the computation converges at stage ss (its code is smaller than ss, and it reads only cells below its number of steps). So no number below uu enters AA after stage ss, and by the use principle ΦeA(x)=ΦeAs(x)=0\Phi^A_e(x) = \Phi^{A_s}_e(x) = 0, while x∈Bx \in B.

Lemma 2.4.#

Every requirement acts only finitely often, is initialized only finitely often, and is satisfied.

Proof of Lemma 2.4.

By induction on ii. Suppose every Rj\mathcal R_j with j<ij < i acts only finitely often, and let s0≥is_0 \geq i be a stage after which none of them acts. A requirement is only initialized by the action of a requirement of higher priority, so Ri\mathcal R_i is not initialized after stage s0s_0, and it is initialized only finitely often. Let t≤s0t \leq s_0 be the last stage at which Ri\mathcal R_i is initialized, or t=0t = 0 if it never is. From the end of stage s0+1s_0 + 1 on, Ri\mathcal R_i has a witness xx (it receives one at the latest at stage s0+1s_0 + 1, since i≤s0i \leq s_0), which never changes. After stage tt, Ri\mathcal R_i acts at most once, since acting marks it as satisfied and the mark can only be removed by an initialization. So Ri\mathcal R_i acts finitely often. Say i=2ei = 2e; the odd case is symmetric.

If Ri\mathcal R_i acts after stage tt, it acts with the witness xx and is never initialized afterwards, so it is satisfied by Lemma 2.3.

If Ri\mathcal R_i does not act after stage tt, then x∉Bx \notin B, since only Ri\mathcal R_i enumerates xx, and Ri\mathcal R_i is never marked as satisfied after stage tt (the mark is removed at an initialization, and is absent at the start). Suppose ΦeA(x) ⁣ ⁣↓=0\Phi^A_e(x)\converge = 0, with use uu. For all sufficiently large ss, As ⁣↾u=A ⁣↾uA_s \uh u = A \uh u and the computation converges at stage ss, so ΦeAs(x)[s] ⁣ ⁣↓=0\Phi^{A_s}_e(x)[s]\converge = 0 by the use principle, and, for s≥s0s \geq s_0, Ri\mathcal R_i requires attention at stage s+1s + 1. No Rj\mathcal R_j with j<ij < i requires attention at a stage after s0s_0, since the least requirement requiring attention acts, and they do not act. So Ri\mathcal R_i would act, a contradiction. Hence ΦeA(x)≠0=B(x)\Phi^A_e(x) \neq 0 = B(x), and Ri\mathcal R_i is satisfied.

Proof of Theorem 2.1.

The sets AA and BB are c.e., and by Lemma 2.4 every requirement is satisfied: ΦeA≠B\Phi^A_e \neq B and ΦeB≠A\Phi^B_e \neq A for every ee. So B̸≤TAB \not\leq_T A and A̸≤TBA \not\leq_T B.

The method is called finite injury because each requirement is injured only finitely often; here the number of injuries of Ri\mathcal R_i is even bounded by a computable function of ii (see the exercises). In later constructions, a requirement may be injured infinitely often while still being satisfied; these are infinite injury arguments.

2.4 Exercises

Exercise 2.5 ★.

Show that the requirement Ri\mathcal R_i acts at most 2i2^i times and is initialized at most 2i−12^i - 1 times.

Solution

Let aia_i and nin_i be the numbers of actions and initializations of Ri\mathcal R_i. Initializations of Ri\mathcal R_i are caused by actions of Rj\mathcal R_j, j<ij < i, so ni≤∑j<iajn_i \leq \sum_{j < i} a_j. Between two initializations, and after the last one, Ri\mathcal R_i acts at most once, so ai≤ni+1a_i \leq n_i + 1. By induction, if aj≤2ja_j \leq 2^j for j<ij < i, then ni≤2i−1n_i \leq 2^i - 1 and ai≤2ia_i \leq 2^i.

Exercise 2.6 ★★.

Show that there is a uniformly c.e. sequence of sets (An)n∈N(A_n)_{n \in \nat} such that An̸≤TAmA_n \not\leq_T A_m for all n≠mn \neq m.

Solution

Use the requirements R⟨e,n,m⟩:ΦeAm≠An\mathcal R_{\langle e, n, m \rangle} : \Phi^{A_m}_e \neq A_n, for n≠mn \neq m, ordered by their index. The strategy for R⟨e,n,m⟩\mathcal R_{\langle e, n, m \rangle} has a witness xx for AnA_n, waits for ΦeAm,s(x)[s] ⁣ ⁣↓=0\Phi^{A_{m,s}}_e(x)[s]\converge = 0, and then enumerates xx into AnA_n, initializing all requirements of lower priority. The verification is the same as for Theorem 2.1: after an action, the numbers entering AmA_m are witnesses of requirements that are either of higher priority, and then act only finitely often, or of lower priority, and then are fresh. The construction builds all the sets AnA_n simultaneously and is computable, so the relation x∈Anx \in A_n is c.e. in (n,x)(n, x): the sequence is uniformly c.e.

2.5 Notes and references

Muchnik announced the solution of Post’s problem in 1956 and Friedberg published his independently in 1957. The presentation with witnesses and initialization follows Soare’s textbooks, where the finite injury method is developed with many further applications.

  • A. A. Muchnik, On the unsolvability of the problem of reducibility in the theory of algorithms, Doklady Akademii Nauk SSSR 108 (1956), 194–197.
  • R. M. Friedberg, Two recursively enumerable sets of incomparable degrees of unsolvability, Proceedings of the National Academy of Sciences 43 (1957), 236–238.
  • R. I. Soare, Recursively Enumerable Sets and Degrees, Springer, 1987.