Notation member := (in_dec eq_nat_dec).

Lemma filter_partition : forall (l1 : list A) f l2 x l1' l2', NoDup (l1 ++ x :: l2) -> filter f (l1 ++ x :: l2) = (l1' ++ x :: l2') -> filter f l1 = l1' /\ filter f l2 = l2'.