(** * Abstracting read-only global variables *)
Definition romem := PTree.t ablock.
Definition romatch  (m: mem) (rm: romem) : Prop :=
forall b id ab,
bc b = BCglob id ->
rm!id = Some ab ->
pge Glob ab.(ab_summary)
/\ bmatch m b ab
/\ forall ofs, ~Mem.perm m b ofs Max Writable.

Lemma romatch_ext:
forall m rm m',
romatch m rm ->
(forall b id ofs n bytes, bc b = BCglob id -> Mem.loadbytes m' b ofs n = Some bytes -> Mem.loadbytes m b ofs n = Some bytes) ->
(forall b id ofs p, bc b = BCglob id -> Mem.perm m' b ofs Max p -> Mem.perm m b ofs Max p) ->
romatch m' rm.