Module Sorts

The sorts of CCI.
module QGlobal : sig ... end
module QVar : sig ... end
module Quality : sig ... end
module ElimConstraint : sig ... end
module ElimConstraints : sig ... end
module QContextSet : sig ... end
type t = private
  1. | SProp
  2. | Prop
  3. | Set
  4. | Type of Univ.Universe.t
  5. | GSort of QGlobal.t * Univ.Universe.t
  6. | VSort of QVar.t * Univ.Universe.t
val sprop : t
val set : t
val prop : t
val type1 : t
val gsort : QGlobal.t -> Univ.Universe.t -> t
val vsort : QVar.t -> Univ.Universe.t -> t
val make : Quality.t -> Univ.Universe.t -> t
val equal : t -> t -> bool
val compare : t -> t -> int
val hash : t -> int
val is_sprop : t -> bool
val is_set : t -> bool
val is_prop : t -> bool
val quality : t -> Quality.t
val hcons : t Hashcons.f
val sort_of_univ : Univ.Universe.t -> t
val univ_of_sort : t -> Univ.Universe.t
val levels : t -> Univ.Level.Set.t
val super : t -> t
val subst_fn : ((QVar.t -> Quality.t) * (Univ.Universe.t -> Univ.Universe.t)) -> t -> t
type relevance =
  1. | Relevant
  2. | Irrelevant
  3. | RelevanceVar of QVar.t

On binders: is this variable proof relevant

val relevance_hash : relevance -> int
val relevance_equal : relevance -> relevance -> bool
val relevance_subst_fn : (QVar.t -> Quality.t) -> relevance -> relevance
val relevance_of_sort : t -> relevance
val is_relevant : relevance -> bool
val debug_print : t -> Pp.t
type printer = {
  1. prq : Quality.printer;
  2. pru : Univ.Level.t -> Pp.t;
}
val pr : printer -> t -> Pp.t
val raw_printer : printer
val raw_pr : t -> Pp.t
type ('q, 'u) pattern =
  1. | PSProp
  2. | PSSProp
  3. | PSSet
  4. | PSType of 'u
  5. | PSGlobal of QGlobal.t * 'u
  6. | PSQSort of 'q * 'u
val pattern_match : (int option, int option) pattern -> t -> ('t, Quality.t, Univ.Level.t) Partial_subst.t -> ('t, Quality.t, Univ.Level.t) Partial_subst.t option