(** * Setoid compatibility results *)
#[global]
Instance Qopp_comp : Proper (Qeq==>Qeq) Qopp.
#[global]
Instance Qminus_comp : Proper (Qeq==>Qeq==>Qeq) Qminus.
#[global]
Instance Qmult_comp : Proper (Qeq==>Qeq==>Qeq) Qmult.
#[global]
Instance Qinv_comp : Proper (Qeq==>Qeq) Qinv.
#[global]
Instance Qdiv_comp : Proper (Qeq==>Qeq==>Qeq) Qdiv.
#[global]
Instance Qcompare_comp : Proper (Qeq==>Qeq==>eq) Qcompare.
#[global]
Instance Qle_comp : Proper (Qeq==>Qeq==>iff) Qle.
#[global]
Instance Qlt_compat : Proper (Qeq==>Qeq==>iff) Qlt.
#[global]
Instance Qeqb_comp : Proper (Qeq==>Qeq==>eq) Qeq_bool.
#[global]
Instance Qleb_comp : Proper (Qeq==>Qeq==>eq) Qle_bool.
(** [0] and [1] are apart *)

(** Injectivity of addition (uses theory about Qopp above): *)
Lemma Qplus_inj_r (x y z: Q):
x + z == y + z <-> x == y.