End EqlistA.
(** A few things about [filter] *)
Section Filter.

(* Specifications: *)
Lemma filter_sort : forall f l, SortA l -> SortA (List.filter f l).
Arguments eq {A} x _.
Lemma filter_InA : forall f, Proper (eqA==>eq) f ->
forall l x, InA x (List.filter f l) <-> InA x l /\ f x = true.
Lemma filter_split :
forall f, (forall x y, f x = true -> f y = false -> ltA x y) ->
forall l, SortA l -> l = filter f l ++ filter (fun x=>negb (f x)) l.