Theorem: mfderiv_chartAt_eq_tangentCoordChange
File: Mathlib/Geometry/Manifold/MFDeriv/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
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'
E'' : Type u_8
inst✝⁷ : NormedAddCommGroup E''
inst✝⁶ : NormedSpace 𝕜 E''
H'' : Type u_9
inst✝⁵ : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
M'' : Type u_10
inst✝⁴ : TopologicalSpace M''
inst✝³ : ChartedSpace H'' M''
inst✝² : SmoothManifoldWithCorners I M
inst✝¹ : SmoothManifoldWithCorners I' M'
inst✝ : SmoothManifoldWithCorners I'' M''
e : PartialHomeomorph M H
x y : M
hsrc : x ∈ (chartAt H y).source
⊢ mfderiv I I (↑(chartAt H y)) x = tangentCoordChange I x y x
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
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'
E'' : Type u_8
inst✝⁷ : NormedAddCommGroup E''
inst✝⁶ : NormedSpace 𝕜 E''
H'' : Type u_9
inst✝⁵ : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
M'' : Type u_10
inst✝⁴ : TopologicalSpace M''
inst✝³ : ChartedSpace H'' M''
inst✝² : SmoothManifoldWithCorners I M
inst✝¹ : SmoothManifoldWithCorners I' M'
inst✝ : SmoothManifoldWithCorners I'' M''
e : PartialHomeomorph M H
x y : M
hsrc : x ∈ (chartAt H y).source
this : MDifferentiableAt I I (↑(ChartedSpace.chartAt y)) x
⊢ mfderiv I I (↑(chartAt H y)) x = tangentCoordChange I x y x
tactic: have := mdifferentiableAt_atlas I (ChartedSpace.chart_mem_atlas _) hsrc
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
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'
E'' : Type u_8
inst✝⁷ : NormedAddCommGroup E''
inst✝⁶ : NormedSpace 𝕜 E''
H'' : Type u_9
inst✝⁵ : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
M'' : Type u_10
inst✝⁴ : TopologicalSpace M''
inst✝³ : ChartedSpace H'' M''
inst✝² : SmoothManifoldWithCorners I M
inst✝¹ : SmoothManifoldWithCorners I' M'
inst✝ : SmoothManifoldWithCorners I'' M''
e : PartialHomeomorph M H
x y : M
hsrc : x ∈ (chartAt H y).source
this : MDifferentiableAt I I (↑(ChartedSpace.chartAt y)) x
⊢ mfderiv I I (↑(chartAt H y)) x = tangentCoordChange I x y x
state_after: no goals
tactic: simp [mfderiv, if_pos this, Function.comp.assoc]