Add Parametric Morphism : inject_Q
with signature Qeq ==> CRealEq
as inject_Q_morph.
#[global]
Instance inject_Q_morph_T
: CMorphisms.Proper
(CMorphisms.respectful Qeq CRealEq) inject_Q.
(** * Algebraic operations *)
(** We reduce the rational numbers to accelerate calculations. *)
Definition CReal_plus_seq (x y : CReal) :=
(fun n : Z => Qred (seq x (n-1)%Z + seq y (n-1)%Z)).
Definition CReal_plus_scale (x y : CReal) : Z :=
Z.max x.(scale) y.(scale) + 1.

(* Specifications: *)
Lemma CReal_plus_cauchy : forall (x y : CReal),
QCauchySeq (CReal_plus_seq x y).
Lemma CReal_plus_bound : forall (x y : CReal),
QBound (CReal_plus_seq x y) (CReal_plus_scale x y).