intro macc
case zero
m : Type u → Type u_1
inst✝¹ : Monad m
inst✝ : LawfulMonad m
n : ℕ
β : Type u
init : β
f : Fin n → β → m β
i : ℕ
hj : i + 0 = n
⊢ ∀ (macc : m β),
    (do
        let acc ← macc
        foldlM.aux n f i acc) =
      foldl.loop n
        (fun macc i => do
          let acc ← macc
          f i acc)
        macc i
case zero
m : Type u → Type u_1
inst✝¹ : Monad m
inst✝ : LawfulMonad m
n : ℕ
β : Type u
init : β
f : Fin n → β → m β
i : ℕ
hj : i + 0 = n
macc : m β
⊢ (do
      let acc ← macc
      foldlM.aux n f i acc) =
    foldl.loop n
      (fun macc i => do
        let acc ← macc
        f i acc)
      macc i