apply Build_preorder.
unfold reflexive.
intros.
unfold Ege.
rewrite Ecmp_refl.
discriminate.
unfold transitive.
intros.
unfold Ege.
case_eq (Ecmp e x z); do 2 intro; try discriminate.
apply H0.
apply Ecmp_le_lt_trans with x...
apply Ege_Ele...
Qed.
Hint Immediate Ege_preorder EO.

(* Specifications: *)
Lemma preorder_impl X (P Q: relation X): (forall x y, P x y <-> Q x y) -> preorder _ P -> preorder _ Q.
Proof with try firstorder.