Names.Projection
module Repr : sig ... end
type t
val make : Repr.t -> bool -> t
val repr : t -> Repr.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 constant : t -> Constant.t
val mind : t -> MutInd.t
val inductive : t -> inductive
val npars : t -> int
val arg : t -> int
val label : t -> Label.t
val unfolded : t -> bool
val unfold : t -> t
val equal : t -> t -> bool
val hash : t -> int
val hcons : t -> t
Hashconsing of projections.
val repr_equal : t -> t -> bool
Ignoring the unfolding boolean.
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).