(* Lemma alloc_global_inflate_identity_iff: forall gev m0 i f m G n loc, Genv.alloc_global gev m0 (i, Gfun f) = Some m -> (identity (inflate_initial_mem m0 (initial_core gev G n) @ loc) <-> identity (inflate_initial_mem m (initial_core gev G n) @ loc)). *)

Lemma identity_inflate_at_Gfun:
forall n i f gev m G0 G loc m0,
list_norepet (map fst (G0 ++ G)) ->
Genv.find_symbol gev i = Some (nextblock m0) ->
Genv.alloc_global gev m0 (i, Gfun f) = Some m ->
In i (map fst G) ->
(identity (inflate_initial_mem m0 (initial_core gev (G0 ++ G) n) @ loc) <->
identity (inflate_initial_mem m (initial_core gev (G0 ++ G) n) @ loc)).