(* Lemma field_at_field_at: forall sh t gfs0 gfs1 v v' p, legal_alignas_type t = true -> JMeq v v' -> field_at sh t (gfs1 ++ gfs0) v p = (!! (size_compatible t p)) && (!! (align_compatible t p)) && (!! (legal_nested_field t (gfs1 ++ gfs0))) && at_offset' (field_at sh (nested_field_type2 t gfs0) gfs1 v') (nested_field_offset2 t gfs0) p. *)

Lemma field_at_conflict: forall sh t fld p v v',
sepalg.nonidentity sh ->
0 < sizeof (nested_field_type t fld) ->
field_at sh t fld v p * field_at sh t fld v' p|-- FF.