Definition eq_trans x y z : x==y -> y==z -> x==z := @trans OEQ OEQ x y z.Definition le_trans x y z : x<=y -> y<=z -> x<=z := @trans OLE OLE x y z.Definition lt_trans x y z : x<y -> y<z -> x<z := @trans OLT OLT x y z.Definition le_lt_trans x y z : x<=y -> y<z -> x<z := @trans OLE OLT x y z.Definition lt_le_trans x y z : x<y -> y<=z -> x<z := @trans OLT OLE x y z.Definition eq_lt x y z : x==y -> y<z -> x<z := @trans OEQ OLT x y z.Definition lt_eq x y z : x<y -> y==z -> x<z := @trans OLT OEQ x y z.Definition eq_le x y z : x==y -> y<=z -> x<=z := @trans OEQ OLE x y z.Definition le_eq x y z : x<=y -> y==z -> x<=z := @trans OLE OEQ x y z.

(* Specifications: *)
Lemma eq_neq : forall x y z, x==y -> ~y==z -> ~x==z.
Lemma neq_eq : forall x y z, ~x==y -> y==z -> ~x==z.
Lemma not_neq_eq : forall x y, ~~x==y -> x==y.
Lemma not_ge_lt : forall x y, ~y<=x -> x<y.
Lemma not_gt_le : forall x y, ~y<x -> x<=y.
Lemma le_neq_lt : forall x y, x<=y -> ~x==y -> x<y.