Lemma sepcon_filter_combine : forall {A} P (l : list A) l', Zlength l' = Zlength l -> fold_right sepcon emp (map P l) = fold_right sepcon emp (map P (map snd (filter fst (combine l' l)))) * fold_right sepcon emp (map P (map snd (filter (fun '(b, _) => negb b) (combine l' l)))).