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 remove_list_sub_weaken {A} `{EqDec A} : forall dlt lst b, In b (remove_list_sub eqb dlt lst) -> In b lst.