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

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

case hs

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