Transparent Mem.loadbytes.

(* Specifications: *)
Lemma valid_mem_loadbytes:
forall m b ofs sz mv f
(Hwd: valid_mem m)
(Hsz: sz >= 0)
(Hdomain: domain_memren f m)
(Hload: Mem.loadbytes m b ofs sz = Some mv),
valid_memval_list f mv.
Lemma loadv_wd:
forall chunk m vptr v f
(Hwd: valid_mem m)
(Hdomain: domain_memren f m)
(Hload: Mem.loadv chunk m vptr = Some v),
valid_val f v.
Lemma domain_memren_store:
forall chunk m m' b ofs v f
(Hdomain: domain_memren f m)
(Hstore: Mem.store chunk m b ofs v = Some m'),
domain_memren f m'.
Lemma domain_memren_storev:
forall chunk m m' vptr v f
(Hdomain: domain_memren f m)
(Hstore: Mem.storev chunk m vptr v = Some m'),
domain_memren f m'.
Lemma loadbytes_val_obs:
forall (mc mf : mem) (f:memren)
(b1 b2 : block) (ofs sz : Z) mv
(Hsz: sz >= 0)
(Hload: Mem.loadbytes mc b1 ofs sz = Some mv)
(Hf: f b1 = Some b2)
(Hinjective: forall b0 b1' b3 : block, f b0 = Some b3 -> f b1' = Some b3 -> b0 = b1')
(Hobs_eq: strong_mem_obs_eq f mc mf),
exists mv',
Mem.loadbytes mf b2 ofs sz = Some mv' /\
list_forall2 (fun a b => memval_obs_eq f a b) mv mv'.