Definition CReal_opp (x : CReal) : CReal :=
{|
seq := CReal_opp_seq x;
scale := CReal_opp_scale x;
cauchy := CReal_opp_cauchy x;
bound := CReal_opp_bound x
|}.
Notation "- x" := (CReal_opp x) : CReal_scope.
Definition CReal_minus (x y : CReal) : CReal
:= CReal_plus x (CReal_opp y).
Infix "-" := CReal_minus : CReal_scope.

(* ToDo: make a tactic for this *)
Lemma CReal_red_seq: forall (a : Z -> Q) (b : Z) (c : QCauchySeq a) (d : QBound a b),
seq (mkCReal a b c d) = a.