(************************************************  Transformation between data_at/data_at_ and mapsto.  ************************************************)

Lemma by_value_data_at_rec_nonreachable2: forall sh t b ofs v,
type_is_by_value t = true ->
0 <= ofs /\ ofs + sizeof t < Ptrofs.modulus ->
align_compatible_rec cenv_cs t ofs ->
~ readable_share sh ->
tc_val' t (repinject t v) ->
data_at_rec sh t v (Vptr b (Ptrofs.repr ofs)) = memory_block sh (sizeof t) (Vptr b (Ptrofs.repr ofs)).