apply generic_recursor
⊢ ∀ (r m n : ↑N0), exp (mul (m, n), r) = mul (exp (m, r), exp (n, r))
case hz

⊢ ∀ (m n : ↑N0), exp (mul (m, n), z) = mul (exp (m, z), exp (n, z))

case hs

⊢ ∀ (n : ↑N0),
    (∀ (m n_1 : ↑N0), exp (mul (m, n_1), n) = mul (exp (m, n), exp (n_1, n))) →
      ∀ (m n_1 : ↑N0), exp (mul (m, n_1), S n) = mul (exp (m, S n), exp (n_1, S n))