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 field_compatible_field_compatible0: forall (t : type) (gfs : list gfield) (p : val), field_compatible t gfs p -> field_compatible0 t gfs p.