Section X86Context.
Context {initU: seq.seq nat}
{the_program: Asm.program}.
Notation the_ge := (@the_ge the_program).
Context {Hsafe : safe_genv the_ge}.
Instance X86Sem: Semantics := @X86Sem the_program Hsafe.

Lemma mem_step_obeys_cur_write:
forall m b ofs m',
Memory.Mem.valid_block m b ->
~ Memory.Mem.perm m b ofs Memtype.Cur Memtype.Writable ->
mem_step m m' ->
ZMap.get ofs (PMap.get b (Memory.Mem.mem_contents m)) =
ZMap.get ofs (PMap.get b (Memory.Mem.mem_contents m')).