Module Projection.Repr

type t
val make : inductive -> proj_npars:int -> proj_arg:int -> Label.t -> t
include QNameS with type t := t
module CanOrd : EqType with type t = t

Equality functions over the canonical name. Their use should be restricted to the kernel.

module UserOrd : EqType with type t = t

Equality functions over the user name.

module SyntacticOrd : EqType with type t = t

Equality functions using both names, for low-level uses.

val canonize : t -> t

Returns the canonical version of the name

val constant : t -> Constant.t

Don't use this if you don't have to.

val inductive : t -> inductive
val mind : t -> MutInd.t
val npars : t -> int
val arg : t -> int
val label : t -> Label.t
val equal : t -> t -> bool
val hash : t -> int
val compare : t -> t -> int
val map : (MutInd.t -> MutInd.t) -> t -> t
val map_npars : (int -> int) -> t -> t
val to_string : t -> string

Encode as a string (not to be used for user-facing messages).

val print : t -> Pp.t

Print internal representation (not to be used for user-facing messages).