IsSemiGroupPreserving f. Proof. intros x y. case (total (≤) x y); intros E. - change (f (meet x y) = meet (f x) (f y)). rewrite 2!meet_l;trivial. apply (order_preserving _). trivial. - change (f (meet x y) = meet (f x) (f y)). rewrite 2!meet_r; trivial. apply (order_preserving _). trivial. Qed.
Require Import