proposition: Lemma all_remove_singles_not_in : forall xs ys vs, List.Forall (fun x => ¬ List.In x xs) ys -> (xs ∷ vs) ∖ ys = (xs ∷ vs).
proof: Proof. intros xs ys vs Hyp. induction ys as [ | y ]; simpl; auto. inversion Hyp. rewrite remove_notin; auto. apply notin_singles; auto. Qed.
imports: Utf8 Equalities