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/trees-and-classes
@misc{pi01-classes-trees-and-classes,
  title = {{Trees and Π⁰₁ classes}},
  howpublished = {Lesson 1 of \emph{Π⁰₁ classes}, Computability Theory course notes},
  url = {/courses/pi01-classes/trees-and-classes},
  note = {Unreleased working version}
}

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

Lesson 1 of 5

Trees and Π⁰₁ classes

Binary trees and their paths, weak König's lemma, open and closed classes of Cantor space, compactness, and the Π⁰₁ classes as sets of paths through computable trees.

40 min4 questions
Before this lesson:Computation relative to an oracle (Oracles and Turing degrees) · Post's theorem (The arithmetic hierarchy)
Π⁰₁ classes · lesson 1 of 5
  1. Trees and Π⁰₁ classes
  2. Computable members
  3. Basis theorems
  4. PA degrees
  5. Finitely branching trees

Many problems of mathematics ask for an infinite object satisfying conditions that can each be refuted in finite time: a coloring of an infinite graph in which no two adjacent vertices share a color, a completion of a consistent theory, a separating set for two disjoint c.e. sets. The set of solutions of such a problem is a Π10\Pi^0_1 class: the set of infinite paths through a computable binary tree. This lesson defines trees, the topology of Cantor space, and the Π10\Pi^0_1 classes, and proves weak König’s lemma, which guarantees that an infinite binary tree has a path. The rest of the course studies how complex these paths must be.

1.1 Binary trees

We use the notation for strings of Computation relative to an oracle: σ⪯τ\sigma \preceq \tau is the prefix relation, ∣σ∣|\sigma| the length, and [σ][\sigma] the cylinder of the sequences extending σ\sigma. We also write 2n2^n for the set of strings of length nn, and 2≤n2^{\leq n} for the set of strings of length at most nn.

Definition 1.1.#

A binary tree is a set T⊆2<NT \subseteq \bstr closed under prefixes: if τ∈T\tau \in T and σ⪯τ\sigma \preceq \tau, then σ∈T\sigma \in T. Its elements are nodes. A path through TT is a sequence X∈2NX \in \cs all of whose prefixes belong to TT; the class of paths is written [T][T]. A node σ∈T\sigma \in T is extendible if [σ]∩[T]≠∅[\sigma] \cap [T] \neq \emptyset, that is, if some path goes through it.

⋮⋮⋮⋮⋮⋮⋮⋮⋮a path Xεa finite branch: no infinite extensioninitial segments of an infinite path

A binary tree. The dashed branches are finite: their nodes are in the tree but are not extendible. Every other node lies on an infinite path, one of which is highlighted.
Lemma 1.2 (Weak König’s lemma).#

Every infinite binary tree has a path.

Proof of Lemma 1.2.

Let TT be an infinite binary tree. Say that a node σ∈T\sigma \in T is large if infinitely many nodes of TT extend it. The root ε\varepsilon is large, since TT is infinite. If σ\sigma is large, then one of σ0\sigma 0 and σ1\sigma 1 is large: every node extending σ\sigma other than σ\sigma itself extends one of them, and they cannot both have finitely many extensions in TT. Define XX by induction: X(n)X(n) is 00 if (X ⁣↾n) 0(X \uh n)\, 0 is large, and 11 otherwise. By induction, every X ⁣↾nX \uh n is large, hence in TT, so X∈[T]X \in [T].

The proof chooses, at each step, a branch with infinitely many nodes above it, a question that cannot be decided by an algorithm in general. The course measures exactly how much computational power this choice requires.

1.2 The topology of Cantor space

Definition 1.3.#

A class U⊆2N\mathcal U \subseteq \cs is open if it is a union of cylinders: U=⋃σ∈W[σ]\mathcal U = \bigcup_{\sigma \in W} [\sigma] for some set of strings WW, written U=[W]≺\mathcal U = [W]^{\prec}. A class is closed if its complement is open.

These are the open and closed sets of the product topology on 2N={0,1}N\cs = \{0, 1\}^\nat. The cylinders [σ][\sigma] are both open and closed: the complement of [σ][\sigma] is the union of the cylinders [τ][\tau] with ∣τ∣=∣σ∣|\tau| = |\sigma|, τ≠σ\tau \neq \sigma.

Proposition 1.4.#

A class P⊆2N\mathcal P \subseteq \cs is closed if and only if P=[T]\mathcal P = [T] for some binary tree TT. One can take T={X ⁣↾n:X∈P,n∈N}T = \{ X \uh n : X \in \mathcal P, n \in \nat \}, whose nodes are all extendible.

Proof of Proposition 1.4.

If P=[T]\mathcal P = [T], its complement is the union of the cylinders [σ][\sigma] with σ∉T\sigma \notin T: a sequence is not a path exactly when one of its prefixes is not in TT. So P\mathcal P is closed. Conversely, let P\mathcal P be closed, with complement [W]≺[W]^{\prec}, and let T={X ⁣↾n:X∈P}T = \{ X \uh n : X \in \mathcal P \}, a tree. Clearly P⊆[T]\mathcal P \subseteq [T]. If Y∈[T]∖PY \in [T] \setminus \mathcal P, then Y∈[σ]Y \in [\sigma] for some σ∈W\sigma \in W; but σ≺Y\sigma \prec Y is in TT, so σ=X ⁣↾n\sigma = X \uh n for some X∈PX \in \mathcal P, and X∈[σ]⊆[W]≺X \in [\sigma] \subseteq [W]^{\prec}, a contradiction.

Proposition 1.5 (Compactness).#

Cantor space is compact: if 2N=⋃σ∈W[σ]\cs = \bigcup_{\sigma \in W} [\sigma], then already 2N=⋃σ∈F[σ]\cs = \bigcup_{\sigma \in F} [\sigma] for a finite F⊆WF \subseteq W. More generally, every closed class is compact, and a decreasing sequence P0⊇P1⊇⋯\mathcal P_0 \supseteq \mathcal P_1 \supseteq \cdots of non-empty closed classes has a non-empty intersection.

Proof of Proposition 1.5.

Let TT be the set of strings having no prefix in WW, a tree. Its paths are the sequences not covered by [W]≺[W]^{\prec}, so [T]=∅[T] = \emptyset, and TT is finite by Lemma 1.2. Let nn exceed the lengths of its nodes. Every string of length nn is then outside TT, so it has a prefix in WW, of length at most nn; the finitely many such prefixes form FF. The same argument applies to a cover of a closed class [S][S], using the tree S∩TS \cap T. For the last statement, if ⋂nPn=∅\bigcap_n \mathcal P_n = \emptyset, the complements of the Pn\mathcal P_n form an open cover of P0\mathcal P_0, so finitely many of them cover it, and since they increase, one of them does; then Pn=∅\mathcal P_n = \emptyset for some nn.

1.3 Π⁰₁ classes

Definition 1.6.#

A class P⊆2N\mathcal P \subseteq \cs is a Π10\Pi^0_1 class if P=[T]\mathcal P = [T] for some computable binary tree TT. A Σ10\Sigma^0_1 class is a class [W]≺[W]^{\prec} with WW a c.e. set of strings. An index of a Π10\Pi^0_1 class is an index of the characteristic function of such a tree TT.

Proposition 1.7.#

For P⊆2N\mathcal P \subseteq \cs, the following are equivalent:

  1. P\mathcal P is a Π10\Pi^0_1 class;
  2. P=[T]\mathcal P = [T] for some co-c.e. tree TT;
  3. P={X:∀n R(X ⁣↾n)}\mathcal P = \{ X : \forall n\ R(X \uh n) \} for some computable relation RR on strings;
  4. P={X:ΦeX(0) ⁣ ⁣↑}\mathcal P = \{ X : \Phi^X_e(0)\diverge \} for some ee;
  5. the complement of P\mathcal P is a Σ10\Sigma^0_1 class.

Moreover, the passages between these descriptions are uniform in indices.

Proof of Proposition 1.7.

(1 ⇒ 2) A computable tree is co-c.e.

(2 ⇒ 5) The complement of [T][T] is [2<N∖T]≺[\bstr \setminus T]^{\prec}, and 2<N∖T\bstr \setminus T is c.e.

(5 ⇒ 4) If the complement is [W]≺[W]^{\prec} with WW c.e., let Φe\Phi_e be the functional which, with oracle XX, enumerates WW and halts as soon as it finds a string σ∈W\sigma \in W with σ≺X\sigma \prec X. Then ΦeX(0) ⁣ ⁣↓\Phi^X_e(0)\converge if and only if X∈[W]≺X \in [W]^{\prec}.

(4 ⇒ 3) Let R(σ)R(\sigma) be "Φeσ(0)[∣σ∣] ⁣ ⁣↑\Phi^\sigma_e(0)[|\sigma|]\diverge". It is computable, and by Proposition 1.5 of “Computation relative to an oracle”, ΦeX(0) ⁣ ⁣↑\Phi^X_e(0)\diverge if and only if R(X ⁣↾n)R(X \uh n) for every nn.

(3 ⇒ 1) Let T={σ:∀τ⪯σ R(τ)}T = \{ \sigma : \forall \tau \preceq \sigma\ R(\tau) \}. It is a computable tree, and X∈[T]X \in [T] if and only if R(X ⁣↾n)R(X \uh n) for every nn.

All steps transform indices by computable functions.

Example 1.8.#
  1. Let AA and BB be disjoint c.e. sets. The class S(A,B)={X:A⊆X and X∩B=∅}\mathcal S(A, B) = \{ X : A \subseteq X \text{ and } X \cap B = \emptyset \} of separating sets is Π10\Pi^0_1: X∉S(A,B)X \notin \mathcal S(A, B) if and only if some n∈An \in A has X(n)=0X(n) = 0 or some n∈Bn \in B has X(n)=1X(n) = 1, a Σ10\Sigma^0_1 condition on prefixes of XX.
  2. The class DNC2={X:X(e)≠Φe(e) for every e with Φe(e) ⁣ ⁣↓}\mathrm{DNC}_2 = \{ X : X(e) \neq \Phi_e(e) \text{ for every } e \text{ with } \Phi_e(e)\converge \} is Π10\Pi^0_1, by the same argument; its elements are the diagonally non-computable {0,1}\{0, 1\}-valued functions.
  3. A singleton {Y}\{ Y \} with YY computable is a Π10\Pi^0_1 class, with tree {Y ⁣↾n:n∈N}\{ Y \uh n : n \in \nat \}.
Proposition 1.9.#

Given an index of a computable tree TT, the property [T]=∅[T] = \emptyset is Σ10\Sigma^0_1: [T]=∅[T] = \emptyset if and only if TT has no node of some length nn. Consequently, the set of ee such that {X:ΦeX(0) ⁣ ⁣↑}=∅\{ X : \Phi^X_e(0)\diverge \} = \emptyset is c.e., and the extendible nodes of a computable tree form a co-c.e. set.

Proof of Proposition 1.9.

By Lemma 1.2, [T]=∅[T] = \emptyset if and only if TT is finite, if and only if some length nn has no node in TT, since TT is closed under prefixes. For a given nn, this is decided by testing the 2n2^n strings of length nn. For the class {X:ΦeX(0) ⁣ ⁣↑}\{ X : \Phi^X_e(0)\diverge \}, the tree {σ:∀τ⪯σ Φeτ(0)[∣τ∣] ⁣ ⁣↑}\{ \sigma : \forall \tau \preceq \sigma\ \Phi^\tau_e(0)[|\tau|]\diverge \} of Proposition 1.7 is computable, uniformly in ee, so its emptiness is a Σ10\Sigma^0_1 property of ee. (By contrast, the set of ee such that Φe\Phi_e is the characteristic function of a tree without paths is not c.e.: the set of indices of total functions reduces to it.) A node σ\sigma is not extendible if and only if the computable tree {τ∈T:τ⪯σ or σ⪯τ}\{ \tau \in T : \tau \preceq \sigma \text{ or } \sigma \preceq \tau \} has no path, which is a Σ10\Sigma^0_1 condition, uniformly in σ\sigma.

This is a consequence of compactness: emptiness of a Π10\Pi^0_1 class, a priori a statement about all sequences XX, is in fact Σ10\Sigma^0_1. Non-emptiness, which asks for an infinite path, is accordingly a Π10\Pi^0_1 property: a finite amount of computation can show that a class is empty, never that it is non-empty.

1.4 Exercises

Exercise 1.10 ★.#

Show that the intersection of two Π10\Pi^0_1 classes, and the union of two Π10\Pi^0_1 classes, are Π10\Pi^0_1 classes, uniformly in indices.

Solution

If P=[S]\mathcal P = [S] and Q=[T]\mathcal Q = [T] with SS and TT computable trees, then P∩Q=[S∩T]\mathcal P \cap \mathcal Q = [S \cap T] and P∪Q=[S∪T]\mathcal P \cup \mathcal Q = [S \cup T]. The first equality is immediate. For the second, a path of S∪TS \cup T that is not a path of SS has a prefix σ∉S\sigma \notin S; all its longer prefixes are then outside SS, hence in TT, and its shorter prefixes are prefixes of nodes of TT, hence in TT; so it is a path of TT.

Exercise 1.11 ★★.#

Show that a class P⊆2N\mathcal P \subseteq \cs is Π10\Pi^0_1 if and only if the set of strings σ\sigma with [σ]∩P=∅[\sigma] \cap \mathcal P = \emptyset is c.e., and P\mathcal P is closed.

Solution

If P=[T]\mathcal P = [T] with TT computable, then [σ]∩P=∅[\sigma] \cap \mathcal P = \emptyset is the Σ10\Sigma^0_1 property of Proposition 1.9, uniformly in σ\sigma. Conversely, if P\mathcal P is closed and W={σ:[σ]∩P=∅}W = \{ \sigma : [\sigma] \cap \mathcal P = \emptyset \} is c.e., then the complement of P\mathcal P is [W]≺[W]^{\prec}: a sequence outside the closed class P\mathcal P has a cylinder neighborhood disjoint from P\mathcal P. So the complement is a Σ10\Sigma^0_1 class, and P\mathcal P is Π10\Pi^0_1 by Proposition 1.7.

1.5 Notes and references

König’s lemma is due to Dénes Kőnig (1927). Π10\Pi^0_1 classes were studied systematically from the 1950s, notably by Kleene, Kreisel and Shoenfield, and the theory of their members by Jockusch and Soare (1972). Cenzer and Remmel’s survey gives a broad account.

  • 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.
  • D. Cenzer and J. B. Remmel, Π⁰₁ classes in mathematics, in Handbook of Recursive Mathematics, Volume 2, Studies in Logic 139, North-Holland, 1998, 623–821.