Theorem: CauSeq.tendsto_limit
File: Mathlib/Topology/MetricSpace/CauSeqFilter.lean

tactic: intro s os lfs
state_before: β : Type v
inst✝¹ : NormedRing β
hn : IsAbsoluteValue norm
f : CauSeq β norm
inst✝ : IsComplete β norm
⊢ ∀ (s : Set β), IsOpen s → lim f ∈ s → ↑f ⁻¹' s ∈ atTop

tactic: suffices ∃ a : ℕ, ∀ b : ℕ, b ≥ a → f b ∈ s by simpa using this
state_before: β : Type v
inst✝¹ : NormedRing β
hn : IsAbsoluteValue norm
f : CauSeq β norm
inst✝ : IsComplete β norm
s : Set β
os : IsOpen s
lfs : lim f ∈ s
⊢ ↑f ⁻¹' s ∈ atTop

tactic: rcases Metric.isOpen_iff.1 os _ lfs with ⟨ε, ⟨hε, hεs⟩⟩
state_before: β : Type v
inst✝¹ : NormedRing β
hn : IsAbsoluteValue norm
f : CauSeq β norm
inst✝ : IsComplete β norm
s : Set β
os : IsOpen s
lfs : lim f ∈ s
⊢ ∃ a, ∀ (b : ℕ), b ≥ a → ↑f b ∈ s

tactic: cases' Setoid.symm (CauSeq.equiv_lim f) _ hε with N hN
state_before: case intro.intro
β : Type v
inst✝¹ : NormedRing β
hn : IsAbsoluteValue norm
f : CauSeq β norm
inst✝ : IsComplete β norm
s : Set β
os : IsOpen s
lfs : lim f ∈ s
ε : ℝ
hε : ε > 0
hεs : Metric.ball (lim f) ε ⊆ s
⊢ ∃ a, ∀ (b : ℕ), b ≥ a → ↑f b ∈ s

tactic: exists N
state_before: case intro.intro.intro
β : Type v
inst✝¹ : NormedRing β
hn : IsAbsoluteValue norm
f : CauSeq β norm
inst✝ : IsComplete β norm
s : Set β
os : IsOpen s
lfs : lim f ∈ s
ε : ℝ
hε : ε > 0
hεs : Metric.ball (lim f) ε ⊆ s
N : ℕ
hN : ∀ (j : ℕ), j ≥ N → ‖↑(const norm (lim f) - f) j‖ < ε
⊢ ∃ a, ∀ (b : ℕ), b ≥ a → ↑f b ∈ s

tactic: intro b hb
state_before: case intro.intro.intro
β : Type v
inst✝¹ : NormedRing β
hn : IsAbsoluteValue norm
f : CauSeq β norm
inst✝ : IsComplete β norm
s : Set β
os : IsOpen s
lfs : lim f ∈ s
ε : ℝ
hε : ε > 0
hεs : Metric.ball (lim f) ε ⊆ s
N : ℕ
hN : ∀ (j : ℕ), j ≥ N → ‖↑(const norm (lim f) - f) j‖ < ε
⊢ ∀ (b : ℕ), b ≥ N → ↑f b ∈ s

tactic: apply hεs
state_before: case intro.intro.intro
β : Type v
inst✝¹ : NormedRing β
hn : IsAbsoluteValue norm
f : CauSeq β norm
inst✝ : IsComplete β norm
s : Set β
os : IsOpen s
lfs : lim f ∈ s
ε : ℝ
hε : ε > 0
hεs : Metric.ball (lim f) ε ⊆ s
N : ℕ
hN : ∀ (j : ℕ), j ≥ N → ‖↑(const norm (lim f) - f) j‖ < ε
b : ℕ
hb : b ≥ N
⊢ ↑f b ∈ s

tactic: dsimp [Metric.ball]
state_before: case intro.intro.intro.a
β : Type v
inst✝¹ : NormedRing β
hn : IsAbsoluteValue norm
f : CauSeq β norm
inst✝ : IsComplete β norm
s : Set β
os : IsOpen s
lfs : lim f ∈ s
ε : ℝ
hε : ε > 0
hεs : Metric.ball (lim f) ε ⊆ s
N : ℕ
hN : ∀ (j : ℕ), j ≥ N → ‖↑(const norm (lim f) - f) j‖ < ε
b : ℕ
hb : b ≥ N
⊢ ↑f b ∈ Metric.ball (lim f) ε

tactic: rw [dist_comm, dist_eq_norm]
state_before: case intro.intro.intro.a
β : Type v
inst✝¹ : NormedRing β
hn : IsAbsoluteValue norm
f : CauSeq β norm
inst✝ : IsComplete β norm
s : Set β
os : IsOpen s
lfs : lim f ∈ s
ε : ℝ
hε : ε > 0
hεs : Metric.ball (lim f) ε ⊆ s
N : ℕ
hN : ∀ (j : ℕ), j ≥ N → ‖↑(const norm (lim f) - f) j‖ < ε
b : ℕ
hb : b ≥ N
⊢ dist (↑f b) (lim f) < ε

tactic: solve_by_elim
state_before: case intro.intro.intro.a
β : Type v
inst✝¹ : NormedRing β
hn : IsAbsoluteValue norm
f : CauSeq β norm
inst✝ : IsComplete β norm
s : Set β
os : IsOpen s
lfs : lim f ∈ s
ε : ℝ
hε : ε > 0
hεs : Metric.ball (lim f) ε ⊆ s
N : ℕ
hN : ∀ (j : ℕ), j ≥ N → ‖↑(const norm (lim f) - f) j‖ < ε
b : ℕ
hb : b ≥ N
⊢ ‖lim f - ↑f b‖ < ε

tactic: simpa using this
state_before: β : Type v
inst✝¹ : NormedRing β
hn : IsAbsoluteValue norm
f : CauSeq β norm
inst✝ : IsComplete β norm
s : Set β
os : IsOpen s
lfs : lim f ∈ s
this : ∃ a, ∀ (b : ℕ), b ≥ a → ↑f b ∈ s
⊢ ↑f ⁻¹' s ∈ atTop