#[export] Instance Rle_Transitive : Transitive Rle | 10 := Rle_trans.

(* Specifications: *)
Lemma Rge_trans : forall r1 r2 r3, r1 >= r2 -> r2 >= r3 -> r1 >= r3.
#[export] Instance Rge_Transitive : Transitive Rge | 10 := Rge_trans.
Lemma Rgt_trans : forall r1 r2 r3, r1 > r2 -> r2 > r3 -> r1 > r3.
Lemma Rle_dec : forall r1 r2, {r1 <= r2} + {~ r1 <= r2}.
Lemma Rgt_dec : forall r1 r2, {r1 > r2} + {~ r1 > r2}.
Lemma Rlt_le_dec : forall r1 r2, {r1 < r2} + {r2 <= r1}.
Lemma Rlt_ge_dec : forall r1 r2, {r1 < r2} + {r1 >= r2}.
Lemma Rgt_ge_dec : forall r1 r2, {r1 > r2} + {r2 >= r1}.
Lemma Rgt_le_dec : forall r1 r2, {r1 > r2} + {r1 <= r2}.
Lemma Rle_lt_dec : forall r1 r2, {r1 <= r2} + {r2 < r1}.
Lemma Rle_gt_dec : forall r1 r2, {r1 <= r2} + {r1 > r2}.
Lemma Rge_gt_dec : forall r1 r2, {r1 >= r2} + {r2 > r1}.
Lemma Rge_lt_dec : forall r1 r2, {r1 >= r2} + {r1 < r2}.
Lemma Rle_lt_or_eq_dec : forall r1 r2, r1 <= r2 -> {r1 < r2} + {r1 = r2}.
Lemma Rge_gt_or_eq_dec : forall r1 r2, r1 >= r2 -> {r1 > r2} + {r1 = r2}.
(** *** Same theorems with disjunctions instead of sumbools *)
(* TODO: add this to [Init/Specif.v] ? *)
Lemma Private_sumbool_to_or {A B : Prop} : {A} + {B} -> A \/ B.
Definition f_equal_R := (f_equal (A:=R)).