proposition: Theorem nth_firstIndexOf_None : forall (A : Set)(eqd : eq_dec A)(ls : list A), NoDup ls -> forall (a a' : A) i, In a ls -> i <> firstIndexOf eqd ls a O -> nth_option ls i = Some a' -> a <> a'.
proof: Proof. 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.
imports: FCF.FCF