Theorem: ModelWithCorners.locallyCompactSpace
File: Mathlib/Geometry/Manifold/SmoothManifoldWithCorners.lean

Proof steps:
state_before: 𝕜 : Type u_1
inst✝⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace 𝕜 E
H : Type u_3
inst✝¹ : TopologicalSpace H
I✝ : ModelWithCorners 𝕜 E H
inst✝ : LocallyCompactSpace E
I : ModelWithCorners 𝕜 E H
⊢ LocallyCompactSpace H
state_after: 𝕜 : Type u_1
inst✝⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace 𝕜 E
H : Type u_3
inst✝¹ : TopologicalSpace H
I✝ : ModelWithCorners 𝕜 E H
inst✝ : LocallyCompactSpace E
I : ModelWithCorners 𝕜 E H
this : ∀ (x : H), (𝓝 x).HasBasis (fun s => s ∈ 𝓝 (↑I x) ∧ IsCompact s) fun s => ↑I.symm '' (s ∩ range ↑I)
⊢ LocallyCompactSpace H
tactic: have : ∀ x : H, (𝓝 x).HasBasis (fun s => s ∈ 𝓝 (I x) ∧ IsCompact s)
      fun s => I.symm '' (s ∩ range I) := fun x ↦ by
    rw [← I.symm_map_nhdsWithin_range]
    exact ((compact_basis_nhds (I x)).inf_principal _).map _
state_before: 𝕜 : Type u_1
inst✝⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace 𝕜 E
H : Type u_3
inst✝¹ : TopologicalSpace H
I✝ : ModelWithCorners 𝕜 E H
inst✝ : LocallyCompactSpace E
I : ModelWithCorners 𝕜 E H
this : ∀ (x : H), (𝓝 x).HasBasis (fun s => s ∈ 𝓝 (↑I x) ∧ IsCompact s) fun s => ↑I.symm '' (s ∩ range ↑I)
⊢ LocallyCompactSpace H
state_after: 𝕜 : Type u_1
inst✝⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace 𝕜 E
H : Type u_3
inst✝¹ : TopologicalSpace H
I✝ : ModelWithCorners 𝕜 E H
inst✝ : LocallyCompactSpace E
I : ModelWithCorners 𝕜 E H
this : ∀ (x : H), (𝓝 x).HasBasis (fun s => s ∈ 𝓝 (↑I x) ∧ IsCompact s) fun s => ↑I.symm '' (s ∩ range ↑I)
⊢ ∀ (x : H) (i : Set E), i ∈ 𝓝 (↑I x) ∧ IsCompact i → IsCompact (↑I.symm '' (i ∩ range ↑I))
tactic: refine .of_hasBasis this ?_
state_before: 𝕜 : Type u_1
inst✝⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace 𝕜 E
H : Type u_3
inst✝¹ : TopologicalSpace H
I✝ : ModelWithCorners 𝕜 E H
inst✝ : LocallyCompactSpace E
I : ModelWithCorners 𝕜 E H
this : ∀ (x : H), (𝓝 x).HasBasis (fun s => s ∈ 𝓝 (↑I x) ∧ IsCompact s) fun s => ↑I.symm '' (s ∩ range ↑I)
⊢ ∀ (x : H) (i : Set E), i ∈ 𝓝 (↑I x) ∧ IsCompact i → IsCompact (↑I.symm '' (i ∩ range ↑I))
state_after: case intro
𝕜 : Type u_1
inst✝⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace 𝕜 E
H : Type u_3
inst✝¹ : TopologicalSpace H
I✝ : ModelWithCorners 𝕜 E H
inst✝ : LocallyCompactSpace E
I : ModelWithCorners 𝕜 E H
this : ∀ (x : H), (𝓝 x).HasBasis (fun s => s ∈ 𝓝 (↑I x) ∧ IsCompact s) fun s => ↑I.symm '' (s ∩ range ↑I)
x : H
s : Set E
hsc : IsCompact s
⊢ IsCompact (↑I.symm '' (s ∩ range ↑I))
tactic: rintro x s ⟨-, hsc⟩
state_before: case intro
𝕜 : Type u_1
inst✝⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace 𝕜 E
H : Type u_3
inst✝¹ : TopologicalSpace H
I✝ : ModelWithCorners 𝕜 E H
inst✝ : LocallyCompactSpace E
I : ModelWithCorners 𝕜 E H
this : ∀ (x : H), (𝓝 x).HasBasis (fun s => s ∈ 𝓝 (↑I x) ∧ IsCompact s) fun s => ↑I.symm '' (s ∩ range ↑I)
x : H
s : Set E
hsc : IsCompact s
⊢ IsCompact (↑I.symm '' (s ∩ range ↑I))
state_after: no goals
tactic: exact (hsc.inter_right I.isClosed_range).image I.continuous_symm