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_fst' x y A :
x <> y -> rem (x::A) y = x::rem A y.