Theorem: LocalHomeomorph.contDiffWithinAt_extend_coord_change
File: Mathlib/Geometry/Manifold/SmoothManifoldWithCorners.lean

tactic: apply (contDiffOn_extend_coord_change I hf hf' x hx).mono_of_mem
state_before: 𝕜 : Type u_3
E : Type u_4
M : Type u_2
H : Type u_1
E' : Type ?u.176540
M' : Type ?u.176543
H' : Type ?u.176546
inst✝⁹ : NontriviallyNormedField 𝕜
inst✝⁸ : NormedAddCommGroup E
inst✝⁷ : NormedSpace 𝕜 E
inst✝⁶ : TopologicalSpace H
inst✝⁵ : TopologicalSpace M
f f' : LocalHomeomorph M H
I : ModelWithCorners 𝕜 E H
inst✝⁴ : NormedAddCommGroup E'
inst✝³ : NormedSpace 𝕜 E'
inst✝² : TopologicalSpace H'
inst✝¹ : TopologicalSpace M'
I' : ModelWithCorners 𝕜 E' H'
x✝ : M
s t : Set M
inst✝ : ChartedSpace H M
hf : f ∈ maximalAtlas I M
hf' : f' ∈ maximalAtlas I M
x : E
hx : x ∈ (LocalEquiv.symm (extend f' I) ≫ extend f I).source
⊢ ContDiffWithinAt 𝕜 ⊤ (↑(extend f I) ∘ ↑(LocalEquiv.symm (extend f' I))) (range ↑I) x

tactic: rw [extend_coord_change_source] at hx ⊢
state_before: 𝕜 : Type u_3
E : Type u_4
M : Type u_2
H : Type u_1
E' : Type ?u.176540
M' : Type ?u.176543
H' : Type ?u.176546
inst✝⁹ : NontriviallyNormedField 𝕜
inst✝⁸ : NormedAddCommGroup E
inst✝⁷ : NormedSpace 𝕜 E
inst✝⁶ : TopologicalSpace H
inst✝⁵ : TopologicalSpace M
f f' : LocalHomeomorph M H
I : ModelWithCorners 𝕜 E H
inst✝⁴ : NormedAddCommGroup E'
inst✝³ : NormedSpace 𝕜 E'
inst✝² : TopologicalSpace H'
inst✝¹ : TopologicalSpace M'
I' : ModelWithCorners 𝕜 E' H'
x✝ : M
s t : Set M
inst✝ : ChartedSpace H M
hf : f ∈ maximalAtlas I M
hf' : f' ∈ maximalAtlas I M
x : E
hx : x ∈ (LocalEquiv.symm (extend f' I) ≫ extend f I).source
⊢ (LocalEquiv.symm (extend f' I) ≫ extend f I).source ∈ 𝓝[range ↑I] x

tactic: obtain ⟨z, hz, rfl⟩ := hx
state_before: 𝕜 : Type u_3
E : Type u_4
M : Type u_2
H : Type u_1
E' : Type ?u.176540
M' : Type ?u.176543
H' : Type ?u.176546
inst✝⁹ : NontriviallyNormedField 𝕜
inst✝⁸ : NormedAddCommGroup E
inst✝⁷ : NormedSpace 𝕜 E
inst✝⁶ : TopologicalSpace H
inst✝⁵ : TopologicalSpace M
f f' : LocalHomeomorph M H
I : ModelWithCorners 𝕜 E H
inst✝⁴ : NormedAddCommGroup E'
inst✝³ : NormedSpace 𝕜 E'
inst✝² : TopologicalSpace H'
inst✝¹ : TopologicalSpace M'
I' : ModelWithCorners 𝕜 E' H'
x✝ : M
s t : Set M
inst✝ : ChartedSpace H M
hf : f ∈ maximalAtlas I M
hf' : f' ∈ maximalAtlas I M
x : E
hx : x ∈ ↑I '' (LocalHomeomorph.symm f' ≫ₕ f).toLocalEquiv.source
⊢ ↑I '' (LocalHomeomorph.symm f' ≫ₕ f).toLocalEquiv.source ∈ 𝓝[range ↑I] x

tactic: exact I.image_mem_nhdsWithin ((LocalHomeomorph.open_source _).mem_nhds hz)
state_before: case intro.intro
𝕜 : Type u_3
E : Type u_4
M : Type u_2
H : Type u_1
E' : Type ?u.176540
M' : Type ?u.176543
H' : Type ?u.176546
inst✝⁹ : NontriviallyNormedField 𝕜
inst✝⁸ : NormedAddCommGroup E
inst✝⁷ : NormedSpace 𝕜 E
inst✝⁶ : TopologicalSpace H
inst✝⁵ : TopologicalSpace M
f f' : LocalHomeomorph M H
I : ModelWithCorners 𝕜 E H
inst✝⁴ : NormedAddCommGroup E'
inst✝³ : NormedSpace 𝕜 E'
inst✝² : TopologicalSpace H'
inst✝¹ : TopologicalSpace M'
I' : ModelWithCorners 𝕜 E' H'
x : M
s t : Set M
inst✝ : ChartedSpace H M
hf : f ∈ maximalAtlas I M
hf' : f' ∈ maximalAtlas I M
z : H
hz : z ∈ (LocalHomeomorph.symm f' ≫ₕ f).toLocalEquiv.source
⊢ ↑I '' (LocalHomeomorph.symm f' ≫ₕ f).toLocalEquiv.source ∈ 𝓝[range ↑I] ↑I z