Global Instance Finite_unit : Finite unit.
Global Hint Resolve transform_pair_bijection : core.

Lemma pres_uniform_lemma {Y Z} `{Finite Y, Finite Z} (f : Y -> dist Z) (d : dist Y) (ud : uniform d) :
(forall dy : dist Y, uniform dy -> uniform (mbind dy f)) ->
forall z, sumFQ (fun y => eval_dist (f y) (Classes.eqb z)) ==
Q_of_nat (card Y) / Q_of_nat (card Z).