Hint Resolve listrep_valid_pointer : valid_pointer.

Lemma listrep_nonnull: forall sh contents x,
x <> nullval ->
listrep sh contents x = EX h: int, EX hs: list int, EX y:val,
!! (contents = h :: hs) &&
field_at sh t_struct_list [StructField _head] (Vint h) x *
field_at sh t_struct_list [StructField _tail] y x *
listrep sh hs y.