Corollary mem_obs_eq_domain_ren:
    forall f m m',
      mem_obs_eq f m m' ->
      domain_memren f m.

Lemma setN_obs_eq : forall (access : Z -> Prop) (f : memren) (vl1 vl2 : seq memval), list_forall2 (memval_obs_eq f) vl1 vl2 -> forall (p : Z) (c1 c2 : ZMap.t memval), (forall q : Z, access q -> memval_obs_eq f (ZMap.get q c1) (ZMap.get q c2)) -> forall q : Z, access q -> memval_obs_eq f (ZMap.get q (Mem.setN vl1 p c1)) (ZMap.get q (Mem.setN vl2 p c2)).