Uses of Package
org.smtlib

Packages that use org.smtlib
Package
Description
This package contains the main classes and abstract interfaces for this SMT-LIB tool; the tool provides a stand-alone SMT-LIB-compliant command-line application, an application that responds to SMT-LIB commands over a network port, and an SMT-LIB Java API.
This package contains implementations of the SMT-LIB commands, implementing the interfaces defined in ICommand; these implementations are independent of the concrete syntax that might be used, except that each command object has methods that can parse or print representations of the command in the standard (or potentially other) concrete syntaxes.
This package contains commands that are extensions to SMT-LIB.
This package is an implementation of the interfaces defined in org.smtlib.
This package contains implementations of classes that implement the constraints of individual logics.
This package is a concrete implementation of a particular concrete syntax for the abstract SMT-LIB semantics.
This package implements various instances of org.smtlib.ISolver, which are specific solvers that wrap and interact with various off-the-shelf SMT solvers currently available.
  • Classes in org.smtlib used by org.smtlib
    Class
    Description
    The kinds of response a command has besides an error or unsupported (#149)
    The kinds of command that change the assertion stack: each returns a conforming solver to assert mode, where the get- commands about the last check are errors (declare-const is declare-fun, declare-datatypes is declare-datatype, define-funs-rec is define-fun-rec), as does a set-logic that a solver accepts after a check (SMT-LIB makes that an error, but --relax may allow it)
    This class implements a CharSequence that obtains its characters from a source of characters of unknown length; it also provides some functionality to retain the characters and compute line numbers.
    This interface is used to create prompters.
    This interface represents the general class of attribute values; that is, it is the super-interface of any class that may be an attribute value; in the abstract syntax it has no particular structure, though it does include true, false, string literals, numerals, and various pre-defined constants.
    This interface is the generic interface to command classes, providing functionality to type-check the command and to execute it.
    Interface for the SMT-LIB assert command.
    Interface for the SMT-LIB check-sat command.
    Interface for the SMT-LIB check-sat-assuming command.
    Interface for a comment pseudo-command: not part of the SMT-LIB command grammar itself, but modeled as a real, typed ICommand (see issue #115) so that every dispatch path -- execution, typed-visitor traversal, and printing -- treats it uniformly with every other command, rather than falling back on IVisitor's generic visit(ICommand) handling (a reflection-based lookup in Printer's case).
    Interface for the SMT-LIB declare-const command.
    Interface for the SMT-LIB declare-datatype command.
    Interface for the SMT-LIB declare-datatypes command.
    Interface for the SMT-LIB declare-fun command.
    Interface for the SMT-LIB declare-sort command.
    Interface for the SMT-LIB declare-sort-parameter command.
    Interface for the SMT-LIB define-const command.
    Interface for the SMT-LIB define-fun command.
    Interface for the SMT-LIB define-fun-rec command.
    Interface for the SMT-LIB define-funs-rec command.
    Interface for the SMT-LIB define-sort command.
    Interface for the SMT-LIB echo command.
    Interface for the SMT-LIB exit command.
    This is the interface to be used by a concrete ICommand factory.
    This interface defines classes that implement techniques for mapping a command name to a class that implements that command.
    Interface for the SMT-LIB get-assertions command.
    Interface for the SMT-LIB get-assignment command.
    Interface for the SMT-LIB get-info command.
    Interface for the SMT-LIB get-model command (non-standard extension).
    Interface for the SMT-LIB get-option command.
    Interface for the SMT-LIB get-proof command.
    Interface for the SMT-LIB get-unsat-assumptions command.
    Interface for the SMT-LIB get-unsat-core command.
    Interface for the SMT-LIB get-value command.
    Interface for the SMT-LIB pop command.
    Interface for the SMT-LIB push command.
    Interface for the SMT-LIB reset command.
    Interface for the SMT-LIB reset-assertions command.
    Interface to be implemented by all objects representing SMT-LIB scripts.
    Interface for the SMT-LIB set-info command.
    Interface for the SMT-LIB set-logic command.
    Interface for the SMT-LIB set-option command.
    This interface represents the functionality for any class implementing an SMT-LIB term or formula
    This interface represents SMT-LIB identifiers that are sort qualifiers on function ids
    This interface represents an SMT-LIB attribute-value pair; the value may be null (keyword-only attribute).
    This interface represents an SMT-LIB expression with attributes.
    This interface represents SMT-LIB binary literals
    This interface represents a binding of a parameter and an expression
    A constructor declaration within a datatype; pairs a constructor name with its selectors.
    This interface represents non-negative decimal numbers of arbitrary size (i.e.
    This interface represents a declaration of a parameter and its sort
    This interface represents an error, e.g.
    This interface represents an SMT-LIB quantified exists expression
    The interface defining the factory type for producing objects of various subtypes of IExpr; the IPos argument is an optional argument giving information about the textual position of an expression.
    This interface represents SMT-LIB expressions that are a function identifier applied to one or more arguments.
    This interface represents an SMT-LIB quantified forall expression
    A function declaration: a name, a parameter list (sorted variables), and a result sort; used in the header list of define-funs-rec.
    This interface represents SMT-LIB hex literals
    This interface represents SMT-LIB identifiers (either ids or parameterized ids)
    Marker interface for the index types in a parameterized identifier: INumeral and ISymbol, plus IHexLiteral, which the Strings theory's (_ char H) uses, and IBinaryLiteral, which no theory uses but which is parsed so that a solver reports it; each theory decides which kinds it accepts.
    This interface represents SMT-LIB attribute and infoflag names.
    This interface represents an SMT-LIB lambda expression: (lambda (sorted_var+) term).
    This interface represents an SMT-LIB let-expression
    This interface represents all literal (explicit constant) expressions.
    This interface represents an SMT-LIB 2.7 match expression.
    This interface represents one case in a match expression: a pattern and its body.
    This interface represents non-negative integers of arbitrary size.
    This interface represents SMT-LIB parameterized identifiers
    This interface represents a match pattern: either a bare symbol (variable/nullary-constructor) or a constructor applied to zero or more variable symbols.
    This interface represents the value of a :pattern attribute: a list of terms (a multi-pattern), written in the concrete syntax as ( t1 ... tn ).
    This interface represents SMT-LIB identifiers for function ids (either ids or parameterized ids or as-type identifiers)
    A selector declaration within a constructor; pairs a selector name with its result sort.
    Pairs a sort name with its arity; used in declare-datatype and declare-datatypes.
    This interface represents SMT-LIB string literals
    This interface represents SMT-LIB ids; equal ids have equal (using .equals) values of value().
    This interface represents the functionality of an SMT-LIB language - the combination of one or more theories and various restrictions on the permitted expressions.
    This interface represents a definition of an SMT_LIB logic
    This interface is defined and implemented as a marker that the accept method is available and to ensure that subtypes implement the accept method.
    This is the interface to a parser for SMT-LIB.
    The interface for the parser/printer factory
    An exception thrown if parsing is to be aborted.
    This is an interface that supplies information about a range in textual position within a source of characters.
    This interface identifies classes that can have their position set
    An interface for printers to concrete syntax; factories are shared with Parsers in IParser.IFactory.
    This interface represents responses that can be received from SMT-LIB commands.
    Response type for get-assertions, carrying the list of currently asserted formulae.
    Response type for get-assignment, carrying a list of name-Boolean pairs.
    Response type for get-info, carrying a list of attribute key-value pairs.
    The interface for error responses
    The factory interface for creating the standard IResponse singleton and structured instances.
    An interface for simple pairs of objects; used to represent value/assignment response items
    Response type for get-proof.
    Response type for get-unsat-assumptions, carrying the assumptions (terms, e.g.
    Response type for get-unsat-core, carrying the names of the formulae in the unsat core.
    Response type for get-value, carrying a list of expression-value pairs.
    This is the interface to be implemented by any solver adapter; there is a method for each SMT-LIB command.
    Thrown by SMT.Configuration.createSolver(java.lang.String, java.lang.String) when a solver adapter cannot be resolved, constructed, or fails to launch.
    The interface for an SMT-LIB concept of a Sort.
    This interface represents a new Sort symbol designating an abbreviation for a (possibly parameterized) sort expression.
    The interface for a Sort expression that consists of either an arity 0 sort symbol or a positive-arity symbol with the appropriate number of arguments.
    The interface for a datatype declaration (used in declare-datatype and declare-datatypes).
    A super-interface for definitions of new sort ids.
    Represents an erroneous sort definition; by having an actual IDefinition, redundant cascading errors are suppressed.
    The interface for a Sort-creating factory.
    This interface represents a new Sort symbol designating either a new Sort (if the arity is 0) or a new parameterized Sort family (if the arity is greater than 0); each new symbol has a (new) name and a non-negative arity.
    An interface to represent the Sort of a function; this is not something that can be written as a sort expression in SMT-LIB, but it is convenient to be able to represent the sorts of function ids uniformly with the sorts of other ids.
    The interface for a sort parameter, as used in sort abbreviations (including in the defining expression).
    This interface represents sources of characters.
    This interface represents a definition of an SMT-LIB theory
    This is a visitor interface for visitors over IExpr ASTs.
    An Exception class to use if there is a problem during execution of an IVisitor (e.g.
    This class is used as a collection point for all output.
    This is an interface to be implemented by any Object that wants to hear log messages; the Object must register itself by calling Log.addListener.
    Output whose content is not yet known, e.g.
    The configuration object holds the values of all of the current options (e.g.
    Enumeration of the supported SMT-LIB versions, in declaration order from oldest to newest.
    Marker interface for configuration objects; reserved for future extension.
    The capabilities that can be queried; SolverCapabilities.Capability.token is the name used in the properties
    The answer to a query; UNKNOWN means the solver's entry does not record the capability
    This class implements launching, writing to, and reading responses from a launched process (in particular, solver processes).
    Wraps an exception thrown because of a failure in the prover
    Continuously drains one of the process's output streams (stdout or stderr) on a dedicated thread, so that a solver writing a large amount of text to one stream can never be blocked by the other stream's OS pipe buffer filling up while this process is busy reading elsewhere -- reading stdout and stderr sequentially in a single thread cannot make that guarantee.
    The result of SolverResolver.resolve(java.util.Properties, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.util.function.Function<java.lang.String, java.lang.Class<?>>): the adapter class (and its name, for messages), and the executable, or the command array if the properties give one
    This class manages a symbol table used for storing definitions and looking up ids in expressions.
    An object that holds all the information about the defined symbol (or aliased definition).
    An iterator over all of the Symbols in the symbol scope stack from the top-most scope on down.
     
    A class of static utility methods and constants for the SMT-LIB package.
    A checked exception used internally to propagate SMT-LIB errors that carry an IResponse.IError.
  • Classes in org.smtlib used by org.smtlib.command
    Class
    Description
    This interface represents the general class of attribute values; that is, it is the super-interface of any class that may be an attribute value; in the abstract syntax it has no particular structure, though it does include true, false, string literals, numerals, and various pre-defined constants.
    This interface is the generic interface to command classes, providing functionality to type-check the command and to execute it.
    Interface for the SMT-LIB assert command.
    Interface for the SMT-LIB check-sat command.
    Interface for the SMT-LIB check-sat-assuming command.
    Interface for a comment pseudo-command: not part of the SMT-LIB command grammar itself, but modeled as a real, typed ICommand (see issue #115) so that every dispatch path -- execution, typed-visitor traversal, and printing -- treats it uniformly with every other command, rather than falling back on IVisitor's generic visit(ICommand) handling (a reflection-based lookup in Printer's case).
    Interface for the SMT-LIB declare-const command.
    Interface for the SMT-LIB declare-datatype command.
    Interface for the SMT-LIB declare-datatypes command.
    Interface for the SMT-LIB declare-fun command.
    Interface for the SMT-LIB declare-sort command.
    Interface for the SMT-LIB declare-sort-parameter command.
    Interface for the SMT-LIB define-const command.
    Interface for the SMT-LIB define-fun command.
    Interface for the SMT-LIB define-fun-rec command.
    Interface for the SMT-LIB define-funs-rec command.
    Interface for the SMT-LIB define-sort command.
    Interface for the SMT-LIB echo command.
    Interface for the SMT-LIB exit command.
    Interface for the SMT-LIB get-assertions command.
    Interface for the SMT-LIB get-assignment command.
    Interface for the SMT-LIB get-info command.
    Interface for the SMT-LIB get-model command (non-standard extension).
    Interface for the SMT-LIB get-option command.
    Interface for the SMT-LIB get-proof command.
    Interface for the SMT-LIB get-unsat-assumptions command.
    Interface for the SMT-LIB get-unsat-core command.
    Interface for the SMT-LIB get-value command.
    Interface for the SMT-LIB pop command.
    Interface for the SMT-LIB push command.
    Interface for the SMT-LIB reset command.
    Interface for the SMT-LIB reset-assertions command.
    Interface for the SMT-LIB set-info command.
    Interface for the SMT-LIB set-logic command.
    Interface for the SMT-LIB set-option command.
    This interface represents the functionality for any class implementing an SMT-LIB term or formula
    This interface represents an SMT-LIB attribute-value pair; the value may be null (keyword-only attribute).
    This interface represents a declaration of a parameter and its sort
    A function declaration: a name, a parameter list (sorted variables), and a result sort; used in the header list of define-funs-rec.
    This interface represents SMT-LIB attribute and infoflag names.
    This interface represents non-negative integers of arbitrary size.
    Pairs a sort name with its arity; used in declare-datatype and declare-datatypes.
    This interface represents SMT-LIB string literals
    This interface represents SMT-LIB ids; equal ids have equal (using .equals) values of value().
    This interface is defined and implemented as a marker that the accept method is available and to ensure that subtypes implement the accept method.
    An exception thrown if parsing is to be aborted.
    This interface identifies classes that can have their position set
    This interface represents responses that can be received from SMT-LIB commands.
    The interface for error responses
    This is the interface to be implemented by any solver adapter; there is a method for each SMT-LIB command.
    The interface for an SMT-LIB concept of a Sort.
    The interface for a datatype declaration (used in declare-datatype and declare-datatypes).
    The interface for a sort parameter, as used in sort abbreviations (including in the defining expression).
    This is a visitor interface for visitors over IExpr ASTs.
    An Exception class to use if there is a problem during execution of an IVisitor (e.g.
    The configuration object holds the values of all of the current options (e.g.
  • Classes in org.smtlib used by org.smtlib.ext
    Class
    Description
    This interface is the generic interface to command classes, providing functionality to type-check the command and to execute it.
    Interface to be implemented by all objects representing SMT-LIB scripts.
    This interface represents SMT-LIB identifiers (either ids or parameterized ids)
    This interface is defined and implemented as a marker that the accept method is available and to ensure that subtypes implement the accept method.
    An exception thrown if parsing is to be aborted.
    This interface identifies classes that can have their position set
    This interface represents responses that can be received from SMT-LIB commands.
    This is the interface to be implemented by any solver adapter; there is a method for each SMT-LIB command.
    This is a visitor interface for visitors over IExpr ASTs.
    An Exception class to use if there is a problem during execution of an IVisitor (e.g.
  • Classes in org.smtlib used by org.smtlib.impl
    Class
    Description
    This interface represents the general class of attribute values; that is, it is the super-interface of any class that may be an attribute value; in the abstract syntax it has no particular structure, though it does include true, false, string literals, numerals, and various pre-defined constants.
    This interface is the generic interface to command classes, providing functionality to type-check the command and to execute it.
    Interface for the SMT-LIB assert command.
    Interface for the SMT-LIB check-sat command.
    Interface for the SMT-LIB check-sat-assuming command.
    Interface for a comment pseudo-command: not part of the SMT-LIB command grammar itself, but modeled as a real, typed ICommand (see issue #115) so that every dispatch path -- execution, typed-visitor traversal, and printing -- treats it uniformly with every other command, rather than falling back on IVisitor's generic visit(ICommand) handling (a reflection-based lookup in Printer's case).
    Interface for the SMT-LIB declare-const command.
    Interface for the SMT-LIB declare-datatype command.
    Interface for the SMT-LIB declare-datatypes command.
    Interface for the SMT-LIB declare-fun command.
    Interface for the SMT-LIB declare-sort command.
    Interface for the SMT-LIB declare-sort-parameter command.
    Interface for the SMT-LIB define-const command.
    Interface for the SMT-LIB define-fun command.
    Interface for the SMT-LIB define-fun-rec command.
    Interface for the SMT-LIB define-funs-rec command.
    Interface for the SMT-LIB define-sort command.
    Interface for the SMT-LIB echo command.
    Interface for the SMT-LIB exit command.
    This is the interface to be used by a concrete ICommand factory.
    Interface for the SMT-LIB get-assertions command.
    Interface for the SMT-LIB get-assignment command.
    Interface for the SMT-LIB get-info command.
    Interface for the SMT-LIB get-model command (non-standard extension).
    Interface for the SMT-LIB get-option command.
    Interface for the SMT-LIB get-proof command.
    Interface for the SMT-LIB get-unsat-assumptions command.
    Interface for the SMT-LIB get-unsat-core command.
    Interface for the SMT-LIB get-value command.
    Interface for the SMT-LIB pop command.
    Interface for the SMT-LIB push command.
    Interface for the SMT-LIB reset command.
    Interface for the SMT-LIB reset-assertions command.
    Interface to be implemented by all objects representing SMT-LIB scripts.
    Interface for the SMT-LIB set-info command.
    Interface for the SMT-LIB set-logic command.
    Interface for the SMT-LIB set-option command.
    This interface represents the functionality for any class implementing an SMT-LIB term or formula
    This interface represents SMT-LIB identifiers that are sort qualifiers on function ids
    This interface represents an SMT-LIB attribute-value pair; the value may be null (keyword-only attribute).
    This interface represents an SMT-LIB expression with attributes.
    This interface represents SMT-LIB binary literals
    This interface represents a binding of a parameter and an expression
    A constructor declaration within a datatype; pairs a constructor name with its selectors.
    This interface represents non-negative decimal numbers of arbitrary size (i.e.
    This interface represents a declaration of a parameter and its sort
    This interface represents an error, e.g.
    This interface represents an SMT-LIB quantified exists expression
    The interface defining the factory type for producing objects of various subtypes of IExpr; the IPos argument is an optional argument giving information about the textual position of an expression.
    This interface represents SMT-LIB expressions that are a function identifier applied to one or more arguments.
    This interface represents an SMT-LIB quantified forall expression
    A function declaration: a name, a parameter list (sorted variables), and a result sort; used in the header list of define-funs-rec.
    This interface represents SMT-LIB hex literals
    This interface represents SMT-LIB identifiers (either ids or parameterized ids)
    Marker interface for the index types in a parameterized identifier: INumeral and ISymbol, plus IHexLiteral, which the Strings theory's (_ char H) uses, and IBinaryLiteral, which no theory uses but which is parsed so that a solver reports it; each theory decides which kinds it accepts.
    This interface represents SMT-LIB attribute and infoflag names.
    This interface represents an SMT-LIB lambda expression: (lambda (sorted_var+) term).
    This interface represents an SMT-LIB let-expression
    This interface represents all literal (explicit constant) expressions.
    This interface represents an SMT-LIB 2.7 match expression.
    This interface represents one case in a match expression: a pattern and its body.
    This interface represents non-negative integers of arbitrary size.
    This interface represents SMT-LIB parameterized identifiers
    This interface represents a match pattern: either a bare symbol (variable/nullary-constructor) or a constructor applied to zero or more variable symbols.
    This interface represents the value of a :pattern attribute: a list of terms (a multi-pattern), written in the concrete syntax as ( t1 ... tn ).
    This interface represents SMT-LIB identifiers for function ids (either ids or parameterized ids or as-type identifiers)
    A selector declaration within a constructor; pairs a selector name with its result sort.
    Pairs a sort name with its arity; used in declare-datatype and declare-datatypes.
    This interface represents SMT-LIB string literals
    This interface represents SMT-LIB ids; equal ids have equal (using .equals) values of value().
    This interface represents the functionality of an SMT-LIB language - the combination of one or more theories and various restrictions on the permitted expressions.
    This interface represents a definition of an SMT_LIB logic
    This interface is defined and implemented as a marker that the accept method is available and to ensure that subtypes implement the accept method.
    An exception thrown if parsing is to be aborted.
    This is an interface that supplies information about a range in textual position within a source of characters.
    This interface identifies classes that can have their position set
    This interface represents responses that can be received from SMT-LIB commands.
    Response type for get-assertions, carrying the list of currently asserted formulae.
    Response type for get-assignment, carrying a list of name-Boolean pairs.
    Response type for get-info, carrying a list of attribute key-value pairs.
    The interface for error responses
    The factory interface for creating the standard IResponse singleton and structured instances.
    An interface for simple pairs of objects; used to represent value/assignment response items
    Response type for get-proof.
    Response type for get-unsat-assumptions, carrying the assumptions (terms, e.g.
    Response type for get-unsat-core, carrying the names of the formulae in the unsat core.
    Response type for get-value, carrying a list of expression-value pairs.
    This is the interface to be implemented by any solver adapter; there is a method for each SMT-LIB command.
    The interface for an SMT-LIB concept of a Sort.
    This interface represents a new Sort symbol designating an abbreviation for a (possibly parameterized) sort expression.
    The interface for a Sort expression that consists of either an arity 0 sort symbol or a positive-arity symbol with the appropriate number of arguments.
    The interface for a datatype declaration (used in declare-datatype and declare-datatypes).
    A super-interface for definitions of new sort ids.
    Represents an erroneous sort definition; by having an actual IDefinition, redundant cascading errors are suppressed.
    The interface for a Sort-creating factory.
    This interface represents a new Sort symbol designating either a new Sort (if the arity is 0) or a new parameterized Sort family (if the arity is greater than 0); each new symbol has a (new) name and a non-negative arity.
    An interface to represent the Sort of a function; this is not something that can be written as a sort expression in SMT-LIB, but it is convenient to be able to represent the sorts of function ids uniformly with the sorts of other ids.
    The interface for a sort parameter, as used in sort abbreviations (including in the defining expression).
    This interface represents sources of characters.
    This interface represents a definition of an SMT-LIB theory
    This is a visitor interface for visitors over IExpr ASTs.
    An Exception class to use if there is a problem during execution of an IVisitor (e.g.
    The configuration object holds the values of all of the current options (e.g.
  • Classes in org.smtlib used by org.smtlib.logic
    Class
    Description
    This interface represents the functionality for any class implementing an SMT-LIB term or formula
    This interface represents an SMT-LIB attribute-value pair; the value may be null (keyword-only attribute).
    This interface represents SMT-LIB expressions that are a function identifier applied to one or more arguments.
    This interface represents SMT-LIB identifiers (either ids or parameterized ids)
    This interface represents SMT-LIB ids; equal ids have equal (using .equals) values of value().
    This interface represents the functionality of an SMT-LIB language - the combination of one or more theories and various restrictions on the permitted expressions.
    This interface represents a definition of an SMT_LIB logic
    This interface is defined and implemented as a marker that the accept method is available and to ensure that subtypes implement the accept method.
    This is an interface that supplies information about a range in textual position within a source of characters.
    This interface identifies classes that can have their position set
    The interface for an SMT-LIB concept of a Sort.
    The interface for a Sort expression that consists of either an arity 0 sort symbol or a positive-arity symbol with the appropriate number of arguments.
    The interface for a sort parameter, as used in sort abbreviations (including in the defining expression).
    An Exception class to use if there is a problem during execution of an IVisitor (e.g.
    The configuration object holds the values of all of the current options (e.g.
  • Classes in org.smtlib used by org.smtlib.sexpr
    Class
    Description
    This interface represents the general class of attribute values; that is, it is the super-interface of any class that may be an attribute value; in the abstract syntax it has no particular structure, though it does include true, false, string literals, numerals, and various pre-defined constants.
    This interface is the generic interface to command classes, providing functionality to type-check the command and to execute it.
    Interface for the SMT-LIB assert command.
    Interface for the SMT-LIB check-sat command.
    Interface for the SMT-LIB check-sat-assuming command.
    Interface for a comment pseudo-command: not part of the SMT-LIB command grammar itself, but modeled as a real, typed ICommand (see issue #115) so that every dispatch path -- execution, typed-visitor traversal, and printing -- treats it uniformly with every other command, rather than falling back on IVisitor's generic visit(ICommand) handling (a reflection-based lookup in Printer's case).
    Interface for the SMT-LIB declare-const command.
    Interface for the SMT-LIB declare-datatype command.
    Interface for the SMT-LIB declare-datatypes command.
    Interface for the SMT-LIB declare-fun command.
    Interface for the SMT-LIB declare-sort command.
    Interface for the SMT-LIB declare-sort-parameter command.
    Interface for the SMT-LIB define-const command.
    Interface for the SMT-LIB define-fun command.
    Interface for the SMT-LIB define-fun-rec command.
    Interface for the SMT-LIB define-funs-rec command.
    Interface for the SMT-LIB define-sort command.
    Interface for the SMT-LIB echo command.
    Interface for the SMT-LIB exit command.
    Interface for the SMT-LIB get-assertions command.
    Interface for the SMT-LIB get-assignment command.
    Interface for the SMT-LIB get-info command.
    Interface for the SMT-LIB get-model command (non-standard extension).
    Interface for the SMT-LIB get-option command.
    Interface for the SMT-LIB get-proof command.
    Interface for the SMT-LIB get-unsat-assumptions command.
    Interface for the SMT-LIB get-unsat-core command.
    Interface for the SMT-LIB get-value command.
    Interface for the SMT-LIB pop command.
    Interface for the SMT-LIB push command.
    Interface for the SMT-LIB reset command.
    Interface for the SMT-LIB reset-assertions command.
    Interface to be implemented by all objects representing SMT-LIB scripts.
    Interface for the SMT-LIB set-info command.
    Interface for the SMT-LIB set-logic command.
    Interface for the SMT-LIB set-option command.
    This interface represents the functionality for any class implementing an SMT-LIB term or formula
    This interface represents SMT-LIB identifiers that are sort qualifiers on function ids
    This interface represents an SMT-LIB attribute-value pair; the value may be null (keyword-only attribute).
    This interface represents an SMT-LIB expression with attributes.
    This interface represents SMT-LIB binary literals
    This interface represents a binding of a parameter and an expression
    A constructor declaration within a datatype; pairs a constructor name with its selectors.
    This interface represents non-negative decimal numbers of arbitrary size (i.e.
    This interface represents a declaration of a parameter and its sort
    This interface represents an error, e.g.
    This interface represents an SMT-LIB quantified exists expression
    The interface defining the factory type for producing objects of various subtypes of IExpr; the IPos argument is an optional argument giving information about the textual position of an expression.
    This interface represents SMT-LIB expressions that are a function identifier applied to one or more arguments.
    This interface represents an SMT-LIB quantified forall expression
    A function declaration: a name, a parameter list (sorted variables), and a result sort; used in the header list of define-funs-rec.
    This interface represents SMT-LIB hex literals
    This interface represents SMT-LIB identifiers (either ids or parameterized ids)
    This interface represents SMT-LIB attribute and infoflag names.
    This interface represents an SMT-LIB lambda expression: (lambda (sorted_var+) term).
    This interface represents an SMT-LIB let-expression
    This interface represents all literal (explicit constant) expressions.
    This interface represents an SMT-LIB 2.7 match expression.
    This interface represents one case in a match expression: a pattern and its body.
    This interface represents non-negative integers of arbitrary size.
    This interface represents SMT-LIB parameterized identifiers
    This interface represents a match pattern: either a bare symbol (variable/nullary-constructor) or a constructor applied to zero or more variable symbols.
    This interface represents the value of a :pattern attribute: a list of terms (a multi-pattern), written in the concrete syntax as ( t1 ... tn ).
    This interface represents SMT-LIB identifiers for function ids (either ids or parameterized ids or as-type identifiers)
    A selector declaration within a constructor; pairs a selector name with its result sort.
    Pairs a sort name with its arity; used in declare-datatype and declare-datatypes.
    This interface represents SMT-LIB string literals
    This interface represents SMT-LIB ids; equal ids have equal (using .equals) values of value().
    This interface represents a definition of an SMT_LIB logic
    This interface is defined and implemented as a marker that the accept method is available and to ensure that subtypes implement the accept method.
    This is the interface to a parser for SMT-LIB.
    Functional interface for a lambda that parses one element from a Parser.
    The interface for the parser/printer factory
    An exception thrown if parsing is to be aborted.
    This is an interface that supplies information about a range in textual position within a source of characters.
    This interface identifies classes that can have their position set
    An interface for printers to concrete syntax; factories are shared with Parsers in IParser.IFactory.
    This interface represents responses that can be received from SMT-LIB commands.
    Response type for get-assertions, carrying the list of currently asserted formulae.
    Response type for get-assignment, carrying a list of name-Boolean pairs.
    Response type for get-info, carrying a list of attribute key-value pairs.
    The interface for error responses
    An interface for simple pairs of objects; used to represent value/assignment response items
    Response type for get-proof.
    Response type for get-unsat-assumptions, carrying the assumptions (terms, e.g.
    Response type for get-unsat-core, carrying the names of the formulae in the unsat core.
    Response type for get-value, carrying a list of expression-value pairs.
    The interface for an SMT-LIB concept of a Sort.
    This interface represents a new Sort symbol designating an abbreviation for a (possibly parameterized) sort expression.
    The interface for a Sort expression that consists of either an arity 0 sort symbol or a positive-arity symbol with the appropriate number of arguments.
    The interface for a datatype declaration (used in declare-datatype and declare-datatypes).
    This interface represents a new Sort symbol designating either a new Sort (if the arity is 0) or a new parameterized Sort family (if the arity is greater than 0); each new symbol has a (new) name and a non-negative arity.
    An interface to represent the Sort of a function; this is not something that can be written as a sort expression in SMT-LIB, but it is convenient to be able to represent the sorts of function ids uniformly with the sorts of other ids.
    The interface for a sort parameter, as used in sort abbreviations (including in the defining expression).
    This interface represents sources of characters.
    This interface represents a definition of an SMT-LIB theory
    This is a visitor interface for visitors over IExpr ASTs.
    An Exception class to use if there is a problem during execution of an IVisitor (e.g.
    The configuration object holds the values of all of the current options (e.g.
    Enumeration of the supported SMT-LIB versions, in declaration order from oldest to newest.
  • Classes in org.smtlib used by org.smtlib.solvers
    Class
    Description
    This class implements the operations of the org.smtlib.ISolver interface that map directly onto a single translated command sent to the solver process, with the expected response of a fully SMT-LIB compliant solver (a flat success/error/sat/unsat/ unknown/unsupported, or a bare value/attribute-pair for get-option/get-info): the command is translated with AbstractSolver.translate(INode) and sent via AbstractSolver.sendCommand(ICommand).
    The kinds of command that change the assertion stack: each returns a conforming solver to assert mode, where the get- commands about the last check are errors (declare-const is declare-fun, declare-datatypes is declare-datatype, define-funs-rec is define-fun-rec), as does a set-logic that a solver accepts after a check (SMT-LIB makes that an error, but --relax may allow it)
    This interface represents the general class of attribute values; that is, it is the super-interface of any class that may be an attribute value; in the abstract syntax it has no particular structure, though it does include true, false, string literals, numerals, and various pre-defined constants.
    This interface is the generic interface to command classes, providing functionality to type-check the command and to execute it.
    Interface for the SMT-LIB declare-const command.
    Interface for the SMT-LIB declare-datatype command.
    Interface for the SMT-LIB declare-datatypes command.
    Interface for the SMT-LIB declare-fun command.
    Interface for the SMT-LIB declare-sort command.
    Interface for the SMT-LIB declare-sort-parameter command.
    Interface for the SMT-LIB define-const command.
    Interface for the SMT-LIB define-fun command.
    Interface for the SMT-LIB define-fun-rec command.
    Interface for the SMT-LIB define-funs-rec command.
    Interface for the SMT-LIB define-sort command.
    Interface to be implemented by all objects representing SMT-LIB scripts.
    This interface represents the functionality for any class implementing an SMT-LIB term or formula
    This interface represents SMT-LIB identifiers that are sort qualifiers on function ids
    This interface represents an SMT-LIB attribute-value pair; the value may be null (keyword-only attribute).
    This interface represents an SMT-LIB expression with attributes.
    This interface represents SMT-LIB binary literals
    This interface represents a binding of a parameter and an expression
    A constructor declaration within a datatype; pairs a constructor name with its selectors.
    This interface represents non-negative decimal numbers of arbitrary size (i.e.
    This interface represents a declaration of a parameter and its sort
    This interface represents an error, e.g.
    This interface represents an SMT-LIB quantified exists expression
    This interface represents SMT-LIB expressions that are a function identifier applied to one or more arguments.
    This interface represents an SMT-LIB quantified forall expression
    A function declaration: a name, a parameter list (sorted variables), and a result sort; used in the header list of define-funs-rec.
    This interface represents SMT-LIB hex literals
    This interface represents SMT-LIB identifiers (either ids or parameterized ids)
    This interface represents SMT-LIB attribute and infoflag names.
    This interface represents an SMT-LIB lambda expression: (lambda (sorted_var+) term).
    This interface represents an SMT-LIB let-expression
    This interface represents an SMT-LIB 2.7 match expression.
    This interface represents one case in a match expression: a pattern and its body.
    This interface represents non-negative integers of arbitrary size.
    This interface represents SMT-LIB parameterized identifiers
    This interface represents a match pattern: either a bare symbol (variable/nullary-constructor) or a constructor applied to zero or more variable symbols.
    A selector declaration within a constructor; pairs a selector name with its result sort.
    Pairs a sort name with its arity; used in declare-datatype and declare-datatypes.
    This interface represents SMT-LIB string literals
    This interface represents SMT-LIB ids; equal ids have equal (using .equals) values of value().
    This interface represents a definition of an SMT_LIB logic
    This interface is defined and implemented as a marker that the accept method is available and to ensure that subtypes implement the accept method.
    This is an interface that supplies information about a range in textual position within a source of characters.
    An interface for printers to concrete syntax; factories are shared with Parsers in IParser.IFactory.
    This interface represents responses that can be received from SMT-LIB commands.
    Response type for get-assertions, carrying the list of currently asserted formulae.
    Response type for get-assignment, carrying a list of name-Boolean pairs.
    Response type for get-info, carrying a list of attribute key-value pairs.
    The interface for error responses
    Response type for get-proof.
    Response type for get-unsat-assumptions, carrying the assumptions (terms, e.g.
    Response type for get-unsat-core, carrying the names of the formulae in the unsat core.
    Response type for get-value, carrying a list of expression-value pairs.
    This is the interface to be implemented by any solver adapter; there is a method for each SMT-LIB command.
    This interface represents a new Sort symbol designating an abbreviation for a (possibly parameterized) sort expression.
    The interface for a Sort expression that consists of either an arity 0 sort symbol or a positive-arity symbol with the appropriate number of arguments.
    The interface for a datatype declaration (used in declare-datatype and declare-datatypes).
    This interface represents a new Sort symbol designating either a new Sort (if the arity is 0) or a new parameterized Sort family (if the arity is greater than 0); each new symbol has a (new) name and a non-negative arity.
    An interface to represent the Sort of a function; this is not something that can be written as a sort expression in SMT-LIB, but it is convenient to be able to represent the sorts of function ids uniformly with the sorts of other ids.
    The interface for a sort parameter, as used in sort abbreviations (including in the defining expression).
    This interface represents a definition of an SMT-LIB theory
    This is a visitor interface for visitors over IExpr ASTs.
    An Exception class to use if there is a problem during execution of an IVisitor (e.g.
    The configuration object holds the values of all of the current options (e.g.
    This class manages a symbol table used for storing definitions and looking up ids in expressions.