Conversiontype '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_function