intros x y H' H'0; try assumption.
elim (INTEGRAL_DOMAIN_prop (x:=x) (y:=y)); auto with algebra.
intros H'1; try assumption.
absurd (Equal x (monoid_unit R)); auto with algebra.
Qed.
Hint Resolve INTEGRAL_DOMAIN_prop INTEGRAL_DOMAIN_prop_rev
INTEGRAL_DOMAIN_mult_l INTEGRAL_DOMAIN_mult_r INTEGRAL_DOMAIN_mult_n0_l
INTEGRAL_DOMAIN_mult_n0_r: algebra.

Lemma INTEGRAL_DOMAIN_simpl_r :
forall x y z : R,
~ Equal z (monoid_unit R) ->
Equal (ring_mult x z) (ring_mult y z) -> Equal x y.