intros b H'; rewrite H'; auto.
intros n H' b; case b; simpl in |- *; auto with arith.
intros n0; rewrite (plus_comm (n - n0) (S n0)); simpl in |- *; auto.
rewrite (plus_comm n0 (n - n0)); auto with arith.
Qed.

(* Specifications: *)
Theorem ppcm_mom_is_ppcm :
forall (d : nat) (a b c : mon d),
c = mult_mon d (div_mon d c a) a ->
c = mult_mon d (div_mon d c b) b ->
c = mult_mon d (div_mon d c (ppcm_mon d a b)) (ppcm_mon d a b).