Definition mkInjections (m1 m1' m2:mem) (j k l: meminj)
:  meminj * meminj * block * block :=
if plt (Mem.nextblock m1) (Mem.nextblock m1')
then mkInjectionsN (Pos.to_nat (Mem.nextblock m1') - Pos.to_nat(Mem.nextblock m1))
(Mem.nextblock m1)
(Mem.nextblock m2) j k l
else (j,k,Mem.nextblock m1,Mem.nextblock m2).

Lemma mkInjections_2_injsep: forall m1 m1' m2 j k l j' k' n1' n2'
(HI: mkInjections m1 m1' m2 j k l = (j',k',n1',n2'))
(VB: forall b1 b2 ofs2, j b1 = Some(b2,ofs2) -> Mem.valid_block m1 b1)
m3 (Sep:inject_separated (compose_meminj j k) l m1 m3),
inject_separated k k' m2 m3.