x y : ℝ
f : CauSeq ℚ abs
h : ∃ i, ∀ (j : ℕ), j ≥ i → x ≤ ↑(↑f j)
⊢ x ≤ mk f
x y : ℝ
f : CauSeq ℚ abs
⊢ (∃ i, ∀ (j : ℕ), j ≥ i → x ≤ ↑(↑f j)) → x ≤ mk f
intro h
case h
x✝ y : ℝ
f : CauSeq ℚ abs
h✝ : ∃ i, ∀ (j : ℕ), j ≥ i → x✝ ≤ ↑(↑f j)
x : CauSeq ℚ abs
h : ∃ i, ∀ (j : ℕ), j ≥ i → mk x ≤ ↑(↑f j)
⊢ mk x ≤ mk f
x y : ℝ
f : CauSeq ℚ abs
h : ∃ i, ∀ (j : ℕ), j ≥ i → x ≤ ↑(↑f j)
⊢ x ≤ mk f
induction' x using Real.ind_mk with x
case h.h
x✝ y : ℝ
f : CauSeq ℚ abs
h✝ : ∃ i, ∀ (j : ℕ), j ≥ i → x✝ ≤ ↑(↑f j)
x : CauSeq ℚ abs
h : ∃ i, ∀ (j : ℕ), j ≥ i → mk x ≤ ↑(↑f j)
⊢ ¬mk f < mk x
case h
x✝ y : ℝ
f : CauSeq ℚ abs
h✝ : ∃ i, ∀ (j : ℕ), j ≥ i → x✝ ≤ ↑(↑f j)
x : CauSeq ℚ abs
h : ∃ i, ∀ (j : ℕ), j ≥ i → mk x ≤ ↑(↑f j)
⊢ mk x ≤ mk f
apply le_of_not_lt
case h.h
x✝ y : ℝ
f : CauSeq ℚ abs
h✝ : ∃ i, ∀ (j : ℕ), j ≥ i → x✝ ≤ ↑(↑f j)
x : CauSeq ℚ abs
h : ∃ i, ∀ (j : ℕ), j ≥ i → mk x ≤ ↑(↑f j)
⊢ ¬f < x
case h.h
x✝ y : ℝ
f : CauSeq ℚ abs
h✝ : ∃ i, ∀ (j : ℕ), j ≥ i → x✝ ≤ ↑(↑f j)
x : CauSeq ℚ abs
h : ∃ i, ∀ (j : ℕ), j ≥ i → mk x ≤ ↑(↑f j)
⊢ ¬mk f < mk x
rw [mk_lt]
case h.h.intro.intro
x✝ y : ℝ
f : CauSeq ℚ abs
h✝ : ∃ i, ∀ (j : ℕ), j ≥ i → x✝ ≤ ↑(↑f j)
x : CauSeq ℚ abs
h : ∃ i, ∀ (j : ℕ), j ≥ i → mk x ≤ ↑(↑f j)
K : ℚ
K0 : K > 0
hK : ∃ i, ∀ (j : ℕ), j ≥ i → K ≤ ↑(x - f) j
⊢ False
case h.h
x✝ y : ℝ
f : CauSeq ℚ abs
h✝ : ∃ i, ∀ (j : ℕ), j ≥ i → x✝ ≤ ↑(↑f j)
x : CauSeq ℚ abs
h : ∃ i, ∀ (j : ℕ), j ≥ i → mk x ≤ ↑(↑f j)
⊢ ¬f < x
rintro ⟨K, K0, hK⟩
case h.h.intro.intro.intro
x✝ y : ℝ
f : CauSeq ℚ abs
h✝ : ∃ i, ∀ (j : ℕ), j ≥ i → x✝ ≤ ↑(↑f j)
x : CauSeq ℚ abs
h : ∃ i, ∀ (j : ℕ), j ≥ i → mk x ≤ ↑(↑f j)
K : ℚ
K0 : K > 0
hK : ∃ i, ∀ (j : ℕ), j ≥ i → K ≤ ↑(x - f) j
i : ℕ
H : ∀ (j : ℕ), j ≥ i → mk x ≤ ↑(↑f j) ∧ K ≤ ↑(x - f) j ∧ ∀ (k : ℕ), k ≥ j → abs (↑f k - ↑f j) < K / 2
⊢ False
case h.h.intro.intro
x✝ y : ℝ
f : CauSeq ℚ abs
h✝ : ∃ i, ∀ (j : ℕ), j ≥ i → x✝ ≤ ↑(↑f j)
x : CauSeq ℚ abs
h : ∃ i, ∀ (j : ℕ), j ≥ i → mk x ≤ ↑(↑f j)
K : ℚ
K0 : K > 0
hK : ∃ i, ∀ (j : ℕ), j ≥ i → K ≤ ↑(x - f) j
⊢ False
obtain ⟨i, H⟩ := exists_forall_ge_and h (exists_forall_ge_and hK (f.cauchy₃ <| half_pos K0))
case h.h.intro.intro.intro
x✝ y : ℝ
f : CauSeq ℚ abs
h✝ : ∃ i, ∀ (j : ℕ), j ≥ i → x✝ ≤ ↑(↑f j)
x : CauSeq ℚ abs
h : ∃ i, ∀ (j : ℕ), j ≥ i → mk x ≤ ↑(↑f j)
K : ℚ
K0 : K > 0
hK : ∃ i, ∀ (j : ℕ), j ≥ i → K ≤ ↑(x - f) j
i : ℕ
H : ∀ (j : ℕ), j ≥ i → mk x ≤ ↑(↑f j) ∧ K ≤ ↑(x - f) j ∧ ∀ (k : ℕ), k ≥ j → abs (↑f k - ↑f j) < K / 2
⊢ ↑(↑f i) < mk x
case h.h.intro.intro.intro
x✝ y : ℝ
f : CauSeq ℚ abs
h✝ : ∃ i, ∀ (j : ℕ), j ≥ i → x✝ ≤ ↑(↑f j)
x : CauSeq ℚ abs
h : ∃ i, ∀ (j : ℕ), j ≥ i → mk x ≤ ↑(↑f j)
K : ℚ
K0 : K > 0
hK : ∃ i, ∀ (j : ℕ), j ≥ i → K ≤ ↑(x - f) j
i : ℕ
H : ∀ (j : ℕ), j ≥ i → mk x ≤ ↑(↑f j) ∧ K ≤ ↑(x - f) j ∧ ∀ (k : ℕ), k ≥ j → abs (↑f k - ↑f j) < K / 2
⊢ False
apply not_lt_of_le (H _ le_rfl).1
case h.h.intro.intro.intro
x✝ y : ℝ
f : CauSeq ℚ abs
h✝ : ∃ i, ∀ (j : ℕ), j ≥ i → x✝ ≤ ↑(↑f j)
x : CauSeq ℚ abs
h : ∃ i, ∀ (j : ℕ), j ≥ i → mk x ≤ ↑(↑f j)
K : ℚ
K0 : K > 0
hK : ∃ i, ∀ (j : ℕ), j ≥ i → K ≤ ↑(x - f) j
i : ℕ
H : ∀ (j : ℕ), j ≥ i → mk x ≤ ↑(↑f j) ∧ K ≤ ↑(x - f) j ∧ ∀ (k : ℕ), k ≥ j → abs (↑f k - ↑f j) < K / 2
⊢ const abs ↑(↑f i) < x
case h.h.intro.intro.intro
x✝ y : ℝ
f : CauSeq ℚ abs
h✝ : ∃ i, ∀ (j : ℕ), j ≥ i → x✝ ≤ ↑(↑f j)
x : CauSeq ℚ abs
h : ∃ i, ∀ (j : ℕ), j ≥ i → mk x ≤ ↑(↑f j)
K : ℚ
K0 : K > 0
hK : ∃ i, ∀ (j : ℕ), j ≥ i → K ≤ ↑(x - f) j
i : ℕ
H : ∀ (j : ℕ), j ≥ i → mk x ≤ ↑(↑f j) ∧ K ≤ ↑(x - f) j ∧ ∀ (k : ℕ), k ≥ j → abs (↑f k - ↑f j) < K / 2
⊢ ↑(↑f i) < mk x
erw [mk_lt]
case h.h.intro.intro.intro
x✝ y : ℝ
f : CauSeq ℚ abs
h✝ : ∃ i, ∀ (j : ℕ), j ≥ i → x✝ ≤ ↑(↑f j)
x : CauSeq ℚ abs
h : ∃ i, ∀ (j : ℕ), j ≥ i → mk x ≤ ↑(↑f j)
K : ℚ
K0 : K > 0
hK : ∃ i, ∀ (j : ℕ), j ≥ i → K ≤ ↑(x - f) j
i : ℕ
H : ∀ (j : ℕ), j ≥ i → mk x ≤ ↑(↑f j) ∧ K ≤ ↑(x - f) j ∧ ∀ (k : ℕ), k ≥ j → abs (↑f k - ↑f j) < K / 2
j : ℕ
ij : j ≥ i
⊢ K / 2 ≤ ↑(x - const abs ↑(↑f i)) j
case h.h.intro.intro.intro
x✝ y : ℝ
f : CauSeq ℚ abs
h✝ : ∃ i, ∀ (j : ℕ), j ≥ i → x✝ ≤ ↑(↑f j)
x : CauSeq ℚ abs
h : ∃ i, ∀ (j : ℕ), j ≥ i → mk x ≤ ↑(↑f j)
K : ℚ
K0 : K > 0
hK : ∃ i, ∀ (j : ℕ), j ≥ i → K ≤ ↑(x - f) j
i : ℕ
H : ∀ (j : ℕ), j ≥ i → mk x ≤ ↑(↑f j) ∧ K ≤ ↑(x - f) j ∧ ∀ (k : ℕ), k ≥ j → abs (↑f k - ↑f j) < K / 2
⊢ const abs ↑(↑f i) < x
refine' ⟨_, half_pos K0, i, fun j ij => _⟩
case h.h.intro.intro.intro
x✝ y : ℝ
f : CauSeq ℚ abs
h✝ : ∃ i, ∀ (j : ℕ), j ≥ i → x✝ ≤ ↑(↑f j)
x : CauSeq ℚ abs
h : ∃ i, ∀ (j : ℕ), j ≥ i → mk x ≤ ↑(↑f j)
K : ℚ
K0 : K > 0
hK : ∃ i, ∀ (j : ℕ), j ≥ i → K ≤ ↑(x - f) j
i : ℕ
H : ∀ (j : ℕ), j ≥ i → mk x ≤ ↑(↑f j) ∧ K ≤ ↑(x - f) j ∧ ∀ (k : ℕ), k ≥ j → abs (↑f k - ↑f j) < K / 2
j : ℕ
ij : j ≥ i
this : K + -(K / 2) ≤ ↑(x - f) j + (↑f j - ↑f i)
⊢ K / 2 ≤ ↑(x - const abs ↑(↑f i)) j
case h.h.intro.intro.intro
x✝ y : ℝ
f : CauSeq ℚ abs
h✝ : ∃ i, ∀ (j : ℕ), j ≥ i → x✝ ≤ ↑(↑f j)
x : CauSeq ℚ abs
h : ∃ i, ∀ (j : ℕ), j ≥ i → mk x ≤ ↑(↑f j)
K : ℚ
K0 : K > 0
hK : ∃ i, ∀ (j : ℕ), j ≥ i → K ≤ ↑(x - f) j
i : ℕ
H : ∀ (j : ℕ), j ≥ i → mk x ≤ ↑(↑f j) ∧ K ≤ ↑(x - f) j ∧ ∀ (k : ℕ), k ≥ j → abs (↑f k - ↑f j) < K / 2
j : ℕ
ij : j ≥ i
⊢ K / 2 ≤ ↑(x - const abs ↑(↑f i)) j
have := add_le_add (H _ ij).2.1 (le_of_lt (abs_lt.1 <| (H _ le_rfl).2.2 _ ij).1)
no goals
case h.h.intro.intro.intro
x✝ y : ℝ
f : CauSeq ℚ abs
h✝ : ∃ i, ∀ (j : ℕ), j ≥ i → x✝ ≤ ↑(↑f j)
x : CauSeq ℚ abs
h : ∃ i, ∀ (j : ℕ), j ≥ i → mk x ≤ ↑(↑f j)
K : ℚ
K0 : K > 0
hK : ∃ i, ∀ (j : ℕ), j ≥ i → K ≤ ↑(x - f) j
i : ℕ
H : ∀ (j : ℕ), j ≥ i → mk x ≤ ↑(↑f j) ∧ K ≤ ↑(x - f) j ∧ ∀ (k : ℕ), k ≥ j → abs (↑f k - ↑f j) < K / 2
j : ℕ
ij : j ≥ i
this : K + -(K / 2) ≤ ↑(x - f) j + (↑f j - ↑f i)
⊢ K / 2 ≤ ↑(x - const abs ↑(↑f i)) j
rwa [← sub_eq_add_neg, sub_self_div_two, sub_apply, sub_add_sub_cancel] at this