Theorem: contMDiffOn_model_symm
File: Mathlib/Geometry/Manifold/ContMDiff/Atlas.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
M : Type u_4
inst✝⁸ : TopologicalSpace M
inst✝⁷ : ChartedSpace H M
inst✝⁶ : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝⁵ : NormedAddCommGroup E'
inst✝⁴ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝³ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝² : TopologicalSpace M'
inst✝¹ : ChartedSpace H' M'
inst✝ : SmoothManifoldWithCorners I' M'
e : PartialHomeomorph M H
x : M
m n : ℕ∞
⊢ ContMDiffOn 𝓘(𝕜, E) I n (↑I.symm) (range ↑I)
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
M : Type u_4
inst✝⁸ : TopologicalSpace M
inst✝⁷ : ChartedSpace H M
inst✝⁶ : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝⁵ : NormedAddCommGroup E'
inst✝⁴ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝³ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝² : TopologicalSpace M'
inst✝¹ : ChartedSpace H' M'
inst✝ : SmoothManifoldWithCorners I' M'
e : PartialHomeomorph M H
x : M
m n : ℕ∞
⊢ ContinuousOn (↑I.symm) (range ↑I) ∧
    ∀ (x : E) (y : H),
      ContDiffOn 𝕜 n (↑(extChartAt I y) ∘ ↑I.symm ∘ ↑(extChartAt 𝓘(𝕜, E) x).symm)
        ((extChartAt 𝓘(𝕜, E) x).target ∩
          ↑(extChartAt 𝓘(𝕜, E) x).symm ⁻¹' (range ↑I ∩ ↑I.symm ⁻¹' (extChartAt I y).source))
tactic: rw [contMDiffOn_iff]
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
M : Type u_4
inst✝⁸ : TopologicalSpace M
inst✝⁷ : ChartedSpace H M
inst✝⁶ : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝⁵ : NormedAddCommGroup E'
inst✝⁴ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝³ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝² : TopologicalSpace M'
inst✝¹ : ChartedSpace H' M'
inst✝ : SmoothManifoldWithCorners I' M'
e : PartialHomeomorph M H
x : M
m n : ℕ∞
⊢ ContinuousOn (↑I.symm) (range ↑I) ∧
    ∀ (x : E) (y : H),
      ContDiffOn 𝕜 n (↑(extChartAt I y) ∘ ↑I.symm ∘ ↑(extChartAt 𝓘(𝕜, E) x).symm)
        ((extChartAt 𝓘(𝕜, E) x).target ∩
          ↑(extChartAt 𝓘(𝕜, E) x).symm ⁻¹' (range ↑I ∩ ↑I.symm ⁻¹' (extChartAt I y).source))
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
M : Type u_4
inst✝⁸ : TopologicalSpace M
inst✝⁷ : ChartedSpace H M
inst✝⁶ : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝⁵ : NormedAddCommGroup E'
inst✝⁴ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝³ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝² : TopologicalSpace M'
inst✝¹ : ChartedSpace H' M'
inst✝ : SmoothManifoldWithCorners I' M'
e : PartialHomeomorph M H
x✝ : M
m n : ℕ∞
x : E
y : H
⊢ ContDiffOn 𝕜 n (↑(extChartAt I y) ∘ ↑I.symm ∘ ↑(extChartAt 𝓘(𝕜, E) x).symm)
    ((extChartAt 𝓘(𝕜, E) x).target ∩ ↑(extChartAt 𝓘(𝕜, E) x).symm ⁻¹' (range ↑I ∩ ↑I.symm ⁻¹' (extChartAt I y).source))
tactic: refine ⟨I.continuousOn_symm, fun x y => ?_⟩
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
M : Type u_4
inst✝⁸ : TopologicalSpace M
inst✝⁷ : ChartedSpace H M
inst✝⁶ : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝⁵ : NormedAddCommGroup E'
inst✝⁴ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝³ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝² : TopologicalSpace M'
inst✝¹ : ChartedSpace H' M'
inst✝ : SmoothManifoldWithCorners I' M'
e : PartialHomeomorph M H
x✝ : M
m n : ℕ∞
x : E
y : H
⊢ ContDiffOn 𝕜 n (↑(extChartAt I y) ∘ ↑I.symm ∘ ↑(extChartAt 𝓘(𝕜, E) x).symm)
    ((extChartAt 𝓘(𝕜, E) x).target ∩ ↑(extChartAt 𝓘(𝕜, E) x).symm ⁻¹' (range ↑I ∩ ↑I.symm ⁻¹' (extChartAt I y).source))
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
M : Type u_4
inst✝⁸ : TopologicalSpace M
inst✝⁷ : ChartedSpace H M
inst✝⁶ : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝⁵ : NormedAddCommGroup E'
inst✝⁴ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝³ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝² : TopologicalSpace M'
inst✝¹ : ChartedSpace H' M'
inst✝ : SmoothManifoldWithCorners I' M'
e : PartialHomeomorph M H
x✝ : M
m n : ℕ∞
x : E
y : H
⊢ ContDiffOn 𝕜 n (↑I ∘ ↑I.symm) (range ↑I)
tactic: simp only [mfld_simps]
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
M : Type u_4
inst✝⁸ : TopologicalSpace M
inst✝⁷ : ChartedSpace H M
inst✝⁶ : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝⁵ : NormedAddCommGroup E'
inst✝⁴ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝³ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝² : TopologicalSpace M'
inst✝¹ : ChartedSpace H' M'
inst✝ : SmoothManifoldWithCorners I' M'
e : PartialHomeomorph M H
x✝ : M
m n : ℕ∞
x : E
y : H
⊢ ContDiffOn 𝕜 n (↑I ∘ ↑I.symm) (range ↑I)
state_after: no goals
tactic: exact contDiffOn_id.congr fun x' => I.right_inv