(* Alias the large order *)
Definition CRealLe (x y : CReal) : Prop
:= CRealLt y x -> False.
Definition CRealGe (x y : CReal) := CRealLe y x.
Infix "<=" := CRealLe : CReal_scope.
Infix ">=" := CRealGe : CReal_scope.
Notation "x <= y <= z" := (x <= y /\ y <= z) : CReal_scope.
Notation "x <= y < z"  := (prod (x <= y) (y < z)) : CReal_scope.
Notation "x < y < z"   := (prod (x < y) (y < z)) : CReal_scope.
Notation "x < y <= z"  := (prod (x < y) (y <= z)) : CReal_scope.
(* Alias the quotient order equality *)
Definition CRealEq (x y : CReal) : Prop
:= (CRealLe y x) /\ (CRealLe x y).
Infix "==" := CRealEq : CReal_scope.

(* Specifications: *)
Lemma CRealLe_not_lt : forall x y : CReal,
(forall n : Z, (seq x n - seq y n <= 2 * 2 ^ n)%Q)
<-> x <= y.
Lemma CRealEq_diff : forall (x y : CReal),
CRealEq x y
<-> forall n:Z, ((Qabs (seq x n - seq y n)) <= (2 * 2 ^ n))%Q.