apply generic_recursor
⊢ ∀ (c a b : ↑N0), mul (a, plus (b, c)) = plus (mul (a, b), mul (a, c))
case hz

⊢ ∀ (a b : ↑N0), mul (a, plus (b, z)) = plus (mul (a, b), mul (a, z))

case hs

⊢ ∀ (n : ↑N0),
    (∀ (a b : ↑N0), mul (a, plus (b, n)) = plus (mul (a, b), mul (a, n))) →
      ∀ (a b : ↑N0), mul (a, plus (b, S n)) = plus (mul (a, b), mul (a, S n))