-- Lean 4 proof step from Mathlib.Algebra.Lie.Cochain (goal)
Goal:
R : Type u_1
inst : CommRing R
L : Type u_2
inst_1 : LieRing L
inst_2 : LieAlgebra R L
M : Type u_3
inst_3 : AddCommGroup M
inst_4 : Module R M
inst_5 : LieRingModule L M
inst_6 : LieModule R L M
x : R
x_1 : ↥(twoCochain R L M)
x_2 x_3 x_4 : L
⊢ HSMul.hSMul (β := M) x (⁅x_2, (((x_1 : (a : L) → L →ₗ[R] M) x_3 : L →ₗ[R] M) : (a : L) → M) x_4⁆ : M) -
              HSMul.hSMul (β := M) x (⁅x_3, (((x_1 : (a : L) → L →ₗ[R] M) x_2 : L →ₗ[R] M) : (a : L) → M) x_4⁆ : M) +
            HSMul.hSMul (β := M) x (⁅x_4, (((x_1 : (a : L) → L →ₗ[R] M) x_2 : L →ₗ[R] M) : (a : L) → M) x_3⁆ : M) -
          HSMul.hSMul (β := M) x ((((x_1 : (a : L) → L →ₗ[R] M) ⁅x_2, x_3⁆ : L →ₗ[R] M) : (a : L) → M) x_4 : M) +
        HSMul.hSMul (β := M) x ((((x_1 : (a : L) → L →ₗ[R] M) ⁅x_2, x_4⁆ : L →ₗ[R] M) : (a : L) → M) x_3 : M) -
      HSMul.hSMul (β := M) x ((((x_1 : (a : L) → L →ₗ[R] M) ⁅x_3, x_4⁆ : L →ₗ[R] M) : (a : L) → M) x_2 : M) =
    x •
      HSub.hSub (β := M)
        (HAdd.hAdd (β := M)
          (HSub.hSub (β := M)
            (HAdd.hAdd (β := M)
              (HSub.hSub (α := M) (β := M)
                (⁅x_2, (((x_1 : (a : L) → L →ₗ[R] M) x_3 : L →ₗ[R] M) : (a : L) → M) x_4⁆ : M)
                (⁅x_3, (((x_1 : (a : L) → L →ₗ[R] M) x_2 : L →ₗ[R] M) : (a : L) → M) x_4⁆ : M))
              (⁅x_4, (((x_1 : (a : L) → L →ₗ[R] M) x_2 : L →ₗ[R] M) : (a : L) → M) x_3⁆ : M))
            ((((x_1 : (a : L) → L →ₗ[R] M) ⁅x_2, x_3⁆ : L →ₗ[R] M) : (a : L) → M) x_4 : M))
          ((((x_1 : (a : L) → L →ₗ[R] M) ⁅x_2, x_4⁆ : L →ₗ[R] M) : (a : L) → M) x_3 : M))
        ((((x_1 : (a : L) → L →ₗ[R] M) ⁅x_3, x_4⁆ : L →ₗ[R] M) : (a : L) → M) x_2 : M)
have h : HSMul.hSMul (β := M) x (⁅x_2, (((x_1 : (a : L) → L →ₗ[R] M) x_3 : L →ₗ[R] M) : (a : L) → M) x_4⁆ : M) +
    (HSMul.hSMul (α := ℤ) (-1)
        (HSMul.hSMul (β := M) x (⁅x_3, (((x_1 : (a : L) → L →ₗ[R] M) x_2 : L →ₗ[R] M) : (a : L) → M) x_4⁆ : M)) +
      (HSMul.hSMul (β := M) x (⁅x_4, (((x_1 : (a : L) → L →ₗ[R] M) x_2 : L →ₗ[R] M) : (a : L) → M) x_3⁆ : M) +
        (HSMul.hSMul (α := ℤ) (-1)
            (HSMul.hSMul (β := M) x ((((x_1 : (a : L) → L →ₗ[R] M) ⁅x_2, x_3⁆ : L →ₗ[R] M) : (a : L) → M) x_4 : M)) +
          (HSMul.hSMul (β := M) x ((((x_1 : (a : L) → L →ₗ[R] M) ⁅x_2, x_4⁆ : L →ₗ[R] M) : (a : L) → M) x_3 : M) +
            HSMul.hSMul (α := ℤ) (-1)
              (HSMul.hSMul (β := M) x
                ((((x_1 : (a : L) → L →ₗ[R] M) ⁅x_3, x_4⁆ : L →ₗ[R] M) : (a : L) → M) x_2 : M)))))) =
  x •
    HAdd.hAdd (α := M) (⁅x_2, (((x_1 : (a : L) → L →ₗ[R] M) x_3 : L →ₗ[R] M) : (a : L) → M) x_4⁆ : M)
      (HSMul.hSMul (α := ℤ) (β := M) (-1)
          (⁅x_3, (((x_1 : (a : L) → L →ₗ[R] M) x_2 : L →ₗ[R] M) : (a : L) → M) x_4⁆ : M) +
        HAdd.hAdd (α := M) (⁅x_4, (((x_1 : (a : L) → L →ₗ[R] M) x_2 : L →ₗ[R] M) : (a : L) → M) x_3⁆ : M)
          (HSMul.hSMul (α := ℤ) (β := M) (-1)
              ((((x_1 : (a : L) → L →ₗ[R] M) ⁅x_2, x_3⁆ : L →ₗ[R] M) : (a : L) → M) x_4 : M) +
            HAdd.hAdd (α := M) ((((x_1 : (a : L) → L →ₗ[R] M) ⁅x_2, x_4⁆ : L →ₗ[R] M) : (a : L) → M) x_3 : M)
              (HSMul.hSMul (α := ℤ) (β := M) (-1)
                ((((x_1 : (a : L) → L →ₗ[R] M) ⁅x_3, x_4⁆ : L →ₗ[R] M) : (a : L) → M) x_2 : M))))
Tactic: abel_nf