Reductionval whd_betaiotazeta : Environ.env -> Constr.constr -> Constr.constrval whd_all : Environ.env -> Constr.constr -> Constr.constrval whd_allnolet : Environ.env -> Constr.constr -> Constr.constrval whd_betaiota : Environ.env -> Constr.constr -> Constr.constrtype 'a kernel_conversion_function = Environ.env -> 'a -> 'a -> unittype 'a extended_conversion_function = ?l2r:bool -> ?reds:TransparentState.t -> Environ.env -> ?evars:Constr.constr Constr.evar_handler -> 'a -> 'a -> unittype 'a universe_compare = {compare_sorts : Environ.env -> conv_pb -> Sorts.t -> Sorts.t -> 'a -> 'a; |
compare_instances : flex:bool -> Univ.Instance.t -> Univ.Instance.t -> 'a -> 'a; |
compare_cumul_instances : conv_pb -> Univ.Variance.t array -> Univ.Instance.t -> Univ.Instance.t -> 'a -> 'a; |
}type 'a universe_state = 'a * 'a universe_comparetype ('a, 'b) generic_conversion_function = Environ.env -> 'b universe_state -> 'a -> 'a -> 'btype 'a infer_conversion_function = Environ.env -> 'a -> 'a -> Univ.Constraints.tval get_cumulativity_constraints : conv_pb -> Univ.Variance.t array -> Univ.Instance.t -> Univ.Instance.t -> Univ.Constraints.tval inductive_cumulativity_arguments : (Declarations.mutual_inductive_body * int) -> intval constructor_cumulativity_arguments : (Declarations.mutual_inductive_body * int * int) -> intval sort_cmp_universes : Environ.env -> conv_pb -> Sorts.t -> Sorts.t -> ('a * 'a universe_compare) -> 'a * 'a universe_compareval convert_instances : flex:bool -> Univ.Instance.t -> Univ.Instance.t -> ('a * 'a universe_compare) -> 'a * 'a universe_compareval checked_universes : UGraph.t universe_compareThis function never raise UnivInconsistency.
val conv : Constr.constr extended_conversion_functionThese two functions can only raise NotConvertible
val conv_leq : Constr.types extended_conversion_functionval generic_conv : conv_pb -> l2r:bool -> Constr.constr Constr.evar_handler -> TransparentState.t -> (Constr.constr, 'a) generic_conversion_functionDepending on the universe state functions, this might raise UniverseInconsistency in addition to NotConvertible (for better error messages).
val default_conv : conv_pb -> Constr.types kernel_conversion_functionval default_conv_leq : Constr.types kernel_conversion_functionval beta_applist : Constr.constr -> Constr.constr list -> Constr.constrBuilds an application node, reducing beta redexes it may produce.
val beta_appvect : Constr.constr -> Constr.constr array -> Constr.constrBuilds an application node, reducing beta redexes it may produce.
val beta_app : Constr.constr -> Constr.constr -> Constr.constrBuilds an application node, reducing beta redexe it may produce.
val hnf_prod_applist : Environ.env -> Constr.types -> Constr.constr list -> Constr.typesPseudo-reduction rule Prod(x,A,B) a --> Bx\a
val hnf_prod_applist_assum : Environ.env -> int -> Constr.types -> Constr.constr list -> Constr.typesIn hnf_prod_applist_assum n c args, c is supposed to (whd-)reduce to the form ∀Γ.t with Γ of length n and possibly with let-ins; it returns t with the assumptions of Γ instantiated by args and the local definitions of Γ expanded.
val betazeta_appvect : int -> Constr.constr -> Constr.constr array -> Constr.constrCompatibility alias for Term.lambda_appvect_assum
val dest_prod : Environ.env -> Constr.types -> Constr.rel_context * Constr.typesval dest_prod_assum : Environ.env -> Constr.types -> Constr.rel_context * Constr.typesval dest_lam : Environ.env -> Constr.constr -> Constr.rel_context * Constr.constrval dest_lam_assum : Environ.env -> Constr.constr -> Constr.rel_context * Constr.constrval dest_lam_n_assum : Environ.env -> int -> Constr.constr -> Constr.rel_context * Constr.constrval dest_arity : Environ.env -> Constr.types -> Term.arityval is_arity : Environ.env -> Constr.types -> boolval eta_expand : Environ.env -> Constr.constr -> Constr.types -> Constr.constr