intros.
simpl in H.
inversion_clear H.
destruct x.
destruct index as [| n0].
absurd (a =' head v in _); auto with algebra.
unfold head in |- *;
(apply Trans with (v (Build_finiteT in_range_prf)); auto with algebra).
simpl in |- *.
exists (Build_finiteT (lt_S_n _ _ in_range_prf)).
apply Trans with (v (Build_finiteT in_range_prf)); auto with algebra.
Qed.

(* Specifications: *)
Lemma has_index :
forall (v : seq n A) (a : seq_set v),
exists i : fin n, seq_set v a =' v i in A.