Definition mem_respects_readonly {F V} (ge : Genv.t F V) m :=
forall b gv, Genv.find_var_info ge b = Some gv ->
gvar_readonly gv && negb (gvar_volatile gv) = true ->
Genv.load_store_init_data ge m b 0 (gvar_init gv) /\
Mem.valid_block m b /\ (forall ofs : Z, ~ Mem.perm m b ofs Max Writable).

Lemma get_freelist:
forall fbl m m' (FL: Mem.free_list m fbl = Some m') b
(H: forall b' lo hi, In (b', lo, hi) fbl -> b' <> b) z,
ZMap.get z (Mem.mem_contents m') !! b =
ZMap.get z (Mem.mem_contents m) !! b.