(* 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_aboveSig : forall (x y : CReal) (n : Z), (2 * 2^n < seq y n - seq x n)%Q -> let (k, _) := QarchimedeanExp2_Z (/(seq y n - seq x n - (2 * 2 ^ n)%Q)) in forall p:Z, (p <= n)%Z -> (2^(-k) < seq y p - seq x p)%Q.