Definition fsig_of_funspec (fs: funspec)  :=
match fs with mk_funspec fsig _ _ _ _ _ _=> fsig end.

(* Specifications: *)
Lemma part1_splice_into_list:
forall {A} lo hi (al bl: list A),
(0 <= lo <= Zlength bl)%Z ->
sublist 0 lo (splice_into_list lo hi al bl) = sublist 0 lo bl.
Lemma part3_splice_into_list:
forall {A} lo hi n (al bl: list A),
(0 <= lo <= hi)%Z -> (hi <= n)%Z ->
(Zlength bl = n)%Z ->
(Zlength al = hi-lo)%Z ->
sublist hi n (splice_into_list lo hi al bl) = sublist hi n bl.
Lemma Zlength_splice_into_list:
forall {A} lo hi (al bl: list A),
(0 <= lo <= hi)%Z -> (hi <= Zlength bl)%Z ->
(hi - lo = Zlength al)%Z ->
Zlength (splice_into_list lo hi al bl) = Zlength bl.