Definition  source j m (b2:block) (ofs2:Z) : option(block * Z) :=
   if plt 1%positive (Mem.nextblock m)
   then sourceN (Pos.pred (Mem.nextblock m)) j m b2 ofs2
   else None.

Lemma valid_splitA: forall (m m2' m2 m1':mem) (b:block) ofs k (SPLIT: if plt b (Mem.nextblock m) then PMap.get b (Mem.mem_access m2') ofs k = PMap.get b (Mem.mem_access m2) ofs k else PMap.get b (Mem.mem_access m2') ofs k = PMap.get b (Mem.mem_access m1') ofs k) P (HA: Mem.valid_block m b -> Mem.perm m2' b ofs k = Mem.perm m2 b ofs k -> P) (HB: ~Mem.valid_block m b -> Mem.perm m2' b ofs k = Mem.perm m1' b ofs k -> P), P.