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

Lemma listd_merge_inter' l1 l2 s : listd f inter TT (merge cmp l1 l2) s -> listd f inter TT l1 s /\ listd f inter TT l2 s.