Definition dist_equiv {X} (d1 d2 : dist X) : Prop :=
  forall E, eval_dist d1 E == eval_dist d2 E.Infix "==d" := dist_equiv (at level 10).

(* Specifications: *)
Lemma dist_equiv_refl {X} (d : dist X) : dist_equiv d d.
Lemma dist_equiv_trans {X} (d1 d2 d3 : dist X) : dist_equiv d1 d2 -> dist_equiv d2 d3 -> dist_equiv d1 d3.
Lemma dist_equiv_refl {X} (d : dist X) : dist_equiv d d.
Lemma dist_equiv_trans {X} (d1 d2 d3 : dist X) : dist_equiv d1 d2 -> dist_equiv d2 d3 -> dist_equiv d1 d3.