Definition array_at_ (sh: Share.t) (t: type) (gfs: list gfield) (lo hi: Z) : val -> mpred :=
 array_at sh t gfs lo hi (list_repeat (Z.to_nat (hi-lo)) (default_val _)).

Lemma field_at_offset_zero: forall sh t gfs v p, field_at sh t gfs v p = field_at sh t gfs v (offset_val 0 p).