Definition local_out_of_reach mu (m : mem) (b : block) (ofs : Z): Prop :=
locBlocksTgt mu b = true /\
forall b0 delta, local_of mu b0 = Some (b, delta) ->
(~ Mem.perm m b0 (ofs - delta) Max Nonempty \/
pubBlocksSrc mu b0 = false).

Lemma replace_externs_meminj_preserves_globals:
forall {F V} (ge: Genv.t F V) nu
(PG: meminj_preserves_globals ge (extern_of nu) /\
(forall b, isGlobalBlock ge b = true -> frgnBlocksSrc nu b = true))
mu  fSrc fTgt (Hyp: mu = replace_externs nu fSrc fTgt)
(FRG: forall b, frgnBlocksSrc nu b = true -> fSrc b = true),
meminj_preserves_globals ge (extern_of mu) /\
(forall b, isGlobalBlock ge b = true -> frgnBlocksSrc mu b = true).