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 list_sum_indicate {X} `{Finite X} (x0 : X) (xs : list X) :
NoDup xs ->
In x0 xs ->
list_sum (map (fun x => indicate_nat (Classes.eqb x0 x)) xs) = 1%nat.