Theorem: ZeroAtInftyContinuousMapClass.norm_le
File: Mathlib/Analysis/Normed/Group/ZeroAtInfty.lean

tactic: have h := zero_at_infty f
state_before: E : Type u_1
F : Type u_2
𝓕 : Type u_3
inst✝³ : SeminormedAddGroup E
inst✝² : SeminormedAddCommGroup F
inst✝¹ : FunLike 𝓕 E F
inst✝ : ZeroAtInftyContinuousMapClass 𝓕 E F
f : 𝓕
ε : ℝ
hε : 0 < ε
⊢ ∃ r, ∀ (x : E), r < ‖x‖ → ‖f x‖ < ε
state_after: E : Type u_1
F : Type u_2
𝓕 : Type u_3
inst✝³ : SeminormedAddGroup E
inst✝² : SeminormedAddCommGroup F
inst✝¹ : FunLike 𝓕 E F
inst✝ : ZeroAtInftyContinuousMapClass 𝓕 E F
f : 𝓕
ε : ℝ
hε : 0 < ε
h : Tendsto (⇑f) (cocompact E) (𝓝 0)
⊢ ∃ r, ∀ (x : E), r < ‖x‖ → ‖f x‖ < ε

tactic: rw [tendsto_zero_iff_norm_tendsto_zero, tendsto_def] at h
state_before: E : Type u_1
F : Type u_2
𝓕 : Type u_3
inst✝³ : SeminormedAddGroup E
inst✝² : SeminormedAddCommGroup F
inst✝¹ : FunLike 𝓕 E F
inst✝ : ZeroAtInftyContinuousMapClass 𝓕 E F
f : 𝓕
ε : ℝ
hε : 0 < ε
h : Tendsto (⇑f) (cocompact E) (𝓝 0)
⊢ ∃ r, ∀ (x : E), r < ‖x‖ → ‖f x‖ < ε
state_after: E : Type u_1
F : Type u_2
𝓕 : Type u_3
inst✝³ : SeminormedAddGroup E
inst✝² : SeminormedAddCommGroup F
inst✝¹ : FunLike 𝓕 E F
inst✝ : ZeroAtInftyContinuousMapClass 𝓕 E F
f : 𝓕
ε : ℝ
hε : 0 < ε
h : ∀ s ∈ 𝓝 0, (fun x => ‖f x‖) ⁻¹' s ∈ cocompact E
⊢ ∃ r, ∀ (x : E), r < ‖x‖ → ‖f x‖ < ε

tactic: specialize h (Metric.ball 0 ε) (Metric.ball_mem_nhds 0 hε)
state_before: E : Type u_1
F : Type u_2
𝓕 : Type u_3
inst✝³ : SeminormedAddGroup E
inst✝² : SeminormedAddCommGroup F
inst✝¹ : FunLike 𝓕 E F
inst✝ : ZeroAtInftyContinuousMapClass 𝓕 E F
f : 𝓕
ε : ℝ
hε : 0 < ε
h : ∀ s ∈ 𝓝 0, (fun x => ‖f x‖) ⁻¹' s ∈ cocompact E
⊢ ∃ r, ∀ (x : E), r < ‖x‖ → ‖f x‖ < ε
state_after: E : Type u_1
F : Type u_2
𝓕 : Type u_3
inst✝³ : SeminormedAddGroup E
inst✝² : SeminormedAddCommGroup F
inst✝¹ : FunLike 𝓕 E F
inst✝ : ZeroAtInftyContinuousMapClass 𝓕 E F
f : 𝓕
ε : ℝ
hε : 0 < ε
h : (fun x => ‖f x‖) ⁻¹' Metric.ball 0 ε ∈ cocompact E
⊢ ∃ r, ∀ (x : E), r < ‖x‖ → ‖f x‖ < ε

tactic: rcases Metric.closedBall_compl_subset_of_mem_cocompact h 0 with ⟨r, hr⟩
state_before: E : Type u_1
F : Type u_2
𝓕 : Type u_3
inst✝³ : SeminormedAddGroup E
inst✝² : SeminormedAddCommGroup F
inst✝¹ : FunLike 𝓕 E F
inst✝ : ZeroAtInftyContinuousMapClass 𝓕 E F
f : 𝓕
ε : ℝ
hε : 0 < ε
h : (fun x => ‖f x‖) ⁻¹' Metric.ball 0 ε ∈ cocompact E
⊢ ∃ r, ∀ (x : E), r < ‖x‖ → ‖f x‖ < ε
state_after: case intro
E : Type u_1
F : Type u_2
𝓕 : Type u_3
inst✝³ : SeminormedAddGroup E
inst✝² : SeminormedAddCommGroup F
inst✝¹ : FunLike 𝓕 E F
inst✝ : ZeroAtInftyContinuousMapClass 𝓕 E F
f : 𝓕
ε : ℝ
hε : 0 < ε
h : (fun x => ‖f x‖) ⁻¹' Metric.ball 0 ε ∈ cocompact E
r : ℝ
hr : (Metric.closedBall 0 r)ᶜ ⊆ (fun x => ‖f x‖) ⁻¹' Metric.ball 0 ε
⊢ ∃ r, ∀ (x : E), r < ‖x‖ → ‖f x‖ < ε

tactic: use r
state_before: case intro
E : Type u_1
F : Type u_2
𝓕 : Type u_3
inst✝³ : SeminormedAddGroup E
inst✝² : SeminormedAddCommGroup F
inst✝¹ : FunLike 𝓕 E F
inst✝ : ZeroAtInftyContinuousMapClass 𝓕 E F
f : 𝓕
ε : ℝ
hε : 0 < ε
h : (fun x => ‖f x‖) ⁻¹' Metric.ball 0 ε ∈ cocompact E
r : ℝ
hr : (Metric.closedBall 0 r)ᶜ ⊆ (fun x => ‖f x‖) ⁻¹' Metric.ball 0 ε
⊢ ∃ r, ∀ (x : E), r < ‖x‖ → ‖f x‖ < ε
state_after: case h
E : Type u_1
F : Type u_2
𝓕 : Type u_3
inst✝³ : SeminormedAddGroup E
inst✝² : SeminormedAddCommGroup F
inst✝¹ : FunLike 𝓕 E F
inst✝ : ZeroAtInftyContinuousMapClass 𝓕 E F
f : 𝓕
ε : ℝ
hε : 0 < ε
h : (fun x => ‖f x‖) ⁻¹' Metric.ball 0 ε ∈ cocompact E
r : ℝ
hr : (Metric.closedBall 0 r)ᶜ ⊆ (fun x => ‖f x‖) ⁻¹' Metric.ball 0 ε
⊢ ∀ (x : E), r < ‖x‖ → ‖f x‖ < ε

tactic: intro x hr'
state_before: case h
E : Type u_1
F : Type u_2
𝓕 : Type u_3
inst✝³ : SeminormedAddGroup E
inst✝² : SeminormedAddCommGroup F
inst✝¹ : FunLike 𝓕 E F
inst✝ : ZeroAtInftyContinuousMapClass 𝓕 E F
f : 𝓕
ε : ℝ
hε : 0 < ε
h : (fun x => ‖f x‖) ⁻¹' Metric.ball 0 ε ∈ cocompact E
r : ℝ
hr : (Metric.closedBall 0 r)ᶜ ⊆ (fun x => ‖f x‖) ⁻¹' Metric.ball 0 ε
⊢ ∀ (x : E), r < ‖x‖ → ‖f x‖ < ε
state_after: case h
E : Type u_1
F : Type u_2
𝓕 : Type u_3
inst✝³ : SeminormedAddGroup E
inst✝² : SeminormedAddCommGroup F
inst✝¹ : FunLike 𝓕 E F
inst✝ : ZeroAtInftyContinuousMapClass 𝓕 E F
f : 𝓕
ε : ℝ
hε : 0 < ε
h : (fun x => ‖f x‖) ⁻¹' Metric.ball 0 ε ∈ cocompact E
r : ℝ
hr : (Metric.closedBall 0 r)ᶜ ⊆ (fun x => ‖f x‖) ⁻¹' Metric.ball 0 ε
x : E
hr' : r < ‖x‖
⊢ ‖f x‖ < ε

tactic: suffices x ∈ (fun x ↦ ‖f x‖) ⁻¹' Metric.ball 0 ε by aesop
state_before: case h
E : Type u_1
F : Type u_2
𝓕 : Type u_3
inst✝³ : SeminormedAddGroup E
inst✝² : SeminormedAddCommGroup F
inst✝¹ : FunLike 𝓕 E F
inst✝ : ZeroAtInftyContinuousMapClass 𝓕 E F
f : 𝓕
ε : ℝ
hε : 0 < ε
h : (fun x => ‖f x‖) ⁻¹' Metric.ball 0 ε ∈ cocompact E
r : ℝ
hr : (Metric.closedBall 0 r)ᶜ ⊆ (fun x => ‖f x‖) ⁻¹' Metric.ball 0 ε
x : E
hr' : r < ‖x‖
⊢ ‖f x‖ < ε
state_after: case h
E : Type u_1
F : Type u_2
𝓕 : Type u_3
inst✝³ : SeminormedAddGroup E
inst✝² : SeminormedAddCommGroup F
inst✝¹ : FunLike 𝓕 E F
inst✝ : ZeroAtInftyContinuousMapClass 𝓕 E F
f : 𝓕
ε : ℝ
hε : 0 < ε
h : (fun x => ‖f x‖) ⁻¹' Metric.ball 0 ε ∈ cocompact E
r : ℝ
hr : (Metric.closedBall 0 r)ᶜ ⊆ (fun x => ‖f x‖) ⁻¹' Metric.ball 0 ε
x : E
hr' : r < ‖x‖
⊢ x ∈ (fun x => ‖f x‖) ⁻¹' Metric.ball 0 ε

tactic: apply hr
state_before: case h
E : Type u_1
F : Type u_2
𝓕 : Type u_3
inst✝³ : SeminormedAddGroup E
inst✝² : SeminormedAddCommGroup F
inst✝¹ : FunLike 𝓕 E F
inst✝ : ZeroAtInftyContinuousMapClass 𝓕 E F
f : 𝓕
ε : ℝ
hε : 0 < ε
h : (fun x => ‖f x‖) ⁻¹' Metric.ball 0 ε ∈ cocompact E
r : ℝ
hr : (Metric.closedBall 0 r)ᶜ ⊆ (fun x => ‖f x‖) ⁻¹' Metric.ball 0 ε
x : E
hr' : r < ‖x‖
⊢ x ∈ (fun x => ‖f x‖) ⁻¹' Metric.ball 0 ε
state_after: case h.a
E : Type u_1
F : Type u_2
𝓕 : Type u_3
inst✝³ : SeminormedAddGroup E
inst✝² : SeminormedAddCommGroup F
inst✝¹ : FunLike 𝓕 E F
inst✝ : ZeroAtInftyContinuousMapClass 𝓕 E F
f : 𝓕
ε : ℝ
hε : 0 < ε
h : (fun x => ‖f x‖) ⁻¹' Metric.ball 0 ε ∈ cocompact E
r : ℝ
hr : (Metric.closedBall 0 r)ᶜ ⊆ (fun x => ‖f x‖) ⁻¹' Metric.ball 0 ε
x : E
hr' : r < ‖x‖
⊢ x ∈ (Metric.closedBall 0 r)ᶜ

tactic: aesop
state_before: case h.a
E : Type u_1
F : Type u_2
𝓕 : Type u_3
inst✝³ : SeminormedAddGroup E
inst✝² : SeminormedAddCommGroup F
inst✝¹ : FunLike 𝓕 E F
inst✝ : ZeroAtInftyContinuousMapClass 𝓕 E F
f : 𝓕
ε : ℝ
hε : 0 < ε
h : (fun x => ‖f x‖) ⁻¹' Metric.ball 0 ε ∈ cocompact E
r : ℝ
hr : (Metric.closedBall 0 r)ᶜ ⊆ (fun x => ‖f x‖) ⁻¹' Metric.ball 0 ε
x : E
hr' : r < ‖x‖
⊢ x ∈ (Metric.closedBall 0 r)ᶜ
state_after: no goals

tactic: aesop
state_before: E : Type u_1
F : Type u_2
𝓕 : Type u_3
inst✝³ : SeminormedAddGroup E
inst✝² : SeminormedAddCommGroup F
inst✝¹ : FunLike 𝓕 E F
inst✝ : ZeroAtInftyContinuousMapClass 𝓕 E F
f : 𝓕
ε : ℝ
hε : 0 < ε
h : (fun x => ‖f x‖) ⁻¹' Metric.ball 0 ε ∈ cocompact E
r : ℝ
hr : (Metric.closedBall 0 r)ᶜ ⊆ (fun x => ‖f x‖) ⁻¹' Metric.ball 0 ε
x : E
hr' : r < ‖x‖
this : x ∈ (fun x => ‖f x‖) ⁻¹' Metric.ball 0 ε
⊢ ‖f x‖ < ε
state_after: no goals