Definition field_address t gfs p :=
  if (field_compatible_dec t gfs p)
  then offset_val (nested_field_offset t gfs) p
  else Vundef.Definition field_address0 t gfs p :=
  if (field_compatible0_dec t gfs p)
  then offset_val (nested_field_offset t gfs) p
  else Vundef.

Lemma gfield_array_offset_in_range: forall t lo hi, legal_field0 t (ArraySubsc lo) -> legal_field0 t (ArraySubsc hi) -> complete_legal_cosu_type t = true -> 0 <= gfield_offset t (ArraySubsc lo) /\ gfield_offset t (ArraySubsc lo) + sizeof (gfield_array_type t lo hi) <= sizeof t.