unfold distinct in |- *.
unfold not in |- *.
intros.
apply H with i j; auto with algebra.
Qed.
Hint Resolve Map_embed_preserves_distinct: algebra.

Lemma Map_embed_reflects_distinct :
forall (A : Setoid) (n : Nat) (B : part_set A) (v : seq n B),
distinct (Map_embed v) -> distinct v.