End FilterLemmas.
(* * Element removal *)
Section Removal.
Variable X : Type.
Context {eq_X_dec : eq_dec X}.
Definition rem (A : list X) (x : X) : list X :=
filter (fun z => z <> x) A.

Lemma rem_not_in x y A :
x = y \/ ~ x el A -> ~ x el rem A y.