induction k
m : Type u → Type v
inst✝ : Monad m
α : Type u
f : Nat → α → m α
init : α
n k : Nat
hk : k ≤ n
⊢ foldM.loop f (n + 1) k = foldM.loop (f ∘ succ) n k
case zero
m : Type u → Type v
inst✝ : Monad m
α : Type u
f : Nat → α → m α
init : α
n : Nat
hk : zero ≤ n
⊢ foldM.loop f (n + 1) zero = foldM.loop (f ∘ succ) n zero

case succ
m : Type u → Type v
inst✝ : Monad m
α : Type u
f : Nat → α → m α
init : α
n n✝ : Nat
n_ih✝ : n✝ ≤ n → foldM.loop f (n + 1) n✝ = foldM.loop (f ∘ succ) n n✝
hk : succ n✝ ≤ n
⊢ foldM.loop f (n + 1) (succ n✝) = foldM.loop (f ∘ succ) n (succ n✝)