Module Sorts.Quality

type constant =
| QProp
| QSProp
| QType
type t =
| QVar of QVar.t
| QConstant of constant
module Constants : sig ... end
val qprop : t
val qsprop : t
val qtype : t
val var : int -> t

var i is QVar (QVar.make_var i)

val var_index : t -> int option
val equal : t -> t -> bool
val compare : t -> t -> int
val pr : (QVar.t -> Pp.t) -> t -> Pp.t
val raw_pr : t -> Pp.t
val hash : t -> int
val hcons : t -> t
val subst : (QVar.t -> t) -> t -> t
val subst_fn : t QVar.Map.t -> QVar.t -> t
module Set : CSig.SetS with type elt = t
module Map : CMap.ExtS with type key = t and module Set := Set
type pattern =
| PQVar of int option
| PQConstant of constant
val pattern_match : pattern -> t -> ('tt'u) Partial_subst.t -> ('tt'u) Partial_subst.t option