(* Definition split_rmap (m: rmap) : rmap * rmap := (proj1_sig (make_rmap _ (split_rmap_valid1 m) (level m) (split_rmap_ok1 m)), proj1_sig (make_rmap _ (split_rmap_valid2 m) (level m) (split_rmap_ok2 m))). *)

Lemma nonlock_permission_bytes_address_mapsto_join:
forall (sh1 sh2 sh : share) ch v a,
join sh1 sh2 sh ->
readable_share sh2 ->
nonlock_permission_bytes sh1 a (Memdata.size_chunk ch)
* address_mapsto ch v sh2 a
= address_mapsto ch v sh a.