Uses of Interface
org.smtlib.INode
Packages that use INode
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.
-
Uses of INode in org.smtlib
Subinterfaces of INode in org.smtlibModifier and TypeInterfaceDescriptioninterfaceThis 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.interfaceThis interface is the generic interface to command classes, providing functionality to type-check the command and to execute it.static interfaceInterface for the SMT-LIBassertcommand.static interfaceInterface for the SMT-LIBcheck-satcommand.static interfaceInterface for the SMT-LIBcheck-sat-assumingcommand.static interfaceInterface for a comment pseudo-command: not part of the SMT-LIB command grammar itself, but modeled as a real, typedICommand(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 onIVisitor's genericvisit(ICommand)handling (a reflection-based lookup inPrinter's case).static interfaceInterface for the SMT-LIBdeclare-constcommand.static interfaceInterface for the SMT-LIBdeclare-datatypecommand.static interfaceInterface for the SMT-LIBdeclare-datatypescommand.static interfaceInterface for the SMT-LIBdeclare-funcommand.static interfaceInterface for the SMT-LIBdeclare-sortcommand.static interfaceInterface for the SMT-LIBdeclare-sort-parametercommand.static interfaceInterface for the SMT-LIBdefine-constcommand.static interfaceInterface for the SMT-LIBdefine-funcommand.static interfaceInterface for the SMT-LIBdefine-fun-reccommand.static interfaceInterface for the SMT-LIBdefine-funs-reccommand.static interfaceInterface for the SMT-LIBdefine-sortcommand.static interfaceInterface for the SMT-LIBechocommand.static interfaceInterface for the SMT-LIBexitcommand.static interfaceInterface for the SMT-LIBget-assertionscommand.static interfaceInterface for the SMT-LIBget-assignmentcommand.static interfaceInterface for the SMT-LIBget-infocommand.static interfaceInterface for the SMT-LIBget-modelcommand (non-standard extension).static interfaceInterface for the SMT-LIBget-optioncommand.static interfaceInterface for the SMT-LIBget-proofcommand.static interfaceInterface for the SMT-LIBget-unsat-assumptionscommand.static interfaceInterface for the SMT-LIBget-unsat-corecommand.static interfaceInterface for the SMT-LIBget-valuecommand.static interfaceInterface for the SMT-LIBpopcommand.static interfaceInterface for the SMT-LIBpushcommand.static interfaceInterface for the SMT-LIBresetcommand.static interfaceInterface for the SMT-LIBreset-assertionscommand.static interfaceInterface to be implemented by all objects representing SMT-LIB scripts.static interfaceInterface for the SMT-LIBset-infocommand.static interfaceInterface for the SMT-LIBset-logiccommand.static interfaceInterface for the SMT-LIBset-optioncommand.interfaceThis interface represents the functionality for any class implementing an SMT-LIB term or formulastatic interfaceThis interface represents SMT-LIB identifiers that are sort qualifiers on function idsstatic interfaceIExpr.IAttribute<TT extends IAttributeValue>This interface represents an SMT-LIB attribute-value pair; the value may be null (keyword-only attribute).static interfaceThis interface represents an SMT-LIB expression with attributes.static interfaceThis interface represents SMT-LIB binary literalsstatic interfaceThis interface represents a binding of a parameter and an expressionstatic interfaceA constructor declaration within a datatype; pairs a constructor name with its selectors.static interfaceThis interface represents non-negative decimal numbers of arbitrary size (i.e.static interfaceThis interface represents a declaration of a parameter and its sortstatic interfaceThis interface represents an error, e.g.static interfaceThis interface represents an SMT-LIB quantified exists expressionstatic interfaceThis interface represents SMT-LIB expressions that are a function identifier applied to one or more arguments.static interfaceThis interface represents an SMT-LIB quantified forall expressionstatic interfaceA function declaration: a name, a parameter list (sorted variables), and a result sort; used in the header list of define-funs-rec.static interfaceThis interface represents SMT-LIB hex literalsstatic interfaceThis interface represents SMT-LIB identifiers (either ids or parameterized ids)static interfaceMarker 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.static interfaceThis interface represents SMT-LIB attribute and infoflag names.static interfaceThis interface represents an SMT-LIB lambda expression:(lambda (sorted_var+) term).static interfaceThis interface represents an SMT-LIB let-expressionstatic interfaceThis interface represents all literal (explicit constant) expressions.static interfaceThis interface represents an SMT-LIB 2.7 match expression.static interfaceThis interface represents one case in a match expression: a pattern and its body.static interfaceThis interface represents non-negative integers of arbitrary size.static interfaceThis interface represents SMT-LIB parameterized identifiersstatic interfaceThis interface represents a match pattern: either a bare symbol (variable/nullary-constructor) or a constructor applied to zero or more variable symbols.static interfaceThis interface represents the value of a:patternattribute: a list of terms (a multi-pattern), written in the concrete syntax as( t1 ... tn ).static interfaceThis interface represents SMT-LIB identifiers for function ids (either ids or parameterized ids or as-type identifiers)static interfaceA selector declaration within a constructor; pairs a selector name with its result sort.static interfacePairs a sort name with its arity; used in declare-datatype and declare-datatypes.static interfaceThis interface represents SMT-LIB string literalsstatic interfaceThis interface represents SMT-LIB ids; equal ids have equal (using .equals) values of value().interfaceThis interface represents a definition of an SMT_LIB logicinterfaceThis interface represents responses that can be received from SMT-LIB commands.static interfaceResponse type for get-assertions, carrying the list of currently asserted formulae.static interfaceResponse type for get-assignment, carrying a list of name-Boolean pairs.static interfaceResponse type for get-info, carrying a list of attribute key-value pairs.static interfaceThe interface for error responsesstatic interfaceResponse type for get-proof.static interfaceResponse type for get-unsat-assumptions, carrying the assumptions (terms, e.g.static interfaceResponse type for get-unsat-core, carrying the names of the formulae in the unsat core.static interfaceResponse type for get-value, carrying a list of expression-value pairs.interfaceThe interface for an SMT-LIB concept of a Sort.static interfaceThis interface represents a new Sort symbol designating an abbreviation for a (possibly parameterized) sort expression.static interfaceThe 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.static interfaceThe interface for a datatype declaration (used in declare-datatype and declare-datatypes).static interfaceA super-interface for definitions of new sort ids.static interfaceRepresents an erroneous sort definition; by having an actual IDefinition, redundant cascading errors are suppressed.static interfaceThis 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.static interfaceAn 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.static interfaceThe interface for a sort parameter, as used in sort abbreviations (including in the defining expression).interfaceThis interface represents a definition of an SMT-LIB theoryClasses in org.smtlib that implement INodeModifier and TypeClassDescriptionstatic final classThe response returned for a command sent byAbstractSolver.sendPipelined(ICommand)whose actual response has not yet been read;AbstractSolver.Pending.isReady()tells when it has (seeAbstractSolver.readPipelined(boolean)), andAbstractSolver.Pending.response()then gives it.Methods in org.smtlib with type parameters of type INodeModifier and TypeMethodDescription<T extends INode>
voidIPrinter.print(T expr) Prints the argument to the receiverIPrinter.toString(T expr) Returns the argument as a String using a Printer of the same type as the receiver, but does not modify the receiver.Methods in org.smtlib with parameters of type INode -
Uses of INode in org.smtlib.command
Classes in org.smtlib.command that implement INodeModifier and TypeClassDescriptionclassImplements the assert commandclassImplements the check-sat commandclassImplements the check-sat-assuming commandclassA synthetic pseudo-command representing a comment that appeared immediately before a real command in a script -- not part of the SMT-LIB command grammar itself, but modeled as a real, typedICommand.Icomment(see issue #115) rather than a genericICommand, so execution, typed-visitor traversal, and printing all dispatch to it the same way every other command does, with no reflection-based or generic-fallback special case.classImplements the declare-const command (syntactic sugar for declare-fun with no argument sorts)classImplements the declare-datatype commandclassImplements the declare-datatypes commandclassImplements the declare-fun commandclassImplements the declare-sort commandclassImplements the declare-sort-parameter commandclassImplements the define-const command: syntactic sugar for define-fun with no parametersclassImplements the define-fun commandclassImplements the define-fun-rec command (recursive function definition); syntactically identical to define-fun (seeC_define_fun), differing only in the dispatch target -- shares that class's fields, accessors, and constructor.classImplements the define-funs-rec commandclassImplements the define-sort commandclassImplements the echo commandclassImplements the exit commandclassImplements the get-assertions commandclassImplements the get-assignment commandclassImplements the get-info command.classImplements the get-model commandclassImplements the get-option commandclassImplements the get-proof commandclassImplements the get-unsat-assumptions commandclassImplements the get-unsat-core commandclassImplements the get-value commandclassImplements the pop commandclassImplements the push commandclassImplements the reset commandclassImplements the reset-assertions commandclassImplements the set-info commandclassImplements the set-logic command.classImplements the set-option command -
Uses of INode in org.smtlib.ext
Subinterfaces of INode in org.smtlib.extModifier and TypeInterfaceDescriptioninterfaceInterface for the SMT-LIBexeccommand (non-standard extension).interfaceInterface for the SMT-LIBwhatcommand (non-standard extension).Classes in org.smtlib.ext that implement INode -
Uses of INode in org.smtlib.impl
Classes in org.smtlib.impl that implement INodeModifier and TypeClassDescriptionclassThis abstract class is the base class for all commands within this implementation.static classA Printable that also implements IExpr, additionally holding the sort computed for the expression by the type checker (null if not yet, or never, computed).static classA Posable that also implements INode, with toString() delegating to Printer.static classImplements the IResponse.IAssertionsResponse interfacestatic classImplements the IResponse.IAssignmentResponse interfacestatic classImplements the IResponse.IError interfacestatic classImplements the IResponse.IProofResponse interfacestatic classImplementation of IAttributeList: a list of attributes returned by get-info.static classImplements the IResponse.IUnsatAssumptionsResponse interfacestatic classImplements the IResponse.IUnsatCoreResponse interfacestatic classImplements the IResponse.IValueResponse interfaceclassThis class implements the IScript interface, representing SMT-LIB command scriptsclassThis class defines a number of subclasses that implement the SMT-LIB abstract AST; they are used by commands and expressions.static classThis class represents an SMT as-identifier ASTstatic classSMTExpr.Attribute<TT extends IAttributeValue>Represents an SMT-LIB attribute: a keyword optionally paired with a value.static classRepresents an SMT-LIB attributed expression ((! expr attrs...)).static classRepresents an SMT-LIB binary literal (e.g.static classRepresents a let-binding: a symbol bound to an expression.static classRepresents a constructor declaration within a datatype, consisting of a name and a list of selectors.static classRepresents a datatype body: a list of constructors and (for parametric forms) a list of sort parameter symbols.static classThis class represents an SMT Decimal literal expression or syntax tokenstatic classRepresents a sorted variable declaration (parameter name and its sort), used in forall/exists/define-fun.static classRepresents an expression-level error node inserted during parsing to allow error recovery.static classRepresents an SMT-LIB existential quantifier expression.static classRepresents a function-application expression: a qualified identifier applied to a list of argument expressions.static classRepresents an SMT-LIB universal quantifier expression.static classRepresents a function declaration header (name, sorted parameters, result sort), used in define-funs-rec.static classRepresents an SMT-LIB hex literal (e.g.static classThis class represents an SMT Keyword syntax tokenstatic classRepresents an SMT-LIB lambda expression (SMT-LIB 2.7ff, HO-Core theory).static classRepresents an SMT-LIB let expression: a list of bindings and a body expression.static classAbstract base class for all literal value AST nodes; holds the typed value and provides a shared implementation.static classstatic classRepresents an SMT-LIB 2.7 match expression: an expression matched against a list of cases.static classRepresents a single case in a match expression: a pattern and its result body.static classThis class represents an SMT Numeral expression or syntax tokenstatic classThis class represents an SMT parameterized-identifier AST (e.g.static classRepresents a match pattern: a constructor name applied to zero or more variable symbols.static classRepresents the value of a:patternattribute: a list of trigger terms.static classRepresents a selector declaration within a datatype constructor.static classRepresents a sort declaration (symbol and arity) used in declare-datatype and declare-datatypes.static classThis class represents an SMT String literal expression or syntax tokenstatic classThis class represents an SMT Symbolstatic classclassThis class implements the abstract ISort interfacestatic classImplements a Sort abbreviation (parameterized definition, possibly with no parameters)static classRepresents a sort expression consisting of a sort symbol or sort abbreviation symbol applied to a corresponding number of sort argumentsstatic classA placeholder sort definition used when a sort declaration is ill-formed, to suppress cascading errors.static classRepresents a new sort symbol, with a given identifier and aritystatic classRepresents the class of the sort of a function symbol.static classRepresents a Sort parameter, such as in either the parameter list or the expression of a Sort abbreviation -
Uses of INode in org.smtlib.logic
Classes in org.smtlib.logic that implement INodeModifier and TypeClassDescriptionclassclassclassclassclassCommon base for the difference logics QF_IDL and QF_RDL.classclassCommon base for this package's per-logic syntactic-restriction classes (QF_IDL, LRA, QF_UF, etc).classThis logic does not allow uninterpreted functions or nonlinear arithmetic termsclassThis logic does not allow quantifiers or uninterpreted functionsclassThis logic does not allow quantifiers; all array terms have sort (Array (_ BitVec i) (_ BitVec j))classclassclassclassclassNot an official SMT-LIB logic -- see QF_FP.smt2's own :notes: a jSMTLIB-invented convenience logic for exercising the FloatingPoint theory in this project's own test suite without needing the broad ALL logic.classQF_IDL atoms (QF_IDL.smt2): (op x y), (op (- x y) n) and (op (- x y) (- n)), with x, y free constants of sort Int and n a numeral.classclassclassclassclassQF_RDL atoms (QF_RDL.smt2): (op x y), (op (- x y) c), (op (- (+ x ...classclassQuantifier-free, with uninterpreted functions and sorts permitted -- identical restrictions to QF_UF, all inherited from it (the bit-vector vs.classclassclassclassclassclass -
Uses of INode in org.smtlib.sexpr
Subinterfaces of INode in org.smtlib.sexprModifier and TypeInterfaceDescriptioninterfaceThis interface represents S-expressions as used in SMT-LIB; they are used as values for attributes in the standard concrete syntax.static interfaceRepresents a sequence of S-expressionsstatic interfaceRepresents a single S-expression tokenClasses in org.smtlib.sexpr that implement INodeModifier and TypeClassDescriptionclassThis is the root class for S-expressions in the concrete syntaxstatic classThe class corresponding to sequences of S-expressionsstatic classSexpr.Token<T>Represents a single S-expression token with intrinsic type TMethods in org.smtlib.sexpr with type parameters of type INodeModifier and TypeMethodDescription<T extends INode>
voidPrinter.print(T expr) Prints the argument to the receiverPrinter.toString(T expr) Returns the argument as a String using a Printer of the same type as the receiver, but does not modify the receiver.static <T extends INode>
voidPrinter.WithLines.write(SMT.Configuration smtConfig, PrintStream w, T e) Writes the given expression to the given stream, following the given Configuration's rules.static <T extends INode>
voidPrinter.WithLines.write(SMT.Configuration smtConfig, Writer w, T e) Writes the given expression to the given writer, following the given Configuration's rules.static <T extends INode>
voidPrinter.write(SMT.Configuration smtConfig, PrintStream w, T e) Writes the given expression to the given stream, following the given Configuration's rules.static <T extends INode>
voidPrinter.write(SMT.Configuration smtConfig, Writer w, T e) Writes the given expression to the given writer, following the given Configuration's rules.Printer.write(SMT.Configuration smtConfig, T e) Writes the given expression and outputs as a String, following the given Configuration's rules (e.g. -
Uses of INode in org.smtlib.solvers
Methods in org.smtlib.solvers with type parameters of type INodeModifier and TypeMethodDescriptionPrinter.toString(T expr) static <T extends INode>
voidPrinter.write(SMT.Configuration smtConfig, PrintStream w, T e) Writes the given expression to the given stream, following the given Configuration's rules.static <T extends INode>
voidPrinter.write(SMT.Configuration smtConfig, Writer w, T e) Writes the given expression to the given writer, following the given Configuration's rules.Printer.write(SMT.Configuration smtConfig, T e) Writes the given expression and outputs as a String, following the given Configuration's rules.Methods in org.smtlib.solvers with parameters of type INodeModifier and TypeMethodDescriptionprotected StringTranslates an S-expression into SMT syntax; this solver uses the standard S-expression concrete syntax except for a Bool-quantifier workaround (seePrinter).protected StringTranslates an S-expression into Z3 syntaxprotected Stringz3 4.5 rejects every check-sat-assuming ("invalid check-sat-assuming command, '(', expected", a parser bug), so it is sent as z3's legacy (check-sat a1 ...