Cite

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

/courses/pi01-classes/finitely-branching-trees
@misc{pi01-classes-finitely-branching-trees,
  title = {{Finitely branching trees}},
  howpublished = {Lesson 5 of \emph{Π⁰₁ classes}, Computability Theory course notes},
  url = {/courses/pi01-classes/finitely-branching-trees},
  note = {Unreleased working version}
}

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

Lesson 5 of 5

Finitely branching trees

Trees of sequences of integers; König's lemma; computably bounded trees behave like binary trees; a computable finitely branching tree whose paths all compute ∅′; the strength needed for König's lemma.

35 min2 questions
Before this lesson:PA degrees
Π⁰₁ classes · lesson 5 of 5
  1. Trees and Π⁰₁ classes
  2. Computable members
  3. Basis theorems
  4. PA degrees
  5. Finitely branching trees

Binary trees model problems with two choices at each step. Many problems have more: a coloring of a graph with kk colors, a function bounded by a known bound, or a sequence of integers with no a priori bound at all. This lesson considers trees of finite sequences of integers. When the branching is bounded by a computable function, nothing changes: the paths of such a tree are, up to a computable coding, the members of a Π10\Pi^0_1 class. When the branching is finite but not computably bounded, König’s lemma still guarantees a path, but finding one may require computing the halting set.

5.1 Trees of integers

Write N<N\nat^{<\nat} for the set of finite sequences of integers, with the same notation as for binary strings, and NN\nat^\nat for Baire space, the set of infinite sequences of integers. A tree is a subset T⊆N<NT \subseteq \nat^{<\nat} closed under prefixes, and a path through TT is a sequence P∈NNP \in \nat^\nat all of whose prefixes belong to TT. A tree is finitely branching if every node σ∈T\sigma \in T has finitely many immediate successors σv∈T\sigma v \in T. It is computably bounded if there is a computable function gg with σ(n)<g(n)\sigma(n) < g(n) for every σ∈T\sigma \in T and n<∣σ∣n < |\sigma|.

Lemma 5.1 (König’s lemma).#

Every infinite finitely branching tree has a path.

Proof of Lemma 5.1.

Call a node large if infinitely many nodes of TT extend it. The root is large. If σ\sigma is large, then since the nodes extending σ\sigma, other than σ\sigma, extend one of its finitely many successors, one successor is large. Define P(n)P(n) as the least vv such that (P ⁣↾n) v(P \uh n)\, v is large. By induction every prefix of PP is large, hence in TT.

The hypothesis of finite branching is necessary: the tree {σ:σ(i)≥∣σ∣ for all i<∣σ∣}\{ \sigma : \sigma(i) \geq |\sigma| \text{ for all } i < |\sigma| \} is infinite and has no path (see the quiz after Lemma 1.2).

5.2 Coding into binary trees

We code a sequence of integers by a binary sequence, writing each value in unary followed by a separator:

c(σ)=1σ(0) 0 1σ(1) 0⋯1σ(n−1) 0,c(P)=1P(0) 0 1P(1) 0⋯c(\sigma) = 1^{\sigma(0)}\, 0\, 1^{\sigma(1)}\, 0 \cdots 1^{\sigma(n-1)}\, 0, \qquad c(P) = 1^{P(0)}\, 0\, 1^{P(1)}\, 0 \cdots

This is the coding of Proposition 5.2 of “The cardinality of the continuum”. The map cc is a bijection from NN\nat^\nat onto the sequences with infinitely many zeros, and P≡Tc(P)P \equiv_T c(P), uniformly: each bit of c(P)c(P) is computed from finitely many values of PP, and P(n)P(n) is the length of the nn-th block of ones of c(P)c(P).

Proposition 5.2.#

Let T⊆N<NT \subseteq \nat^{<\nat} be a computable finitely branching tree, and let SS be the set of binary strings that are prefixes of some c(σ)c(\sigma) with σ∈T\sigma \in T.

  1. SS is a c.e. binary tree, and [S]={c(P):P∈[T]}[S] = \{ c(P) : P \in [T] \}.
  2. If TT is computably bounded, then SS is computable, so c([T])c([T]) is a Π10\Pi^0_1 class.
Proof of Proposition 5.2.

SS is closed under prefixes by definition. A binary string ρ\rho decomposes uniquely as c(τ) 1kc(\tau)\, 1^k, with τ\tau the sequence of complete blocks and k≥0k \geq 0. Then ρ∈S\rho \in S if and only if τ∈T\tau \in T and, in case k>0k > 0, some v≥kv \geq k has τv∈T\tau v \in T. This is a c.e. condition, and it is decidable when TT is computably bounded by gg, since then only the values k≤v<g(∣τ∣)k \leq v < g(|\tau|) need to be tested.

If P∈[T]P \in [T], every prefix of c(P)c(P) is a prefix of some c(P ⁣↾n)c(P \uh n), so c(P)∈[S]c(P) \in [S]. Conversely, let Y∈[S]Y \in [S]. If YY had only finitely many zeros, it would end with 1∞1^\infty after some c(τ)c(\tau), and τ\tau would have successors τv∈T\tau v \in T with arbitrarily large vv, contradicting finite branching. So Y=c(P)Y = c(P) for some PP, and every prefix c(P ⁣↾n)c(P \uh n) of YY is in SS, which by the decomposition means P ⁣↾n∈TP \uh n \in T. So P∈[T]P \in [T].

Corollary 5.3.#

Let TT be an infinite computable computably bounded tree. Every PA set computes a path through TT, and TT has a low path and a computably dominated path.

Proof of Corollary 5.3.

c([T])c([T]) is a non-empty Π10\Pi^0_1 class by Proposition 5.2 and Lemma 5.1. A PA set computes a member c(P)c(P) of it (Theorem 4.2), hence the path PP. Similarly, the basis theorems give a member c(P)c(P) that is low, or computably dominated, and P≡Tc(P)P \equiv_T c(P).

5.3 Unbounded branching

Theorem 5.4.#

There is a computable finitely branching tree TT, in which every node has at most two successors, with exactly one path, and this path computes ∅′\emptyset'.

Proof of Theorem 5.4.

Let ∅s′={e:Φe(e)[s] ⁣ ⁣↓}\emptyset'_s = \{ e : \Phi_e(e)[s]\converge \}, and for n∈∅′n \in \emptyset' let sns_n be the least ss with n∈∅s′n \in \emptyset'_s. Let TT be the set of sequences σ\sigma such that for every n<∣σ∣n < |\sigma|, either σ(n)=⟨1,s⟩\sigma(n) = \langle 1, s \rangle where ss is the least stage with n∈∅s′n \in \emptyset'_s, or σ(n)=⟨0,0⟩\sigma(n) = \langle 0, 0 \rangle and n∉∅∣σ∣′n \notin \emptyset'_{|\sigma|}.

TT is computable: each condition is decidable. It is closed under prefixes, since n∉∅∣σ∣′n \notin \emptyset'_{|\sigma|} implies n∉∅∣τ∣′n \notin \emptyset'_{|\tau|} for τ⪯σ\tau \preceq \sigma. Each node has at most two successors, since at position nn only the values ⟨0,0⟩\langle 0, 0 \rangle and ⟨1,sn⟩\langle 1, s_n \rangle are possible.

The sequence PP with P(n)=⟨1,sn⟩P(n) = \langle 1, s_n \rangle for n∈∅′n \in \emptyset' and P(n)=⟨0,0⟩P(n) = \langle 0, 0 \rangle for n∉∅′n \notin \emptyset' is a path: every prefix satisfies the conditions. Conversely, let QQ be a path. If Q(n)=⟨1,s⟩Q(n) = \langle 1, s \rangle, then n∈∅′n \in \emptyset'. If Q(n)=⟨0,0⟩Q(n) = \langle 0, 0 \rangle, then n∉∅ℓ′n \notin \emptyset'_\ell for every ℓ>n\ell > n, so n∉∅′n \notin \emptyset'. Hence Q=PQ = P, and ∅′(n)\emptyset'(n) is the first component of P(n)P(n).

Corollary 5.5.#

There is a low PA set that computes no path through some infinite computable finitely branching tree.

Proof of Corollary 5.5.

A low set does not compute ∅′\emptyset' (Proposition 6.2 of “Low and high sets”). Take a low PA set (Corollary 4.3) and the tree of Theorem 5.4.

The tree has as simple a shape as a binary tree: each node has at most two successors. What makes it harder is the lack of information about the successors: given a node, no algorithm bounds the values of its successors. The bound is computable in ∅′\emptyset', which leads to the following characterization.

Theorem 5.6.#

A set XX computes a path through every infinite computable finitely branching tree if and only if XX is PA relative to ∅′\emptyset' (Exercise 4.6).

Proof of Theorem 5.6.

(⇐\Leftarrow) Let TT be an infinite computable finitely branching tree. The binary tree SS of Proposition 5.2 is c.e., hence computable in ∅′\emptyset', and [S]=c([T])[S] = c([T]) is non-empty. So [S][S] is a non-empty Π10(∅′)\Pi^0_1(\emptyset') class, and XX, being PA relative to ∅′\emptyset', computes a member c(P)c(P), by Theorem 4.2 relativized to ∅′\emptyset'. Then XX computes PP.

(⇒\Rightarrow) By the same characterization relativized, it suffices to show that XX computes a member of every non-empty Π10(∅′)\Pi^0_1(\emptyset') class [U][U], with UU a binary tree computable in ∅′\emptyset'. By the limit lemma (Shoenfield's limit lemma), UU has a Δ20\Delta^0_2 approximation (Us)(U_s); replacing UsU_s by the set of strings of length at most ss all of whose prefixes are in UsU_s, we may assume that each UsU_s is a tree contained in 2≤s2^{\leq s}, and it is still an approximation of UU. Let V=⋃sUsV = \bigcup_s U_s.

[V]=[U][V] = [U]. Since U⊆VU \subseteq V, [U]⊆[V][U] \subseteq [V]. Let Y∈[V]Y \in [V] and m∈Nm \in \nat. For each t≥mt \geq m, Y ⁣↾tY \uh t belongs to some UsU_s, with s≥ts \geq t since Us⊆2≤sU_s \subseteq 2^{\leq s}, and then Y ⁣↾m∈UsY \uh m \in U_s. So Y ⁣↾m∈UsY \uh m \in U_s for infinitely many ss, hence Y ⁣↾m∈UY \uh m \in U, as (Us)(U_s) converges.

A finitely branching tree. For σ∈V\sigma \in V, let f(σ)f(\sigma) be the least ss with σ∈Us\sigma \in U_s. Let TT be the set of sequences ⟨σ(0),m0⟩⋯⟨σ(n−1),mn−1⟩\langle \sigma(0), m_0 \rangle \cdots \langle \sigma(n-1), m_{n-1} \rangle such that, for every i<ni < n, mi=f(σ ⁣↾(i+1))m_i = f(\sigma \uh (i+1)). TT is computable, since mi=f(σ ⁣↾(i+1))m_i = f(\sigma \uh (i+1)) is decided by testing σ ⁣↾(i+1)∈Umi\sigma \uh (i+1) \in U_{m_i} and σ ⁣↾(i+1)∉Us\sigma \uh (i+1) \notin U_s for s<mis < m_i. It is a tree, and each node has at most two successors, one for each bit. Its paths are the sequences ⟨Y(0),f(Y ⁣↾1)⟩⟨Y(1),f(Y ⁣↾2)⟩⋯\langle Y(0), f(Y \uh 1) \rangle \langle Y(1), f(Y \uh 2) \rangle \cdots for Y∈[V]Y \in [V], and each such path computes YY by reading the first components. It is infinite since [V]=[U]≠∅[V] = [U] \neq \emptyset.

So XX computes a path through TT, hence a member of [U][U].

So the computational strength of König’s lemma for computable finitely branching trees is that of PA degrees relative to ∅′\emptyset', while weak König’s lemma, for binary trees, corresponds to the PA degrees. In reverse mathematics, this difference is the difference between the systems ACA0\mathsf{ACA}_0 and WKL0\mathsf{WKL}_0.

5.4 Exercises

Exercise 5.7 ★.

Show that every infinite computable finitely branching tree has a path computable in ∅′′\emptyset''.

Solution

∅′′\emptyset'' is PA relative to ∅′\emptyset': the function f(e)=1f(e) = 1 if Φe∅′(e) ⁣ ⁣↓=0\Phi^{\emptyset'}_e(e)\converge = 0, and f(e)=0f(e) = 0 otherwise, is computable in ∅′′\emptyset'' and is DNC2\mathrm{DNC}_2 relative to ∅′\emptyset'. Apply Theorem 5.6.

Exercise 5.8 ★★.

Show that if XX is PA relative to ∅′\emptyset', then XX computes ∅′\emptyset'.

Solution

By Exercise 4.6, applied with ∅′\emptyset' in place of XX, a set that is PA relative to ∅′\emptyset' computes ∅′\emptyset'. Alternatively, XX computes a path through the tree of Theorem 5.4, by Theorem 5.6, and this path computes ∅′\emptyset'.

5.5 Notes and references

König’s lemma is due to Kőnig (1927). The coding of computably bounded trees and the analysis of finitely branching trees are standard; Jockusch and Soare (1972) and Simpson’s book on reverse mathematics treat these questions, the latter in the setting of second-order arithmetic.

  • D. Kőnig, Über eine Schlussweise aus dem Endlichen ins Unendliche, Acta Scientiarum Mathematicarum (Szeged) 3 (1927), 121–130.
  • C. G. Jockusch and R. I. Soare, Π⁰₁ classes and degrees of theories, Transactions of the American Mathematical Society 173 (1972), 33–56.
  • S. G. Simpson, Subsystems of Second Order Arithmetic, 2nd edition, Cambridge University Press, 2009.