replace (p * n) with (n * p). trivial with arith. apply mult_sym.
Qed.
(****************************************************************)
(* La fonction puissance de 2 *)
Fixpoint power2 (n : nat) : nat :=
match n with
| O => 1
| S x => power2 x + power2 x
end.

(* Lemma power2_SO : ((S (S O))=(power2 (S O))). Auto with arith. Qed. Hints Resolve power2_SO.  Lemma mult_power2 : (x,y:nat) ((mult (power2 x) (power2 y))=(power2 (plus x y))). *)
Lemma power2_plus : forall x y : nat, power2 (x + y) = power2 x * power2 y.
simple induction x. intros. simpl in |- *. elim plus_n_O; auto with arith.