Definition ContentMap_II_ValidBlock_FUN b2 ofs2: memval :=
   match source j12 m1 b2 ofs2 with
     Some(b1,ofs1) =>
                 match j23' b2 with
                    None => ZMap.get ofs2 (PMap.get b2 m2.(Mem.mem_contents))
                 | Some(b3,ofs3) =>
                      inject_memval j12'
                            (ZMap.get ofs1 (PMap.get b1 m1'.(Mem.mem_contents)))
                 end
   | None => ZMap.get ofs2 (PMap.get b2 m2.(Mem.mem_contents))
   end.Definition ContentMap_II_InvalidBlock_FUN b2 ofs2: memval :=
   match source j12' m1' b2 ofs2 with
       None => Undef
     | Some(b1,ofs1) =>
               inject_memval j12'
               (ZMap.get ofs1 (PMap.get b1 m1'.(Mem.mem_contents)))
   end.Definition ContentMap_II_Block_FUN b ofs : memval:=
  if plt b (Mem.nextblock m2)
  then ContentMap_II_ValidBlock_FUN b ofs
  else ContentMap_II_InvalidBlock_FUN b ofs.

(* Specifications: *)
Lemma CM_block_II_existsT: forall b, { M : ZMap.t memval | fst M = Undef /\ forall ofs, ZMap.get ofs M = ContentMap_II_Block_FUN b ofs}.
Lemma CM_block_II_existsT: forall b, { M : ZMap.t memval | fst M = Undef /\ forall ofs, ZMap.get ofs M = ContentMap_II_Block_FUN b ofs}.