proposition: Lemma NoDup_indexed {A} (l: list A) (N: NoDup l) (d: A): forall i j: nat, i < length l → j < length l -> i <> j -> nth i l d <> nth j l d.
proof: Proof. Proof with auto with arith. intro i. revert l N. induction i; intros. destruct l; simpl. inversion H. destruct j. intuition. inversion_clear N. intro. subst... destruct l. inversion H0. inversion_clear N. simpl. destruct j... intro. subst a... Qed.
imports: Coq.Lists.List Coq.Unicode.Utf8 Coq.Setoids.Setoid Coq.Sorting.Permutation Coq.Setoids.Setoid Coq.Classes.Morphisms CoRN.stdlib_omissions.Pair