Cite

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

/courses/second-order-arithmetic/analysis-in-rca0
@misc{second-order-arithmetic-analysis-in-rca0,
  title = {{Mathematics in RCA₀}},
  howpublished = {Lesson 3 of \emph{Second-order arithmetic}, Computability Theory course notes},
  url = {/courses/second-order-arithmetic/analysis-in-rca0},
  note = {Unreleased working version}
}

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

Lesson 3 of 3

Mathematics in RCA₀

Coding real numbers and continuous functions in second-order arithmetic; RCA₀ proves the completeness of the reals for sequences with a modulus of convergence and the intermediate value theorem; Specker sequences show that RCA₀ does not prove the monotone convergence theorem.

35 min2 questions
Before this lesson:The base theory RCA₀
Second-order arithmetic · lesson 3 of 3
  1. The language and models of second-order arithmetic
  2. The base theory RCA₀
  3. Mathematics in RCA₀

Second-order arithmetic speaks only of numbers and sets of numbers. To formalize analysis, one codes real numbers, sequences of reals and continuous functions by sets of numbers, with codings chosen so that the basic operations are computable. This lesson presents these codings, proves two theorems of analysis in RCA0\mathsf{RCA}_0, and shows that a third one, the monotone convergence theorem, is not provable there. The latter will turn out to be equivalent to arithmetic comprehension.

3.1 Real numbers

Rational numbers are coded by numbers through a computable bijection between N\nat and Q\mathbb Q; in RCA0\mathsf{RCA}_0 one proves that they form an ordered field with decidable equality and order. Sequences of rationals are coded by sets, a function f:N→Nf : \nat \to \nat being identified with its graph.

Definition 3.1.#

In RCA0\mathsf{RCA}_0, a real number is a sequence of rationals x=(qk)k∈Nx = (q_k)_{k \in \nat} such that ∣qk−ql∣≤2−k|q_k - q_l| \leq 2^{-k} for all k≤lk \leq l. Two reals x=(qk)x = (q_k) and y=(pk)y = (p_k) are equal, x=Ryx =_{\mathbb R} y, if ∣qk−pk∣≤2−k+1|q_k - p_k| \leq 2^{-k+1} for all kk, and x<yx < y if qk+2−k+1<pkq_k + 2^{-k+1} < p_k for some kk.

The sequence (qk)(q_k) represents its limit, and the fixed rate of convergence 2−k2^{-k} makes the relation x<yx < y a Σ10\Sigma^0_1 property, and equality a Π10\Pi^0_1 property. Equality is not decidable: no algorithm decides whether two given reals are equal, a phenomenon that will recur. The sum, product and absolute value of reals are defined termwise, with an adjustment of indices so that the rate 2−k2^{-k} is preserved (for instance x+y=(qk+1+pk+1)kx + y = (q_{k+1} + p_{k+1})_k), and RCA0\mathsf{RCA}_0 proves that the reals form an ordered field. A sequence of reals is a double sequence (qn,k)(q_{n,k}) such that each (qn,k)k(q_{n,k})_k is a real.

Without the rate of convergence, a Cauchy sequence of rationals would still determine a limit, but the order would no longer be Σ10\Sigma^0_1, and the limit of a computable Cauchy sequence need not be a computable real: a Specker sequence, constructed below, is an example.

Proposition 3.2.#

RCA0\mathsf{RCA}_0 proves: if (xn)(x_n) is a sequence of reals and ∣xn−xm∣≤2−n|x_n - x_m| \leq 2^{-n} for all n≤mn \leq m, then (xn)(x_n) converges to a real xx, that is, ∣xn−x∣≤2−n|x_n - x| \leq 2^{-n} for every nn.

Proof of Proposition 3.2.

Write xn=(qn,k)kx_n = (q_{n,k})_k, and let pk=qk+2,k+2p_k = q_{k+2, k+2}; the sequence (pk)(p_k) exists by Δ10\Delta^0_1 comprehension. For k≤lk \leq l,

∣pk−pl∣≤∣qk+2,k+2−xk+2∣+∣xk+2−xl+2∣+∣xl+2−ql+2,l+2∣≤2−k−2+2−k−2+2−l−2≤2−k,\begin{aligned} |p_k - p_l| &\leq |q_{k+2,k+2} - x_{k+2}| + |x_{k+2} - x_{l+2}| + |x_{l+2} - q_{l+2,l+2}| \\ &\leq 2^{-k-2} + 2^{-k-2} + 2^{-l-2} \leq 2^{-k}, \end{aligned}

where the outer terms use ∣qj−y∣≤2−j|q_j - y| \leq 2^{-j} for a real y=(qj)y = (q_j), and the middle term uses the hypothesis; so x=(pk)x = (p_k) is a real. For each nn and k≥nk \geq n, ∣xn−pk∣≤∣xn−xk+2∣+∣xk+2−qk+2,k+2∣≤2−n+2−k−2|x_n - p_k| \leq |x_n - x_{k+2}| + |x_{k+2} - q_{k+2,k+2}| \leq 2^{-n} + 2^{-k-2}, and ∣pk−x∣≤2−k|p_k - x| \leq 2^{-k}, so ∣xn−x∣≤2−n+2−k−2+2−k|x_n - x| \leq 2^{-n} + 2^{-k-2} + 2^{-k} for every k≥nk \geq n, that is, ∣xn−x∣≤2−n|x_n - x| \leq 2^{-n}.

The rate 2−n2^{-n} plays the role of a modulus of convergence: the limit is computed from the sequence. Without a modulus, the existence of the limit requires more than RCA0\mathsf{RCA}_0.

3.2 Continuous functions

A continuous function on [0,1][0, 1] is determined by countable information: approximations of its values on small intervals.

Definition 3.3.#

In RCA0\mathsf{RCA}_0, a code for a continuous function f:[0,1]→Rf : [0, 1] \to \mathbb R is a set Φ\Phi of quadruples (a,r,b,s)(a, r, b, s) of rationals with r,s>0r, s > 0, such that:

  1. consistency: if (a,r,b,s),(a′,r′,b′,s′)∈Φ(a, r, b, s), (a', r', b', s') \in \Phi and ∣a−a′∣<r+r′|a - a'| < r + r', then ∣b−b′∣≤s+s′|b - b'| \leq s + s';
  2. totality: for every real x∈[0,1]x \in [0, 1] and every ε>0\varepsilon > 0, there is (a,r,b,s)∈Φ(a, r, b, s) \in \Phi with ∣x−a∣<r|x - a| < r and s<εs < \varepsilon.

The value f(x)f(x) is the unique real yy such that ∣y−b∣≤s|y - b| \leq s for every (a,r,b,s)∈Φ(a, r, b, s) \in \Phi with ∣x−a∣<r|x - a| < r.

A quadruple (a,r,b,s)(a, r, b, s) asserts that ff maps the interval (a−r,a+r)(a - r, a + r) into [b−s,b+s][b - s, b + s]. Consistency makes these assertions compatible, and totality makes them precise enough at every point. RCA0\mathsf{RCA}_0 proves that f(x)f(x) exists, uniformly in xx. Let x=(xt)tx = (x_t)_t be a real in [0,1][0, 1]. For each kk, take the first pair ⟨j,t⟩\langle j, t \rangle such that jj codes a quadruple (ak,rk,bk,sk)∈Φ(a_k, r_k, b_k, s_k) \in \Phi with sk<2−k−2s_k < 2^{-k-2} and ∣xt−ak∣+2−t<rk|x_t - a_k| + 2^{-t} < r_k. This condition is bounded in Φ\Phi and xx, it implies ∣x−ak∣<rk|x - a_k| < r_k, and some pair satisfies it by totality; so the sequence (ak,rk,bk,sk)k(a_k, r_k, b_k, s_k)_k exists by Δ10\Delta^0_1 comprehension. The two intervals around aka_k and ala_l contain xx, so consistency gives ∣bk−bl∣≤sk+sl≤2−k−1|b_k - b_l| \leq s_k + s_l \leq 2^{-k-1} for k≤lk \leq l, and y=(bk)y = (b_k) is a real. If (a,r,b,s)∈Φ(a, r, b, s) \in \Phi and ∣x−a∣<r|x - a| < r, then ∣b−bk∣≤s+2−k−2|b - b_k| \leq s + 2^{-k-2} by consistency, and ∣bk−y∣≤2−k|b_k - y| \leq 2^{-k}, so ∣y−b∣≤s|y - b| \leq s; uniqueness follows from totality. The function ff is continuous: given xx and ε>0\varepsilon > 0, take (a,r,b,s)∈Φ(a, r, b, s) \in \Phi with ∣x−a∣<r|x - a| < r and s<ε/2s < \varepsilon / 2, and δ=r−∣x−a∣\delta = r - |x - a|; then ∣f(x)−f(x′)∣≤2s<ε|f(x) - f(x')| \leq 2s < \varepsilon whenever ∣x′−x∣<δ|x' - x| < \delta. Simpson (Section II.6) uses a variant of this definition for arbitrary complete separable metric spaces.

Every continuous function on [0,1][0, 1] has a code, and the codes of computable functions can be chosen computable.

3.3 The intermediate value theorem

Theorem 3.4.#

RCA0\mathsf{RCA}_0 proves the intermediate value theorem: if f:[0,1]→Rf : [0, 1] \to \mathbb R is continuous with f(0)<0<f(1)f(0) < 0 < f(1), then f(x)=0f(x) = 0 for some x∈[0,1]x \in [0, 1].

Proof of Theorem 3.4.

If f(q)=0f(q) = 0 for some rational q∈[0,1]q \in [0, 1], we are done. Otherwise, for every rational q∈[0,1]q \in [0, 1], f(q)<0f(q) < 0 or f(q)>0f(q) > 0. Both relations are Σ10\Sigma^0_1 in qq and the code of ff, and since exactly one holds, "f(q)<0f(q) < 0" is equivalent to the Π10\Pi^0_1 formula “not f(q)>0f(q) > 0”. By Δ10\Delta^0_1 comprehension, the set NN of rationals q∈[0,1]q \in [0, 1] with f(q)<0f(q) < 0 exists.

Define rationals a0=0a_0 = 0, b0=1b_0 = 1, and, with cn=(an+bn)/2c_n = (a_n + b_n)/2, (an+1,bn+1)=(cn,bn)(a_{n+1}, b_{n+1}) = (c_n, b_n) if cn∈Nc_n \in N, and (an,cn)(a_n, c_n) otherwise. The sequence is defined by primitive recursion relative to NN, hence exists in RCA0\mathsf{RCA}_0, and an induction on the bounded formula expressing the recursion shows that an≤an+1<bn+1≤bna_n \leq a_{n+1} < b_{n+1} \leq b_n, bn−an=2−nb_n - a_n = 2^{-n}, f(an)<0f(a_n) < 0 and f(bn)>0f(b_n) > 0 for every nn. So x=(an)x = (a_n) is a real, and (bn)(b_n) represents the same real.

Suppose f(x)>0f(x) > 0. By continuity, there is δ>0\delta > 0 with f(y)>0f(y) > 0 for every y∈[0,1]y \in [0, 1] with ∣y−x∣<δ|y - x| < \delta. For nn with 2−n<δ2^{-n} < \delta, ∣an−x∣≤2−n<δ|a_n - x| \leq 2^{-n} < \delta, so f(an)>0f(a_n) > 0, a contradiction. Symmetrically, f(x)<0f(x) < 0 contradicts f(bn)>0f(b_n) > 0. Since the order of the reals is total, f(x)=0f(x) = 0.

The proof is not uniform: it distinguishes whether ff vanishes at a rational, a Σ20\Sigma^0_2 question ("f(q)=0f(q) = 0" is Π10\Pi^0_1) that cannot be decided effectively. This is harmless in RCA0\mathsf{RCA}_0, which reasons classically. Applied in the ω-model REC\mathrm{REC}, the theorem shows that every computable ff with f(0)<0<f(1)f(0) < 0 < f(1) has a computable zero; but no single procedure computes a zero from every code of such an ff. Such uniformity questions are the subject of Weihrauch reducibility (Weihrauch reducibility).

3.4 Specker sequences

The monotone convergence theorem states that every bounded non-decreasing sequence of reals converges. It is true in P(N)\mathcal P(\nat), but fails in the ω-model REC\mathrm{REC}.

Proposition 3.5 (Specker).#

There is a computable non-decreasing sequence of rationals in [0,1][0, 1] whose limit is not a computable real. Consequently RCA0\mathsf{RCA}_0 does not prove the monotone convergence theorem.

Proof of Proposition 3.5.

Let ff be a computable injective function with range ∅′\emptyset', and xn=∑i≤n2−f(i)−1x_n = \sum_{i \leq n} 2^{-f(i) - 1}. The sequence is computable, non-decreasing, bounded by ∑m2−m−1=1\sum_m 2^{-m-1} = 1, and converges to x=∑m∈∅′2−m−1x = \sum_{m \in \emptyset'} 2^{-m-1}. If xx were computable, given mm one could compute nn such that x−xn<2−m−1x - x_n < 2^{-m-1}; then m∈∅′m \in \emptyset' if and only if m=f(i)m = f(i) for some i≤ni \leq n, since a later f(i)=mf(i) = m would add 2−m−12^{-m-1} to the remaining sum. So ∅′\emptyset' would be computable.

In REC\mathrm{REC}, the sequence (xn)(x_n) exists, and it is bounded and non-decreasing by absoluteness. It has no limit in the model: ”yy is the limit of (xn)(x_n)” is arithmetic, so a limit y∈RECy \in \mathrm{REC} would be a computable real equal to xx. So the monotone convergence theorem fails in the ω-model REC\mathrm{REC} of RCA0\mathsf{RCA}_0.

A computable non-decreasing bounded sequence of rationals whose limit is not computable is called a Specker sequence. The same construction, carried out for an arbitrary injective function, shows that the monotone convergence theorem implies the existence of the ranges of injective functions, and thus arithmetic comprehension (Theorem 1.5 of “Arithmetic comprehension”).

3.5 Exercises

Exercise 3.6 ★.

Show that RCA0\mathsf{RCA}_0 proves that every continuous function f:[0,1]→Rf : [0, 1] \to \mathbb R with f(0)<c<f(1)f(0) < c < f(1) takes the value cc, for every real cc.

Solution

Repeat the proof of Theorem 3.4 with cc in place of 00. Let Φ\Phi be the code of ff. For a rational q∈[0,1]q \in [0, 1], f(q)<cf(q) < c holds if and only if there is (a,r,b,s)∈Φ(a, r, b, s) \in \Phi with ∣q−a∣<r|q - a| < r and b+s<cb + s < c: such a quadruple gives f(q)≤b+s<cf(q) \leq b + s < c, and conversely, if f(q)<cf(q) < c, a quadruple with ∣q−a∣<r|q - a| < r and s<(c−f(q))/2s < (c - f(q))/2 satisfies b+s≤f(q)+2s<cb + s \leq f(q) + 2s < c. So "f(q)<cf(q) < c" is Σ10\Sigma^0_1 in qq, Φ\Phi and cc, and so is "f(q)>cf(q) > c". If f(q)=cf(q) = c for some rational q∈[0,1]q \in [0, 1], we are done. Otherwise the set N={q:f(q)<c}N = \{ q : f(q) < c \} exists by Δ10\Delta^0_1 comprehension, and the bisection and the final argument are unchanged.

Reducing to Theorem 3.4 through g=f−cg = f - c needs a code for gg. The natural candidate, the set of quadruples (a,r,b−ck,s+2−k+1)(a, r, b - c_k, s + 2^{-k+1}) for (a,r,b,s)∈Φ(a, r, b, s) \in \Phi and c=(ck)c = (c_k), is defined by a Σ10\Sigma^0_1 formula, with an unbounded search for kk, so Δ10\Delta^0_1 comprehension does not apply to it directly; the direct argument avoids this.

Exercise 3.7 ★★.

A real xx is left-c.e. if the set of rationals q<xq < x is c.e. Show that xx is left-c.e. if and only if it is the limit of a computable non-decreasing sequence of rationals. Deduce that every non-computable left-c.e. real, such as Chaitin’s halting probability Ω\Omega (Chaitin), is the limit of a Specker sequence.

Solution

If xx is the limit of a computable non-decreasing sequence (xn)(x_n) of rationals, then q<xq < x if and only if q<xnq < x_n for some nn: each xnx_n is at most xx, and if q<xq < x, then xn>qx_n > q for nn large. This is a c.e. condition on qq. Conversely, let q0,q1,…q_0, q_1, \dots be a computable enumeration of the non-empty c.e. set L={q:q<x}L = \{ q : q < x \}, and xn=max⁡i≤nqix_n = \max_{i \leq n} q_i. The sequence (xn)(x_n) is computable, non-decreasing and bounded by xx; for ε>0\varepsilon > 0, some rational of (x−ε,x)(x - \varepsilon, x) belongs to LL, so xn>x−εx_n > x - \varepsilon for nn large. Hence xn→xx_n \to x.

If xx is moreover not computable, such a sequence, bounded by any rational above xx, is a Specker sequence. The real Ω\Omega is the limit of the computable non-decreasing sequence (Ωs)(\Omega_s) of rationals, and it is not computable, since Ω≡T∅′\Omega \equiv_T \emptyset' (Chaitin).

3.6 Notes and references

The coding of reals and continuous functions follows Simpson’s monograph, Sections II.4–II.6. Specker (1949) constructed computable monotone bounded sequences without computable limit, one of the first results of computable analysis. Computable analysis studies the reals and continuous functions under these codings; see Weihrauch’s book.

  • E. Specker, Nicht konstruktiv beweisbare Sätze der Analysis, Journal of Symbolic Logic 14 (1949), 145–158.
  • S. G. Simpson, Subsystems of Second Order Arithmetic, 2nd edition, Cambridge University Press, 2009.
  • K. Weihrauch, Computable Analysis, Springer, 2000.