(* Ordering code by Antal :) *)
(* CH: We already have a similar class in RandomQC.v, why not use that one instead (maybe after moving it to separate file)? *)
Module BoolOT <: OrderedType.
Definition t := bool.
Definition eq       := @Logic.eq       bool.
Definition eq_refl  := @Logic.eq_refl  bool.
Definition eq_sym   := @Logic.eq_sym   bool.
Definition eq_trans := @Logic.eq_trans bool.
Definition eq_dec   := bool_dec.
Definition lt (b1 b2 : bool) : Prop := b1 = false /\ b2 = true.

(* Specifications: *)
Theorem lt_trans : forall x y z : bool, lt x y -> lt y z -> lt x z.
End BoolOT.