induction 1; intuition; simpl in *.
intuition; subst.
destruct (eqd a' a'); subst; intuition.
destruct i; intuition.
eapply not_in_nth_option; eauto.
destruct i; intuition.
inversion H3; clear H3; subst.
destruct (eqd a' a'); subst; intuition.
destruct (eqd a' x); subst; intuition.
eapply IHNoDup; eauto.
Qed.

Lemma nth_option_not_None :
forall (A : Set)(ls : list A)(i : nat),
i < length ls ->
nth_option ls i = None ->
False.