Definition ContentMap_IE_ValidBlock_FUN (j12:meminj) m1 m2 m3'
b2 ofs2: memval :=
match source j12 m1 b2 ofs2 with
Some(b1,ofs1) => ZMap.get ofs2 (PMap.get b2 m3'.(Mem.mem_contents))
| None => ZMap.get ofs2 (PMap.get b2 m2.(Mem.mem_contents))
end.
Definition ContentMap_IE_InvalidBlock_FUN m3' b2 ofs2: memval :=
ZMap.get ofs2 (PMap.get b2 m3'.(Mem.mem_contents)).
Definition ContentMap_IE_Block_FUN j12 m1 m2 m3' b ofs : memval:=
if plt b (Mem.nextblock m2)
then ContentMap_IE_ValidBlock_FUN j12 m1 m2 m3' b ofs
else ContentMap_IE_InvalidBlock_FUN m3' b ofs.

(* Specifications: *)
Lemma CM_block_IE_existsT: forall j12 (m1 m2 m3':Mem.mem) b,
{ M : ZMap.t memval |
fst M = Undef /\
forall ofs, ZMap.get ofs M =
ContentMap_IE_Block_FUN j12 m1 m2 m3' b ofs}.