Section Bool.
(** Properties of [filter] *)
Variable f:elt->bool.
Variable Comp: Proper (E.eq==>Logic.eq) f.
Local Definition Comp' : Proper (E.eq==>Logic.eq) (fun x =>negb (f x)).

Lemma filter_add_1 : forall s x, f x = true ->
filter f (add x s) [=] add x (filter f s).