Section RealClosedFieldTheory.
Variable R : rcfType.
Implicit Types a x y : R.

(* Specifications: *)
Lemma poly_ivt : real_closed_axiom R. Proof. exact: poly_ivt. Qed.
(* Square Root theory *)
Lemma sqrtr_ge0 a : 0 <= sqrt a.
Lemma ler0_sqrtr a : a <= 0 -> sqrt a = 0.
Lemma ltr0_sqrtr a : a < 0 -> sqrt a = 0.
Lemma sqrtr_sqr a : sqrt (a ^+ 2) = `|a|.
Lemma sqrtrM a b : 0 <= a -> sqrt (a * b) = sqrt a * sqrt b.
Lemma sqrtr0 : sqrt 0 = 0 :> R.
Lemma sqrtr_gt0 a : (0 < sqrt a) = (0 < a).
Lemma ler_wsqrtr : {homo @sqrt R : a b / a <= b}.
Lemma ler_psqrt : {in @pos R &, {mono sqrt : a b / a <= b}}.
Lemma ler_sqrt a b : 0 < b -> (sqrt a <= sqrt b) = (a <= b).
Lemma ltr_sqrt a b : 0 < b -> (sqrt a < sqrt b) = (a < b).
End RealClosedFieldTheory.