Definition CReal_inv_pos (x : CReal) (Hxpos : 0 < x) : CReal :=
{|
seq := CReal_inv_pos_seq x Hxpos;
scale := CReal_inv_pos_scale x Hxpos;
cauchy := CReal_inv_pos_cauchy x Hxpos;
bound := CReal_inv_pos_bound x Hxpos
|}.
Definition CReal_neg_lt_pos : forall x : CReal, x < 0 -> 0 < -x.

(* In particular x * y == 1 implies that 0 # x, 0 # y and that x and y are inverses of each other. *)
Lemma CReal_mult_pos_appart_zero : forall x y : CReal, 0 < x * y -> 0 # x.
Fixpoint pow (r:CReal) (n:nat) : CReal :=
match n with
| O => 1
| S n => r * (pow r n)
end.