Module UnivGen
val set_remote_new_univ_id : univ_unique_id RemoteCounter.installer
val new_univ_id : unit -> univ_unique_id
for the stm
val new_univ_global : unit -> Univ.Level.UGlobal.t
val fresh_level : unit -> Univ.Level.t
val new_univ : unit -> Univ.Universe.t
val new_Type : unit -> Constr.types
val new_Type_sort : unit -> Sorts.t
val new_global_univ : unit -> Univ.Universe.t Univ.in_universe_context_set
val new_sort_in_family : Sorts.family -> Sorts.t
val fresh_instance : Univ.AUContext.t -> Univ.Instance.t Univ.in_universe_context_set
val fresh_instance_from : ?loc:Loc.t -> Univ.AUContext.t -> Univ.Instance.t option -> Univ.Instance.t Univ.in_universe_context_set
val fresh_sort_in_family : Sorts.family -> Sorts.t Univ.in_universe_context_set
val fresh_constant_instance : Environ.env -> Names.Constant.t -> Constr.pconstant Univ.in_universe_context_set
val fresh_inductive_instance : Environ.env -> Names.inductive -> Constr.pinductive Univ.in_universe_context_set
val fresh_constructor_instance : Environ.env -> Names.constructor -> Constr.pconstructor Univ.in_universe_context_set
val fresh_global_instance : ?loc:Loc.t -> ?names:Univ.Instance.t -> Environ.env -> Names.GlobRef.t -> Constr.constr Univ.in_universe_context_set
val fresh_global_or_constr_instance : Environ.env -> Globnames.global_reference_or_constr -> Constr.constr Univ.in_universe_context_set
val fresh_universe_context_set_instance : Univ.ContextSet.t -> Univ.universe_level_subst * Univ.ContextSet.t
Get fresh variables for the universe context. Useful to make tactics that manipulate constrs in universe contexts polymorphic.
val global_of_constr : Constr.constr -> Names.GlobRef.t Univ.puniverses
Raises
Not_found
if not a global reference.
val constr_of_global_univ : Names.GlobRef.t Univ.puniverses -> Constr.constr
val extend_context : 'a Univ.in_universe_context_set -> Univ.ContextSet.t -> 'a Univ.in_universe_context_set
val constr_of_monomorphic_global : Names.GlobRef.t -> Constr.constr
Create a fresh global in the global environment, without side effects. BEWARE: this raises an error on polymorphic constants/inductives: the constraints should be properly added to an evd. See Evd.fresh_global, Evarutil.new_global, and pf_constr_of_global for the proper way to get a fresh copy of a polymorphic global reference.
val constr_of_global : Names.GlobRef.t -> Constr.constr
val type_of_global : Names.GlobRef.t -> Constr.types Univ.in_universe_context_set
Returns the type of the global reference, by creating a fresh instance of polymorphic references and computing their instantiated universe context. (side-effect on the universe counter, use with care).