type recursion_scheme_error
=
exception
RecursionSchemeError of Environ.env * recursion_scheme_error
type dep_flag
= bool
type case_analysis
= private
{
}
val check_valid_elimination : Environ.env -> Constr.pinductive -> dep:bool -> Sorts.family -> unit
val eval_case_analysis : case_analysis -> EConstr.t * EConstr.types
val default_case_analysis_dependence : Environ.env -> Names.inductive -> bool
val build_case_analysis_scheme : Environ.env -> Evd.evar_map -> Constr.pinductive -> dep_flag -> Sorts.family -> Evd.evar_map * case_analysis
val build_case_analysis_scheme_default : Environ.env -> Evd.evar_map -> Constr.pinductive -> Sorts.family -> Evd.evar_map * case_analysis
val build_induction_scheme : Environ.env -> Evd.evar_map -> Constr.pinductive -> dep_flag -> Sorts.family -> Evd.evar_map * Constr.constr
val build_mutual_induction_scheme : Environ.env -> Evd.evar_map -> ?force_mutual:bool -> (Constr.pinductive * dep_flag * Sorts.family) list -> Evd.evar_map * Constr.constr list
val weaken_sort_scheme : Environ.env -> Evd.evar_map -> bool -> EConstr.ESorts.t -> int -> Constr.constr -> Constr.types -> Evd.evar_map * Constr.types * Constr.constr
val lookup_eliminator : Environ.env -> Names.inductive -> Sorts.family -> Names.GlobRef.t
val elimination_suffix : Sorts.family -> string
val make_elimination_ident : Names.Id.t -> Sorts.family -> Names.Id.t
val case_suffix : string