Theorem: Filter.tendsto_cocompact_cocompact_of_norm
File: Mathlib/Analysis/Normed/Group/CocompactMap.lean

Proof steps:
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
𝓕 : Type u_4
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : ProperSpace E
inst✝ : ProperSpace F
f✝ : 𝓕
f : E → F
h : ∀ (ε : ℝ), ∃ r, ∀ (x : E), r < ‖x‖ → ε < ‖f x‖
⊢ Tendsto f (cocompact E) (cocompact F)
state_after: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
𝓕 : Type u_4
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : ProperSpace E
inst✝ : ProperSpace F
f✝ : 𝓕
f : E → F
h : ∀ (ε : ℝ), ∃ r, ∀ (x : E), r < ‖x‖ → ε < ‖f x‖
⊢ ∀ s ∈ cocompact F, f ⁻¹' s ∈ cocompact E
tactic: rw [tendsto_def]
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
𝓕 : Type u_4
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : ProperSpace E
inst✝ : ProperSpace F
f✝ : 𝓕
f : E → F
h : ∀ (ε : ℝ), ∃ r, ∀ (x : E), r < ‖x‖ → ε < ‖f x‖
⊢ ∀ s ∈ cocompact F, f ⁻¹' s ∈ cocompact E
state_after: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
𝓕 : Type u_4
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : ProperSpace E
inst✝ : ProperSpace F
f✝ : 𝓕
f : E → F
h : ∀ (ε : ℝ), ∃ r, ∀ (x : E), r < ‖x‖ → ε < ‖f x‖
s : Set F
hs : s ∈ cocompact F
⊢ f ⁻¹' s ∈ cocompact E
tactic: intro s hs
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
𝓕 : Type u_4
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : ProperSpace E
inst✝ : ProperSpace F
f✝ : 𝓕
f : E → F
h : ∀ (ε : ℝ), ∃ r, ∀ (x : E), r < ‖x‖ → ε < ‖f x‖
s : Set F
hs : s ∈ cocompact F
⊢ f ⁻¹' s ∈ cocompact E
state_after: case intro
𝕜 : Type u_1
E : Type u_2
F : Type u_3
𝓕 : Type u_4
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : ProperSpace E
inst✝ : ProperSpace F
f✝ : 𝓕
f : E → F
h : ∀ (ε : ℝ), ∃ r, ∀ (x : E), r < ‖x‖ → ε < ‖f x‖
s : Set F
hs : s ∈ cocompact F
ε : ℝ
hε : (closedBall 0 ε)ᶜ ⊆ s
⊢ f ⁻¹' s ∈ cocompact E
tactic: rcases closedBall_compl_subset_of_mem_cocompact hs 0 with ⟨ε, hε⟩
state_before: case intro
𝕜 : Type u_1
E : Type u_2
F : Type u_3
𝓕 : Type u_4
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : ProperSpace E
inst✝ : ProperSpace F
f✝ : 𝓕
f : E → F
h : ∀ (ε : ℝ), ∃ r, ∀ (x : E), r < ‖x‖ → ε < ‖f x‖
s : Set F
hs : s ∈ cocompact F
ε : ℝ
hε : (closedBall 0 ε)ᶜ ⊆ s
⊢ f ⁻¹' s ∈ cocompact E
state_after: case intro.intro
𝕜 : Type u_1
E : Type u_2
F : Type u_3
𝓕 : Type u_4
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : ProperSpace E
inst✝ : ProperSpace F
f✝ : 𝓕
f : E → F
h : ∀ (ε : ℝ), ∃ r, ∀ (x : E), r < ‖x‖ → ε < ‖f x‖
s : Set F
hs : s ∈ cocompact F
ε : ℝ
hε : (closedBall 0 ε)ᶜ ⊆ s
r : ℝ
hr : ∀ (x : E), r < ‖x‖ → ε < ‖f x‖
⊢ f ⁻¹' s ∈ cocompact E
tactic: rcases h ε with ⟨r, hr⟩
state_before: case intro.intro
𝕜 : Type u_1
E : Type u_2
F : Type u_3
𝓕 : Type u_4
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : ProperSpace E
inst✝ : ProperSpace F
f✝ : 𝓕
f : E → F
h : ∀ (ε : ℝ), ∃ r, ∀ (x : E), r < ‖x‖ → ε < ‖f x‖
s : Set F
hs : s ∈ cocompact F
ε : ℝ
hε : (closedBall 0 ε)ᶜ ⊆ s
r : ℝ
hr : ∀ (x : E), r < ‖x‖ → ε < ‖f x‖
⊢ f ⁻¹' s ∈ cocompact E
state_after: case intro.intro
𝕜 : Type u_1
E : Type u_2
F : Type u_3
𝓕 : Type u_4
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : ProperSpace E
inst✝ : ProperSpace F
f✝ : 𝓕
f : E → F
h : ∀ (ε : ℝ), ∃ r, ∀ (x : E), r < ‖x‖ → ε < ‖f x‖
s : Set F
hs : s ∈ cocompact F
ε : ℝ
hε : (closedBall 0 ε)ᶜ ⊆ s
r : ℝ
hr : ∀ (x : E), r < ‖x‖ → ε < ‖f x‖
⊢ ∃ r, (closedBall 0 r)ᶜ ⊆ f ⁻¹' s
tactic: apply mem_cocompact_of_closedBall_compl_subset 0
state_before: case intro.intro
𝕜 : Type u_1
E : Type u_2
F : Type u_3
𝓕 : Type u_4
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : ProperSpace E
inst✝ : ProperSpace F
f✝ : 𝓕
f : E → F
h : ∀ (ε : ℝ), ∃ r, ∀ (x : E), r < ‖x‖ → ε < ‖f x‖
s : Set F
hs : s ∈ cocompact F
ε : ℝ
hε : (closedBall 0 ε)ᶜ ⊆ s
r : ℝ
hr : ∀ (x : E), r < ‖x‖ → ε < ‖f x‖
⊢ ∃ r, (closedBall 0 r)ᶜ ⊆ f ⁻¹' s
state_after: case h
𝕜 : Type u_1
E : Type u_2
F : Type u_3
𝓕 : Type u_4
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : ProperSpace E
inst✝ : ProperSpace F
f✝ : 𝓕
f : E → F
h : ∀ (ε : ℝ), ∃ r, ∀ (x : E), r < ‖x‖ → ε < ‖f x‖
s : Set F
hs : s ∈ cocompact F
ε : ℝ
hε : (closedBall 0 ε)ᶜ ⊆ s
r : ℝ
hr : ∀ (x : E), r < ‖x‖ → ε < ‖f x‖
⊢ (closedBall 0 r)ᶜ ⊆ f ⁻¹' s
tactic: use r
state_before: case h
𝕜 : Type u_1
E : Type u_2
F : Type u_3
𝓕 : Type u_4
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : ProperSpace E
inst✝ : ProperSpace F
f✝ : 𝓕
f : E → F
h : ∀ (ε : ℝ), ∃ r, ∀ (x : E), r < ‖x‖ → ε < ‖f x‖
s : Set F
hs : s ∈ cocompact F
ε : ℝ
hε : (closedBall 0 ε)ᶜ ⊆ s
r : ℝ
hr : ∀ (x : E), r < ‖x‖ → ε < ‖f x‖
⊢ (closedBall 0 r)ᶜ ⊆ f ⁻¹' s
state_after: case h
𝕜 : Type u_1
E : Type u_2
F : Type u_3
𝓕 : Type u_4
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : ProperSpace E
inst✝ : ProperSpace F
f✝ : 𝓕
f : E → F
h : ∀ (ε : ℝ), ∃ r, ∀ (x : E), r < ‖x‖ → ε < ‖f x‖
s : Set F
hs : s ∈ cocompact F
ε : ℝ
hε : (closedBall 0 ε)ᶜ ⊆ s
r : ℝ
hr : ∀ (x : E), r < ‖x‖ → ε < ‖f x‖
x : E
hx : x ∈ (closedBall 0 r)ᶜ
⊢ x ∈ f ⁻¹' s
tactic: intro x hx
state_before: case h
𝕜 : Type u_1
E : Type u_2
F : Type u_3
𝓕 : Type u_4
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : ProperSpace E
inst✝ : ProperSpace F
f✝ : 𝓕
f : E → F
h : ∀ (ε : ℝ), ∃ r, ∀ (x : E), r < ‖x‖ → ε < ‖f x‖
s : Set F
hs : s ∈ cocompact F
ε : ℝ
hε : (closedBall 0 ε)ᶜ ⊆ s
r : ℝ
hr : ∀ (x : E), r < ‖x‖ → ε < ‖f x‖
x : E
hx : x ∈ (closedBall 0 r)ᶜ
⊢ x ∈ f ⁻¹' s
state_after: case h
𝕜 : Type u_1
E : Type u_2
F : Type u_3
𝓕 : Type u_4
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : ProperSpace E
inst✝ : ProperSpace F
f✝ : 𝓕
f : E → F
h : ∀ (ε : ℝ), ∃ r, ∀ (x : E), r < ‖x‖ → ε < ‖f x‖
s : Set F
hs : s ∈ cocompact F
ε : ℝ
hε : (closedBall 0 ε)ᶜ ⊆ s
r : ℝ
hr : ∀ (x : E), r < ‖x‖ → ε < ‖f x‖
x : E
hx : r < ‖x‖
⊢ x ∈ f ⁻¹' s
tactic: simp only [Set.mem_compl_iff, Metric.mem_closedBall, dist_zero_right, not_le] at hx
state_before: case h
𝕜 : Type u_1
E : Type u_2
F : Type u_3
𝓕 : Type u_4
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : ProperSpace E
inst✝ : ProperSpace F
f✝ : 𝓕
f : E → F
h : ∀ (ε : ℝ), ∃ r, ∀ (x : E), r < ‖x‖ → ε < ‖f x‖
s : Set F
hs : s ∈ cocompact F
ε : ℝ
hε : (closedBall 0 ε)ᶜ ⊆ s
r : ℝ
hr : ∀ (x : E), r < ‖x‖ → ε < ‖f x‖
x : E
hx : r < ‖x‖
⊢ x ∈ f ⁻¹' s
state_after: case h.a
𝕜 : Type u_1
E : Type u_2
F : Type u_3
𝓕 : Type u_4
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : ProperSpace E
inst✝ : ProperSpace F
f✝ : 𝓕
f : E → F
h : ∀ (ε : ℝ), ∃ r, ∀ (x : E), r < ‖x‖ → ε < ‖f x‖
s : Set F
hs : s ∈ cocompact F
ε : ℝ
hε : (closedBall 0 ε)ᶜ ⊆ s
r : ℝ
hr : ∀ (x : E), r < ‖x‖ → ε < ‖f x‖
x : E
hx : r < ‖x‖
⊢ f x ∈ (closedBall 0 ε)ᶜ
tactic: apply hε
state_before: case h.a
𝕜 : Type u_1
E : Type u_2
F : Type u_3
𝓕 : Type u_4
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : ProperSpace E
inst✝ : ProperSpace F
f✝ : 𝓕
f : E → F
h : ∀ (ε : ℝ), ∃ r, ∀ (x : E), r < ‖x‖ → ε < ‖f x‖
s : Set F
hs : s ∈ cocompact F
ε : ℝ
hε : (closedBall 0 ε)ᶜ ⊆ s
r : ℝ
hr : ∀ (x : E), r < ‖x‖ → ε < ‖f x‖
x : E
hx : r < ‖x‖
⊢ f x ∈ (closedBall 0 ε)ᶜ
state_after: no goals
tactic: simp [hr x hx]