Module Detyping

type _ delay =
| Now : 'a delay
| Later : [ `thunk ] delay

detype isgoal avoid ctx c turns a closed c, into a glob_constr de Bruijn indexes are turned to bound names, avoiding names in avoid isgoal tells if naming must avoid global-level synonyms as intro does ctx gives the names of the free variables

val detype : 'a delay -> flags:PrintingFlags.Detype.t -> ?isgoal:bool -> ?avoid:'g Namegen.Generator.input -> Environ.env -> Evd.evar_map -> EConstr.constr -> 'a Glob_term.glob_constr_g
val detype_sort : universes:bool -> qualities:bool -> Evd.evar_map -> Sorts.t -> Glob_term.glob_sort
val share_pattern_names : ('g Namegen.Generator.input -> Termops.names_context -> 'c -> 'd Pattern.constr_pattern_r -> 'a) -> int -> (Names.Name.t * 'e option * Glob_term.binding_kind * 'b option * 'a) list -> 'g Namegen.Generator.input -> Termops.names_context -> 'c -> 'd Pattern.constr_pattern_r -> 'd Pattern.constr_pattern_r -> (Names.Name.t * 'e option * Glob_term.binding_kind * 'b option * 'a) list * 'a * 'a
val lookup_name_as_displayed : Environ.env -> Evd.evar_map -> EConstr.constr -> Names.Id.t -> int option

look for the index of a named var or a nondep var as it is renamed

val lookup_index_as_renamed : Environ.env -> Evd.evar_map -> EConstr.constr -> int -> int option