IndschemesSourcetype resolved_scheme =
Names.Id.t CAst.t
* Indrec.dep_flag
* Names.inductive
* UnivGen.QualityOrSet.tSee also Auto_ind_decl, Indrec, Eqscheme, Ind_tables, ...
Build and register the boolean equalities associated to an inductive type
Build and register rewriting schemes for an equality-like inductive type
Mutual Minimality/Induction scheme. force_mutual forces the construction of eliminators having the same predicates and methods even if some of the inductives are not recursive. By default it is false and some of the eliminators are defined as simple case analysis. By default isrec is true.
val do_mutual_induction_scheme :
register:bool ->
?force_mutual:bool ->
Environ.env ->
?isrec:bool ->
resolved_scheme list ->
unitMain calls to interpret the Scheme command
val do_scheme :
register:bool ->
Environ.env ->
(Names.Id.t CAst.t option * Vernacexpr.scheme) list ->
unitMain call to Scheme Equality command
val do_scheme_equality :
?locmap:Ind_tables.Locmap.t ->
Vernacexpr.equality_scheme_type ->
Libnames.qualid Constrexpr.or_by_notation ->
unitCombine a list of schemes into a conjunction of them
type declare_mind_function =
?all_depth:int ->
Entries.mutual_inductive_entry ->
UState.named_universes_entry ->
Names.MutInd.tHook called at each inductive type definition
val declare_default_schemes :
?locmap:Ind_tables.Locmap.t ->
?all_depth:int ->
declare_mind:declare_mind_function ->
Names.MutInd.t ->
unit