(* Strict inequality on CReal is in sort Type, for example used in the computation of division. *)
Definition CReal_mult_lt_0_compat : forall x y : CReal,
0 < x -> 0 < y -> 0 < x * y
:= fun x y Hx Hy => exist _ (proj1_sig Hx + proj1_sig Hy - 1)%Z
(CReal_mult_lt_0_compat_correct
x y Hx Hy).

Lemma CReal_isRing : ring_theory (inject_Q 0) (inject_Q 1)
CReal_plus CReal_mult
CReal_minus CReal_opp
CRealEq.