Definition romem_consistent (defmap: PTree.t (globdef fundef unit)) (rm: romem) :=
forall id ab,
rm!id = Some ab ->
exists v,
defmap!id = Some (Gvar v)
/\ v.(gvar_readonly) = true
/\ v.(gvar_volatile) = false
/\ definitive_initializer v.(gvar_init) = true
/\ ab = store_init_data_list (ablock_init Pbot) 0 v.(gvar_init).

(* Specifications: *)
Lemma alloc_global_consistent:
forall dm rm idg,
romem_consistent dm rm ->
romem_consistent (PTree.set (fst idg) (snd idg) dm) (alloc_global rm idg).
Lemma romem_for_consistent:
forall cunit, romem_consistent (prog_defmap cunit) (romem_for cunit).
Lemma romem_for_consistent_2:
forall cunit, linkorder cunit prog -> romem_consistent (prog_defmap prog) (romem_for cunit).