File tree Expand file tree Collapse file tree 2 files changed +27
-2
lines changed
Expand file tree Collapse file tree 2 files changed +27
-2
lines changed Original file line number Diff line number Diff line change @@ -42,7 +42,7 @@ theorem abs_eq_abs (x: ℚ) : abs x = |x| := by
4242abbrev dist (x y : ℚ) := |x - y|
4343
4444/-- Definition 4.2 (Distance). We avoid the Mathlib notion of distance here because it is real-valued. -/
45- theorem dist_eq (x y: ℚ) : dist x y = |x-y| := by simp [Rat.dist_eq]
45+ theorem dist_eq (x y: ℚ) : dist x y = |x-y| := rfl
4646
4747/-- Proposition 4.3.3(a) / Exercise 4.3.1 -/
4848theorem abs_nonneg (x: ℚ) : |x| ≥ 0 := by sorry
Original file line number Diff line number Diff line change @@ -363,7 +363,32 @@ theorem Real.lim_of_bounded_away_zero {a:ℕ → ℚ} (ha: bounded_away_zero a)
363363theorem Real.inv_of_bounded_away_zero_cauchy {a:ℕ → ℚ} (ha: bounded_away_zero a) (ha_cauchy: (a:Sequence).isCauchy) :
364364 ((a⁻¹:ℕ → ℚ):Sequence).isCauchy := by
365365 -- This proof is written to follow the structure of the original text.
366- sorry -- TODO
366+ rw [bounded_away_zero_def] at ha
367+ obtain ⟨ c, hc, ha ⟩ := ha
368+ have ha' (n:ℕ) : a n ≠ 0 := by replace ha := ha n; contrapose! ha; simp [ha, hc]
369+ simp_rw [Sequence.isCauchy_of_coe, Section_4_3.dist_eq] at ha_cauchy ⊢
370+ intro ε hε
371+ replace ha_cauchy := ha_cauchy (c^2 * ε) (by positivity)
372+ obtain ⟨ N, ha_cauchy ⟩ := ha_cauchy
373+ use N
374+ intro n m ⟨hn, hm⟩
375+ replace ha_cauchy := ha_cauchy n m ⟨hn, hm⟩
376+ calc
377+ _ = |(a m - a n) / (a m * a n)| := by
378+ congr
379+ field_simp [ha' m, ha' n]
380+ simp [mul_comm]
381+ _ ≤ |a m - a n| / c^2 := by
382+ rw [abs_div, abs_mul, sq]
383+ gcongr
384+ . exact ha m
385+ exact ha n
386+ _ = |a n - a m| / c^2 := by
387+ rw [abs_sub_comm]
388+ _ ≤ (c^2 * ε) / c^2 := by
389+ gcongr
390+ _ = ε := by
391+ field_simp [hc]
367392
368393/-- Lemma 5.3.17 (Reciprocation is well-defined) -/
369394theorem Real.inv_of_equiv {a b:ℕ → ℚ} (ha: bounded_away_zero a) (ha_cauchy: (a:Sequence).isCauchy) (hb: bounded_away_zero b) (hb_cauchy: (b:Sequence).isCauchy) (hlim: LIM a = LIM b) :
You can’t perform that action at this time.
0 commit comments