Definition normalize {X} `{Finite X} (d : dist X) : dist X.
refine {|
dist_pmf := map (fun x => (x, eval_dist d (Classes.eqb x))) enum;
dist_law := _;
|}.

Lemma uniform_sigma_dist {X} `{Finite X} (d : dist X) f :
uniform d ->
sigma_dist d (fun x q => q * f x) ==
Qsum (map f enum) / Q_of_nat (card X).