Definition t := t.Definition t := t.Definition le x y : Prop := x <=? y.Definition eq x y : Prop := le x y /\ le y x.Definition lt x y : Prop := le x y /\ ~le y x.Definition compare x y :=
  if x <=? y then (if y <=? x then Eq else Lt) else Gt.

(* Specifications: *)
Lemma compare_spec : forall x y, CompSpec eq lt x y (compare x y).