Notation union_iff := union_spec (only parsing).Notation inter_iff := inter_spec (only parsing).Notation diff_iff := diff_spec (only parsing).Notation filter_iff := filter_spec (only parsing).(** Useful tactic for simplifying expressions like [In y (add x (union s s'))] *)

Ltac set_iff :=
 repeat (progress (
  rewrite add_iff || rewrite remove_iff || rewrite singleton_iff
  || rewrite union_iff || rewrite inter_iff || rewrite diff_iff
  || rewrite empty_iff)).

Lemma filter_b : Proper (E.eq==>Logic.eq) f -> mem x (filter f s) = mem x s && f x.