Proof using.
induction ys; intros.
- destruct xs; simpl in *; intuition.
- simpl in *. break_match; simpl in *; intuition; subst; intuition eauto;
right; (eapply IHys; [eauto| intuition]).
Qed.

(* Specifications: *)
Theorem subseq_NoDup :
forall (ys xs : list A),
subseq xs ys ->
NoDup ys ->
NoDup xs.