package dolmen
Module Dolmen_std.Id
Standard implementation of identifiers
Type definitions
type namespace = | Var(*Namespace for variables. Not all variables are necessarily in this namespace, but ids in this namespace must be variables.
*)| Sort(*Namepsace for sorts and types (only used in smtlib)
*)| Term(*Most used namespace, used for terms in general (and types outside smtlib).
*)| Attr(*Namespace for attributes (also called annotations).
*)| Decl(*Namespace used for naming declarations/definitions/statements...
*)| Module of string(*Namespaces defined by modules (used for instance in dedukti).
*)
The type of identifiers, basically a name together with a namespace.
Implemented interfaces
include Dolmen_intf.Id.Logic with type t := t and type namespace := namespace
val sort : namespaceThe namespace for sorts (also called types). Currently only used for smtlib.
val term : namespaceThe usual namespace for terms.
val attr : namespaceNamespace used for attributes (also called annotations) in smtlib.
val decl : namespaceNamespace used for declaration identifiers (for instance used to filter declarations during includes)
val mod_name : string -> namespaceNamespace used by modules (for instance in dedulkti).
Usual comparison functions
val hash : t -> intAdditional functions
val full_name : t -> stringReturns a full name for the identifier. NOTE: full names may not be unique and therefore not suitable for comparison of identifiers.
val print : Format.formatter -> t -> unitPrinting functions.
Standard attributes
val rwrt_rule : tThe tagged term is (or at least should be) a rewrite rule.
val tptp_role : tThe tagged statement has a tptp role. Should be used as a function symbol applied to the actual tptp role.