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.