fact: Definition sum_fst {A : Type} (gs : list (nat * A)) : nat := foldl (fun t p => t + (fst p)) 0 gs.
imports: Coq(String List ZArith Lia) mathcomp.ssreflect.ssreflect mathcomp(ssrfun ssrbool ssrnat eqtype seq) QuickChick(RandomQC RoseTrees Sets Tactics Producer)