Fixpoint remove_list_sub {A} (A_eqb : A -> A -> bool) (sublist : list A) (lst : list A) : list A :=
match sublist with
| [] => lst
| h :: t => remove_list_sub A_eqb t (remove_aux A_eqb lst h)
end.

Lemma In_remove_aux {A} `{EqDec A} :
forall (lst : list A) (x a : A),
In x (remove_aux eqb lst a) ->
In x lst.