intuition.
eapply (compFold_support_h _ P c ls1 nil nil); intuition.
eauto.
rewrite app_nil_r.
trivial.
Qed.

(* Specifications: *)
Theorem list_pred_app_both_if :
forall (A B : Set) P (x y : list A)(z q : list B),
length x = length z ->
list_pred P (x ++ y) (z ++ q) ->
list_pred P x z /\ list_pred P y q.