Proof with auto.
revert v.
pattern n, nb.
apply natBelow_rect_S.
simpl.
intros.
rewrite remove_head.
rewrite (eq_cons v).
simpl.
apply perm_refl.
intros.
simpl plus.
rewrite remove_tail.
cset (H (tail v0)).
clear H.
simpl plus in *.
cset' (remove (tail v0) (mkNatBelow v p)).
fold (Snb (mkNatBelow v p)).
rewrite nth_S.
cut (Permutation (Vector.cons (nth (tail v0) (mkNatBelow v p)) (Vector.cons (head v0) H)) (Vector.cons (head v0) (tail v0))).
rewrite <- eq_cons.
intros...
apply perm_trans with (Vector.cons (head v0) (Vector.cons (nth (tail v0) (mkNatBelow v p)) H))...
Qed.

(* Specifications: *)
Lemma SkipList_tail (A: Set) n (v: Vector.t A (S n)): SkipList (tail v) v.
Lemma SkipList_remove (A: Set) n (nb: natBelow (S n)) (l: Vector.t A (S n)):
SkipList (remove l nb) l.