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

Lemma for_all_filter:
forall s, for_all f s=is_empty (filter (fun x => negb (f x)) s).