Proof with simpl; try solve [exfalso; auto]; auto.
induction l... simpl; intros [? ?]. spec H a. destruct (h a)... split...
Qed.

(* Specifications: *)
Lemma listd_foldr_pred h c0 l s
(H : forall a x, f a s -> f x s -> f (h a x) s) :
f c0 s -> listd f inter TT l s -> f (fold_right h c0 l) s.