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).
Arguments no_dups [F V] _ _.
Arguments no_dups_inv [A V] _ _ _ _ _.

Lemma eq_block_lem:
forall (A: Set) a (b: A) c, (if eq_block a a then b else c) = b.