Section MemInterference.
Definition mem_effect_forward: mem -> Events.mem_effect -> mem -> Prop.
(* Definition mem_effect_forward m ev m':= execute ev in m, without checking for permissions. *)
Admitted.
Inductive mem_interference: mem -> list Events.mem_effect -> mem -> Prop:=
| Nil_mem_interference: forall m, mem_interference m nil m
| Build_mem_interference: forall m m' m'' ev lev,
mem_effect_forward m ev m' ->
mem_interference m' lev m'' ->
mem_interference m (ev::lev) m''.
(* OLD_mem_interference:= Mem.unchanged_on (loc_readable_cur m) m *)

Lemma interference_same_visible:
forall m m' lev, mem_interference m lev m' ->
same_visible m m'.