Global Instance Bool_EqDec : EqDec bool.
Class Ord (A : Type) := {
ord_dec : A -> A -> comparison;
ord_refl : forall x, ord_dec x x = Eq;
ord_eq : forall x y, ord_dec x y = Eq -> x = y;
ord_lt_trans : forall x y z,
ord_dec x y = Lt ->
ord_dec y z = Lt ->
ord_dec x z = Lt;
}.

(* Specifications: *)
Lemma compare_lt_trans : forall x y z,
x ?= y = Lt ->
y ?= z = Lt ->
x ?= z = Lt.