proposition: Lemma enum_sum (T1 T2 : finType) (p : pred (T1 + T2)) : enum p = map inl (enum [pred i | p (inl i)]) ++ map inr (enum [pred i | p (inr i)]).
proof: Proof. by rewrite /enum_mem {1}unlock /= /sum_enum filter_cat !filter_map. Qed.
imports: Coq(Setoid Morphisms) mathcomp(all_ssreflect) GraphTheory(edone)