ComFixpointEntry points for the vernacular commands Fixpoint and CoFixpoint
val do_fixpoint_interactive :
scope:Locality.definition_scope ->
?clearbody:bool ->
poly:bool ->
?typing_flags:Declarations.typing_flags ->
?deprecation:Deprecation.t ->
Vernacexpr.fixpoint_expr list ->
Declare.Proof.tval do_fixpoint :
?scope:Locality.definition_scope ->
?clearbody:bool ->
poly:bool ->
?typing_flags:Declarations.typing_flags ->
?deprecation:Deprecation.t ->
?using:Vernacexpr.section_subset_expr ->
Vernacexpr.fixpoint_expr list ->
unitval do_cofixpoint_interactive :
scope:Locality.definition_scope ->
poly:bool ->
?deprecation:Deprecation.t ->
Vernacexpr.cofixpoint_expr list ->
Declare.Proof.tval do_cofixpoint :
scope:Locality.definition_scope ->
poly:bool ->
?deprecation:Deprecation.t ->
?using:Vernacexpr.section_subset_expr ->
Vernacexpr.cofixpoint_expr list ->
unitInternal API
Typing global fixpoints and cofixpoint_expr
val adjust_rec_order :
structonly:bool ->
Constrexpr.local_binder_expr list ->
Constrexpr.recursion_order_expr option ->
Names.lident optiontype ('constr, 'types) recursive_preentry =
Names.Id.t list * Sorts.relevance list * 'constr option list * 'types listnames / relevance / defs / types
val interp_recursive :
Environ.env ->
program_mode:bool ->
cofix:bool ->
Names.lident option Vernacexpr.fix_expr_gen list ->
(Environ.env * EConstr.named_context * UState.universe_decl * Evd.evar_map)
* ( EConstr.t, EConstr.types ) recursive_preentry
* (EConstr.rel_context * Impargs.manual_implicits * int option) listExported for Program
Exported for Funind
val interp_fixpoint :
?check_recursivity:bool ->
?typing_flags:Declarations.typing_flags ->
cofix:bool ->
Names.lident option Vernacexpr.fix_expr_gen list ->
( Constr.t, Constr.types ) recursive_preentry
* UState.universe_decl
* UState.t
* (EConstr.rel_context * Impargs.manual_implicits * int option) listval compute_possible_guardness_evidences :
(( 'a, 'b ) Context.Rel.pt * 'c * int option) ->
int listVery private function, do not use