Definition var_name (V: Type) (bdec: ident * globvar V) : ident :=
   fst bdec.Definition no_dups (F V: Type) (fdecs: list (ident * F)) (bdecs: list (ident * globvar V)) : Prop :=
  list_norepet (map (@fst ident F) fdecs ++ map (@var_name V) bdecs).

Lemma no_dups_inv: forall (A V: Type) id f fdecs bdecs, no_dups ((id,f)::fdecs) bdecs -> no_dups fdecs bdecs /\ ~ In id (map (@fst ident A) fdecs) /\ ~ In id (map (@var_name V) bdecs).