intuition.
rewrite prob_sum_le.
eapply leRat_trans.
eapply eqRat_impl_leRat.
eapply sumList_body_eq.
intuition.
symmetry.
eapply ratMult_1_r.
rewrite sumList_factor_constant_l.
rewrite ratMult_comm.
eapply ratMult_leRat_compat; intuition.
rewrite  sumList_1_mult.
rewrite forNats_length.
intuition.
Qed.

(* Specifications: *)
Theorem compMap_Q_eq_compFold :
forall (B : Set)(eqdb : EqDec B)(Q : B -> bool) n1  (c : Comp B) z,
Pr[ls <-$ compMap _ (fun _ => c) (forNats n1); ret (fold_left (fun b x => b || (Q x)) ls z)] ==
Pr[compFold _ (fun b _ => z <-$ (x <-$ c; ret Q x); ret b || z) z (forNats n1)].