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 source_SomeE: forall j m (b2:block) (ofs2:Z) p,
Some p = source j m b2 ofs2 ->
exists b1, exists delta, exists ofs1,
p = (b1,ofs1) /\
(b1 < Mem.nextblock m)%positive /\ j b1 = Some(b2,delta) /\
Mem.perm m b1 ofs1 Max Nonempty /\ ofs2=ofs1+delta.