Instance CompSpecs : compspecs. make_compspecs prog. Defined.
Definition Vprog : varspecs. mk_varspecs prog. Defined.
Definition tlist := Tstruct _list noattr.
Definition tpile := Tstruct _pile noattr.
Fixpoint listrep (sigma: list Z) (x: val) : mpred :=
match sigma with
| h::hs =>
EX y:val,
!! (0 <= h <=  Int.max_signed) &&
data_at Ews tlist (Vint (Int.repr h), y) x
* malloc_token Ews tlist x
*  listrep hs y
| nil =>
!! (x = nullval) && emp
end.
Hint Resolve listrep_local_facts : saturate_local.

Lemma listrep_valid_pointer:
forall sigma p,
listrep sigma p |-- valid_pointer p.