Module DSO_to_OT (O:DecStrOrder) <: OrderedType :=
O <+ Compare2EqBool <+ HasEqBool2Dec.
(** From [OrderedType] To [OrderedTypeFull] (adding [<=]) *)
Module OT_to_Full (O:OrderedType') <: OrderedTypeFull.
Include O.
Definition le x y := x<y \/ x==y.

(* Specifications: *)
Lemma le_lteq : forall x y, le x y <-> x<y \/ x==y.
Lemma leb_total : forall x y, leb x y \/ leb y x.
Lemma leb_trans : Transitive leb.
Definition t := t.