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 nested_field_offset0_app: forall t gfs0 gfs1, legal_nested_field0 t (gfs1 ++ gfs0) -> nested_field_offset t (gfs1 ++ gfs0) = nested_field_offset t gfs0 + nested_field_offset (nested_field_type t gfs0) gfs1.