intros x y z H; rewrite <- (Qpositive_sub_correct x z).
rewrite <- (Qpositive_sub_correct y z).
apply Qpositive_le_sub_r; auto with *.
rewrite Qpositive_plus_sym; apply sym_not_equal; apply Qpositive_plus_diff.
rewrite Qpositive_plus_sym; apply sym_not_equal; apply Qpositive_plus_diff.
rewrite Qpositive_plus_sym; apply Qpositive_plus_le.
rewrite Qpositive_plus_sym; apply Qpositive_plus_le.
Qed.

(* Specifications: *)
Theorem Qpositive_le_sub_simpl_r :
forall x y z : Qpositive,
Qpositive_le z x ->
Qpositive_le z y ->
z <> x ->
z <> y ->
Qpositive_le (Qpositive_sub x z) (Qpositive_sub y z) -> Qpositive_le x y.