Theorem: ProperSpace.of_locallyCompactSpace
File: Mathlib/Analysis/Normed/Module/FiniteDimension.lean

Proof steps:
state_before: 𝕜✝ : Type u
inst✝¹⁴ : NontriviallyNormedField 𝕜✝
E✝ : Type v
inst✝¹³ : NormedAddCommGroup E✝
inst✝¹² : NormedSpace 𝕜✝ E✝
F : Type w
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace 𝕜✝ F
F' : Type x
inst✝⁹ : AddCommGroup F'
inst✝⁸ : Module 𝕜✝ F'
inst✝⁷ : TopologicalSpace F'
inst✝⁶ : TopologicalAddGroup F'
inst✝⁵ : ContinuousSMul 𝕜✝ F'
inst✝⁴ : CompleteSpace 𝕜✝
𝕜 : Type u_1
inst✝³ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝² : SeminormedAddCommGroup E
inst✝¹ : NormedSpace 𝕜 E
inst✝ : LocallyCompactSpace E
⊢ ProperSpace E
state_after: case intro.intro
𝕜✝ : Type u
inst✝¹⁴ : NontriviallyNormedField 𝕜✝
E✝ : Type v
inst✝¹³ : NormedAddCommGroup E✝
inst✝¹² : NormedSpace 𝕜✝ E✝
F : Type w
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace 𝕜✝ F
F' : Type x
inst✝⁹ : AddCommGroup F'
inst✝⁸ : Module 𝕜✝ F'
inst✝⁷ : TopologicalSpace F'
inst✝⁶ : TopologicalAddGroup F'
inst✝⁵ : ContinuousSMul 𝕜✝ F'
inst✝⁴ : CompleteSpace 𝕜✝
𝕜 : Type u_1
inst✝³ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝² : SeminormedAddCommGroup E
inst✝¹ : NormedSpace 𝕜 E
inst✝ : LocallyCompactSpace E
r : ℝ
rpos : 0 < r
hr : IsCompact (closedBall 0 r)
⊢ ProperSpace E
tactic: rcases exists_isCompact_closedBall (0 : E) with ⟨r, rpos, hr⟩
state_before: case intro.intro
𝕜✝ : Type u
inst✝¹⁴ : NontriviallyNormedField 𝕜✝
E✝ : Type v
inst✝¹³ : NormedAddCommGroup E✝
inst✝¹² : NormedSpace 𝕜✝ E✝
F : Type w
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace 𝕜✝ F
F' : Type x
inst✝⁹ : AddCommGroup F'
inst✝⁸ : Module 𝕜✝ F'
inst✝⁷ : TopologicalSpace F'
inst✝⁶ : TopologicalAddGroup F'
inst✝⁵ : ContinuousSMul 𝕜✝ F'
inst✝⁴ : CompleteSpace 𝕜✝
𝕜 : Type u_1
inst✝³ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝² : SeminormedAddCommGroup E
inst✝¹ : NormedSpace 𝕜 E
inst✝ : LocallyCompactSpace E
r : ℝ
rpos : 0 < r
hr : IsCompact (closedBall 0 r)
⊢ ProperSpace E
state_after: case intro.intro.intro
𝕜✝ : Type u
inst✝¹⁴ : NontriviallyNormedField 𝕜✝
E✝ : Type v
inst✝¹³ : NormedAddCommGroup E✝
inst✝¹² : NormedSpace 𝕜✝ E✝
F : Type w
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace 𝕜✝ F
F' : Type x
inst✝⁹ : AddCommGroup F'
inst✝⁸ : Module 𝕜✝ F'
inst✝⁷ : TopologicalSpace F'
inst✝⁶ : TopologicalAddGroup F'
inst✝⁵ : ContinuousSMul 𝕜✝ F'
inst✝⁴ : CompleteSpace 𝕜✝
𝕜 : Type u_1
inst✝³ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝² : SeminormedAddCommGroup E
inst✝¹ : NormedSpace 𝕜 E
inst✝ : LocallyCompactSpace E
r : ℝ
rpos : 0 < r
hr : IsCompact (closedBall 0 r)
c : 𝕜
hc : 1 < ‖c‖
⊢ ProperSpace E
tactic: rcases NormedField.exists_one_lt_norm 𝕜 with ⟨c, hc⟩
state_before: case intro.intro.intro
𝕜✝ : Type u
inst✝¹⁴ : NontriviallyNormedField 𝕜✝
E✝ : Type v
inst✝¹³ : NormedAddCommGroup E✝
inst✝¹² : NormedSpace 𝕜✝ E✝
F : Type w
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace 𝕜✝ F
F' : Type x
inst✝⁹ : AddCommGroup F'
inst✝⁸ : Module 𝕜✝ F'
inst✝⁷ : TopologicalSpace F'
inst✝⁶ : TopologicalAddGroup F'
inst✝⁵ : ContinuousSMul 𝕜✝ F'
inst✝⁴ : CompleteSpace 𝕜✝
𝕜 : Type u_1
inst✝³ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝² : SeminormedAddCommGroup E
inst✝¹ : NormedSpace 𝕜 E
inst✝ : LocallyCompactSpace E
r : ℝ
rpos : 0 < r
hr : IsCompact (closedBall 0 r)
c : 𝕜
hc : 1 < ‖c‖
⊢ ProperSpace E
state_after: case intro.intro.intro
𝕜✝ : Type u
inst✝¹⁴ : NontriviallyNormedField 𝕜✝
E✝ : Type v
inst✝¹³ : NormedAddCommGroup E✝
inst✝¹² : NormedSpace 𝕜✝ E✝
F : Type w
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace 𝕜✝ F
F' : Type x
inst✝⁹ : AddCommGroup F'
inst✝⁸ : Module 𝕜✝ F'
inst✝⁷ : TopologicalSpace F'
inst✝⁶ : TopologicalAddGroup F'
inst✝⁵ : ContinuousSMul 𝕜✝ F'
inst✝⁴ : CompleteSpace 𝕜✝
𝕜 : Type u_1
inst✝³ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝² : SeminormedAddCommGroup E
inst✝¹ : NormedSpace 𝕜 E
inst✝ : LocallyCompactSpace E
r : ℝ
rpos : 0 < r
hr : IsCompact (closedBall 0 r)
c : 𝕜
hc : 1 < ‖c‖
hC : ∀ (n : ℕ), IsCompact (closedBall 0 (‖c‖ ^ n * r))
⊢ ProperSpace E
tactic: have hC : ∀ n, IsCompact (closedBall (0 : E) (‖c‖^n * r)) := fun n ↦ by
    have : c ^ n ≠ 0 := pow_ne_zero _ <| fun h ↦ by simp [h, zero_le_one.not_lt] at hc
    simpa [_root_.smul_closedBall' this] using hr.smul (c ^ n)
state_before: case intro.intro.intro
𝕜✝ : Type u
inst✝¹⁴ : NontriviallyNormedField 𝕜✝
E✝ : Type v
inst✝¹³ : NormedAddCommGroup E✝
inst✝¹² : NormedSpace 𝕜✝ E✝
F : Type w
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace 𝕜✝ F
F' : Type x
inst✝⁹ : AddCommGroup F'
inst✝⁸ : Module 𝕜✝ F'
inst✝⁷ : TopologicalSpace F'
inst✝⁶ : TopologicalAddGroup F'
inst✝⁵ : ContinuousSMul 𝕜✝ F'
inst✝⁴ : CompleteSpace 𝕜✝
𝕜 : Type u_1
inst✝³ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝² : SeminormedAddCommGroup E
inst✝¹ : NormedSpace 𝕜 E
inst✝ : LocallyCompactSpace E
r : ℝ
rpos : 0 < r
hr : IsCompact (closedBall 0 r)
c : 𝕜
hc : 1 < ‖c‖
hC : ∀ (n : ℕ), IsCompact (closedBall 0 (‖c‖ ^ n * r))
⊢ ProperSpace E
state_after: case intro.intro.intro
𝕜✝ : Type u
inst✝¹⁴ : NontriviallyNormedField 𝕜✝
E✝ : Type v
inst✝¹³ : NormedAddCommGroup E✝
inst✝¹² : NormedSpace 𝕜✝ E✝
F : Type w
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace 𝕜✝ F
F' : Type x
inst✝⁹ : AddCommGroup F'
inst✝⁸ : Module 𝕜✝ F'
inst✝⁷ : TopologicalSpace F'
inst✝⁶ : TopologicalAddGroup F'
inst✝⁵ : ContinuousSMul 𝕜✝ F'
inst✝⁴ : CompleteSpace 𝕜✝
𝕜 : Type u_1
inst✝³ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝² : SeminormedAddCommGroup E
inst✝¹ : NormedSpace 𝕜 E
inst✝ : LocallyCompactSpace E
r : ℝ
rpos : 0 < r
hr : IsCompact (closedBall 0 r)
c : 𝕜
hc : 1 < ‖c‖
hC : ∀ (n : ℕ), IsCompact (closedBall 0 (‖c‖ ^ n * r))
hTop : Tendsto (fun n => ‖c‖ ^ n * r) atTop atTop
⊢ ProperSpace E
tactic: have hTop : Tendsto (fun n ↦ ‖c‖^n * r) atTop atTop :=
    Tendsto.atTop_mul_const rpos (tendsto_pow_atTop_atTop_of_one_lt hc)
state_before: case intro.intro.intro
𝕜✝ : Type u
inst✝¹⁴ : NontriviallyNormedField 𝕜✝
E✝ : Type v
inst✝¹³ : NormedAddCommGroup E✝
inst✝¹² : NormedSpace 𝕜✝ E✝
F : Type w
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace 𝕜✝ F
F' : Type x
inst✝⁹ : AddCommGroup F'
inst✝⁸ : Module 𝕜✝ F'
inst✝⁷ : TopologicalSpace F'
inst✝⁶ : TopologicalAddGroup F'
inst✝⁵ : ContinuousSMul 𝕜✝ F'
inst✝⁴ : CompleteSpace 𝕜✝
𝕜 : Type u_1
inst✝³ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝² : SeminormedAddCommGroup E
inst✝¹ : NormedSpace 𝕜 E
inst✝ : LocallyCompactSpace E
r : ℝ
rpos : 0 < r
hr : IsCompact (closedBall 0 r)
c : 𝕜
hc : 1 < ‖c‖
hC : ∀ (n : ℕ), IsCompact (closedBall 0 (‖c‖ ^ n * r))
hTop : Tendsto (fun n => ‖c‖ ^ n * r) atTop atTop
⊢ ProperSpace E
state_after: no goals
tactic: exact .of_seq_closedBall hTop (eventually_of_forall hC)