intuition.
unfold dat_correct_bind, dat_correct_bind2 in *.
destruct H.
destruct H0.
intuition.
eapply datMap_depth_better'.
eapply dat_correct_dat_better.
eapply H1.
eapply H.
eapply div2_le.
eauto.
simpl.
eauto.
eapply le_trans.
2:{
eapply div2_ge_double.
}
eapply plus_le_compat.
auto.
eapply datCorrect_datDepth.
eauto.
intuition.
eapply dat_correct_dat_better; eauto.
Qed.

(* Specifications: *)
Lemma lowDistApprox_bind_le_div2 : forall (A B : Set)(c1 : Comp B)(c2 : B -> Comp A) a n r1 r2,
well_formed_comp c1 ->
(forall b, In b (getSupport c1) -> well_formed_comp (c2 b)) ->
lowDistApprox_bind c1 c2 a (div2 n) r1 ->
lowDistApprox (Bind c1 c2) a n r2 ->
r1 <= r2.