Definition ev_step_det:
forall (m m' m'' : mem) (c c' c'' : semC) ev ev',
ev_step semSem c m ev c' m' ->
ev_step semSem c m ev' c'' m'' -> c' = c'' /\ m' = m'' /\ ev = ev'.

Lemma ev_unchanged_on:
forall c m c' m' b ofs ev
(Hstep: ev_step semSem c m ev c' m')
(Hvalid: Mem.valid_block m b)
(Hstable: ~ Mem.perm m b ofs Cur Writable),
Maps.ZMap.get ofs (Maps.PMap.get b (Mem.mem_contents m)) =
Maps.ZMap.get ofs (Maps.PMap.get b (Mem.mem_contents m')).