proposition: Lemma homo_lt_total {disp disp' : unit} {T : orderType disp} {T' : orderType disp'} [f : T -> T'] : {homo f : x y / x < y >-> x < y} -> forall x y, f x < f y -> x < y.
proof: Proof. move=>fh x y fxy. case xy: (x == y); first by move:xy fxy=>/eqP ->; rewrite lt_irreflexive. move:xy=>/negbT/lt_total/orP; case=>// /fh fyx. by move:(lt_trans fxy fyx); rewrite lt_irreflexive. Qed.
imports: mathcomp(all_ssreflect ssrnum zmodp order constructive_ereal) preliminaries