induction n generalizing a with
| zero => rfl
| succ n ih =>
  calc
  _ = iter f (m * n + m) a := rfl
  _ = iter f (m * n) (iter f m a) := by rw [iter_add]
  _ = iter (iter f m) n (iter f m a) := by rw [ih]
  _ = iter (iter f m) (n + 1) a := by rw [iter_succ]
α : Sort u_1
f : α → α
m n : Nat
a : α
⊢ iter f (m * n) a = iter (iter f m) n a
no goals