Cite

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

/courses/computable-ordinals/kleene-o
@misc{computable-ordinals-kleene-o,
  title = {{Computable ordinals and Kleene's O}},
  howpublished = {Lesson 2 of \emph{Computable ordinals}, Computability Theory course notes},
  url = {/courses/computable-ordinals/kleene-o},
  note = {Unreleased working version}
}

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

Lesson 2 of 3

Computable ordinals and Kleene's O

Computable well-orderings and the Church–Kleene ordinal; Kleene's system of notations O; addition of notations by the recursion theorem; the Markwald–Kleene theorem that the constructive ordinals are exactly the computable ones; relativization.

40 min2 questions
Before this lesson:Well-orderings and ordinals · Kleene's fixed point theorem (Fundamentals of computability)
Computable ordinals · lesson 2 of 3
  1. Well-orderings and ordinals
  2. Computable ordinals and Kleene's O
  3. Well-founded trees and Π¹₁ sets

Only countably many ordinals can be described by an algorithm. There are two natural ways of doing so. In Cantor’s spirit, an ordinal is computable if it is the order type of a computable well-ordering of numbers. In von Neumann’s spirit, an ordinal is constructive if it has a notation: a number that tells whether the ordinal is zero, a successor or a limit, and in the last two cases gives notations for its predecessor or for a sequence converging to it. Kleene’s system O\mathcal O of notations makes the second idea precise. The two notions define the same ordinals, whose supremum is the Church–Kleene ordinal ω1CK\omega_1^{\mathrm{CK}}.

2.1 Computable well-orderings

Definition 2.1.#

An ordinal α\alpha is computable if it is the order type of a computable relation R⊆N×NR \subseteq \nat \times \nat that well-orders its field F={x:(x,x)∈R}F = \{ x : (x, x) \in R \}: R⊆F×FR \subseteq F \times F, and (x,y)∈R(x, y) \in R means x≤Ryx \leq_R y. The same convention defines c.e. well-orderings and, without the well-foundedness condition, computable and c.e. linear orders.

Proposition 2.2.#
  1. If α\alpha is computable and β<α\beta < \alpha, then β\beta is computable.
  2. If α\alpha and β\beta are computable, so are α+β\alpha + \beta and α⋅β\alpha \cdot \beta.
  3. From an index of a c.e. linear order with infinite field, one computes an index of a computable linear order of N\nat isomorphic to it. In particular, the order type of every c.e. well-ordering is computable.
Proof of Proposition 2.2.
  1. If β<α=∣R∣\beta < \alpha = |R|, then β\beta is the type of the initial segment of RR below some element aa, defined by the computable relation {(x,y)∈R:(y,a)∈R, y≠a}\{ (x, y) \in R : (y, a) \in R,\ y \neq a \}.
  2. Represent α+β\alpha + \beta on the disjoint union of the fields, coded by ⟨0,x⟩\langle 0, x \rangle and ⟨1,y⟩\langle 1, y \rangle, with all elements of the first copy below those of the second; and α⋅β\alpha \cdot \beta on pairs ⟨x,y⟩\langle x, y \rangle ordered by comparing yy first and then xx (the anti-lexicographic order).
  3. Let RR be a c.e. linear order of its field F={x:(x,x)∈R}F = \{ x : (x, x) \in R \}, which is c.e. If FF is infinite, let f(n)f(n) be the nn-th element of FF in order of enumeration, repetitions omitted: ff is a computable bijection from N\nat onto FF, and S={(m,n):(f(m),f(n))∈R}S = \{ (m, n) : (f(m), f(n)) \in R \} is a c.e. linear order of N\nat isomorphic to RR. It is computable: for m≠nm \neq n, exactly one of (m,n)(m, n) and (n,m)(n, m) belongs to SS, so SS is decided by waiting until one of them is enumerated. This procedure is uniform in an index of RR. If RR is a well-ordering with finite field, its type is finite, hence computable.
Definition 2.3.#

The Church–Kleene ordinal ω1CK\omega_1^{\mathrm{CK}} is the least ordinal that is not computable.

By (1), the computable ordinals are exactly the ordinals below ω1CK\omega_1^{\mathrm{CK}}. There are countably many computable relations, so ω1CK\omega_1^{\mathrm{CK}} is countable. By (2), it is a limit ordinal, closed under addition and multiplication. One can show that it is also closed under exponentiation, a fact we do not use; the first exercise shows that ε0\varepsilon_0 is computable.

2.2 Kleene’s O

Definition 2.4 (Kleene).#

The set O⊆N\mathcal O \subseteq \nat of notations, the map a↦∣a∣a \mapsto |a| from O\mathcal O to ordinals, and the relation <O<_{\mathcal O} are defined simultaneously as the least sets satisfying:

  1. 1∈O1 \in \mathcal O and ∣1∣=0|1| = 0;
  2. if a∈Oa \in \mathcal O, then 2a∈O2^a \in \mathcal O, ∣2a∣=∣a∣+1|2^a| = |a| + 1, and b<O2ab <_{\mathcal O} 2^a if and only if b=ab = a or b<Oab <_{\mathcal O} a;
  3. if Φe\Phi_e is total, Φe(n)∈O\Phi_e(n) \in \mathcal O and Φe(n)<OΦe(n+1)\Phi_e(n) <_{\mathcal O} \Phi_e(n+1) for every nn, then 3⋅5e∈O3 \cdot 5^e \in \mathcal O, ∣3⋅5e∣=sup⁡n∣Φe(n)∣|3 \cdot 5^e| = \sup_n |\Phi_e(n)|, and b<O3⋅5eb <_{\mathcal O} 3 \cdot 5^e if and only if b<OΦe(n)b <_{\mathcal O} \Phi_e(n) for some nn.

An ordinal is constructive if it is ∣a∣|a| for some a∈Oa \in \mathcal O.

A notation tells which case applies, by its prime factorization, and gives the predecessor or a fundamental sequence. The cases are exclusive on O\mathcal O: 1=201 = 2^0, but 0∉O0 \notin \mathcal O, so 11 is not of the form 2a2^a with a∈Oa \in \mathcal O. A finite ordinal nn has exactly one notation, obtained from 11 by nn applications of a↦2aa \mapsto 2^a, but every infinite constructive ordinal has infinitely many: a limit has one for each program of each of its fundamental sequences, and λ+n\lambda + n has one for each notation of λ\lambda. The relation <O<_{\mathcal O} is a partial order on O\mathcal O with b<Oa⇒∣b∣<∣a∣b <_{\mathcal O} a \Rightarrow |b| < |a|, but two notations of the same ordinal on different branches are incomparable.

Proposition 2.5.#
  1. For a∈Oa \in \mathcal O, the set {b:b<Oa}\{ b : b <_{\mathcal O} a \} is well-ordered by <O<_{\mathcal O}, with order type ∣a∣|a|, and {∣b∣:b<Oa}=∣a∣\{ |b| : b <_{\mathcal O} a \} = |a|. In particular the constructive ordinals are closed downward.
  2. There is a c.e. relation RR such that for every a∈Oa \in \mathcal O and every bb, b<Oab <_{\mathcal O} a if and only if (b,a)∈R(b, a) \in R.
Proof of Proposition 2.5.
  1. By induction along the inductive definition. For 11, the set is empty. For 2a2^a, the set is {b:b<Oa}∪{a}\{ b : b <_{\mathcal O} a \} \cup \{ a \}, of type ∣a∣+1|a| + 1, with ordinals ∣a∣∪{∣a∣}=∣a∣+1|a| \cup \{ |a| \} = |a| + 1. For 3⋅5e3 \cdot 5^e, the set is the increasing union of the sets below Φe(n)\Phi_e(n), each an initial segment of the next one by the induction hypothesis and the fact that Φe(n)<OΦe(n+1)\Phi_e(n) <_{\mathcal O} \Phi_e(n+1); its type and its set of ordinals are the supremum sup⁡n∣Φe(n)∣\sup_n |\Phi_e(n)|.
  2. Let RR be the least relation containing, for every a≥1a \geq 1, the pair (a,2a)(a, 2^a) and the pairs (b,2a)(b, 2^a) with (b,a)∈R(b, a) \in R, and containing (b,3⋅5e)(b, 3 \cdot 5^e) whenever Φe(n) ⁣ ⁣↓\Phi_e(n)\converge and (b,Φe(n))∈R(b, \Phi_e(n)) \in R or b=Φe(n)b = \Phi_e(n), for some nn. It is generated by c.e. rules, so it is c.e. By induction on a∈Oa \in \mathcal O, R(⋅,a)R(\cdot, a) is {b:b<Oa}\{ b : b <_{\mathcal O} a \}; the restriction a≥1a \geq 1 ensures that R(⋅,1)R(\cdot, 1) is empty.

The relation <O<_{\mathcal O} is therefore c.e. on each initial segment, uniformly in a notation of its upper bound. The set O\mathcal O itself is not c.e., nor even arithmetic: the next lesson shows that it is Π11\Pi^1_1 but not Σ11\Sigma^1_1 (Corollary 3.8).

2.3 From notations to well-orderings and back

Proposition 2.6.#

Every constructive ordinal is computable. Moreover, there is a total computable function that maps every a∈Oa \in \mathcal O to an index of a computable well-ordering of type ∣a∣|a|.

Proof of Proposition 2.6.

Let RR be the c.e. relation of Proposition 2.5 (2), and let SaS_a be the set of pairs (b,c)(b, c) with (b,a)∈R(b, a) \in R, (c,a)∈R(c, a) \in R, and b=cb = c or (b,c)∈R(b, c) \in R. It is c.e., uniformly in aa. For a∈Oa \in \mathcal O, every c<Oac <_{\mathcal O} a is in O\mathcal O, so SaS_a is the order ≤O\leq_{\mathcal O} on {b:b<Oa}\{ b : b <_{\mathcal O} a \}, a well-ordering of type ∣a∣|a| by Proposition 2.5 (1).

It is decidable whether aa is one of the notations 1,21,221,…1, 2^1, 2^{2^1}, \dots of the finite ordinals; if it is the notation of nn, output a fixed index of the usual order on {0,…,n−1}\{ 0, \dots, n - 1 \}. Otherwise, if a∈Oa \in \mathcal O, the sequence a,a1,a2,…a, a_1, a_2, \dots with a=2a1a = 2^{a_1}, a1=2a2a_1 = 2^{a_2}, … reaches a notation 3⋅5e≤Oa3 \cdot 5^e \leq_{\mathcal O} a, so ∣a∣≥ω|a| \geq \omega and SaS_a has an infinite field; output the index given by Proposition 2.2 (3) for SaS_a. This function is total computable, and its value on a∈Oa \in \mathcal O is an index of a computable well-ordering of type ∣a∣|a|.

The converse requires arithmetic on notations, defined by the recursion theorem.

Lemma 2.7.#

There is a total computable function +O+_{\mathcal O} such that for all a,b∈Oa, b \in \mathcal O, a+Ob∈Oa +_{\mathcal O} b \in \mathcal O, ∣a+Ob∣=∣a∣+∣b∣|a +_{\mathcal O} b| = |a| + |b|, a≤Oa+Oba \leq_{\mathcal O} a +_{\mathcal O} b, a<Oa+Oba <_{\mathcal O} a +_{\mathcal O} b when b≠1b \neq 1, and a+Oc<Oa+Oba +_{\mathcal O} c <_{\mathcal O} a +_{\mathcal O} b whenever c<Obc <_{\mathcal O} b.

Proof of Lemma 2.7.

By the recursion theorem (Corollary 5.2 of “Kleene's fixed point theorem”), applied to a pair (a,b)(a, b) as input, there is a partial computable function +O+_{\mathcal O} satisfying

a+O1=a,a+O2c=2a+Ocfor c≥1,a+O3⋅5e=3⋅5h(a,e),\begin{aligned} a +_{\mathcal O} 1 &= a, \\ a +_{\mathcal O} 2^c &= 2^{a +_{\mathcal O} c} \quad \text{for } c \geq 1, \\ a +_{\mathcal O} 3 \cdot 5^e &= 3 \cdot 5^{h(a, e)}, \end{aligned}

where h(a,e)h(a, e) is an index of the function n↦a+OΦe(n)n \mapsto a +_{\mathcal O} \Phi_e(n), computed from aa, ee and the index of +O+_{\mathcal O} given by the recursion theorem, and a+Ob=1a +_{\mathcal O} b = 1 for all other bb. It is total, by induction on bb: the successor case calls the function on c<2cc < 2^c, and the limit case only computes an index, without evaluating Φe\Phi_e.

The properties are proved by induction on b∈Ob \in \mathcal O. For b=1b = 1 they are immediate. For b=2cb = 2^c with c∈Oc \in \mathcal O, the notation a+Ob=2a+Oca +_{\mathcal O} b = 2^{a +_{\mathcal O} c} belongs to O\mathcal O, with ∣a+Ob∣=∣a∣+∣c∣+1=∣a∣+∣b∣|a +_{\mathcal O} b| = |a| + |c| + 1 = |a| + |b|, and a≤Oa+Oc<Oa+Oba \leq_{\mathcal O} a +_{\mathcal O} c <_{\mathcal O} a +_{\mathcal O} b; if d<Obd <_{\mathcal O} b, then d≤Ocd \leq_{\mathcal O} c, so a+Od≤Oa+Oc<Oa+Oba +_{\mathcal O} d \leq_{\mathcal O} a +_{\mathcal O} c <_{\mathcal O} a +_{\mathcal O} b. For b=3⋅5eb = 3 \cdot 5^e, the terms a+OΦe(n)a +_{\mathcal O} \Phi_e(n) are in O\mathcal O, and a+OΦe(n)<Oa+OΦe(n+1)a +_{\mathcal O} \Phi_e(n) <_{\mathcal O} a +_{\mathcal O} \Phi_e(n+1) by the last property for Φe(n+1)\Phi_e(n+1); so a+Ob∈Oa +_{\mathcal O} b \in \mathcal O, and ∣a+Ob∣=sup⁡n(∣a∣+∣Φe(n)∣)=∣a∣+∣b∣|a +_{\mathcal O} b| = \sup_n (|a| + |\Phi_e(n)|) = |a| + |b|, since addition is continuous in its right argument. If d<Obd <_{\mathcal O} b, then d<OΦe(n)d <_{\mathcal O} \Phi_e(n) for some nn, and a+Od<Oa+OΦe(n)<Oa+Oba +_{\mathcal O} d <_{\mathcal O} a +_{\mathcal O} \Phi_e(n) <_{\mathcal O} a +_{\mathcal O} b. Finally a≤Oa+OΦe(0)<Oa+Oba \leq_{\mathcal O} a +_{\mathcal O} \Phi_e(0) <_{\mathcal O} a +_{\mathcal O} b.

Lemma 2.8.#

There is a total computable function uu such that if We⊆OW_e \subseteq \mathcal O, then u(e)∈Ou(e) \in \mathcal O and ∣u(e)∣≥∣c∣|u(e)| \geq |c| for every c∈Wec \in W_e.

Proof of Lemma 2.8.

Let dnd_n be the sum, with +O+_{\mathcal O} in the order of enumeration, of the elements of We,nW_{e,n}, and dn=1d_n = 1 if We,nW_{e,n} is empty. Let c0=1c_0 = 1 and cn+1=cn+O2dnc_{n+1} = c_n +_{\mathcal O} 2^{d_n}. Then cn<Ocn+1c_n <_{\mathcal O} c_{n+1} by Lemma 2.7, the function n↦cnn \mapsto c_n is total computable with an index computed from ee, and u(e)=3⋅5(this index)u(e) = 3 \cdot 5^{(\text{this index})} belongs to O\mathcal O when We⊆OW_e \subseteq \mathcal O. Every c∈Wec \in W_e is in some We,nW_{e,n}, and ∣cn+1∣≥∣dn∣≥∣c∣|c_{n+1}| \geq |d_n| \geq |c|, since ∣x+Oy∣=∣x∣+∣y∣≥∣y∣|x +_{\mathcal O} y| = |x| + |y| \geq |y|.

Theorem 2.9 (Markwald, Kleene).#

Every computable ordinal is constructive: from an index of a computable well-ordering RR, one computes a∈Oa \in \mathcal O with ∣a∣≥∣R∣|a| \geq |R|.

Proof of Theorem 2.9.

By the recursion theorem (Corollary 5.2 of “Kleene's fixed point theorem”), there is a total computable function gg such that g(x)=u(ix)g(x) = u(i_x), where ixi_x is an index of the c.e. set {2g(y):y<Rx}\{ 2^{g(y)} : y <_R x \}, computed from xx and an index of gg. We show by induction along the well-ordering RR that g(x)∈Og(x) \in \mathcal O and ∣g(x)∣≥∣R<x∣|g(x)| \geq |R_{<x}|, the type of the initial segment below xx. If this holds for all y<Rxy <_R x, then Wix⊆OW_{i_x} \subseteq \mathcal O, and by Lemma 2.8, g(x)∈Og(x) \in \mathcal O and ∣g(x)∣≥∣g(y)∣+1≥∣R<y∣+1|g(x)| \geq |g(y)| + 1 \geq |R_{<y}| + 1 for all y<Rxy <_R x; the supremum of the right-hand side is ∣R<x∣|R_{<x}|. Finally a=u(i)a = u(i), with ii an index of {2g(x):x in the field of R}\{ 2^{g(x)} : x \text{ in the field of } R \}, satisfies ∣a∣≥∣R∣|a| \geq |R|. Since the constructive ordinals are closed downward, ∣R∣|R| is constructive.

Corollary 2.10.#

The constructive ordinals are exactly the computable ordinals, that is, the ordinals below ω1CK\omega_1^{\mathrm{CK}}.

The two conversions are uniform, but the second one only gives an upper bound ∣a∣≥∣R∣|a| \geq |R|. An exact uniform conversion is impossible (see the exercises): a notation contains more information than a well-ordering, namely the decomposition of the ordinal into successor and limit steps.

2.4 Relativization

All definitions relativize to an oracle XX: an ordinal is XX-computable if it is the type of an XX-computable well-ordering, OX\mathcal O^X is defined with ΦeX\Phi^X_e in place of Φe\Phi_e, and the results of this lesson hold relative to XX. The least non-XX-computable ordinal is written ω1X\omega_1^X. It is countable for every XX, and every countable ordinal is XX-computable for some XX, namely for a set coding a well-ordering of that type; so ω1\omega_1 is the supremum of the ordinals ω1X\omega_1^X. One has ω1X=ω1CK\omega_1^X = \omega_1^{\mathrm{CK}} for many non-computable XX, for instance every arithmetic XX, and ω1X>ω1CK\omega_1^X > \omega_1^{\mathrm{CK}} for X=OX = \mathcal O. Both facts rely on the next lesson. If XX is arithmetic and WW is an XX-computable well-ordering of type at least ω1CK\omega_1^{\mathrm{CK}}, then a computable linear order is a well-ordering if and only if it embeds into WW, a Σ11\Sigma^1_1 condition since XX is arithmetic; this contradicts Proposition 3.6. For O\mathcal O, the set WO\mathrm{WO} of indices of computable well-orderings is Π11\Pi^1_1, hence computable in O\mathcal O by the Π11\Pi^1_1-completeness of O\mathcal O (admitted in the next lesson), and the well-orderings with indices e∈WOe \in \mathrm{WO}, placed one after the other in increasing order of ee, form an O\mathcal O-computable well-ordering of type at least ω1CK\omega_1^{\mathrm{CK}}.

2.5 Exercises

Exercise 2.11 ★.

Show that ε0=sup⁡{ω,ωω,ωωω,… }\varepsilon_0 = \sup \{ \omega, \omega^\omega, \omega^{\omega^\omega}, \dots \} is computable.

Solution

By the recursion theorem, as in Lemma 2.7, there is a total computable function pp with p(1)=21p(1) = 2^1 (the notation of 11), p(2c)=3⋅5k(c)p(2^c) = 3 \cdot 5^{k(c)} for c≥1c \geq 1, where Φk(c)(0)=p(c)\Phi_{k(c)}(0) = p(c) and Φk(c)(n+1)=Φk(c)(n)+Op(c)\Phi_{k(c)}(n+1) = \Phi_{k(c)}(n) +_{\mathcal O} p(c), and p(3⋅5e)=3⋅5k′(e)p(3 \cdot 5^e) = 3 \cdot 5^{k'(e)} with Φk′(e)(n)=p(Φe(n))\Phi_{k'(e)}(n) = p(\Phi_e(n)). By induction on b∈Ob \in \mathcal O, p(b)∈Op(b) \in \mathcal O, ∣p(b)∣=ω∣b∣|p(b)| = \omega^{|b|}, and c<Obc <_{\mathcal O} b implies p(c)<Op(b)p(c) <_{\mathcal O} p(b). For b=2cb = 2^c: p(c)≠1p(c) \neq 1 since ∣p(c)∣≥1|p(c)| \geq 1, so by Lemma 2.7 the notations Φk(c)(n)\Phi_{k(c)}(n) are <O<_{\mathcal O}-increasing, of types ω∣c∣⋅(n+1)\omega^{|c|} \cdot (n+1), with supremum ω∣c∣+1\omega^{|c| + 1}; and c′≤Occ' \leq_{\mathcal O} c gives p(c′)≤Op(c)=Φk(c)(0)<Op(b)p(c') \leq_{\mathcal O} p(c) = \Phi_{k(c)}(0) <_{\mathcal O} p(b). For b=3⋅5eb = 3 \cdot 5^e, the sequence p(Φe(n))p(\Phi_e(n)) is <O<_{\mathcal O}-increasing by the induction hypothesis, and its supremum is ω∣b∣\omega^{|b|} by continuity of exponentiation.

Let x0=p(21)x_0 = p(2^1), a notation for ω\omega, and xn+1=xn+Op(xn)x_{n+1} = x_n +_{\mathcal O} p(x_n). Then xn<Oxn+1x_n <_{\mathcal O} x_{n+1}, since p(xn)≠1p(x_n) \neq 1, and ∣xn+1∣≥ω∣xn∣|x_{n+1}| \geq \omega^{|x_n|}, so ∣xn∣|x_n| is at least the tower ωω⋯\omega^{\omega^{\cdots}} of height n+1n + 1. The sequence (xn)(x_n) is computable, and 3⋅5e3 \cdot 5^e for an index ee of it is a notation of an ordinal at least ε0\varepsilon_0. The constructive ordinals being closed downward, ε0\varepsilon_0 is constructive, hence computable by Proposition 2.6.

Exercise 2.12 ★★.

Show that there is a total computable function ff such that f(n)f(n) is an index of a computable well-ordering of type ω+1\omega + 1 if n∈∅′n \in \emptyset', and of type ω\omega otherwise. Deduce that no partial computable function maps every index of a computable well-ordering to a notation for its exact order type.

Solution

Call a number xx special if nn enters ∅′\emptyset' exactly at stage xx of a fixed enumeration; whether xx is special is decidable, and there is at most one special number. Let f(n)f(n) be an index of the order on N\nat in which a special number, if there is one, is the largest element, and the other numbers are ordered as usual. It is computable, uniformly in nn. Its type is ω+1\omega + 1 if n∈∅′n \in \emptyset', and ω\omega otherwise.

Suppose that hh maps indices of well-orderings to notations of their exact types. Then h(f(n))h(f(n)) is a notation for ω\omega or for ω+1\omega + 1, and a notation for ω+1\omega + 1 has the form 2c2^c, while a notation for ω\omega has the form 3⋅5e3 \cdot 5^e. So n∈∅′n \in \emptyset' if and only if h(f(n))h(f(n)) is a power of 22, which would make ∅′\emptyset' computable.

2.6 Notes and references

Church and Kleene (1936–1938) introduced constructive ordinals and the system O\mathcal O; Markwald (1954) proved that computable and constructive ordinals coincide. Sacks’s monograph is the standard reference for higher computability theory.

  • S. C. Kleene, On notation for ordinal numbers, Journal of Symbolic Logic 3 (1938), 150–155.
  • H. Rogers, Jr., Theory of Recursive Functions and Effective Computability, McGraw-Hill, 1967, Chapter 11.
  • G. E. Sacks, Higher Recursion Theory, Perspectives in Mathematical Logic, Springer, 1990.