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_type_complete_legal_cosu_type: forall (t: type) (gf: gfield),
legal_field t gf ->
complete_legal_cosu_type t = true -> complete_legal_cosu_type (gfield_type t gf) = true.