Theorem: LeftInvariantDerivation.evalAt_mul
File: Mathlib/Geometry/Manifold/Algebra/LeftInvariantDerivation.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
G : Type u_4
inst✝⁵ : TopologicalSpace G
inst✝⁴ : ChartedSpace H G
inst✝³ : Monoid G
inst✝² : SmoothMul I G
g h : G
M : Type u_5
inst✝¹ : TopologicalSpace M
inst✝ : ChartedSpace H M
x : M
r : 𝕜
X Y : LeftInvariantDerivation I G
f f' : C^⊤⟮I, G; 𝓘(𝕜, 𝕜), 𝕜⟯
⊢ (evalAt (g * h)) X = (𝒅ₕ ⋯) ((evalAt h) X)
state_after: case H
𝕜 : 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
G : Type u_4
inst✝⁵ : TopologicalSpace G
inst✝⁴ : ChartedSpace H G
inst✝³ : Monoid G
inst✝² : SmoothMul I G
g h : G
M : Type u_5
inst✝¹ : TopologicalSpace M
inst✝ : ChartedSpace H M
x : M
r : 𝕜
X Y : LeftInvariantDerivation I G
f✝ f' : C^⊤⟮I, G; 𝓘(𝕜, 𝕜), 𝕜⟯
f : C^⊤⟮I, G; 𝕜⟯⟨g * h⟩
⊢ ((evalAt (g * h)) X) f = ((𝒅ₕ ⋯) ((evalAt h) X)) f
tactic: ext f
state_before: case H
𝕜 : 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
G : Type u_4
inst✝⁵ : TopologicalSpace G
inst✝⁴ : ChartedSpace H G
inst✝³ : Monoid G
inst✝² : SmoothMul I G
g h : G
M : Type u_5
inst✝¹ : TopologicalSpace M
inst✝ : ChartedSpace H M
x : M
r : 𝕜
X Y : LeftInvariantDerivation I G
f✝ f' : C^⊤⟮I, G; 𝓘(𝕜, 𝕜), 𝕜⟯
f : C^⊤⟮I, G; 𝕜⟯⟨g * h⟩
⊢ ((evalAt (g * h)) X) f = ((𝒅ₕ ⋯) ((evalAt h) X)) f
state_after: case H
𝕜 : 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
G : Type u_4
inst✝⁵ : TopologicalSpace G
inst✝⁴ : ChartedSpace H G
inst✝³ : Monoid G
inst✝² : SmoothMul I G
g h : G
M : Type u_5
inst✝¹ : TopologicalSpace M
inst✝ : ChartedSpace H M
x : M
r : 𝕜
X Y : LeftInvariantDerivation I G
f✝ f' : C^⊤⟮I, G; 𝓘(𝕜, 𝕜), 𝕜⟯
f : C^⊤⟮I, G; 𝕜⟯⟨g * h⟩
⊢ ((𝒅 (𝑳 I g) ((𝑳 I h) 1) ∘ₗ 𝒅 (𝑳 I h) 1) ((evalAt 1) X)) f = ((evalAt h) X) (ContMDiffMap.comp f (𝑳 I g))
tactic: rw [← left_invariant, apply_hfdifferential, apply_hfdifferential, L_mul, fdifferential_comp,
    apply_fdifferential]
state_before: case H
𝕜 : 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
G : Type u_4
inst✝⁵ : TopologicalSpace G
inst✝⁴ : ChartedSpace H G
inst✝³ : Monoid G
inst✝² : SmoothMul I G
g h : G
M : Type u_5
inst✝¹ : TopologicalSpace M
inst✝ : ChartedSpace H M
x : M
r : 𝕜
X Y : LeftInvariantDerivation I G
f✝ f' : C^⊤⟮I, G; 𝓘(𝕜, 𝕜), 𝕜⟯
f : C^⊤⟮I, G; 𝕜⟯⟨g * h⟩
⊢ ((𝒅 (𝑳 I g) ((𝑳 I h) 1) ∘ₗ 𝒅 (𝑳 I h) 1) ((evalAt 1) X)) f = ((evalAt h) X) (ContMDiffMap.comp f (𝑳 I g))
state_after: case H
𝕜 : 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
G : Type u_4
inst✝⁵ : TopologicalSpace G
inst✝⁴ : ChartedSpace H G
inst✝³ : Monoid G
inst✝² : SmoothMul I G
g h : G
M : Type u_5
inst✝¹ : TopologicalSpace M
inst✝ : ChartedSpace H M
x : M
r : 𝕜
X Y : LeftInvariantDerivation I G
f✝ f' : C^⊤⟮I, G; 𝓘(𝕜, 𝕜), 𝕜⟯
f : C^⊤⟮I, G; 𝕜⟯⟨g * h⟩
⊢ ((𝒅 (𝑳 I g) ((𝑳 I h) 1)) ((𝒅 (𝑳 I h) 1) ((evalAt 1) X))) f = ((evalAt h) X) (ContMDiffMap.comp f (𝑳 I g))
tactic: erw [LinearMap.comp_apply]
state_before: case H
𝕜 : 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
G : Type u_4
inst✝⁵ : TopologicalSpace G
inst✝⁴ : ChartedSpace H G
inst✝³ : Monoid G
inst✝² : SmoothMul I G
g h : G
M : Type u_5
inst✝¹ : TopologicalSpace M
inst✝ : ChartedSpace H M
x : M
r : 𝕜
X Y : LeftInvariantDerivation I G
f✝ f' : C^⊤⟮I, G; 𝓘(𝕜, 𝕜), 𝕜⟯
f : C^⊤⟮I, G; 𝕜⟯⟨g * h⟩
⊢ ((𝒅 (𝑳 I g) ((𝑳 I h) 1)) ((𝒅 (𝑳 I h) 1) ((evalAt 1) X))) f = ((evalAt h) X) (ContMDiffMap.comp f (𝑳 I g))
state_after: no goals
tactic: erw [apply_fdifferential, ← apply_hfdifferential, left_invariant]