rewrite (mult_comm p (n - m)); rewrite (mult_comm p n);
rewrite (mult_comm p m); auto with arith.
Qed.
Hint Resolve mult_minus_distr_left.

(* Specifications: *)
Lemma mult_eq_zero : forall a b : nat, a * b = 0 -> a = 0 \/ b = 0.
intros a b; elim a.