intros.
red in |- *.
intro; case i; clear i; intro i; case i; clear i.
intros hi j; case j; clear j; intro j; case j; clear j.
intros.
simpl in H1.
absurd (0 = 0); auto.
intros.
simpl in |- *.
apply H0; auto with algebra.
intros i hi j; case j; clear j; intro j; case j; clear j.
intros.
simpl in |- *.
red in |- *; intro; red in H0.
apply (H0 (Build_finiteT (lt_S_n _ _ hi))); auto with algebra.
intros j hj hij.
red in H.
simpl in |- *.
apply H; auto with algebra.
Qed.
Hint Resolve distinct_cons: algebra.

Lemma Seqtl_preserves_distinct :
forall (A : Setoid) (n : Nat) (v : seq n A),
distinct v -> distinct (Seqtl v).