Theorem: LeftInvariantDerivation.toDerivation_injective
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
X Y : LeftInvariantDerivation I G
h : ↑X = ↑Y
⊢ X = Y
state_after: case mk
𝕜 : 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
Y : LeftInvariantDerivation I G
toDerivation✝ : Derivation 𝕜 C^⊤⟮I, G; 𝓘(𝕜, 𝕜), 𝕜⟯ C^⊤⟮I, G; 𝓘(𝕜, 𝕜), 𝕜⟯
left_invariant''✝ : ∀ (g : G), (𝒅ₕ ⋯) ((Derivation.evalAt 1) toDerivation✝) = (Derivation.evalAt g) toDerivation✝
h : ↑{ toDerivation := toDerivation✝, left_invariant'' := left_invariant''✝ } = ↑Y
⊢ { toDerivation := toDerivation✝, left_invariant'' := left_invariant''✝ } = Y
tactic: cases X
state_before: case mk
𝕜 : 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
Y : LeftInvariantDerivation I G
toDerivation✝ : Derivation 𝕜 C^⊤⟮I, G; 𝓘(𝕜, 𝕜), 𝕜⟯ C^⊤⟮I, G; 𝓘(𝕜, 𝕜), 𝕜⟯
left_invariant''✝ : ∀ (g : G), (𝒅ₕ ⋯) ((Derivation.evalAt 1) toDerivation✝) = (Derivation.evalAt g) toDerivation✝
h : ↑{ toDerivation := toDerivation✝, left_invariant'' := left_invariant''✝ } = ↑Y
⊢ { toDerivation := toDerivation✝, left_invariant'' := left_invariant''✝ } = Y
state_after: case mk.mk
𝕜 : 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
toDerivation✝¹ : Derivation 𝕜 C^⊤⟮I, G; 𝓘(𝕜, 𝕜), 𝕜⟯ C^⊤⟮I, G; 𝓘(𝕜, 𝕜), 𝕜⟯
left_invariant''✝¹ : ∀ (g : G), (𝒅ₕ ⋯) ((Derivation.evalAt 1) toDerivation✝¹) = (Derivation.evalAt g) toDerivation✝¹
toDerivation✝ : Derivation 𝕜 C^⊤⟮I, G; 𝓘(𝕜, 𝕜), 𝕜⟯ C^⊤⟮I, G; 𝓘(𝕜, 𝕜), 𝕜⟯
left_invariant''✝ : ∀ (g : G), (𝒅ₕ ⋯) ((Derivation.evalAt 1) toDerivation✝) = (Derivation.evalAt g) toDerivation✝
h :
  ↑{ toDerivation := toDerivation✝¹, left_invariant'' := left_invariant''✝¹ } =
    ↑{ toDerivation := toDerivation✝, left_invariant'' := left_invariant''✝ }
⊢ { toDerivation := toDerivation✝¹, left_invariant'' := left_invariant''✝¹ } =
    { toDerivation := toDerivation✝, left_invariant'' := left_invariant''✝ }
tactic: cases Y
state_before: case mk.mk
𝕜 : 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
toDerivation✝¹ : Derivation 𝕜 C^⊤⟮I, G; 𝓘(𝕜, 𝕜), 𝕜⟯ C^⊤⟮I, G; 𝓘(𝕜, 𝕜), 𝕜⟯
left_invariant''✝¹ : ∀ (g : G), (𝒅ₕ ⋯) ((Derivation.evalAt 1) toDerivation✝¹) = (Derivation.evalAt g) toDerivation✝¹
toDerivation✝ : Derivation 𝕜 C^⊤⟮I, G; 𝓘(𝕜, 𝕜), 𝕜⟯ C^⊤⟮I, G; 𝓘(𝕜, 𝕜), 𝕜⟯
left_invariant''✝ : ∀ (g : G), (𝒅ₕ ⋯) ((Derivation.evalAt 1) toDerivation✝) = (Derivation.evalAt g) toDerivation✝
h :
  ↑{ toDerivation := toDerivation✝¹, left_invariant'' := left_invariant''✝¹ } =
    ↑{ toDerivation := toDerivation✝, left_invariant'' := left_invariant''✝ }
⊢ { toDerivation := toDerivation✝¹, left_invariant'' := left_invariant''✝¹ } =
    { toDerivation := toDerivation✝, left_invariant'' := left_invariant''✝ }
state_after: no goals
tactic: congr