theorem liftAlternating_ι_mul (f : ∀ i, M [Λ^Fin i]→ₗ[R] N) (m : M)
    (x : ExteriorAlgebra R M) :
    liftAlternating (R := R) (M := M) (N := N) f (ι R m * x) =
    liftAlternating (R := R) (M := M) (N := N) (fun i => (f i.succ).curryLeft m) x := by
  dsimp [liftAlternating]
  rw [foldl_mul, foldl_ι]
  

Proof state:
R : Type u_1
M : Type u_2
N : Type u_3
N' : Type u_4
inst✝⁶ : CommRing R
inst✝⁵ : AddCommGroup M
inst✝⁴ : AddCommGroup N
inst✝³ : AddCommGroup N'
inst✝² : Module R M
inst✝¹ : Module R N
inst✝ : Module R N'
f : (i : ℕ) → M [Λ^Fin i]→ₗ[R] N
m : M
x : ExteriorAlgebra R M
⊢ (((foldl 0
            (LinearMap.mk₂ R (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m)
              (_ :
                ∀ (m₁ m₂ : M) (f : (i : ℕ) → M [Λ^Fin i]→ₗ[R] N),
                  (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) (m₁ + m₂) f =
                    (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m₁ f +
                      (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m₂ f)
              (_ :
                ∀ (c : R) (m : M) (f : (i : ℕ) → M [Λ^Fin i]→ₗ[R] N),
                  (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) (c • m) f =
                    c • (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m f)
              (_ :
                ∀ (m : M) (f₁ f₂ : (i : ℕ) → M [Λ^Fin i]→ₗ[R] N),
                  (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m (f₁ + f₂) =
                    (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m f₁ +
                      (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m f₂)
              (_ :
                ∀ (c : R) (m : M) (f : (i : ℕ) → M [Λ^Fin i]→ₗ[R] N),
                  (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m (c • f) =
                    c • (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m f))
            (_ :
              ∀ (m : M) (x : (i : ℕ) → M [Λ^Fin i]→ₗ[R] N),
                ((LinearMap.mk₂ R (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m)
                        (_ :
                          ∀ (m₁ m₂ : M) (f : (i : ℕ) → M [Λ^Fin i]→ₗ[R] N),
                            (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) (m₁ + m₂) f =
                              (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m₁ f +
                                (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m₂ f)
                        (_ :
                          ∀ (c : R) (m : M) (f : (i : ℕ) → M [Λ^Fin i]→ₗ[R] N),
                            (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) (c • m) f =
                              c • (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m f)
                        (_ :
                          ∀ (m : M) (f₁ f₂ : (i : ℕ) → M [Λ^Fin i]→ₗ[R] N),
                            (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m (f₁ + f₂) =
                              (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m f₁ +
                                (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m f₂)
                        (_ :
                          ∀ (c : R) (m : M) (f : (i : ℕ) → M [Λ^Fin i]→ₗ[R] N),
                            (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m (c • f) =
                              c • (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m f))
                      m)
                    (((LinearMap.mk₂ R (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m)
                          (_ :
                            ∀ (m₁ m₂ : M) (f : (i : ℕ) → M [Λ^Fin i]→ₗ[R] N),
                              (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) (m₁ + m₂) f =
                                (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m₁ f +
                                  (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m₂ f)
                          (_ :
                            ∀ (c : R) (m : M) (f : (i : ℕ) → M [Λ^Fin i]→ₗ[R] N),
                              (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) (c • m) f =
                                c • (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m f)
                          (_ :
                            ∀ (m : M) (f₁ f₂ : (i : ℕ) → M [Λ^Fin i]→ₗ[R] N),
                              (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m (f₁ + f₂) =
                                (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m f₁ +
                                  (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m f₂)
                          (_ :
                            ∀ (c : R) (m : M) (f : (i : ℕ) → M [Λ^Fin i]→ₗ[R] N),
                              (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m (c • f) =
                                c • (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m f))
                        m)
                      x) =
                  0 m • x))
          (((LinearMap.mk₂ R (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m)
                (_ :
                  ∀ (m₁ m₂ : M) (f : (i : ℕ) → M [Λ^Fin i]→ₗ[R] N),
                    (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) (m₁ + m₂) f =
                      (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m₁ f +
                        (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m₂ f)
                (_ :
                  ∀ (c : R) (m : M) (f : (i : ℕ) → M [Λ^Fin i]→ₗ[R] N),
                    (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) (c • m) f =
                      c • (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m f)
                (_ :
                  ∀ (m : M) (f₁ f₂ : (i : ℕ) → M [Λ^Fin i]→ₗ[R] N),
                    (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m (f₁ + f₂) =
                      (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m f₁ +
                        (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m f₂)
                (_ :
                  ∀ (c : R) (m : M) (f : (i : ℕ) → M [Λ^Fin i]→ₗ[R] N),
                    (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m (c • f) =
                      c • (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m f))
              m)
            f))
        x 0)
      0 =
    (((foldl 0
            (LinearMap.mk₂ R (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m)
              (_ :
                ∀ (m₁ m₂ : M) (f : (i : ℕ) → M [Λ^Fin i]→ₗ[R] N),
                  (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) (m₁ + m₂) f =
                    (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m₁ f +
                      (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m₂ f)
              (_ :
                ∀ (c : R) (m : M) (f : (i : ℕ) → M [Λ^Fin i]→ₗ[R] N),
                  (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) (c • m) f =
                    c • (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m f)
              (_ :
                ∀ (m : M) (f₁ f₂ : (i : ℕ) → M [Λ^Fin i]→ₗ[R] N),
                  (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m (f₁ + f₂) =
                    (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m f₁ +
                      (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m f₂)
              (_ :
                ∀ (c : R) (m : M) (f : (i : ℕ) → M [Λ^Fin i]→ₗ[R] N),
                  (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m (c • f) =
                    c • (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m f))
            (_ :
              ∀ (m : M) (x : (i : ℕ) → M [Λ^Fin i]→ₗ[R] N),
                ((LinearMap.mk₂ R (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m)
                        (_ :
                          ∀ (m₁ m₂ : M) (f : (i : ℕ) → M [Λ^Fin i]→ₗ[R] N),
                            (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) (m₁ + m₂) f =
                              (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m₁ f +
                                (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m₂ f)
                        (_ :
                          ∀ (c : R) (m : M) (f : (i : ℕ) → M [Λ^Fin i]→ₗ[R] N),
                            (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) (c • m) f =
                              c • (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m f)
                        (_ :
                          ∀ (m : M) (f₁ f₂ : (i : ℕ) → M [Λ^Fin i]→ₗ[R] N),
                            (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m (f₁ + f₂) =
                              (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m f₁ +
                                (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m f₂)
                        (_ :
                          ∀ (c : R) (m : M) (f : (i : ℕ) → M [Λ^Fin i]→ₗ[R] N),
                            (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m (c • f) =
                              c • (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m f))
                      m)
                    (((LinearMap.mk₂ R (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m)
                          (_ :
                            ∀ (m₁ m₂ : M) (f : (i : ℕ) → M [Λ^Fin i]→ₗ[R] N),
                              (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) (m₁ + m₂) f =
                                (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m₁ f +
                                  (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m₂ f)
                          (_ :
                            ∀ (c : R) (m : M) (f : (i : ℕ) → M [Λ^Fin i]→ₗ[R] N),
                              (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) (c • m) f =
                                c • (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m f)
                          (_ :
                            ∀ (m : M) (f₁ f₂ : (i : ℕ) → M [Λ^Fin i]→ₗ[R] N),
                              (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m (f₁ + f₂) =
                                (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m f₁ +
                                  (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m f₂)
                          (_ :
                            ∀ (c : R) (m : M) (f : (i : ℕ) → M [Λ^Fin i]→ₗ[R] N),
                              (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m (c • f) =
                                c • (fun m f i => (AlternatingMap.curryLeft (f (Nat.succ i))) m) m f))
                        m)
                      x) =
                  0 m • x))
          fun i => (AlternatingMap.curryLeft (f (Nat.succ i))) m)
        x 0)
      0

Next tactic:
rfl