package dolmen
Standard implementation of identifiers
Type definitions
type namespace = Namespace.t
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 : namespace
The namespace for sorts (also called types). Currently only used for smtlib.
val var : namespace
Namespace for variables (when they can be syntatically distinguished from constants).
val term : namespace
The usual namespace for terms.
val attr : namespace
Namespace used for attributes (also called annotations) in smtlib.
val decl : namespace
Namespace used for declaration identifiers (for instance used to filter declarations during includes)
val track : namespace
Namespace used to tag and identify sub-terms occuring in files.
Make an indexed identifier from a namespace, basename and list of indexes.
Make a qualified identifier from a namespace, a list of modules (a path), and a base name.
Usual comparison functions
val hash : t -> int
val print : Stdlib.Format.formatter -> t -> unit
Printing functions.
Additional functions
Standard attributes
val ac_symbol : t
Used to denote associative-commutative symbols.
val case_split : t
Used to annote axioms/antecedants which are case split in alt-ergo.
val theory_decl : t
Used to define theories; used primarily in alt-ergo where it affects what engine is used to trigger axioms in the theory.
val rwrt_rule : t
The tagged term is (or at least should be) a rewrite rule.
val tptp_role : t
The tagged statement has a tptp role. Should be used as a function symbol applied to the actual tptp role.
val tptp_kind : t
The tagged statement is of the given kind (e.g. tff, thf, ...). Should be used as a function symbol applied to the actual tptp kind.