Theorem: LieDerivation.inner_apply_apply
File: Mathlib/Algebra/Lie/Derivation/Basic.lean

Proof steps:
state_before: R : Type u_1
L : Type u_2
M : Type u_3
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
m : M
⊢ ∀ (a b : L), __spread✝⁻⁰ ⁅a, b⁆ = ⁅a, __spread✝⁻⁰ b⁆ - ⁅b, __spread✝⁻⁰ a⁆
state_after: no goals
tactic: simp
state_before: R : Type u_1
L : Type u_2
M : Type u_3
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
m n : M
⊢ (fun m =>
        let __spread.0 := (↑(LieModule.toEnd R L M)).flip m;
        { toLinearMap := __spread.0, leibniz' := ⋯ })
      (m + n) =
    (fun m =>
          let __spread.0 := (↑(LieModule.toEnd R L M)).flip m;
          { toLinearMap := __spread.0, leibniz' := ⋯ })
        m +
      (fun m =>
          let __spread.0 := (↑(LieModule.toEnd R L M)).flip m;
          { toLinearMap := __spread.0, leibniz' := ⋯ })
        n
state_after: case H
R : Type u_1
L : Type u_2
M : Type u_3
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
m n : M
a✝ : L
⊢ ((fun m =>
          let __spread.0 := (↑(LieModule.toEnd R L M)).flip m;
          { toLinearMap := __spread.0, leibniz' := ⋯ })
        (m + n))
      a✝ =
    ((fun m =>
            let __spread.0 := (↑(LieModule.toEnd R L M)).flip m;
            { toLinearMap := __spread.0, leibniz' := ⋯ })
          m +
        (fun m =>
            let __spread.0 := (↑(LieModule.toEnd R L M)).flip m;
            { toLinearMap := __spread.0, leibniz' := ⋯ })
          n)
      a✝
tactic: ext
state_before: case H
R : Type u_1
L : Type u_2
M : Type u_3
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
m n : M
a✝ : L
⊢ ((fun m =>
          let __spread.0 := (↑(LieModule.toEnd R L M)).flip m;
          { toLinearMap := __spread.0, leibniz' := ⋯ })
        (m + n))
      a✝ =
    ((fun m =>
            let __spread.0 := (↑(LieModule.toEnd R L M)).flip m;
            { toLinearMap := __spread.0, leibniz' := ⋯ })
          m +
        (fun m =>
            let __spread.0 := (↑(LieModule.toEnd R L M)).flip m;
            { toLinearMap := __spread.0, leibniz' := ⋯ })
          n)
      a✝
state_after: no goals
tactic: simp
state_before: R : Type u_1
L : Type u_2
M : Type u_3
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
m : M
⊢ {
          toFun := fun m =>
            let __spread.0 := (↑(LieModule.toEnd R L M)).flip m;
            { toLinearMap := __spread.0, leibniz' := ⋯ },
          map_add' := ⋯ }.toFun
      (t • m) =
    (RingHom.id R) t •
      {
            toFun := fun m =>
              let __spread.0 := (↑(LieModule.toEnd R L M)).flip m;
              { toLinearMap := __spread.0, leibniz' := ⋯ },
            map_add' := ⋯ }.toFun
        m
state_after: case H
R : Type u_1
L : Type u_2
M : Type u_3
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
m : M
a✝ : L
⊢ ({
            toFun := fun m =>
              let __spread.0 := (↑(LieModule.toEnd R L M)).flip m;
              { toLinearMap := __spread.0, leibniz' := ⋯ },
            map_add' := ⋯ }.toFun
        (t • m))
      a✝ =
    ((RingHom.id R) t •
        {
              toFun := fun m =>
                let __spread.0 := (↑(LieModule.toEnd R L M)).flip m;
                { toLinearMap := __spread.0, leibniz' := ⋯ },
              map_add' := ⋯ }.toFun
          m)
      a✝
tactic: ext
state_before: case H
R : Type u_1
L : Type u_2
M : Type u_3
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
m : M
a✝ : L
⊢ ({
            toFun := fun m =>
              let __spread.0 := (↑(LieModule.toEnd R L M)).flip m;
              { toLinearMap := __spread.0, leibniz' := ⋯ },
            map_add' := ⋯ }.toFun
        (t • m))
      a✝ =
    ((RingHom.id R) t •
        {
              toFun := fun m =>
                let __spread.0 := (↑(LieModule.toEnd R L M)).flip m;
                { toLinearMap := __spread.0, leibniz' := ⋯ },
              map_add' := ⋯ }.toFun
          m)
      a✝
state_after: no goals
tactic: simp