Module Conversion
type 'a kernel_conversion_function= Environ.env -> 'a -> 'a -> unittype 'a extended_conversion_function= ?l2r:bool -> ?reds:TransparentState.t -> Environ.env -> ?evars:Constr.constr CClosure.evar_handler -> 'a -> 'a -> unittype conv_pb=|CONV|CUMULtype 'a universe_compare={compare_sorts : Environ.env -> conv_pb -> Sorts.t -> Sorts.t -> 'a -> 'a;compare_instances : flex:bool -> UVars.Instance.t -> UVars.Instance.t -> 'a -> 'a;compare_cumul_instances : conv_pb -> UVars.Variance.t array -> UVars.Instance.t -> UVars.Instance.t -> 'a -> 'a;}type 'a universe_state= 'a * 'a universe_comparetype 'b generic_conversion_function= 'b universe_state -> Constr.constr -> Constr.constr -> 'btype 'a infer_conversion_function= Environ.env -> 'a -> 'a -> Univ.Constraints.t
val get_cumulativity_constraints : conv_pb -> UVars.Variance.t array -> UVars.Instance.t -> UVars.Instance.t -> Sorts.QUConstraints.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 -> UVars.Instance.t -> UVars.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 -> TransparentState.t -> Environ.env -> ?evars:Constr.constr CClosure.evar_handler -> 'a generic_conversion_functionDepending on the universe state functions, this might raise
UniverseInconsistencyin addition toNotConvertible(for better error messages).
val default_conv : conv_pb -> Constr.types kernel_conversion_functionval default_conv_leq : Constr.types kernel_conversion_function