End Filter.
(** *** Element removal *)
Section Removal.
Variable X : eqType.
Implicit Types (x y: X) (A B: list X).
Definition rem A x : list X :=
filter (fun z => Dec (z <> x)) A.

Lemma rem_app' x A B C :
rem A x <<= C -> rem B x <<= C -> rem (A ++ B) x <<= C.