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

Lemma listd_flat_map_inter h l s (H : forall a b', inter (f a) b' s -> listd f inter b' (h a) s) : listd f inter b l s -> listd f inter b (flat_map h l) s.