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

Lemma by_value_data_at_rec_nonreachable: forall sh t p v,
type_is_by_value t = true ->
size_compatible t p ->
align_compatible t p ->
~ readable_share sh ->
tc_val' t (repinject t v) ->
data_at_rec sh t v p = memory_block sh (sizeof t) p.