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 size_compatible_nested_field_array: forall t gfs lo hi p, legal_nested_field0 t (ArraySubsc lo :: gfs) -> legal_nested_field0 t (ArraySubsc hi :: gfs) -> complete_legal_cosu_type t = true -> size_compatible t p -> size_compatible (nested_field_array_type t gfs lo hi) (offset_val (nested_field_offset t (ArraySubsc lo :: gfs)) p).