intros. rewrite skipn_app1.
specialize (skipn_exact_length (force_lengthn n l a)).
rewrite force_lengthn_length_n. intros X; rewrite X; trivial.
rewrite force_lengthn_length_n; omega.
Qed.

(* Specifications: *)
Lemma data_at_triv {cs} sh t v v': v=v' -> @data_at cs sh t v |-- @data_at cs sh t v'.
Lemma nth_mapVint' {z}: forall i (l:list Z)
(Hi: (0 <= i < length l)%nat),
nth i (map Vint (map Int.repr l)) Vundef =
Vint (Int.repr (nth i l z)).
Lemma nth_mapVintZ: forall i (l:list Z) (Hi: 0 <= i < Zlength l),
exists n, nth (Z.to_nat i) (map Vint (map Int.repr l)) Vundef = Vint n.
Lemma isptrD v: isptr v -> exists b ofs, v = Vptr b ofs.