DetypingIf true, contract branches with same r.h.s. and same matching variables in a disjunctive pattern
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 subst_cases_pattern : Mod_subst.substitution -> Glob_term.cases_pattern -> Glob_term.cases_patternval subst_glob_constr : Environ.env -> Mod_subst.substitution -> Glob_term.glob_constr -> Glob_term.glob_constrval factorize_eqns : 'a Glob_term.cases_clauses_g -> 'a Glob_term.disjunctive_cases_clauses_gdetype 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 -> ?avoid:'g Namegen.Generator.input -> Environ.env -> Evd.evar_map -> EConstr.constr -> 'a Glob_term.glob_constr_gval detype_sort : Evd.evar_map -> Sorts.t -> Glob_term.glob_sortval detype_rel_context : 'a delay -> EConstr.constr option -> ?avoid:'g Namegen.Generator.input -> (Termops.names_context * Environ.env) -> Evd.evar_map -> EConstr.rel_context -> 'a Glob_term.glob_decl_g listval detype_closed_glob : ?isgoal:bool -> ?avoid:'g Namegen.Generator.input -> Environ.env -> Evd.evar_map -> Ltac_pretype.closed_glob_constr -> Glob_term.glob_constrval lookup_name_as_displayed : Environ.env -> Evd.evar_map -> EConstr.constr -> Names.Id.t -> int optionlook 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 optionmodule PrintingInductiveMake (_ : sig ... end) : Goptions.RefConvertArg with type t = Names.inductive and module Set = Names.Indset