package dolmen
Constants, i.e non predefined symbols. This includes both constants defined by theories, defined locally in a problem, and also quantified variables.
Quoted strings. According to the smtlib manual, these can be interpreted as either string literals (when the String theory is used), or simply constants
Constants lexically recognised as numbers in different formats. According to the smtlib manual, these should not always be interpreted as numbers since their interpretation is actually dependent on the theory set by the problem.
Juxtaposition of terms, used to annotate terms with their type.
Local parrallel bindings. The bindings are a list of terms built using the colon
function.
Pattern matching. The first term is the term to match, and each tuple in the list is a match case, which is a pair of a pattern and a match branch.