Fixpoint list_denote l : T :=
  match l with nil => b | x :: l' => g (f x) (list_denote l')
  end.Notation "'un'" := (@orp _).

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.