induction ls1; intuition.
simpl in H.
inversion H; clear H; subst.
unfold compFold.
eapply evalDist_ret_eq.
trivial.
simpl in H.
unfold compFold.
fold compFold.
eapply list_pred_app in H.
intuition.
erewrite <- (@firstn_skipn _ _ ls2).
rewrite compFold_app.
comp_skip.
Qed.

(* Specifications: *)
Lemma compMap_eq :
forall (A B : Set)(P : A -> B -> Prop)(C : Set)(eqd : EqDec C)(c1 : A -> Comp C)(c2 : B -> Comp C)(lsa : list A)(lsb : list B),
list_pred P lsa lsb ->
(forall a b, P a b -> forall x, evalDist (c1 a) x == evalDist (c2 b) x) ->
forall x,
evalDist (compMap _ c1 lsa) x == evalDist (compMap _ c2 lsb) x.