Section MEMORY_BLOCK_AGGREGATE.
Context {cs: compspecs}.

Lemma memory_block_struct_pred: forall sh m sz {A} (v: compact_prod (map A m)) b ofs,
(m = nil -> sz = 0) ->
members_no_replicate m = true ->
sizeof_struct cenv_cs 0 m <= sz < Ptrofs.modulus ->
0 <= ofs /\ ofs + sz < Ptrofs.modulus ->
struct_pred m
(fun it _ p =>
(memory_block sh (field_offset_next cenv_cs (fst it) m sz - field_offset cenv_cs (fst it) m))
(offset_val (field_offset cenv_cs (fst it) m) p)) v (Vptr b (Ptrofs.repr ofs)) =
memory_block sh sz (Vptr b (Ptrofs.repr ofs)).