Fixpoint prog_funct' {F V} (l: list (ident * globdef F V)) : list (ident * F) :=
 match l with nil => nil | (i,Gfun f)::r => (i,f):: prog_funct' r | _::r => prog_funct' r
 end.Definition prog_funct {F} (p: program F) := prog_funct' (prog_defs p).

Lemma add_globals_hack_single {F}: forall v gev prog_pub, gev = Genv.add_globals (Genv.empty_genv (fundef F) type prog_pub) (cons v nil) -> forall id b, (Genv.find_symbol gev id = Some b <-> fst v = id /\ b = 1%positive).