induction ls; intuition.
simpl.
rewrite evalDist_ret_1; intuition.
simpl.
rewrite evalDist_seq_step.
rewrite sumList_support_bool'.
rewrite prob_fold_add_false_0.
repeat rewrite ratMult_0_r.
rewrite <- ratAdd_0_r.
eapply ratMult_eqRat_compat; intuition.
Qed.

(* Specifications: *)
Theorem prob_fold_and_eq_exp :
forall (A : Set)(c : Comp A)(n : nat)(P : A -> bool),
Pr[compFold _ (fun b _ => x <-$ c; ret b && (P x)) true (forNats n)] ==
expRat (Pr[x <-$c; ret (P x)]) n.