Definition alloc_right_sm (mu: SM_Injection) sp: SM_Injection :=
Build_SM_Injection (locBlocksSrc mu)
(fun b => eq_block b sp || locBlocksTgt mu b)
(pubBlocksSrc mu) (pubBlocksTgt mu)
(local_of mu)
(extBlocksSrc mu) (extBlocksTgt mu)
(frgnBlocksSrc mu) (frgnBlocksTgt mu) (extern_of mu).

Lemma genv_find_add_globals_fresh: forall {F V} defs (g:Genv.t F V) i
(G: ~ In i (map fst defs)),
Genv.find_symbol (Genv.add_globals g defs) i =  Genv.find_symbol g i.