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.

Lemma le_lteq : forall x y, le x y <-> x<y \/ x==y.