Theorem: N.mul_assoc (LeanTeaching/TD/TD02_sol.lean)

State before:
S : Type
image_zero : S
image_succ : N → S → S
a b c : N
⊢ a * b * c = a * (b * c)
Tactic:
induction c with
| zero =>
  rfl
| succ n hn =>
  rw [mul_succ, hn, mul_succ, mul_add]
State after:
no goals

State before:
case zero
S : Type
image_zero : S
image_succ : N → S → S
a b c : N
⊢ a * b * zero = a * (b * zero)
Tactic:
rfl
State after:
no goals

State before:
case succ
S : Type
image_zero : S
image_succ : N → S → S
a b c n : N
hn : a * b * n = a * (b * n)
⊢ a * b * succ n = a * (b * succ n)
Tactic:
rw [mul_succ, hn, mul_succ, mul_add]
State after:
no goals