Add Parametric Relation {R : ConstructiveReals} : (CRcarrier R) (CReq R)
    reflexivity proved by (CReq_refl)
    symmetry proved by (CReq_sym)
    transitivity proved by (CReq_trans)
      as CReq_rel.#[global]
Instance CReq_relT : forall {R : ConstructiveReals},
    CRelationClasses.Equivalence (CReq R).#[global]
Instance CRlt_morph
  : forall {R : ConstructiveReals}, CMorphisms.Proper
      (CMorphisms.respectful (CReq R) (CMorphisms.respectful (CReq R) CRelationClasses.iffT)) (CRlt R).Add Parametric Morphism {R : ConstructiveReals} : (CRle R)
    with signature CReq R ==> CReq R ==> iff
      as CRle_morph.

(* Specifications: *)
Lemma CRplus_0_l : forall {R : ConstructiveReals} (x : CRcarrier R), 0 + x == x.
Lemma CRplus_0_r : forall {R : ConstructiveReals} (x : CRcarrier R), x + 0 == x.
Lemma CRplus_opp_l : forall {R : ConstructiveReals} (x : CRcarrier R), - x + x == 0.
Lemma CRplus_opp_r : forall {R : ConstructiveReals} (x : CRcarrier R), x + - x == 0.
Lemma CRopp_0 : forall {R : ConstructiveReals}, CRopp R 0 == 0.
Lemma CRplus_lt_compat_r : forall {R : ConstructiveReals} (r r1 r2 : CRcarrier R), r1 < r2 -> r1 + r < r2 + r.
Lemma CRplus_lt_reg_r : forall {R : ConstructiveReals} (r r1 r2 : CRcarrier R), r1 + r < r2 + r -> r1 < r2.
Lemma CRplus_le_compat_l : forall {R : ConstructiveReals} (r r1 r2 : CRcarrier R), r1 <= r2 -> r + r1 <= r + r2.
Lemma CRplus_le_compat_r : forall {R : ConstructiveReals} (r r1 r2 : CRcarrier R), r1 <= r2 -> r1 + r <= r2 + r.
Lemma CRplus_le_compat : forall {R : ConstructiveReals} (r1 r2 r3 r4 : CRcarrier R), r1 <= r2 -> r3 <= r4 -> r1 + r3 <= r2 + r4.
Lemma CRle_minus : forall {R : ConstructiveReals} (x y : CRcarrier R), x <= y -> 0 <= y - x.
Lemma CRplus_le_reg_l : forall {R : ConstructiveReals} (r r1 r2 : CRcarrier R), r + r1 <= r + r2 -> r1 <= r2.
Lemma CRplus_le_reg_r : forall {R : ConstructiveReals} (r r1 r2 : CRcarrier R), r1 + r <= r2 + r -> r1 <= r2.
Lemma CRplus_lt_le_compat : forall {R : ConstructiveReals} (r1 r2 r3 r4 : CRcarrier R), r1 < r2 -> r3 <= r4 -> r1 + r3 < r2 + r4.
Lemma CRplus_le_lt_compat : forall {R : ConstructiveReals} (r1 r2 r3 r4 : CRcarrier R), r1 <= r2 -> r3 < r4 -> r1 + r3 < r2 + r4.
Lemma CRplus_eq_reg_l : forall {R : ConstructiveReals} (r r1 r2 : CRcarrier R), r + r1 == r + r2 -> r1 == r2.
Lemma CRplus_eq_reg_r : forall {R : ConstructiveReals} (r r1 r2 : CRcarrier R), r1 + r == r2 + r -> r1 == r2.
Lemma CRplus_assoc : forall {R : ConstructiveReals} (r r1 r2 : CRcarrier R), r + r1 + r2 == r + (r1 + r2).
Lemma CRplus_comm : forall {R : ConstructiveReals} (r1 r2 : CRcarrier R), r1 + r2 == r2 + r1.