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'.

(* Specifications: *)
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')).
Lemma ev_step_decay:
forall c c' m m' ev,
ev_step semSem c m ev c' m' ->
decay m m'.
Lemma ev_step_nextblock:
forall  c m ev c' m',
ev_step semSem c m ev c' m' ->
(Mem.nextblock m <= Mem.nextblock m')%positive.
Lemma ev_step_validblock:
forall  c m ev c' m',
ev_step semSem c m ev c' m' ->
forall b, Mem.valid_block m b ->
Mem.valid_block m' b.