Section ListDenoteSeparate.
Context {X Y B : Type}.
Variables (f : X -> pred B) (g : Y -> pred B) (b : pred B) (l1 : list X)
(l2 : list Y).
Proof with auto.
rewrite listd_unfold_inter.
pattern (inter (listd g inter TT l2) b); rewrite <- listd_unfold_inter...
Qed.

Lemma listd_prop:
listd f inter b l1 =
(andp (listd f inter TT l1) b).