proposition: Lemma comparable_ge_max : (max x y <= z) = (x <= z) && (y <= z).
proof: Proof. case: comparableP cmp_xy => // [||<-//]; rewrite ?andbb//; first rewrite andbC; by case: (comparableP z) => // [ylt /lt_trans /(_ _)/ltW|->/ltW]->. Qed.
imports: HB(structures) mathcomp(ssreflect ssrfun ssrbool eqtype ssrnat choice seq) mathcomp(path fintype tuple bigop finset div prime finfun) mathcomp(finset)