Proof using.
intros.
induction l'.
- rewrite remove_all_nil; auto.
- invc_NoDup.
concludes.
pose proof remove_all_cons l a l'.
break_or_hyp; break_and; find_rewrite; auto.
constructor; auto.
intro.
find_apply_lem_hyp in_remove_all_was_in; auto.
Qed.

(* Specifications: *)
Lemma remove_all_NoDup_split :
forall l l' l0 l1 a,
NoDup l' ->
remove_all l l' = l0 ++ a :: l1 ->
remove_all l (remove A_eq_dec a l') = l0 ++ l1.