Module Globnames

type global_reference = Names.GlobRef.t =
| VarRef of Names.variable
| ConstRef of Names.Constant.t
| IndRef of Names.inductive
| ConstructRef of Names.constructor
val isVarRef : Names.GlobRef.t -> bool
val isConstRef : Names.GlobRef.t -> bool
val isIndRef : Names.GlobRef.t -> bool
val isConstructRef : Names.GlobRef.t -> bool
val canonical_gr : Names.GlobRef.t -> Names.GlobRef.t
val destVarRef : Names.GlobRef.t -> Names.variable
val destConstRef : Names.GlobRef.t -> Names.Constant.t
val destIndRef : Names.GlobRef.t -> Names.inductive
val destConstructRef : Names.GlobRef.t -> Names.constructor
val is_global : Names.GlobRef.t -> Constr.constr -> bool
val subst_constructor : Mod_subst.substitution -> Names.constructor -> Names.constructor
val subst_global : Mod_subst.substitution -> Names.GlobRef.t -> Names.GlobRef.t * Constr.constr Univ.univ_abstracted option
val subst_global_reference : Mod_subst.substitution -> Names.GlobRef.t -> Names.GlobRef.t
val printable_constr_of_global : Names.GlobRef.t -> Constr.constr

This constr is not safe to be typechecked, universe polymorphism is not handled here: just use for printing

val global_of_constr : Constr.constr -> Names.GlobRef.t

Turn a construction denoting a global reference into a global reference; raise Not_found if not a global reference

Extended global references
type syndef_name = Names.KerName.t
type extended_global_reference =
| TrueGlobal of Names.GlobRef.t
| SynDef of syndef_name
module ExtRefOrdered : sig ... end
module ExtRefMap : CMap.ExtS with type key = extended_global_reference and module Set := ExtRefSet
val subst_extended_reference : Mod_subst.substitution -> extended_global_reference -> extended_global_reference