package coq
Install
    
    dune-project
 Dependency
Authors
Maintainers
Sources
sha256=13a67c0a4559ae22e9765c8fdb88957b16c2b335a2d5f47e4d6d9b4b8b299926
    
    
  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