Local Open Scope logic.
Section NESTED_RAMIF.
Context {cs: compspecs}.

Lemma nested_field_ramif_load: forall sh t gfs0 gfs1 (v_reptype: reptype (nested_field_type t gfs0)) (v_val: val) p,
field_compatible t (gfs1 ++ gfs0) p ->
JMeq (proj_reptype (nested_field_type t gfs0) gfs1 v_reptype) v_val ->
exists v_reptype',
JMeq v_reptype' v_val /\
field_at sh t gfs0 v_reptype p |--
field_at sh t (gfs1 ++ gfs0) v_reptype' p * TT.