Theorem: LieModule.toEnd_apply_apply
File: Mathlib/Algebra/Lie/OfAssociative.lean

Proof steps:
state_before: R : Type u
L : Type v
M : Type w
inst✝⁶ : CommRing R
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x y : L
⊢ (fun x => { toFun := fun m => ⁅x, m⁆, map_add' := ⋯, map_smul' := ⋯ }) (x + y) =
    (fun x => { toFun := fun m => ⁅x, m⁆, map_add' := ⋯, map_smul' := ⋯ }) x +
      (fun x => { toFun := fun m => ⁅x, m⁆, map_add' := ⋯, map_smul' := ⋯ }) y
state_after: case h
R : Type u
L : Type v
M : Type w
inst✝⁶ : CommRing R
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x y : L
m : M
⊢ ((fun x => { toFun := fun m => ⁅x, m⁆, map_add' := ⋯, map_smul' := ⋯ }) (x + y)) m =
    ((fun x => { toFun := fun m => ⁅x, m⁆, map_add' := ⋯, map_smul' := ⋯ }) x +
        (fun x => { toFun := fun m => ⁅x, m⁆, map_add' := ⋯, map_smul' := ⋯ }) y)
      m
tactic: ext m
state_before: case h
R : Type u
L : Type v
M : Type w
inst✝⁶ : CommRing R
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x y : L
m : M
⊢ ((fun x => { toFun := fun m => ⁅x, m⁆, map_add' := ⋯, map_smul' := ⋯ }) (x + y)) m =
    ((fun x => { toFun := fun m => ⁅x, m⁆, map_add' := ⋯, map_smul' := ⋯ }) x +
        (fun x => { toFun := fun m => ⁅x, m⁆, map_add' := ⋯, map_smul' := ⋯ }) y)
      m
state_after: no goals
tactic: apply add_lie
state_before: R : Type u
L : Type v
M : Type w
inst✝⁶ : CommRing R
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
t : R
x : L
⊢ { toFun := fun x => { toFun := fun m => ⁅x, m⁆, map_add' := ⋯, map_smul' := ⋯ }, map_add' := ⋯ }.toFun (t • x) =
    (RingHom.id R) t •
      { toFun := fun x => { toFun := fun m => ⁅x, m⁆, map_add' := ⋯, map_smul' := ⋯ }, map_add' := ⋯ }.toFun x
state_after: case h
R : Type u
L : Type v
M : Type w
inst✝⁶ : CommRing R
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
t : R
x : L
m : M
⊢ ({ toFun := fun x => { toFun := fun m => ⁅x, m⁆, map_add' := ⋯, map_smul' := ⋯ }, map_add' := ⋯ }.toFun (t • x)) m =
    ((RingHom.id R) t •
        { toFun := fun x => { toFun := fun m => ⁅x, m⁆, map_add' := ⋯, map_smul' := ⋯ }, map_add' := ⋯ }.toFun x)
      m
tactic: ext m
state_before: case h
R : Type u
L : Type v
M : Type w
inst✝⁶ : CommRing R
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
t : R
x : L
m : M
⊢ ({ toFun := fun x => { toFun := fun m => ⁅x, m⁆, map_add' := ⋯, map_smul' := ⋯ }, map_add' := ⋯ }.toFun (t • x)) m =
    ((RingHom.id R) t •
        { toFun := fun x => { toFun := fun m => ⁅x, m⁆, map_add' := ⋯, map_smul' := ⋯ }, map_add' := ⋯ }.toFun x)
      m
state_after: no goals
tactic: apply smul_lie
state_before: R : Type u
L : Type v
M : Type w
inst✝⁶ : CommRing R
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x y : L
⊢ { toFun := fun x => { toFun := fun m => ⁅x, m⁆, map_add' := ⋯, map_smul' := ⋯ }, map_add' := ⋯, map_smul' := ⋯ }.toFun
      ⁅x, y⁆ =
    ⁅{ toFun := fun x => { toFun := fun m => ⁅x, m⁆, map_add' := ⋯, map_smul' := ⋯ }, map_add' := ⋯,
            map_smul' := ⋯ }.toFun
        x,
      { toFun := fun x => { toFun := fun m => ⁅x, m⁆, map_add' := ⋯, map_smul' := ⋯ }, map_add' := ⋯,
            map_smul' := ⋯ }.toFun
        y⁆
state_after: case h
R : Type u
L : Type v
M : Type w
inst✝⁶ : CommRing R
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x y : L
m : M
⊢ ({ toFun := fun x => { toFun := fun m => ⁅x, m⁆, map_add' := ⋯, map_smul' := ⋯ }, map_add' := ⋯,
            map_smul' := ⋯ }.toFun
        ⁅x, y⁆)
      m =
    ⁅{ toFun := fun x => { toFun := fun m => ⁅x, m⁆, map_add' := ⋯, map_smul' := ⋯ }, map_add' := ⋯,
              map_smul' := ⋯ }.toFun
          x,
        { toFun := fun x => { toFun := fun m => ⁅x, m⁆, map_add' := ⋯, map_smul' := ⋯ }, map_add' := ⋯,
              map_smul' := ⋯ }.toFun
          y⁆
      m
tactic: ext m
state_before: case h
R : Type u
L : Type v
M : Type w
inst✝⁶ : CommRing R
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra R L
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
x y : L
m : M
⊢ ({ toFun := fun x => { toFun := fun m => ⁅x, m⁆, map_add' := ⋯, map_smul' := ⋯ }, map_add' := ⋯,
            map_smul' := ⋯ }.toFun
        ⁅x, y⁆)
      m =
    ⁅{ toFun := fun x => { toFun := fun m => ⁅x, m⁆, map_add' := ⋯, map_smul' := ⋯ }, map_add' := ⋯,
              map_smul' := ⋯ }.toFun
          x,
        { toFun := fun x => { toFun := fun m => ⁅x, m⁆, map_add' := ⋯, map_smul' := ⋯ }, map_add' := ⋯,
              map_smul' := ⋯ }.toFun
          y⁆
      m
state_after: no goals
tactic: apply lie_lie