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 sum_remove : forall (a : nat) (l : list nat),
In a l ->
(a + list_sum (remove_aux Nat.eqb l a) = list_sum l)%nat.