(* 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.

Lemma CRealLt_above : forall (x y : CReal), CRealLt x y -> { n : Z | forall p : Z, (p <= n)%Z -> (2 * 2 ^ n < seq y p - seq x p)%Q }.