intros d; elim d; simpl in |- *; auto.
intros n H' a b.
rewrite (H' (pmon2 (S n) a) (pmon2 (S n) b)); auto.
rewrite (plus_comm (pmon1 (S n) a) (pmon1 (S n) b)).
rewrite (minus_plus (pmon1 (S n) b) (pmon1 (S n) a)); auto.
apply proj_ok; auto.
Qed.

(* Specifications: *)
Theorem mult_div_id :
forall (d : nat) (a : mon d), div_mon d a a = zero_mon d.