Definition sumF {X} `{Finite X} (f : X -> nat) : nat :=
  list_sum (map f enum).Definition sumFQ {X} `{Finite X} (f : X -> Q) : Q :=
  Qsum(map f enum).

Lemma sumFQ_scalar {X} `{Finite X} (f : X -> Q) (c : Q) : sumFQ (fun x => c * f x) == c * sumFQ f.