Definition CReal_mult (x y : CReal) : CReal :=
{|
seq := CReal_mult_seq x y;
scale := CReal_mult_scale x y;
cauchy := CReal_mult_cauchy x y;
bound := CReal_mult_bound x y
|}.
Infix "*" := CReal_mult : CReal_scope.

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