Module ComFixpoint

Fixpoints and cofixpoints
val do_fixpoint_interactive : scope:Locality.definition_scope -> poly:bool -> ?⁠typing_flags:Declarations.typing_flags -> Vernacexpr.fixpoint_expr list -> Declare.Proof.t
val do_fixpoint : ?⁠scope:Locality.definition_scope -> poly:bool -> ?⁠typing_flags:Declarations.typing_flags -> ?⁠using:Vernacexpr.section_subset_expr -> Vernacexpr.fixpoint_expr list -> unit
val do_cofixpoint_interactive : scope:Locality.definition_scope -> poly:bool -> Vernacexpr.cofixpoint_expr list -> Declare.Proof.t
val do_cofixpoint : scope:Locality.definition_scope -> poly:bool -> ?⁠using:Vernacexpr.section_subset_expr -> Vernacexpr.cofixpoint_expr list -> unit
val adjust_rec_order : structonly:bool -> Constrexpr.local_binder_expr list -> Constrexpr.recursion_order_expr option -> Names.lident option
type ('constr, 'types) recursive_preentry = Names.Id.t list * Sorts.relevance list * 'constr option list * 'types list

names / 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.tEConstr.types) recursive_preentry * (EConstr.rel_context * Impargs.manual_implicits * int option) list

Exported for Program

val interp_fixpoint : ?⁠check_recursivity:bool -> ?⁠typing_flags:Declarations.typing_flags -> cofix:bool -> Names.lident option Vernacexpr.fix_expr_gen list -> (Constr.tConstr.types) recursive_preentry * UState.universe_decl * UState.t * (EConstr.rel_context * Impargs.manual_implicits * int option) list
val compute_possible_guardness_evidences : (('a'b) Context.Rel.pt * 'c * int option) -> int list

Very private function, do not use