NamesThis file defines a lot of different notions of names used pervasively in the kernel as well as in other places. The essential datatypes exported by this API are:
module Id : sig ... endRepresentation and operations on identifiers.
module Name : sig ... endRepresentation and operations on identifiers that are allowed to be anonymous (i.e. "_" in concrete syntax).
type variable = Id.ttype module_ident = Id.tmodule ModIdset : Util.Set.S with type elt = module_identmodule ModIdmap : Util.Map.ExtS with type key = module_ident and module Set := ModIdsetmodule DirPath : sig ... endmodule DPset : Util.Set.S with type elt = DirPath.tmodule Label : sig ... endmodule MBId : sig ... endmodule MBIset : Util.Set.S with type elt = MBId.tmodule ModPath : sig ... endmodule MPset : Util.Set.S with type elt = ModPath.tmodule KerName : sig ... endmodule KNset : CSig.USetS with type elt = KerName.tmodule KNpred : Predicate.S with type elt = KerName.tmodule type EqType = sig ... endmodule type QNameS = sig ... endmodule Constant : sig ... endmodule Cpred : Predicate.S with type elt = Constant.tThe *_env modules consider an order on user part of names the others consider an order on canonical part of names
module Cset : CSig.USetS with type elt = Constant.tmodule Cset_env : CSig.USetS with type elt = Constant.tmodule Cmap : Util.Map.UExtS with type key = Constant.t and module Set := CsetA map whose keys are constants (values of the Constant.t type). Keys are ordered wrt. "canonical form" of the constant.
module Cmap_env : Util.Map.UExtS with type key = Constant.t and module Set := Cset_envA map whose keys are constants (values of the Constant.t type). Keys are ordered wrt. "user form" of the constant.
module MutInd : sig ... endmodule Mindset : CSig.USetS with type elt = MutInd.tmodule Mindmap_env : CMap.UExtS with type key = MutInd.tmodule Ind : sig ... endtype inductive = Ind.tmodule Construct : sig ... endtype constructor = Construct.tmodule Indset : CSet.S with type elt = inductivemodule Constrset : CSet.S with type elt = constructormodule Indset_env : CSet.S with type elt = inductivemodule Constrset_env : CSet.S with type elt = constructormodule Indmap_env : CMap.ExtS with type key = inductive and module Set := Indset_envmodule Constrmap_env : CMap.ExtS with type key = constructor and module Set := Constrset_envval ith_constructor_of_inductive : inductive -> int -> constructorval inductive_of_constructor : constructor -> inductiveval index_of_constructor : constructor -> intval hcons_con : Constant.t -> Constant.tval hcons_construct : constructor -> constructorindex in the rel_context part of environment starting by the end, inverse of de Bruijn indice
val hash_table_key : ('a -> int) -> 'a tableKey -> intval eq_constant_key : Constant.t -> Constant.t -> boolequalities on constant and inductive names (for the checker)
module Projection : sig ... endmodule PRset : CSig.USetS with type elt = Projection.Repr.tmodule PRmap : Util.Map.UExtS with type key = Projection.Repr.t and module Set := PRsetmodule PRpred : Predicate.S with type elt = Projection.Repr.tPredicate on projection representation (ignoring unfolding state)
module GlobRef : sig ... endLocated identifiers and objects with syntax.
type lstring = string CAst.t