Andrew Sneap, 10 March 2022 Updated 9th May 2023 This file proves that the Dedekind reals are a complete metric space. A complete metric space is a metric space where every Cauchy Sequence is a convergent sequence. The proof is an implementation of the one described in the HoTT Book, section 11.2.2. Cauchy approximation sequences, limits of such sequences, and the corollary that any cauchy sequence has a limit is are implemented as described. \begin{code} {-# OPTIONS --safe --without-K --lossy-unification #-} open import MLTT.Spartan renaming (_+_ to _∔_) open import Notation.Order open import UF.Base open import UF.FunExt open import UF.Powerset open import UF.PropTrunc open import UF.Subsingletons open import Naturals.Order renaming (max to ℕmax) open import Rationals.Addition open import Rationals.Type open import Rationals.Abs open import Rationals.Negation open import Rationals.Order open import Rationals.MinMax open import Rationals.Multiplication open import Rationals.Positive renaming (_+_ to _ℚ₊+_ ; _*_ to _ℚ₊*_) module MetricSpaces.DedekindReals (fe : Fun-Ext) (pe : Prop-Ext) (pt : propositional-truncations-exist) where open PropositionalTruncation pt open import MetricSpaces.Type fe pe pt open import MetricSpaces.Rationals fe pe pt open import DedekindReals.Type fe pe pt open import DedekindReals.Properties fe pe pt \end{code} We say that two reals are ε-close if we can find a pair of rationals, one either side of each real such that the the distance between the furthest value on each side is less than ε. \begin{code} B-ℝ : (x y : ℝ) → ℚ₊ → 𝓤₀ ̇ B-ℝ x y ε = ∃ (p , q) ꞉ ℚ × ℚ , (p < x < q) × (p < y < q) × B-ℚ p q ε ℝ-m2 : m2 ℝ B-ℝ ℝ-m2 x y ε = ∥∥-functor γ where γ : Σ (p , q) ꞉ ℚ × ℚ , (p < x < q) × (p < y < q) × B-ℚ p q ε → Σ (p , q) ꞉ ℚ × ℚ , (p < y < q) × (p < x < q) × B-ℚ p q ε γ ((p , q) , l₁ , l₂ , B) = (p , q) , l₂ , l₁ , B ℝ-m1a-lemma : (x y : ℝ) → ((ε : ℚ₊) → B-ℝ x y ε) → (p : ℚ) → p < x → p < y ℝ-m1a-lemma x y f p p<x = ∥∥-rec II γ I where I : ∃ q ꞉ ℚ , (p < q) × (q < x) I = rounded-left-d x p p<x II : is-prop (p < y) II = ∈-is-prop (lower-cut-of y) p γ : Σ q ꞉ ℚ , (p < q) × (q < x) → p < y γ (q , p<q , q<x) = ∥∥-rec II γ' III where ε₊ : ℚ₊ ε₊ = q - p , ℚ<-difference-positive p q p<q III : ∃ (u , v) ꞉ ℚ × ℚ , (u < x < v) × (u < y < v) × B-ℚ u v ε₊ III = f ε₊ γ' : Σ (u , v) ꞉ ℚ × ℚ , (u < x < v) × (u < y < v) × B-ℚ u v ε₊ → p < y γ' ((u , v) , (u<x , x<v) , (u<y , _) , B) = use-rounded-real-L y p u γ'' u<y where u<v : u < v u<v = disjoint-from-real x u v (u<x , x<v) IV : abs (u - v) = v - u IV = ℚ<-to-abs' u v u<v V : v - u < q - p V = transport (_< q - p) IV B VI : v - u + p < q VI = ℚ<-subtraction-preserves-order'' (v - u) q p V VII : p + (v - u) < q VII = transport (_< q) (ℚ+-comm (v - u) p) VI VIII : p < q - (v - u) VIII = ℚ<-subtraction-preserves-order''' p (v - u) q VII IX : q - (v - u) = u - (v - q) IX = q - (v - u) =⟨ ℚ-minus-dist' (v - u) q ⁻¹ ⟩ - (v - u - q) =⟨ ap -_ (ℚ+-rearrange v (- u) (- q)) ⟩ - (v - q - u) =⟨ ℚ-minus-dist' (v - q) u ⟩ u - (v - q) ∎ X : p < u - (v - q) X = transport (p <_) IX VIII q<v : q < v q<v = disjoint-from-real x q v (q<x , x<v) XI : 0ℚ < v - q XI = ℚ<-difference-positive q v q<v XII : u - (v - q) < u XII = ℚ<-subtraction-preserves-order u (v - q) XI γ'' : p < u γ'' = ℚ<-trans p (u - (v - q)) u X XII ℝ-m1a : m1a ℝ B-ℝ ℝ-m1a x y f = ℝ-equality-from-left-cut' x y γ₁ γ₂ where γ₁ : (p : ℚ) → p < x → p < y γ₁ = ℝ-m1a-lemma x y f f' : (ε : ℚ₊) → B-ℝ y x ε f' ε = ℝ-m2 x y ε (f ε) γ₂ : (p : ℚ) → p < y → p < x γ₂ = ℝ-m1a-lemma y x f' ℝ-m1b : m1b ℝ B-ℝ ℝ-m1b x (ε , 0<ε) = ∥∥-functor γ (ℝ-arithmetically-located' x (ε , 0<ε)) where γ : Σ (p , q) ꞉ ℚ × ℚ , (p < x < q) × (0ℚ < q - p < ε) → Σ (p , q) ꞉ ℚ × ℚ , (p < x < q) × (p < x < q) × B-ℚ p q (ε , 0<ε) γ ((p , q) , (p<x , x<q) , (0<q-p , q-p<ε)) = γ' where I : abs (q - p) < ε I = pos-abs-no-increase (q - p) ε (0<q-p , q-p<ε) l : B-ℚ p q (ε , 0<ε) l = transport (_< ε) (abs-comm q p) I γ' : Σ (p , q) ꞉ ℚ × ℚ , (p < x < q) × (p < x < q) × B-ℚ p q (ε , 0<ε) γ' = (p , q) , (p<x , x<q) , (p<x , x<q) , l ℝ-m3 : m3 ℝ B-ℝ ℝ-m3 x y (ε₁ , 0<ε₁) (ε₂ , 0<ε₂) ε₁<ε₂ = ∥∥-functor γ where γ : Σ (p , q) ꞉ ℚ × ℚ , (p < x < q) × (p < y < q) × B-ℚ p q (ε₁ , 0<ε₁) → Σ (p , q) ꞉ ℚ × ℚ , (p < x < q) × (p < y < q) × B-ℚ p q (ε₂ , 0<ε₂) γ ((p , q) , l₁ , l₂ , B) = (p , q) , l₁ , l₂ , γ' where γ' : B-ℚ p q (ε₂ , 0<ε₂) γ' = ℚ<-trans (abs (p - q)) ε₁ ε₂ B ε₁<ε₂ ℝ-m4 : m4 ℝ B-ℝ ℝ-m4 x y z (ε₁ , 0<ε₁) (ε₂ , 0<ε₂) B₁ B₂ = ∥∥-functor γ (binary-choice B₁ B₂) where ε₃ = ε₁ + ε₂ ε₃' = ε₂ + ε₁ 0<ε₃ = ℚ<-adding-zero ε₁ ε₂ 0<ε₁ 0<ε₂ γ : (Σ (a , b) ꞉ ℚ × ℚ , (a < x < b) × (a < y < b) × B-ℚ a b (ε₁ , 0<ε₁)) × (Σ (c , d) ꞉ ℚ × ℚ , (c < y < d) × (c < z < d) × B-ℚ c d (ε₂ , 0<ε₂)) → (Σ (p , q) ꞉ ℚ × ℚ , (p < x < q) × (p < z < q) × B-ℚ p q (ε₃ , 0<ε₃)) γ ( ((a , b) , (a<x , x<b) , (a<y , y<b) , B₃) , ((c , d) , (c<y , y<d) , (c<z , z<d) , B₄)) = γ' where a≤d : a ≤ d a≤d = disjoint-from-real' y a d (a<y , y<d) c≤b : c ≤ b c≤b = disjoint-from-real' y c b (c<y , y<b) p = min a c q = max b d p<x : p < x p<x = use-rounded-real-L' x p a (min≤ a c) a<x x<q : x < q x<q = use-rounded-real-R' x b q (max≤ b d) x<b p<z : p < z p<z = use-rounded-real-L' z p c (min≤' a c) c<z z<q : z < q z<q = use-rounded-real-R' z d q (max≤' b d) z<d I : (a ≤ c) × (p = a) ∔ (c ≤ a) × (p = c) I = min-to-≤ a c II : (b ≤ d) × (q = d) ∔ (d ≤ b) × (q = b) II = max-to-≤ b d ε₁<ε₃ : ε₁ < ε₃ ε₁<ε₃ = ℚ<-addition-preserves-order'' ε₁ ε₂ 0<ε₂ ε₂<ε₃' : ε₂ < ε₃' ε₂<ε₃' = ℚ<-addition-preserves-order'' ε₂ ε₁ 0<ε₁ ε₂<ε₃ : ε₂ < ε₃ ε₂<ε₃ = transport (ε₂ <_) (ℚ+-comm ε₂ ε₁) ε₂<ε₃' c₁ : c ≤ b → b ≤ d → abs (a - d) < ε₃ c₁ c≤b b≤d = inequality-chain-with-metric a b c d ε₁ ε₂ c≤b b≤d B₃ B₄ c₂ : abs (a - b) < ε₃ c₂ = ℚ<-trans (abs (a - b)) ε₁ ε₃ B₃ ε₁<ε₃ c₃ : abs (c - d) < ε₃ c₃ = ℚ<-trans (abs (c - d)) ε₂ ε₃ B₄ ε₂<ε₃ c₄' : (d ≤ b) → abs (c - b) < ε₃' c₄' d≤b = inequality-chain-with-metric c d a b ε₂ ε₁ a≤d d≤b B₄ B₃ c₄ : d ≤ b → abs (c - b) < ε₃ c₄ d≤b = transport (abs (c - b) <_) (ℚ+-comm ε₂ ε₁) (c₄' d≤b) γ' : Σ (p , q) ꞉ ℚ × ℚ , (p < x < q) × (p < z < q) × B-ℚ p q (ε₃ , 0<ε₃) γ' = (min a c , max b d) , (p<x , x<q) , (p<z , z<q) , (γ'' I II) where γ'' : (a ≤ c) × (p = a) ∔ (c ≤ a) × (p = c) → (b ≤ d) × (q = d) ∔ (d ≤ b) × (q = b) → B-ℚ p q (ε₃ , 0<ε₃) γ'' (inl (a≤c , e₁)) (inl (b≤d , e₂)) = transport₂ (λ ■₁ ■₂ → abs (■₁ - ■₂) < ε₃) (e₁ ⁻¹) (e₂ ⁻¹) (c₁ c≤b b≤d) γ'' (inl (a≤c , e₁)) (inr (d≤b , e₂)) = transport₂ (λ ■₁ ■₂ → abs (■₁ - ■₂) < ε₃) (e₁ ⁻¹) (e₂ ⁻¹) c₂ γ'' (inr (c≤a , e₁)) (inl (b≤d , e₂)) = transport₂ (λ ■₁ ■₂ → abs (■₁ - ■₂) < ε₃) (e₁ ⁻¹) (e₂ ⁻¹) c₃ γ'' (inr (a≤c , e₁)) (inr (d≤b , e₂)) = transport₂ (λ ■₁ ■₂ → abs (■₁ - ■₂) < ε₃) (e₁ ⁻¹) (e₂ ⁻¹) (c₄ d≤b) ℝ-metric-space : metric-space ℝ ℝ-metric-space = B-ℝ , ℝ-m1a , ℝ-m1b , ℝ-m2 , ℝ-m3 , ℝ-m4 cauchy-approximation : 𝓤₁ ̇ cauchy-approximation = Σ f ꞉ (ℚ₊ → ℝ) , ((ε₁ ε₂ : ℚ₊) → B-ℝ (f ε₁) (f ε₂) (ε₁ ℚ₊+ ε₂)) cauchy-approximation-limit : cauchy-approximation → 𝓤₁ ̇ cauchy-approximation-limit (f , _) = Σ l ꞉ ℝ , ((ε₁ ε₂ : ℚ₊) → B-ℝ (f ε₁) l (ε₁ ℚ₊+ ε₂)) cale-rl-lemma : (p q r s : ℚ) → q + r + s = p + r + (q - p + s) cale-rl-lemma p q r s = γ where γ : q + r + s = p + r + (q - p + s) γ = q + r + s =⟨ ap (_+ s) (ℚ+-comm q r) ⟩ r + q + s =⟨ ℚ-inverse-intro' (r + q + s) p ⟩ p - p + (r + q + s) =⟨ ℚ+-assoc p (- p) (r + q + s) ⟩ p + ((- p) + (r + q + s)) =⟨ ap (p +_) (ℚ+-comm (- p) (r + q + s)) ⟩ p + (r + q + s - p) =⟨ ap (λ ■ → p + (■ - p)) (ℚ+-assoc r q s) ⟩ p + (r + (q + s) - p) =⟨ ap (p +_) (ℚ+-assoc r (q + s) (- p)) ⟩ p + (r + (q + s - p)) =⟨ ℚ+-assoc p r (q + s - p) ⁻¹ ⟩ p + r + (q + s - p) =⟨ ap (p + r +_) (ℚ+-rearrange q (- p) s ⁻¹) ⟩ p + r + (q - p + s) ∎ cale-lo-lemma : (p q : ℚ) → p < q → let ε = 1/5 * (q - p) in p + ε + ε < q - ε - ε cale-lo-lemma p q p<q = γ where ε' = q - p ε = 1/5 * ε' 0<ε' = ℚ<-difference-positive p q p<q 0<ε = ℚ<-pos-multiplication-preserves-order 1/5 ε' 0<1/5 0<ε' 0<2ε = ℚ<-adding-zero ε ε 0<ε 0<ε e₁ : 1/5 * ε' + 1/5 * ε' = 2/5 * ε' e₁ = ℚ-distributivity' ε' 1/5 1/5 ⁻¹ e₂ : 2/5 * ε' + 2/5 * ε' = 4/5 * ε' e₂ = ℚ-distributivity' ε' 2/5 2/5 ⁻¹ e₃ : 1/5 * ε' + 4/5 * ε' = 1ℚ * ε' e₃ = ℚ-distributivity' ε' 1/5 4/5 ⁻¹ I : p + ε + ε + ε + (ε + ε) = q - ε - ε + (ε + ε) I = p + ε + ε + ε + (ε + ε) =⟨ ap (p + ε + ε + ε +_) e₁ ⟩ p + ε + ε + ε + 2/5 * ε' =⟨ ap (_+ 2/5 * ε') (ℚ+-assoc (p + ε) ε ε) ⟩ p + ε + (ε + ε) + 2/5 * ε' =⟨ ap (λ ■ → p + ε + ■ + 2/5 * ε') e₁ ⟩ p + ε + 2/5 * ε' + 2/5 * ε' =⟨ ℚ+-assoc (p + ε) (2/5 * ε') (2/5 * ε') ⟩ p + ε + (2/5 * ε' + 2/5 * ε') =⟨ ap (p + ε +_) e₂ ⟩ p + ε + 4/5 * ε' =⟨ ℚ+-assoc p ε (4/5 * ε') ⟩ p + (ε + 4/5 * ε') =⟨ ap (p +_) e₃ ⟩ p + 1ℚ * (q - p) =⟨ ap (p +_) (ℚ-mult-left-id ε') ⟩ p + (q - p) =⟨ ap (p +_) (ℚ+-comm q (- p)) ⟩ p + ((- p) + q) =⟨ ℚ+-assoc p (- p) q ⁻¹ ⟩ p - p + q =⟨ ℚ-inverse-intro' q p ⁻¹ ⟩ q =⟨ ℚ-add-zero-twice q ε ⟩ q - ε - ε + ε + ε =⟨ ℚ+-assoc (q - ε - ε) ε ε ⟩ q - ε - ε + (ε + ε) ∎ II : p + ε + ε + ε = q - ε - ε II = ℚ+-right-cancellable (p + ε + ε + ε) (q - ε - ε) (ε + ε) I III : p + ε + ε < p + ε + ε + ε III = ℚ<-addition-preserves-order'' (p + ε + ε) ε 0<ε γ : p + ε + ε < q - ε - ε γ = transport (p + ε + ε <_) II III cale-di-lemma₁ : (p q r s t : ℚ) → p + q + r - (p - s - t) = r + t + (q + s) cale-di-lemma₁ p q r s t = γ where I : - (p - s - t) = s + (t - p) I = - (p - s - t) =⟨ ap -_ (ℚ+-assoc p (- s) (- t)) ⟩ - (p + ((- s) - t)) =⟨ ap (λ ■ → - (p + ■)) (ℚ-minus-dist s t) ⟩ - (p - (s + t)) =⟨ ℚ-minus-dist' p (s + t) ⟩ s + t - p =⟨ ℚ+-assoc s t (- p) ⟩ s + (t - p) ∎ II : q + r + (s + (t - p)) = (- p) + (q + r + s + t) II = q + r + (s + (t - p)) =⟨ ℚ+-assoc (q + r) s (t - p) ⁻¹ ⟩ q + r + s + (t - p) =⟨ ℚ+-assoc (q + r + s) t (- p) ⁻¹ ⟩ q + r + s + t + (- p) =⟨ ℚ+-comm (q + r + s + t) (- p) ⟩ (- p) + (q + r + s + t) ∎ γ : p + q + r - (p - s - t) = r + t + (q + s) γ = p + q + r - (p - s - t) =⟨ ap (p + q + r +_) I ⟩ p + q + r + (s + (t - p)) =⟨ ap (_+ (s + (t - p))) (ℚ+-assoc p q r) ⟩ p + (q + r) + (s + (t - p)) =⟨ ℚ+-assoc p (q + r) (s + (t - p)) ⟩ p + (q + r + (s + (t - p))) =⟨ ap (p +_) II ⟩ p + ((- p) + (q + r + s + t)) =⟨ ℚ+-assoc p (- p) (q + r + s + t) ⁻¹ ⟩ p - p + (q + r + s + t) =⟨ ℚ-inverse-intro' (q + r + s + t) p ⁻¹ ⟩ q + r + s + t =⟨ ap (λ ■ → ■ + s + t) (ℚ+-comm q r) ⟩ r + q + s + t =⟨ ap (_+ t) (ℚ+-assoc r q s) ⟩ r + (q + s) + t =⟨ ℚ+-rearrange r t (q + s) ⁻¹ ⟩ r + t + (q + s) ∎ cal-lim-lemma₁ : (p q : ℚ) → 0ℚ < q → p + 1/2 * q < p + q cal-lim-lemma₁ p q 0<q = ℚ<-addition-preserves-order''' (1/2 * q) q p I where I : 1/2 * q < q I = half-of-pos-is-less q 0<q cal-lim-lemma₂ : (p q r s : ℚ) → p < q → q - p < 1/2 * s → 0ℚ < r → 0ℚ < s → abs (p - r - 1/2 * s - q) < r + s cal-lim-lemma₂ p q r s p<q l₁ 0<r 0<s = γ where l₂ : 0ℚ < q - p l₂ = ℚ<-difference-positive p q p<q l₃ : 0ℚ < 1/2 * s l₃ = ℚ<-pos-multiplication-preserves-order 1/2 s 0<1/2 0<s l₄ : 0ℚ < r + 1/2 * s l₄ = ℚ<-adding-zero r (1/2 * s) 0<r l₃ I : abs (p - r - 1/2 * s - q) = abs (q - p + (r + 1/2 * s)) I = abs (p - r - 1/2 * s - q) =⟨ i ⟩ abs (q - (p - r - 1/2 * s)) =⟨ ii ⟩ abs (q + (1/2 * s - (p - r))) =⟨ iii ⟩ abs (q + (1/2 * s + (r - p))) =⟨ iv ⟩ abs (q + (r - p + 1/2 * s)) =⟨ v ⟩ abs (q + ((- p) + r + 1/2 * s)) =⟨ vi ⟩ abs (q + ((- p) + (r + 1/2 * s))) =⟨ vii ⟩ abs (q - p + (r + 1/2 * s)) ∎ where i = abs-comm (p - r - 1/2 * s) q ii = ap (λ ■ → abs (q + ■)) (ℚ-minus-dist' (p - r) (1/2 * s)) iii = ap (λ ■ → abs (q + (1/2 * s + ■))) (ℚ-minus-dist' p r) iv = ap (λ ■ → abs (q + ■)) (ℚ+-comm (1/2 * s) (r - p)) v = ap (λ ■ → abs (q + (■ + 1/2 * s))) (ℚ+-comm r (- p)) vi = ap (λ ■ → abs (q + ■)) (ℚ+-assoc (- p) r (1/2 * s)) vii = ap abs (ℚ+-assoc q (- p) (r + 1/2 * s) ⁻¹) II : abs (q - p + (r + 1/2 * s)) ≤ abs (q - p) + abs (r + 1/2 * s) II = ℚ-triangle-inequality (q - p) (r + 1/2 * s) e₁ : abs (q - p) = q - p e₁ = abs-of-pos-is-pos' (q - p) l₂ e₂ : abs (r + 1/2 * s) = r + 1/2 * s e₂ = abs-of-pos-is-pos' (r + 1/2 * s) l₄ III : abs (q - p) + abs (r + 1/2 * s) = q - p + (1/2 * s + r) III = abs (q - p) + abs (r + 1/2 * s) =⟨ ap (_+ abs (r + 1/2 * s)) e₁ ⟩ q - p + abs (r + 1/2 * s) =⟨ ap (q - p +_) e₂ ⟩ q - p + (r + 1/2 * s) =⟨ ap (q - p +_) (ℚ+-comm r (1/2 * s)) ⟩ q - p + (1/2 * s + r) ∎ IV : abs (q - p + (r + 1/2 * s)) ≤ q - p + (1/2 * s + r) IV = transport (abs (q - p + (r + 1/2 * s)) ≤_) III II V : q - p + (1/2 * s + r) < 1/2 * s + (1/2 * s + r) V = ℚ<-addition-preserves-order (q - p) (1/2 * s) (1/2 * s + r) l₁ VI : abs (q - p + (r + 1/2 * s)) < 1/2 * s + (1/2 * s + r) VI = ℚ≤-<-trans (abs (q - p + (r + 1/2 * s))) (q - p + (1/2 * s + r)) (1/2 * s + (1/2 * s + r)) IV V VII : 1/2 * s + (1/2 * s + r) = r + s VII = 1/2 * s + (1/2 * s + r) =⟨ ℚ+-assoc (1/2 * s) (1/2 * s) r ⁻¹ ⟩ 1/2 * s + 1/2 * s + r =⟨ ap (_+ r) (ℚ-into-half' s ⁻¹) ⟩ s + r =⟨ ℚ+-comm s r ⟩ r + s ∎ γ : abs (p - r - 1/2 * s - q) < r + s γ = transport₂ _<_ (I ⁻¹) VII VI cal-lim-lemma₃ : (p q r s : ℚ) → p < q → q - p < 1/2 * s → 0ℚ < r → 0ℚ < s → abs (p - (q + r + 1/2 * s)) < r + s cal-lim-lemma₃ p q r s p<q l₁ 0<r 0<s = γ where s' = 1/2 * s I : abs (p - r - s' - q) < r + s I = cal-lim-lemma₂ p q r s p<q l₁ 0<r 0<s II : p - r - s' - q = p - (q + r + s') II = p - r - s' - q =⟨ ℚ+-assoc (p - r) (- s') (- q) ⟩ p - r + ((- s') - q) =⟨ ap (p - r +_) (ℚ-minus-dist s' q) ⟩ p - r - (s' + q) =⟨ ap (λ ■ → p - r - ■) (ℚ+-comm s' q) ⟩ p - r - (q + s') =⟨ ℚ+-assoc p (- r) (- (q + s')) ⟩ p + ((- r) - (q + s')) =⟨ ap (p +_) (ℚ-minus-dist r (q + s')) ⟩ p - (r + (q + s')) =⟨ ap (λ ■ → p - ■) (ℚ+-assoc r q s' ⁻¹) ⟩ p - (r + q + s') =⟨ ap (λ ■ → p - (■ + s')) (ℚ+-comm r q) ⟩ p - (q + r + s') ∎ III : abs (p - r - s' - q) = abs (p - (q + r + s')) III = ap abs II γ : abs (p - (q + r + s')) < r + s γ = transport (_< r + s) III I cal-L cal-R : (ca : cauchy-approximation) → 𝓟 ℚ cal-L (f , _) p = (∃ (ε₁₊@(ε₁ , 0<ε₁) , (ε₂ , _)) ꞉ ℚ₊ × ℚ₊ , (p + ε₁ + ε₂) < f ε₁₊) , ∃-is-prop cal-R (f , _) q = (∃ (ε₁₊@(ε₁ , 0<ε₁) , (ε₂ , _)) ꞉ ℚ₊ × ℚ₊ , f ε₁₊ < q - ε₁ - ε₂) , ∃-is-prop cal-il : (ca : cauchy-approximation) → inhabited-left (cal-L ca) cal-il (f , α) = ∥∥-functor γ (inhabited-from-real-L (f 1ℚ₊)) where I : (p : ℚ) → p = p - 1ℚ - 1ℚ + 1ℚ + 1ℚ I p = ℚ-add-zero-twice p 1ℚ II : (p : ℚ) → p < f 1ℚ₊ → p - 1ℚ - 1ℚ + 1ℚ + 1ℚ < f 1ℚ₊ II p p<f1 = transport (_< f 1ℚ₊) (I p) p<f1 γ : Σ p ꞉ ℚ , p < f 1ℚ₊ → Σ p ꞉ ℚ , p ∈ cal-L (f , α) γ (p , p<f1) = p - 1ℚ - 1ℚ , ∣ (1ℚ₊ , 1ℚ₊) , II p p<f1 ∣ cal-ir : (ca : cauchy-approximation) → inhabited-right (cal-R ca) cal-ir (f , α) = ∥∥-functor γ (inhabited-from-real-R (f 1ℚ₊)) where I : (q : ℚ) → q = q + 1ℚ + 1ℚ - 1ℚ - 1ℚ I q = ℚ-add-zero-twice' q 1ℚ II : (q : ℚ) → f 1ℚ₊ < q → f 1ℚ₊ < q + 1ℚ + 1ℚ - 1ℚ - 1ℚ II q f1<q = transport (f 1ℚ₊ <_) (I q) f1<q γ : Σ q ꞉ ℚ , f 1ℚ₊ < q → Σ q ꞉ ℚ , q ∈ cal-R (f , α) γ (q , f1<q) = q + 1ℚ + 1ℚ , ∣ (1ℚ₊ , 1ℚ₊) , II q f1<q ∣ cal-rl : (ca : cauchy-approximation) → rounded-left (cal-L ca) cal-rl (f , α) p = ∥∥-functor γ₁ , ∥∥-rec ∃-is-prop γ₂ where L = cal-L (f , α) γ₁ : Σ (ε₁₊@(ε₁ , 0<ε₁) , (ε₂ , _)) ꞉ ℚ₊ × ℚ₊ , (p + ε₁ + ε₂) < f ε₁₊ → Σ q ꞉ ℚ , p < q × q ∈ L γ₁ ((ε₁₊@(ε₁ , 0<ε₁) , (ε₂ , 0<ε₂)) , l) = p + ε₃ , γ , γ' where ε₃ = 1/2 * ε₂ 0<ε₃ = halving-preserves-order' ε₂ 0<ε₂ γ : p < p + ε₃ γ = ℚ<-addition-preserves-order'' p (1/2 * ε₂) 0<ε₃ I : p + ε₁ + ε₂ = p + ε₃ + ε₁ + ε₃ I = p + ε₁ + ε₂ =⟨ ℚ+-rearrange p ε₁ ε₂ ⟩ p + ε₂ + ε₁ =⟨ ap (λ - → p + - + ε₁) (ℚ-into-half' ε₂) ⟩ p + (ε₃ + ε₃) + ε₁ =⟨ ap (_+ ε₁) (ℚ+-assoc p ε₃ ε₃ ⁻¹) ⟩ p + ε₃ + ε₃ + ε₁ =⟨ ℚ+-rearrange (p + ε₃) ε₁ ε₃ ⁻¹ ⟩ p + ε₃ + ε₁ + ε₃ ∎ II : p + ε₃ + ε₁ + ε₃ < f ε₁₊ II = transport (_< f ε₁₊) I l γ' : (p + ε₃) ∈ L γ' = ∣ (ε₁₊ , ε₃ , 0<ε₃) , II ∣ γ₂ : Σ q ꞉ ℚ , p < q × q ∈ L → ∃ (ε₁₊@(ε₁ , 0<ε₁) , (ε₂ , _)) ꞉ ℚ₊ × ℚ₊ , (p + ε₁ + ε₂) < f ε₁₊ γ₂ (q , p<q , l) = ∥∥-functor γ l where γ : Σ (ε₁₊@(ε₁ , 0<ε₁) , (ε₂ , _)) ꞉ ℚ₊ × ℚ₊ , (q + ε₁ + ε₂) < f ε₁₊ → Σ (ε₁₊@(ε₁ , 0<ε₁) , (ε₂ , _)) ꞉ ℚ₊ × ℚ₊ , (p + ε₁ + ε₂) < f ε₁₊ γ ((ε₁₊@(ε₁ , 0<ε₁) , (ε₂ , 0<ε₂)) , l') = (ε₁₊ , ε₄ , 0<ε₄) , γ' where ε₃ = q - p 0<ε₃ = ℚ<-difference-positive p q p<q ε₄ = ε₃ + ε₂ 0<ε₄ = ℚ<-adding-zero ε₃ ε₂ 0<ε₃ 0<ε₂ I : q + ε₁ + ε₂ = p + ε₁ + ((q - p) + ε₂) I = cale-rl-lemma p q ε₁ ε₂ γ' : p + ε₁ + ε₄ < f ε₁₊ γ' = transport (_< f ε₁₊) I l' cal-rr : (ca : cauchy-approximation) → rounded-right (cal-R ca) cal-rr (f , α) q = ∥∥-functor γ₁ , ∥∥-rec ∃-is-prop γ₂ where R = cal-R (f , α) γ₁ : Σ (ε₁₊@(ε₁ , 0<ε₁) , (ε₂ , _)) ꞉ ℚ₊ × ℚ₊ , f ε₁₊ < q - ε₁ - ε₂ → Σ p ꞉ ℚ , p < q × p ∈ R γ₁ ((ε₁₊@(ε₁ , 0<ε₁) , (ε₂ , 0<ε₂)) , l) = q - ε₃ , γ , γ' where ε₃ = 1/2 * ε₂ 0<ε₃ = halving-preserves-order' ε₂ 0<ε₂ γ : q - ε₃ < q γ = ℚ<-subtraction-preserves-order q ε₃ 0<ε₃ I : q - ε₁ - ε₂ = q - ε₃ - ε₁ - ε₃ I = q - ε₁ - ε₂ =⟨ ℚ+-rearrange q (- ε₁) (- ε₂) ⟩ q - ε₂ - ε₁ =⟨ ap (λ α → q - α - ε₁) (ℚ-into-half' ε₂) ⟩ q - (ε₃ + ε₃) - ε₁ =⟨ ap (λ α → q + α - ε₁) i ⟩ q + ((- ε₃) - ε₃) - ε₁ =⟨ ap (_- ε₁) (ℚ+-assoc q (- ε₃) (- ε₃) ⁻¹) ⟩ q - ε₃ - ε₃ - ε₁ =⟨ ℚ+-rearrange (q - ε₃) (- ε₁) (- ε₃) ⁻¹ ⟩ q - ε₃ - ε₁ - ε₃ ∎ where i : - (ε₃ + ε₃) = (- ε₃) - ε₃ i = ℚ-minus-dist ε₃ ε₃ ⁻¹ II : f ε₁₊ < q - ε₃ - ε₁ - ε₃ II = transport (f ε₁₊ <_) I l γ' : (q - ε₃) ∈ R γ' = ∣ (ε₁₊ , ε₃ , 0<ε₃) , II ∣ γ₂ : Σ p ꞉ ℚ , p < q × p ∈ R → ∃ (ε₁₊@(ε₁ , 0<ε₁) , (ε₂ , _)) ꞉ ℚ₊ × ℚ₊ , f ε₁₊ < q - ε₁ - ε₂ γ₂ (p , p<q , l) = ∥∥-functor γ l where γ : Σ (ε₁₊@(ε₁ , 0<ε₁) , (ε₂ , _)) ꞉ ℚ₊ × ℚ₊ , f ε₁₊ < p - ε₁ - ε₂ → Σ (ε₁₊@(ε₁ , 0<ε₁) , (ε₂ , _)) ꞉ ℚ₊ × ℚ₊ , f ε₁₊ < q - ε₁ - ε₂ γ ((ε₁₊@(ε₁ , 0<ε₁) , (ε₂ , 0<ε₂)) , l') = (ε₁₊ , ε₄ , 0<ε₄) , γ' where ε₃ = q - p 0<ε₃ = ℚ<-difference-positive p q p<q ε₄ = ε₃ + ε₂ 0<ε₄ = ℚ<-adding-zero ε₃ ε₂ 0<ε₃ 0<ε₂ I : p - q - ε₂ = - ε₄ I = p - q - ε₂ =⟨ ap (_- ε₂) (ℚ-minus-dist'' p q) ⟩ (- (q - p)) - ε₂ =⟨ ℚ-minus-dist (q - p) ε₂ ⟩ - ε₄ ∎ II : p - ε₁ - ε₂ = q - ε₁ - ε₄ II = p - ε₁ - ε₂ =⟨ cale-rl-lemma q p (- ε₁) (- ε₂) ⟩ q - ε₁ + (p - q - ε₂) =⟨ ap (q - ε₁ +_) I ⟩ q - ε₁ - ε₄ ∎ γ' : f ε₁₊ < q - ε₁ - ε₄ γ' = transport (f ε₁₊ <_) II l' cal-lo : (ca : cauchy-approximation) → located (cal-L ca) (cal-R ca) cal-lo (f , α) p q p<q = ∥∥-functor γ II where ε₁ = q - p 0<ε₁ = ℚ<-difference-positive p q p<q ε₂ = 1/5 * ε₁ 0<ε₂ = ℚ<-pos-multiplication-preserves-order 1/5 ε₁ 0<1/5 0<ε₁ ε₂₊ = ε₂ , 0<ε₂ I : p + ε₂ + ε₂ < q - ε₂ - ε₂ I = cale-lo-lemma p q p<q II : (p + ε₂ + ε₂ < f ε₂₊) ∨ (f ε₂₊ < q - ε₂ - ε₂) II = ℝ-locatedness (f (ε₂ , 0<ε₂)) (p + ε₂ + ε₂) (q - ε₂ - ε₂) I γ : (p + ε₂ + ε₂ < f ε₂₊) ∔ (f ε₂₊ < q - ε₂ - ε₂) → p ∈ cal-L (f , α) ∔ q ∈ cal-R (f , α) γ (inl l) = inl ∣ ((ε₂ , 0<ε₂) , (ε₂ , 0<ε₂)) , l ∣ γ (inr r) = inr ∣ ((ε₂ , 0<ε₂) , (ε₂ , 0<ε₂)) , r ∣ cal-di : (ca : cauchy-approximation) → disjoint (cal-L ca) (cal-R ca) cal-di (f , α) = disjoint→trans L R (cal-lo (f , α)) γ where L = cal-L (f , α) R = cal-R (f , α) γ : (p : ℚ) → ¬ (p ∈ L × p ∈ R) γ p (p<y , y<p) = ∥∥-rec 𝟘-is-prop γ' (binary-choice p<y y<p) where γ' : (Σ (ε₁₊@(ε₁ , 0<ε₁) , (ε₂ , _)) ꞉ ℚ₊ × ℚ₊ , (p + ε₁ + ε₂) < f ε₁₊) × (Σ (ε₃₊@(ε₃ , 0<ε₃) , (ε₄ , _)) ꞉ ℚ₊ × ℚ₊ , f ε₃₊ < (p - ε₃ - ε₄)) → 𝟘 γ' ( ((ε₁₊@(ε₁ , 0<ε₁) , (ε₂ , 0<ε₂)) , l₁) , ((ε₃₊@(ε₃ , 0<ε₃) , (ε₄ , 0<ε₄)) , l₂)) = γ₂ where γ₁ : Σ (a , b) ꞉ ℚ × ℚ , (a < f (ε₁ , 0<ε₁) < b) × (a < f (ε₃ , 0<ε₃) < b) × abs (a - b) < ε₁ + ε₃ → 𝟘 γ₁ ((a , b) , (l₃ , l₄) , (l₅ , l₆) , l₇) = γ'' where ε₅ = ε₂ + ε₄ 0<ε₅ = ℚ<-adding-zero ε₂ ε₄ 0<ε₂ 0<ε₄ a<b : a < b a<b = disjoint-from-real (f ε₁₊) a b (l₃ , l₄) I : p + ε₁ + ε₂ < b I = disjoint-from-real (f ε₁₊) (p + ε₁ + ε₂) b (l₁ , l₄) II : a < p - ε₃ - ε₄ II = disjoint-from-real (f ε₃₊) a (p - ε₃ - ε₄) (l₅ , l₂) III : - (p - ε₃ - ε₄) < - a III = ℚ<-swap a (p - ε₃ - ε₄) II IV : p + ε₁ + ε₂ - (p - ε₃ - ε₄) < b - a IV = ℚ<-adding (p + ε₁ + ε₂) b (- (p - ε₃ - ε₄)) (- a) I III V : 0ℚ < b - a V = ℚ<-difference-positive a b a<b VI : abs (a - b) = b - a VI = ℚ<-to-abs' a b a<b VII : b - a < ε₁ + ε₃ VII = transport (_< ε₁ + ε₃) VI l₇ VIII : p + ε₁ + ε₂ - (p - ε₃ - ε₄) < ε₁ + ε₃ VIII = ℚ<-trans (p + ε₁ + ε₂ - (p - ε₃ - ε₄)) (b - a) (ε₁ + ε₃) IV VII IX : p + ε₁ + ε₂ - (p - ε₃ - ε₄) = ε₂ + ε₄ + (ε₁ + ε₃) IX = cale-di-lemma₁ p ε₁ ε₂ ε₃ ε₄ X : ε₂ + ε₄ + (ε₁ + ε₃) < ε₁ + ε₃ X = transport (_< ε₁ + ε₃) IX VIII XI : ε₂ + ε₄ < 0ℚ XI = ℚ<-subtraction-order' (ε₂ + ε₄) (ε₁ + ε₃) X XII : 0ℚ < 0ℚ XII = ℚ<-trans 0ℚ (ε₂ + ε₄) 0ℚ 0<ε₅ XI γ'' : 𝟘 γ'' = ℚ<-irrefl 0ℚ XII γ₂ : 𝟘 γ₂ = ∥∥-rec 𝟘-is-prop γ₁ (α ε₁₊ ε₃₊) ca-limit : (ca : cauchy-approximation) → ℝ ca-limit ca = (L , R) , il , ir , rl , rr , di , lo where L = cal-L ca R = cal-R ca il : inhabited-left L il = cal-il ca ir : inhabited-right R ir = cal-ir ca rl : rounded-left L rl = cal-rl ca rr : rounded-right R rr = cal-rr ca lo : located L R lo = cal-lo ca di : disjoint L R di = cal-di ca ca-limit-is-limit : (ca : cauchy-approximation) → cauchy-approximation-limit ca ca-limit-is-limit (f , α) = y , y-is-limit where y = ca-limit (f , α) y-is-limit : (ε₁ ε₂ : ℚ₊) → B-ℝ (f ε₁) y (ε₁ ℚ₊+ ε₂) y-is-limit ε₁₊@(ε₁ , 0<ε₁) ε₂₊@(ε₂ , 0<ε₂) = ∥∥-rec ∃-is-prop γ I where ε₃ = 1/2 * ε₂ 0<ε₃ = halving-preserves-order' ε₂ 0<ε₂ ε₄ = ε₁ + ε₃ 0<ε₄ = ℚ<-adding-zero ε₁ ε₃ 0<ε₁ 0<ε₃ I : ∃ (p , q) ꞉ ℚ × ℚ , (p < f ε₁₊ < q) × (0ℚ < q - p < ε₃) I = ℝ-arithmetically-located' (f ε₁₊) (ε₃ , 0<ε₃) γ : Σ (p , q) ꞉ ℚ × ℚ , (p < f ε₁₊ < q) × (0ℚ < q - p < ε₃) → ∃ (p , r) ꞉ ℚ × ℚ , (p < (f ε₁₊) < r) × (p < y < r) × B-ℚ p r (ε₁₊ ℚ₊+ ε₂₊) γ ((p , q) , (l₁ , l₂) , (l₃ , l₄)) = ∥∥-functor γ₁ γ₂ where p<q : p < q p<q = disjoint-from-real (f ε₁₊) p q (l₁ , l₂) II : q < q + ε₁ + ε₃ II = ℚ-addition-order q ε₁ ε₃ 0<ε₄ III : f ε₁₊ < q + ε₁ + ε₃ - ε₁ - ε₃ III = transport (f ε₁₊ <_) (ℚ-add-zero-twice'' q ε₁ ε₃) l₂ IV : p - ε₁ - ε₃ + ε₁ + ε₃ < f ε₁₊ IV = transport (_< f ε₁₊) (ℚ-add-zero-twice''' p ε₁ ε₃) l₁ V : (p - ε₁ - ε₃) <ℚ p V = ℚ-subtraction-order p ε₁ ε₃ 0<ε₄ l₅ : f ε₁₊ < q + ε₁ + ε₃ l₅ = use-rounded-real-R (f ε₁₊) q (q + ε₁ + ε₃) II l₂ l₆ : y < q + ε₁ + ε₃ l₆ = ∣ (ε₁₊ , ε₃ , 0<ε₃) , III ∣ l₇ : p - ε₁ - ε₃ < f ε₁₊ l₇ = use-rounded-real-L (f ε₁₊) (p - ε₁ - ε₃) p V l₁ l₈ : p - ε₁ - ε₃ < y l₈ = ∣ (ε₁₊ , ε₃ , 0<ε₃) , IV ∣ VI : ε₁ + ε₃ < ε₁ + ε₂ VI = cal-lim-lemma₁ ε₁ ε₂ 0<ε₂ γ' : abs (p - ε₁ - ε₃ - q) < ε₁ + ε₂ γ' = cal-lim-lemma₂ p q ε₁ ε₂ p<q l₄ 0<ε₁ 0<ε₂ γ'' : abs (p - (q + ε₁ + ε₃)) < ε₁ + ε₂ γ'' = cal-lim-lemma₃ p q ε₁ ε₂ p<q l₄ 0<ε₁ 0<ε₂ γ₁ : (p < y) ∔ (y < q) → Σ (p , r) ꞉ ℚ × ℚ , (p < f ε₁₊ < r) × (p < y < r) × B-ℚ p r (ε₁₊ ℚ₊+ ε₂₊) γ₁ (inl p<y) = (p , q + ε₁ + ε₃) , (l₁ , l₅) , (p<y , l₆) , γ'' γ₁ (inr y<q) = (p - ε₁ - ε₃ , q) , (l₇ , l₂) , (l₈ , y<q) , γ' γ₂ : (p < y) ∨ (y < q) γ₂ = ℝ-locatedness y p q p<q ℝ-CauchySequence : (S : ℕ → ℝ) → 𝓤₀ ̇ ℝ-CauchySequence = cauchy-sequence ℝ ℝ-metric-space δc⦅⦆ : (S : ℕ → ℝ) → (RCS : ℝ-CauchySequence S) → ℚ₊ → ℕ δc⦅⦆ S RCS ε = pr₁ (RCS ε) δc⦅⦆-ic : (S : ℕ → ℝ) → (RCS : ℝ-CauchySequence S) → (ε : ℚ₊) → (m n : ℕ) → let δ = δc⦅⦆ S RCS ε in δ ≤ m → δ ≤ n → B-ℝ (S m) (S n) ε δc⦅⦆-ic S RCS ε = pr₂ (RCS ε) modulus-convergent-property : (S : ℕ → ℝ) → (RCS : ℝ-CauchySequence S) → (ε₁ ε₂ : ℚ₊) → let f = δc⦅⦆ S RCS in B-ℝ (S (f (1/2* ε₁))) (S (f (1/2* ε₂))) (1/2* (ε₁ ℚ₊+ ε₂)) modulus-convergent-property S RCS ε₁₊@(ε₁ , _) ε₂₊@(ε₂ , _) = γ where M = δc⦅⦆ S RCS (1/2* ε₁₊) N = δc⦅⦆ S RCS (1/2* ε₂₊) L = ℕmax M N M≤M = ≤-refl M N≤N = ≤-refl N M≤L = max-≤-upper-bound M N N≤L = max-≤-upper-bound' N M I : B-ℝ (S M) (S L) (1/2* ε₁₊) I = δc⦅⦆-ic S RCS (1/2* ε₁₊) M L M≤M M≤L II : B-ℝ (S L) (S N) (1/2* ε₂₊) II = δc⦅⦆-ic S RCS (1/2* ε₂₊) L N N≤L N≤N III : B-ℝ (S M) (S N) ((1/2* ε₁₊) ℚ₊+ (1/2* ε₂₊)) III = ℝ-m4 (S M) (S L) (S N) (1/2* ε₁₊) (1/2* ε₂₊) I II IV : 1/2 * ε₁ + 1/2 * ε₂ = 1/2 * (ε₁ + ε₂) IV = ℚ-distributivity 1/2 ε₁ ε₂ ⁻¹ V : (1/2* ε₁₊) ℚ₊+ (1/2* ε₂₊) = 1/2* (ε₁₊ ℚ₊+ ε₂₊) V = to-subtype-= (ℚ<-is-prop 0ℚ) IV γ : B-ℝ (S M) (S N) (1/2* (ε₁₊ ℚ₊+ ε₂₊)) γ = transport (B-ℝ (S M) (S N)) V III ℝ-CauchySequenceConvergent : (S : ℕ → ℝ) → cauchy→convergent ℝ ℝ-metric-space S ℝ-CauchySequenceConvergent S RCS = γ where δ = δc⦅⦆ S RCS I : (ε₁ ε₂ : ℚ₊) → B-ℝ (S (δ (1/2* ε₁))) (S (δ (1/2* ε₂))) (1/2* (ε₁ ℚ₊+ ε₂)) I = modulus-convergent-property S RCS II : (ε : ℚ₊) (m n : ℕ) → δ ε ≤ m → δ ε ≤ n → B-ℝ (S m) (S n) ε II = δc⦅⦆-ic S RCS S' : ℚ₊ → ℝ S' ε = S (δ (1/2* ε)) S'-is-ca : (ε₁ ε₂ : ℚ₊) → B-ℝ (S' ε₁) (S' ε₂) (ε₁ ℚ₊+ ε₂) S'-is-ca ε₁₊@(ε₁ , 0<ε₁) ε₂₊@(ε₂ , 0<ε₂) = γ where l₁ : 0ℚ < ε₁ + ε₂ l₁ = ℚ<-adding-zero ε₁ ε₂ 0<ε₁ 0<ε₂ l₂ : 1/2 * (ε₁ + ε₂) < (ε₁ + ε₂) l₂ = half-of-pos-is-less (ε₁ + ε₂) l₁ γ : B-ℝ (S' ε₁₊) (S' ε₂₊) (ε₁₊ ℚ₊+ ε₂₊) γ = ℝ-m3 (S' ε₁₊) (S' ε₂₊) (1/2* (ε₁₊ ℚ₊+ ε₂₊)) (ε₁₊ ℚ₊+ ε₂₊) l₂ (I ε₁₊ ε₂₊) ca : cauchy-approximation ca = S' , S'-is-ca y : ℝ y = ca-limit ca f : (ε₁ ε₂ : ℚ₊) → B-ℝ (S' ε₁) y (ε₁ ℚ₊+ ε₂) f = pr₂ (ca-limit-is-limit ca) y-is-limit : (ε : ℚ₊) → Σ M ꞉ ℕ , ((n : ℕ) → M < n → B-ℝ y (S n) ε) y-is-limit ε@(ε' , 0<ε') = N , γ' where N = δ (1/4* ε) γ' : (n : ℕ) → N < n → B-ℝ y (S n) ε γ' n N<n = γ'' where e₁ : 1/2 * (1/2 * ε') = 1/4 * ε' e₁ = ℚ*-assoc 1/2 1/2 ε' ⁻¹ e₂ : 1/2* (1/2* ε) = 1/4 * ε' , _ e₂ = to-subtype-= (ℚ<-is-prop 0ℚ) e₁ III : B-ℝ (S (δ (1/2* (1/2* ε)))) y ((1/2* ε) ℚ₊+ (1/4* ε)) III = f (1/2* ε) (1/4* ε) IV : B-ℝ (S N) y ((1/2* ε) ℚ₊+ (1/4* ε)) IV = transport (λ ■ → B-ℝ (S (δ ■)) y ((1/2* ε) ℚ₊+ (1/4* ε))) e₂ III V : B-ℝ y (S N) ((1/2* ε) ℚ₊+ (1/4* ε)) V = ℝ-m2 (S N) y ((1/2* ε) ℚ₊+ (1/4* ε)) IV N≤N = ≤-refl N N≤n = <-coarser-than-≤ N n N<n VI : B-ℝ (S N) (S n) (1/4* ε) VI = II (1/4* ε) N n N≤N N≤n VII : B-ℝ y (S n) (((1/2* ε) ℚ₊+ (1/4* ε)) ℚ₊+ (1/4* ε)) VII = ℝ-m4 y (S N) (S n) ((1/2* ε) ℚ₊+ (1/4* ε)) (1/4* ε) V VI VIII : 1/2 * ε' + 1/4 * ε' + 1/4 * ε' = ε' VIII = 1/2 * ε' + 1/4 * ε' + 1/4 * ε' =⟨ i ⟩ 3/4 * ε' + 1/4 * ε' =⟨ ii ⟩ 1ℚ * ε' =⟨ iii ⟩ ε' ∎ where i = ap (_+ 1/4 * ε') (ℚ-distributivity' ε' 1/2 1/4 ⁻¹) ii = ℚ-distributivity' ε' 3/4 1/4 ⁻¹ iii = ℚ-mult-left-id ε' IX : (((1/2* ε) ℚ₊+ (1/4* ε)) ℚ₊+ (1/4* ε)) = ε IX = to-subtype-= (ℚ<-is-prop 0ℚ) VIII γ'' : B-ℝ y (S n) (ε' , 0<ε') γ'' = transport (B-ℝ y (S n)) IX VII γ : ∃ y ꞉ ℝ , ((ε : ℚ₊) → Σ N ꞉ ℕ , ((n : ℕ) → N < n → B-ℝ y (S n) ε)) γ = ∣ y , y-is-limit ∣ ℝ-complete-metric-space : complete-metric-space ℝ ℝ-complete-metric-space = ℝ-metric-space , ℝ-CauchySequenceConvergent \end{code}