End Z2R.
(** Decidable comparison on reals *)
Section Rcompare.
Definition Rcompare x y :=
match total_order_T x y with
| inleft (left _) => Lt
| inleft (right _) => Eq
| inright _ => Gt
end.
Inductive Rcompare_prop (x y : R) : comparison -> Prop :=
| Rcompare_Lt_ : (x < y)%R -> Rcompare_prop x y Lt
| Rcompare_Eq_ : x = y -> Rcompare_prop x y Eq
| Rcompare_Gt_ : (y < x)%R -> Rcompare_prop x y Gt.

(* Specifications: *)
Theorem Rcompare_spec :
forall x y, Rcompare_prop x y (Rcompare x y).