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 make_arguments_unchanged_on:
forall rs m args ls rs' m'
(Hmake_args: make_arguments rs m ls args = Some (rs', m')),
(forall b ofs, ~ Mem.perm m b ofs Cur Writable -> ZMap.get ofs (Mem.mem_contents m) !! b = ZMap.get ofs (Mem.mem_contents m') !! b) /\
(forall b ofs k, permission_at m b ofs k = permission_at m' b ofs k) /\
(forall b, Mem.valid_block m' b <-> Mem.valid_block m b).