Module Detyping

type _ delay =
| Now : 'a delay
| Later : [ `thunk ] delay
val print_universes : bool Stdlib.ref

Should we keep details of universes during detyping ?

val print_evar_arguments : bool Stdlib.ref

If true, prints full local context of evars

val print_factorize_match_patterns : unit -> bool

If true, contract branches with same r.h.s. and same matching variables in a disjunctive pattern

val print_allow_match_default_clause : unit -> bool

If this flag is true and the last non unique clause of a "match" is a variable-free disjunctive pattern, turn it into a catch-call case

val print_allow_match_default_opt_name : string list

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 -> ?isgoal:bool -> Names.Id.Set.t -> Environ.env -> Evd.evar_map -> EConstr.constr -> 'a Glob_term.glob_constr_g
val detype_sort : Evd.evar_map -> Sorts.t -> Glob_term.glob_sort
val share_pattern_names : (Names.Id.Set.t -> Termops.names_context -> 'c -> 'd Pattern.constr_pattern_r -> 'a) -> int -> (Names.Name.t * 'e option * Glob_term.binding_kind * 'b option * 'a) list -> Names.Id.Set.t -> 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
val force_wildcard : unit -> bool
val synthetize_type : unit -> bool
module PrintingInductiveMake (_ : sig ... end) : sig ... end