-- Lean 4 proof step from Mathlib.Algebra.Lie.Extension (goal)
Goal:
R : Type u_1
N : Type u_2
L : Type u_3
M : Type u_4
inst : CommRing R
inst_1 : LieRing L
inst_2 : LieAlgebra R L
inst_3 : AddCommGroup M
inst_4 : Module R M
inst_5 : LieRingModule L M
inst_6 : LieModule R L M
c : ↥(twoCocycle R L M)
x y z : ofTwoCocycle c
hc :
  Eq (α := L →ₗ[R] L →ₗ[R] L →ₗ[R] M)
    ((d₂₃ R L M : (a : ↥(twoCochain R L M)) → L →ₗ[R] L →ₗ[R] L →ₗ[R] M) (↑c : ↥(twoCochain R L M)) :
      L →ₗ[R] L →ₗ[R] L →ₗ[R] M)
    (0 : L →ₗ[R] L →ₗ[R] L →ₗ[R] M)
this :
  (((↑c : ↥(twoCochain R L M)) : (a : L) → L →ₗ[R] M) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) x).1 :
        (a : L) → M)
      (Bracket.bracket (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) y).1
        (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) z).1) =
    -HAdd.hAdd (β := M)
        (HSub.hSub (β := M)
          (HAdd.hAdd (β := M)
            (HSub.hSub (α := M) (β := M)
              (Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) x).1
                  ((((↑c : ↥(twoCochain R L M)) : (a : L) → L →ₗ[R] M)
                        (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) y).1 :
                      (a : L) → M)
                    (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) z).1) :
                M)
              (Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) y).1
                  ((((↑c : ↥(twoCochain R L M)) : (a : L) → L →ₗ[R] M)
                        (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) x).1 :
                      (a : L) → M)
                    (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) z).1) :
                M))
            (Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) z).1
                ((((↑c : ↥(twoCochain R L M)) : (a : L) → L →ₗ[R] M)
                      (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) x).1 :
                    (a : L) → M)
                  (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) y).1) :
              M))
          ((((↑c : ↥(twoCochain R L M)) : (a : L) → L →ₗ[R] M)
                  (Bracket.bracket (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) x).1
                    (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) y).1) :
                (a : L) → M)
              (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) z).1 :
            M))
        (-(((↑c : ↥(twoCochain R L M)) : (a : L) → L →ₗ[R] M) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) y).1 :
                (a : L) → M)
              (Bracket.bracket (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) x).1
                (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) z).1) :
          M)
⊢ HAdd.hAdd (α := M)
        ((((↑c : ↥(twoCochain R L M)) : (a : L) → L →ₗ[R] M) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) x).1 :
              (a : L) → M)
            (Bracket.bracket (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) y).1
              (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) z).1) :
          M)
        (HAdd.hAdd (α := M) (β := M)
            (Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) x).1
                ((((↑c : ↥(twoCochain R L M)) : (a : L) → L →ₗ[R] M)
                      (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) y).1 :
                    (a : L) → M)
                  (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) z).1) :
              M)
            (Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) x).1
                (Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) y).1
                  (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) z).2) :
              M) -
          Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) x).1
            (Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) z).1
              (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) y).2)) -
      HSub.hSub (α := M)
        (Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) y).1
          (Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) z).1
            (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) x).2))
        (Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) z).1
          (Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) y).1
            (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) x).2)) =
    HAdd.hAdd (α := M)
          ((((↑c : ↥(twoCochain R L M)) : (a : L) → L →ₗ[R] M)
                  (Bracket.bracket (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) x).1
                    (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) y).1) :
                (a : L) → M)
              (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) z).1 :
            M)
          (HSub.hSub (α := M)
            (Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) x).1
              (Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) y).1
                (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) z).2))
            (Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) y).1
              (Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) x).1
                (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) z).2))) -
        (HAdd.hAdd (α := M) (β := M)
            (Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) z).1
                ((((↑c : ↥(twoCochain R L M)) : (a : L) → L →ₗ[R] M)
                      (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) x).1 :
                    (a : L) → M)
                  (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) y).1) :
              M)
            (Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) z).1
                (Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) x).1
                  (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) y).2) :
              M) -
          Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) z).1
            (Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) y).1
              (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) x).2)) +
      (HAdd.hAdd (α := M)
          ((((↑c : ↥(twoCochain R L M)) : (a : L) → L →ₗ[R] M) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) y).1 :
                (a : L) → M)
              (Bracket.bracket (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) x).1
                (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) z).1) :
            M)
          (HAdd.hAdd (α := M) (β := M)
              (Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) y).1
                  ((((↑c : ↥(twoCochain R L M)) : (a : L) → L →ₗ[R] M)
                        (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) x).1 :
                      (a : L) → M)
                    (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) z).1) :
                M)
              (Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) y).1
                  (Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) x).1
                    (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) z).2) :
                M) -
            Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) y).1
              (Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) z).1
                (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) x).2)) -
        HSub.hSub (α := M)
          (Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) x).1
            (Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) z).1
              (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) y).2))
          (Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) z).1
            (Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) x).1
              (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) y).2)))
have rw : -HAdd.hAdd (β := M)
          (HSub.hSub (β := M)
            (HAdd.hAdd (β := M)
              (HSub.hSub (α := M) (β := M)
                (Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) x).1
                    ((((↑c : ↥(twoCochain R L M)) : (a : L) → L →ₗ[R] M)
                          (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) y).1 :
                        (a : L) → M)
                      (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) z).1) :
                  M)
                (Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) y).1
                    ((((↑c : ↥(twoCochain R L M)) : (a : L) → L →ₗ[R] M)
                          (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) x).1 :
                        (a : L) → M)
                      (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) z).1) :
                  M))
              (Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) z).1
                  ((((↑c : ↥(twoCochain R L M)) : (a : L) → L →ₗ[R] M)
                        (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) x).1 :
                      (a : L) → M)
                    (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) y).1) :
                M))
            ((((↑c : ↥(twoCochain R L M)) : (a : L) → L →ₗ[R] M)
                    (Bracket.bracket (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) x).1
                      (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) y).1) :
                  (a : L) → M)
                (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) z).1 :
              M))
          (-(((↑c : ↥(twoCochain R L M)) : (a : L) → L →ₗ[R] M) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) y).1 :
                  (a : L) → M)
                (Bracket.bracket (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) x).1
                  (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) z).1) :
            M) +
      (HAdd.hAdd (α := M) (β := M)
          (Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) x).1
              ((((↑c : ↥(twoCochain R L M)) : (a : L) → L →ₗ[R] M)
                    (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) y).1 :
                  (a : L) → M)
                (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) z).1) :
            M)
          (Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) x).1
              (Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) y).1
                (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) z).2) :
            M) -
        Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) x).1
          (Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) z).1
            (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) y).2)) -
    HSub.hSub (α := M)
      (Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) y).1
        (Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) z).1
          (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) x).2))
      (Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) z).1
        (Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) y).1
          (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) x).2)) =
  HAdd.hAdd (α := M)
        ((((↑c : ↥(twoCochain R L M)) : (a : L) → L →ₗ[R] M)
                (Bracket.bracket (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) x).1
                  (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) y).1) :
              (a : L) → M)
            (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) z).1 :
          M)
        (HSub.hSub (α := M)
          (Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) x).1
            (Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) y).1
              (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) z).2))
          (Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) y).1
            (Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) x).1
              (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) z).2))) -
      (HAdd.hAdd (α := M) (β := M)
          (Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) z).1
              ((((↑c : ↥(twoCochain R L M)) : (a : L) → L →ₗ[R] M)
                    (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) x).1 :
                  (a : L) → M)
                (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) y).1) :
            M)
          (Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) z).1
              (Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) x).1
                (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) y).2) :
            M) -
        Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) z).1
          (Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) y).1
            (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) x).2)) +
    (HAdd.hAdd (α := M)
        ((((↑c : ↥(twoCochain R L M)) : (a : L) → L →ₗ[R] M) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) y).1 :
              (a : L) → M)
            (Bracket.bracket (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) x).1
              (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) z).1) :
          M)
        (HAdd.hAdd (α := M) (β := M)
            (Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) y).1
                ((((↑c : ↥(twoCochain R L M)) : (a : L) → L →ₗ[R] M)
                      (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) x).1 :
                    (a : L) → M)
                  (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) z).1) :
              M)
            (Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) y).1
                (Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) x).1
                  (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) z).2) :
              M) -
          Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) y).1
            (Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) z).1
              (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) x).2)) -
      HSub.hSub (α := M)
        (Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) x).1
          (Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) z).1
            (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) y).2))
        (Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) z).1
          (Bracket.bracket.{u_3, u_4} (L := L) (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) x).1
            (((ofProd c).symm : (a : ofTwoCocycle c) → L × M) y).2)))
Tactic: rw [this]