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

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

State before:
case zero
S : Type
image_zero : S
image_succ : N → S → S
a b c : N
⊢ succ a * zero = a * zero + 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 : succ a * n = a * n + n
⊢ succ a * succ n = a * succ n + succ n
Tactic:
rw [mul_succ, mul_succ, hn, add_assoc, add_assoc, add_succ,
  add_succ, add_succ, add_succ, add_comm n a]
State after:
no goals