proposition: Lemma trans o o' x y z : #o x y -> #o' y z -> #(o+o') x z.
proof: Proof. destruct o, o'; simpl; rewrite ?P.le_lteq; intuition auto; subst_eqns; eauto using (StrictOrder_Transitive x y z) with *. Qed.
imports: Setoid Morphisms Basics Equalities Orders