Instance EqDec_Z : EqDec Z := zeq.

Lemma add_globals_hack {F}:
forall vl gev prog_pub,
list_norepet (map fst vl) ->
gev = Genv.add_globals (Genv.empty_genv (fundef F) type prog_pub) (rev vl) ->
(forall id b, 0 <= Zpos b - 1 < Zlength vl ->
(Genv.find_symbol gev id = Some b <->
nth_error (map (@fst _ _) vl) (length vl - Pos.to_nat b)  = Some id)).