Definition inttype2init_data (sz: intsize) : (int -> init_data) :=
match sz with
| IBool  =>  Init_int8
| I8  =>  Init_int8
| I16 =>  Init_int16
| I32 =>  Init_int32
end.
Definition notboolsize (sz: intsize) : Prop :=
match sz with IBool => False | _ => True end.

Lemma id2pred_star_ZnthV_Tint  {cs: compspecs} :
forall Delta gz sh n (v: val) (data: list int) sz sign mdata
(NBS: notboolsize sz),
n = Zlength mdata ->
mdata = map (inttype2init_data sz) data ->
!! isptr v && !! align_compatible (Tint sz sign noattr) v &&
!! (offset_strict_in_range (sizeof (Tint sz sign noattr) * n)) v &&
id2pred_star Delta gz sh v mdata |--
`(data_at sh (tarray (Tint sz sign noattr) n)
(map (Basics.compose Vint (Cop.cast_int_int sz sign)) data) v).