Theorem: CauSeq.sup_eq_right
File: Mathlib/Algebra/Order/CauSeq/Basic.lean

tactic: obtain ⟨ε, ε0 : _ < _, i, h⟩ | h := h
state_before: α : Type u_1
β : Type u_2
inst✝ : LinearOrderedField α
a b : CauSeq α abs
h : a ≤ b
⊢ a ⊔ b ≈ b
state_after: case inl.intro.intro.intro
α : Type u_1
β : Type u_2
inst✝ : LinearOrderedField α
a b : CauSeq α abs
ε : α
ε0 : 0 < ε
i : ℕ
h : ∀ j ≥ i, ε ≤ ↑(b - a) j
⊢ a ⊔ b ≈ b

case inr
α : Type u_1
β : Type u_2
inst✝ : LinearOrderedField α
a b : CauSeq α abs
h : a ≈ b
⊢ a ⊔ b ≈ b

tactic: intro _ _
state_before: case inl.intro.intro.intro
α : Type u_1
β : Type u_2
inst✝ : LinearOrderedField α
a b : CauSeq α abs
ε : α
ε0 : 0 < ε
i : ℕ
h : ∀ j ≥ i, ε ≤ ↑(b - a) j
⊢ a ⊔ b ≈ b
state_after: case inl.intro.intro.intro
α : Type u_1
β : Type u_2
inst✝ : LinearOrderedField α
a b : CauSeq α abs
ε : α
ε0 : 0 < ε
i : ℕ
h : ∀ j ≥ i, ε ≤ ↑(b - a) j
ε✝ : α
a✝ : ε✝ > 0
⊢ ∃ i, ∀ j ≥ i, |↑(a ⊔ b - b) j| < ε✝

tactic: refine ⟨i, fun j hj => ?_⟩
state_before: case inl.intro.intro.intro
α : Type u_1
β : Type u_2
inst✝ : LinearOrderedField α
a b : CauSeq α abs
ε : α
ε0 : 0 < ε
i : ℕ
h : ∀ j ≥ i, ε ≤ ↑(b - a) j
ε✝ : α
a✝ : ε✝ > 0
⊢ ∃ i, ∀ j ≥ i, |↑(a ⊔ b - b) j| < ε✝
state_after: case inl.intro.intro.intro
α : Type u_1
β : Type u_2
inst✝ : LinearOrderedField α
a b : CauSeq α abs
ε : α
ε0 : 0 < ε
i : ℕ
h : ∀ j ≥ i, ε ≤ ↑(b - a) j
ε✝ : α
a✝ : ε✝ > 0
j : ℕ
hj : j ≥ i
⊢ |↑(a ⊔ b - b) j| < ε✝

tactic: dsimp
state_before: case inl.intro.intro.intro
α : Type u_1
β : Type u_2
inst✝ : LinearOrderedField α
a b : CauSeq α abs
ε : α
ε0 : 0 < ε
i : ℕ
h : ∀ j ≥ i, ε ≤ ↑(b - a) j
ε✝ : α
a✝ : ε✝ > 0
j : ℕ
hj : j ≥ i
⊢ |↑(a ⊔ b - b) j| < ε✝
state_after: case inl.intro.intro.intro
α : Type u_1
β : Type u_2
inst✝ : LinearOrderedField α
a b : CauSeq α abs
ε : α
ε0 : 0 < ε
i : ℕ
h : ∀ j ≥ i, ε ≤ ↑(b - a) j
ε✝ : α
a✝ : ε✝ > 0
j : ℕ
hj : j ≥ i
⊢ |↑a j ⊔ ↑b j - ↑b j| < ε✝

tactic: erw [← max_sub_sub_right]
state_before: case inl.intro.intro.intro
α : Type u_1
β : Type u_2
inst✝ : LinearOrderedField α
a b : CauSeq α abs
ε : α
ε0 : 0 < ε
i : ℕ
h : ∀ j ≥ i, ε ≤ ↑(b - a) j
ε✝ : α
a✝ : ε✝ > 0
j : ℕ
hj : j ≥ i
⊢ |↑a j ⊔ ↑b j - ↑b j| < ε✝
state_after: case inl.intro.intro.intro
α : Type u_1
β : Type u_2
inst✝ : LinearOrderedField α
a b : CauSeq α abs
ε : α
ε0 : 0 < ε
i : ℕ
h : ∀ j ≥ i, ε ≤ ↑(b - a) j
ε✝ : α
a✝ : ε✝ > 0
j : ℕ
hj : j ≥ i
⊢ |max (↑a j - ↑b j) (↑b j - ↑b j)| < ε✝

tactic: rwa [sub_self, max_eq_right, abs_zero]
state_before: case inl.intro.intro.intro
α : Type u_1
β : Type u_2
inst✝ : LinearOrderedField α
a b : CauSeq α abs
ε : α
ε0 : 0 < ε
i : ℕ
h : ∀ j ≥ i, ε ≤ ↑(b - a) j
ε✝ : α
a✝ : ε✝ > 0
j : ℕ
hj : j ≥ i
⊢ |max (↑a j - ↑b j) (↑b j - ↑b j)| < ε✝
state_after: case inl.intro.intro.intro
α : Type u_1
β : Type u_2
inst✝ : LinearOrderedField α
a b : CauSeq α abs
ε : α
ε0 : 0 < ε
i : ℕ
h : ∀ j ≥ i, ε ≤ ↑(b - a) j
ε✝ : α
a✝ : ε✝ > 0
j : ℕ
hj : j ≥ i
⊢ ↑a j - ↑b j ≤ 0

tactic: rw [sub_nonpos, ← sub_nonneg]
state_before: case inl.intro.intro.intro
α : Type u_1
β : Type u_2
inst✝ : LinearOrderedField α
a b : CauSeq α abs
ε : α
ε0 : 0 < ε
i : ℕ
h : ∀ j ≥ i, ε ≤ ↑(b - a) j
ε✝ : α
a✝ : ε✝ > 0
j : ℕ
hj : j ≥ i
⊢ ↑a j - ↑b j ≤ 0
state_after: case inl.intro.intro.intro
α : Type u_1
β : Type u_2
inst✝ : LinearOrderedField α
a b : CauSeq α abs
ε : α
ε0 : 0 < ε
i : ℕ
h : ∀ j ≥ i, ε ≤ ↑(b - a) j
ε✝ : α
a✝ : ε✝ > 0
j : ℕ
hj : j ≥ i
⊢ 0 ≤ ↑b j - ↑a j

tactic: exact ε0.le.trans (h _ hj)
state_before: case inl.intro.intro.intro
α : Type u_1
β : Type u_2
inst✝ : LinearOrderedField α
a b : CauSeq α abs
ε : α
ε0 : 0 < ε
i : ℕ
h : ∀ j ≥ i, ε ≤ ↑(b - a) j
ε✝ : α
a✝ : ε✝ > 0
j : ℕ
hj : j ≥ i
⊢ 0 ≤ ↑b j - ↑a j
state_after: no goals

tactic: refine Setoid.trans (sup_equiv_sup h (Setoid.refl _)) ?_
state_before: case inr
α : Type u_1
β : Type u_2
inst✝ : LinearOrderedField α
a b : CauSeq α abs
h : a ≈ b
⊢ a ⊔ b ≈ b
state_after: case inr
α : Type u_1
β : Type u_2
inst✝ : LinearOrderedField α
a b : CauSeq α abs
h : a ≈ b
⊢ b ⊔ b ≈ b

tactic: rw [CauSeq.sup_idem]
state_before: case inr
α : Type u_1
β : Type u_2
inst✝ : LinearOrderedField α
a b : CauSeq α abs
h : a ≈ b
⊢ b ⊔ b ≈ b
state_after: no goals