intuition.
simpl.
eapply rel_sumList_compat; intuition.
eapply mult_proper.
eapply refl.
intuition.
intuition.
Qed.

(* Specifications: *)
Lemma evalDist_bind_case_split :
forall rel (B : Set)(e : B -> bool) v v1 v2 (A : Set)(c : Comp B)(f : B -> Comp A)  a,
RatRel rel ->
well_formed_comp c ->
Pr[b <-$ c; ret (e b)] == v ->
(forall b, (e b) = true -> rel (evalDist (f b) a) v1) ->
(forall b, (e b) = false -> rel (evalDist (f b) a) v2) ->
(rel (evalDist (Bind c f) a) (v * v1 + (ratSubtract 1 v) * v2)).