simple induction p.
simpl in |- *.
elim plus_n_O.
elim mult_n_Sm.
auto with arith.
elim mult_n_O; auto with arith.
clear p; intros p H_rec.
elim plus_n_Sm.
simpl in |- *.
rewrite H_rec.
elim mult_assoc_reverse.
rewrite (mult_comm n (exp_n n m)).
auto with arith.
Qed.
Hint Resolve exp_n_plus_mult.

Lemma exp_n_permut :
forall n m p : nat, exp_n n (m * p) = exp_n (exp_n n p) m.