Instance CompSpecs : compspecs. make_compspecs prog. Defined.
Definition Vprog : varspecs. mk_varspecs prog. Defined.
Definition t_struct_list := Tstruct _list noattr.
Fixpoint listrep (sigma: list int) (x: val) : mpred :=
match sigma with
| h::hs =>
EX y:val,
data_at Tsh t_struct_list (Vint h,y) x  *  listrep hs y
| nil =>
!! (x = nullval) && emp
end.
Arguments listrep sigma x : simpl never.

(* Specifications: *)
Lemma listrep_local_facts:
forall sigma p,
listrep sigma p |--
!! (is_pointer_or_null p /\ (p=nullval <-> sigma=nil)).