have := this init 0 n (by simp)
α : Type u_1
n : ℕ
f : α → Fin n → α
init : α
this :
  ∀ (init : α) (i j : ℕ) (h : i + j = n),
    foldl.loop n f init i = List.foldl f init (List.ofFn fun x => cast h (natAdd i x))
⊢ foldl.loop n f init 0 = List.foldl f init (List.ofFn id)
α : Type u_1
n : ℕ
f : α → Fin n → α
init : α
this✝ :
  ∀ (init : α) (i j : ℕ) (h : i + j = n),
    foldl.loop n f init i = List.foldl f init (List.ofFn fun x => cast h (natAdd i x))
this : foldl.loop n f init 0 = List.foldl f init (List.ofFn fun x => cast ⋯ (natAdd 0 x))
⊢ foldl.loop n f init 0 = List.foldl f init (List.ofFn id)