Fixpoint mkInjectionsN (N:nat)(n1 n2:block)(j k l: meminj)
                     :  meminj * meminj * block * block :=
   match N with O => (j,k,n1,n2)
    | S M => mkInjectionsN M (Pos.succ n1) (Pos.succ n2)
                             (fun b => if eq_block b n1
                                       then Some (n2,0)
                                       else j b)
                             (fun b => if eq_block b n2 then l n1 else k b)
                             l
   end.

Lemma mkInjectionsN_8: forall j' k' l n1' n2' M N j k n1 n2 (HI: mkInjectionsN N n1 n2 j k l = (j',k',n1',n2')) (Hj: forall b, j b = None -> (b < M \/ n1' <= b)%positive) b, j' b = None -> (b < M \/ n1' <= b)%positive.