(* 2 *)
2: intros x' Hneg; simpl in |- *.
2: rewrite Qpositive_mult_inv; auto.
(* 1 *)
intros H; elim H; auto.
(* 3 *)
intros x' Hneg; simpl in |- *.
rewrite Qpositive_mult_inv; auto.
Qed.

Theorem Q_integral : forall x y : Q, Qmult x y = Zero -> x = Zero \/ y = Zero.
intros x y; case y; case x; simpl in |- *; auto; intros x' y' H;
discriminate H.