proposition: Lemma coarser_preorder_gleP x u v: gle (coarser_preorder x) u v <-> [/\ preorder u, preorder v, substrate u = x, substrate v = x & sub u v].
proof: Proof. split; first by move/sub_gleP => [] /Zo_hi [xa pa] /Zo_hi [ya pb] pc. move => [pa pb pc pd pe]; apply /sub_gleP. by split => //; apply /preordersP. Qed.
imports: mathcomp(ssreflect ssrfun ssrbool eqtype ssrnat)