intuition.
unfold getSupport_bind_cp, getSupport_bind in *.
destruct a0.
eapply in_flattenPair_inv in H.
destruct H.
intuition.
simpl.
eapply in_map_iff in H1.
destruct H1.
intuition.
inversion H1; clear H1; subst.
trivial.
Qed.

(* Specifications: *)
Lemma lowDistApprox_bind_evalDist_limit : forall (A B :Set)(c1 : Comp B)(c2 : B -> Comp A) a,
well_formed_comp c1 ->
(forall b, In b (getSupport c1) -> well_formed_comp (c2 b)) ->
(forall (a : B),
rat_inf_limit (lowDistApprox c1 a) (evalDist c1 a)) ->
(forall (b : B) (a : A),
In b (getSupport c1) ->
rat_inf_limit (lowDistApprox (c2 b) a) (evalDist (c2 b) a)) ->
rat_inf_limit (lowDistApprox_bind c1 c2 a) (evalDist (Bind c1 c2) a).