Definition respectful {X} (P : dist X -> Prop) : Prop :=
  forall d1 d2, d1 ==d d2 -> P d1 <-> P d2.

Lemma eval_dist_sumFQ {X} `{Finite X} (d : dist X) (E : X -> bool) : eval_dist d E == sumFQ (fun x => indicate (E x) * eval_dist d (Classes.eqb x)).