Dolmen_std.IdSourceStandard implementation of identifiers
type value = | IntegerIntegers (in base 10 notation), e.g. "123456789"
| RationalRational (using quotient notation with '/'), e.g. "123/456"
| RealReal (using decimal floating point notation with exponent), e.g. "123.456e789"
| BinaryBitvector in binary notation, e.g. "0b011010111010"
| HexadecimalBitvector in hexadecimal notation, e.g. "0x9a23e5f"
| BitvectorBitvector litteral.
*)| StringString litterals.
*)Types of lexical values typically encountered.
type namespace = | VarNamespace for variables. Not all variables are necessarily in this namespace, but ids in this namespace must be variables.
*)| SortNamepsace for sorts and types (only used in smtlib)
*)| TermMost used namespace, used for terms in general (and types outside smtlib).
*)| AttrNamespace for attributes (also called annotations).
*)| DeclNamespace used for naming declarations/definitions/statements...
*)| TrackNamespace used to track specific values throughout some files.
*)| Module of stringNamespaces defined by modules (used for instance in dedukti).
*)| Value of valueThe identifier is a value, encoded in a string. Examples include arithmetic constants (e.g. "123456", "123/456", "123.456e789"), bitvectors (i.e. binary notation), etc...
Namespaces, used to record the lexical scop in which an identifier was parsed.
The type of identifiers, basically a name together with a namespace.
include Dolmen_intf.Id.Logic with type t := t and type namespace := namespaceThe namespace for sorts (also called types). Currently only used for smtlib.
Namespace for variables (when they can be syntatically distinguished from constants).
Namespace used for declaration identifiers (for instance used to filter declarations during includes)
Returns a full name for the identifier. NOTE: full names may not be unique and therefore not suitable for comparison of identifiers.
Printing functions.
Used to define theories; used primarily in alt-ergo where it affects what engine is used to trigger axioms in the theory.