Proof using.
intros.
eapply dup_drop_step_star_step_1n; [eapply DDS_dup with (p := y); simpl; auto|].
eapply dup_drop_step_star_step_1n.
eapply DDS_drop with (xs := [y; x]) (p := y) (ys := l).
constructor.
Qed.

(* Specifications: *)
Lemma dup_drop_cons :
forall l l' x,
dup_drop_step_star l l' ->
dup_drop_step_star (x :: l) (x :: l').