Proof with auto.
induction l...
simpl.
intros.
rewrite IHl...
rewrite H...
Qed.

Lemma filter_perms T p (l: list T):
Permutation
(map (filter p) (perms l))
(concat (map (repeat (fact (length (filter (negb ∘ p) l)) * length (merges (filter p l) (filter (negb ∘ p) l)))) (perms (filter p l)))).