induction ls; intuition.
simpl in *.
intuition.
unfold compFold in H.
fold compFold in H.
simp_in_support.
assert (x0 = init).
eapply H0; eauto.
simpl.
intuition.
subst.
eapply IHls.
trivial.
intuition.
eapply H0; eauto.
simpl.
intuition.
Qed.

(* Specifications: *)
Lemma compFold_app :
forall (A B : Set)(eqd : EqDec A)(c : A -> B -> Comp A)(ls1 ls2 : list B) init x,
evalDist (compFold _ c init (ls1 ++ ls2)) x ==
evalDist (init' <-$ compFold _ c init ls1; compFold _ c init' ls2) x.