package coq-core

  1. Overview
  2. Docs
The Coq Proof Assistant -- Core Binaries and Tools

Install

Dune Dependency

Authors

Maintainers

Sources

coq-8.19.2.tar.gz
md5=5d1187d5e44ed0163f76fb12dabf012e
sha512=91bc81530fa4f6498961583ad51eac5001f139881788b88e360a866ad8e2a6e2c5bce86d1a580ab4cd4782bf49d48318767df82471ce33ba3ac143e5569ad33c

doc/coq-core.pretyping/Indrec/index.html

Module IndrecSource

Errors related to recursors building

Sourcetype recursion_scheme_error =
  1. | NotAllowedCaseAnalysis of bool * Sorts.t * Constr.pinductive
  2. | NotMutualInScheme of Names.inductive * Names.inductive
  3. | NotAllowedDependentAnalysis of bool * Names.inductive
Sourceexception RecursionSchemeError of Environ.env * recursion_scheme_error

Eliminations

Sourcetype dep_flag = bool

Build a case analysis elimination scheme in some sort family

Sourcetype case_analysis = private {
  1. case_params : EConstr.rel_context;
  2. case_pred : Names.Name.t Context.binder_annot * EConstr.types;
  3. case_branches : EConstr.rel_context;
  4. case_arity : EConstr.rel_context;
  5. case_body : EConstr.t;
  6. case_type : EConstr.t;
}
Sourceval check_valid_elimination : Environ.env -> Constr.pinductive -> dep:bool -> Sorts.family -> unit
Sourceval eval_case_analysis : case_analysis -> EConstr.t * EConstr.types
Sourceval default_case_analysis_dependence : Environ.env -> Names.inductive -> bool

Build a dependent case elimination predicate unless type is in Prop or is a recursive record with primitive projections.

Sourceval build_case_analysis_scheme_default : Environ.env -> Evd.evar_map -> Constr.pinductive -> Sorts.family -> Evd.evar_map * case_analysis

Builds a recursive induction scheme (Peano-induction style) in the same sort family as the inductive family; it is dependent if not in Prop or a recursive record with primitive projections.

Builds mutual (recursive) induction schemes

Sourceval 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

Scheme combinators

weaken_sort_scheme env sigma eq s n c t derives by subtyping from c:t whose conclusion is quantified on Type i at position n of t a scheme quantified on sort s. set asks for s be declared equal to i, otherwise just less or equal to i.

Recursor names utilities

Sourceval elimination_suffix : Sorts.family -> string
Sourceval make_elimination_ident : Names.Id.t -> Sorts.family -> Names.Id.t
Sourceval case_suffix : string
OCaml

Innovation. Community. Security.