GeninternSourcetype intern_variable_status = {intern_ids : Names.Id.Set.t;notation_variable_status : (bool ref
* Notation_term.subscopes option ref
* Notation_term.notation_var_binders option ref
* Notation_term.notation_var_internalization_type)
Names.Id.Map.t;}type glob_sign = {ltacvars : Names.Id.Set.t;genv : Environ.env;extra : Store.t;intern_sign : intern_variable_status;strict_check : bool;}In globalize tactics, we need to keep the initial constr_expr to recompute in the environment by the effective calls to Intro, Inversion, etc The constr_expr field is None in TacDef though
type glob_constr_pattern_and_expr =
Names.Id.Set.t * glob_constr_and_expr * Pattern.constr_patternThe type of functions used for internalizing generic arguments.
val generic_intern_pat :
(Genarg.raw_generic_argument, Genarg.glob_generic_argument) intern_pat_funtype 'glb ntn_subst_fun =
Names.Id.Set.t ->
Glob_term.glob_constr Names.Id.Map.t ->
'glb ->
'glbRegistering functions
val register_intern0 :
('raw, 'glb, 'top) Genarg.genarg_type ->
('raw, 'glb) intern_fun ->
unitval register_intern_pat :
('raw, 'glb, 'top) Genarg.genarg_type ->
('raw, 'glb) intern_pat_fun ->
unit