(** Reasoning by case on equality and order *)

(* Specifications: *)
(* We should use Rtotal_order in proofs and total_order_T in definitions. *)
Lemma Rtotal_order : forall r1 r2, r1 < r2 \/ r1 = r2 \/ r1 > r2.
Lemma Req_dec : forall r1 r2:R, r1 = r2 \/ r1 <> r2.
#[global]
Hint Resolve Req_dec: real.
Lemma Rdichotomy : forall r1 r2, r1 <> r2 -> r1 < r2 \/ r1 > r2.
(*********************************************************)
(** ** Strong decidable equality                          *)
(*********************************************************)
Lemma Req_dec_T : forall r1 r2:R, {r1 = r2} + {r1 <> r2}.
(*********************************************************)
(** ** Relating [<], [>], [<=] and [>=]                  *)
(*********************************************************)
(** *** Relating strict and large orders *)
Lemma Rlt_le : forall r1 r2, r1 < r2 -> r1 <= r2.
#[global]
Hint Immediate Rnot_le_lt: real.
Lemma Rnot_ge_gt : forall r1 r2, ~ r1 >= r2 -> r2 > r1.
Lemma Rnot_gt_le : forall r1 r2, ~ r1 > r2 -> r1 <= r2.
#[global]
Hint Immediate Rlt_not_le: real.
Lemma Rgt_not_le : forall r1 r2, r1 > r2 -> ~ r1 <= r2.
Lemma Rge_not_lt : forall r1 r2, r1 >= r2 -> ~ r1 < r2.
#[global]
Hint Resolve Rle_antisym: real.