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

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

case hs

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