proposition: Lemma lteif_trans x y z C1 C2 : x < y ?<= if C1 -> y < z ?<= if C2 -> x < z ?<= if C1 && C2.
proof: Proof. case: C1 C2 => [][]; [exact: le_trans | exact: le_lt_trans | exact: lt_le_trans | exact: lt_trans]. Qed.
imports: HB(structures) mathcomp(ssreflect ssrfun ssrbool eqtype ssrnat choice seq) mathcomp(path fintype tuple bigop finset div prime finfun) mathcomp(finset)