Definition CReal_from_cauchy (xn : nat -> CReal) (xcau : Un_cauchy_mod xn) : CReal :=
{|
seq := CReal_from_cauchy_seq xn xcau;
scale := CReal_from_cauchy_scale xn xcau;
cauchy := CReal_from_cauchy_cauchy xn xcau;
bound := CReal_from_cauchy_bound xn xcau
|}.

(* Specifications: *)
Lemma Rcauchy_complete : forall (xn : nat -> CReal),
Un_cauchy_mod xn
-> { l : CReal  &  seq_cv xn l }.
Lemma CRealLtIsLinear : isLinearOrder CRealLt.
Lemma CRealAbsLUB : forall x y : CReal,
x <= y /\ (- x) <= y <-> (CReal_abs x) <= y.
Lemma CRealComplete :  forall xn : nat -> CReal,
(forall p : positive,
{n : nat |
forall i j : nat,
(n <= i)%nat -> (n <= j)%nat -> (CReal_abs (xn i + - xn j)) <= (inject_Q (1 # p))}) ->
{l : CReal &
forall p : positive,
{n : nat |
forall i : nat, (n <= i)%nat -> (CReal_abs (xn i + - l)) <= (inject_Q (1 # p))}}.
Lemma Qnot_le_iff_lt: forall x y : Q,
~ (x <= y)%Q <-> (y < x)%Q.
Lemma Qnot_lt_iff_le: forall x y : Q,
~ (x < y)%Q <-> (y <= x)%Q.
Lemma CRealLtDisjunctEpsilon : forall a b c d : CReal,
(CRealLtProp a b \/ CRealLtProp c d) -> CRealLt a b  +  CRealLt c d.