package coq
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=73466e61f229b23b4daffdd964be72bd7a110963b9d84bd4a86bb05c5dc19ef3
doc/coq-core.kernel/Reduction/index.html
Module ReductionSource
type 'a extended_conversion_function =
?l2r:bool ->
?reds:TransparentState.t ->
Environ.env ->
?evars:(Constr.existential -> Constr.constr option) ->
'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, 'b) generic_conversion_function =
Environ.env ->
'b universe_state ->
'a ->
'a ->
'bval get_cumulativity_constraints :
conv_pb ->
Univ.Variance.t array ->
Univ.Instance.t ->
Univ.Instance.t ->
Univ.Constraints.tval 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_compareThese two never raise UnivInconsistency, inferred_universes just gathers the constraints.
These two functions can only raise NotConvertible
val infer_conv :
?l2r:bool ->
?evars:(Constr.existential -> Constr.constr option) ->
?ts:TransparentState.t ->
Constr.constr infer_conversion_functionThese conversion functions are used by module subtyping, which needs to infer universe constraints inside the kernel
val infer_conv_leq :
?l2r:bool ->
?evars:(Constr.existential -> Constr.constr option) ->
?ts:TransparentState.t ->
Constr.types infer_conversion_functionval generic_conv :
conv_pb ->
l2r:bool ->
(Constr.existential -> Constr.constr option) ->
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).
Builds an application node, reducing beta redexes it may produce.
Builds an application node, reducing beta redexes it may produce.
Builds an application node, reducing beta redexe it may produce.
Pseudo-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.
Compatibility alias for Term.lambda_appvect_assum