Uses of Interface
org.smtlib.ISolver
Packages that use ISolver
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 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 ISolver in org.smtlib
Classes in org.smtlib that implement ISolverModifier and TypeClassDescriptionclassThis 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 withAbstractSolver.translate(INode)and sent viaAbstractSolver.sendCommand(ICommand).Fields in org.smtlib declared as ISolverMethods in org.smtlib that return ISolverModifier and TypeMethodDescriptionSMT.Configuration.createSolver(String solvername, String executable) Resolves the given solver name and executable to a concreteISolveradapter instance, applying the same name/executable/adapter resolution jsmtlib.properties supports asSMT.startSolver(org.smtlib.SMT.Configuration, java.lang.String, java.lang.String)-- platform-specific.adapter/.execoverrides checked before their bare counterparts, theSolver_<name>naming convention, the z3-specificSolver_z3_recentfallback for an unrecognized z3 variant, the genericSolver_smtfallback, the"test"pseudo-solver special case, and%exec%command-array placeholder substitution -- but, unlikestartSolver, this method does not start the solver and does not do any CLI-flavorederror()/usage()reporting: any resolution or construction failure is reported as a thrownISolver.CreationExceptioninstead, leaving it to the caller to start the returned solver (viastart()) and decide how to report a creation failure.SMT.startSolver(SMT.Configuration smtConfig, String solvername, String executable) Starts the solver with the given name and executable, preset according to the given configuration.Methods in org.smtlib with parameters of type ISolver -
Uses of ISolver in org.smtlib.command
Methods in org.smtlib.command with parameters of type ISolverModifier and TypeMethodDescription -
Uses of ISolver in org.smtlib.ext
Methods in org.smtlib.ext with parameters of type ISolver -
Uses of ISolver in org.smtlib.impl
Methods in org.smtlib.impl with parameters of type ISolver -
Uses of ISolver in org.smtlib.solvers
Classes in org.smtlib.solvers that implement ISolverModifier and TypeClassDescriptionclassThe adapter for Alt-Ergo (developed against 2.6.3 on Linux), run asalt-ergo --input smtlib2 --output smtlib2, reading the script from standard input.classThis class is an adapter for Bitwuzla (bit-vectors, floating-point, arrays and uninterpreted functions -- no arithmetic logics, no datatypes).classThis class is an adapter for cvc5, on the assumption that it is (or should be) a fully SMT-LIB compliant solver: it is a concrete, silent inheritor ofAbstractSolver— only the startup command line (cvc5 needs--incrementalto accept push/pop at all, and--quietto suppress informational stderr chatter that would otherwise foolSolverProcess's stdout/stderr-preference heuristic) andSolver_cvc5.start()(process lifecycle) are overridden.classThe adapter that drives the Simplify solver.classThis class is an adapter that takes the SMT-LIB ASTs and translates them into SMT commands over a solver process speaking plain SMT-LIB, for a solver assumed to be fully SMT-LIB compliant.classThis class is an adapter for SMTInterpol (a Java SMT solver launched asjava -jar smtinterpol-VERSION.jar, not a native executable): it is a concrete, silent inheritor ofAbstractSolver-- the base launch command is declared in jsmtlib.properties viaorg.smtlib.solver_smtinterpol-2.5.command(see SMT.startSolver's%exec%placeholder substitution), so only the conditional timeout flag andSolver_smtinterpol.start()/AbstractSolver.exit()(process lifecycle) are handled here, besides the get- command checks below.classThis class is a Solver implementation that simply type-checks formulae and checks that commands are used correctly; it does not do any proving.classThis class is an adapter that takes the SMT-LIB ASTs and translates them into yices2 commandsclassyices2 2.6.5: by default it answers get-model in yices's own model format, not SMT-LIB's; with --smt2-model-format it answers(model (define-fun ...) ...), whose wrapper AbstractSolver#modelResponse removes.classThis class is an adapter that takes the SMT-LIB ASTs and translates them into Z3 commandsclassThis is a special handler for Z3 4.3.2, as opposed to other revisions of Z3 4.3.classz3 4.5.0: as recent z3, except that it writes echo's text unquoted even with SMTLIB2_COMPLIANT (4.6 and later quote it), so where it ends cannot be found (#136), the response to echo is its argument; and it rejects every check-sat-assuming (see translate)classThis class is an adapter for recent z3 versions (empirically verified against 4.8.12 and 4.10.2), on the assumption that they are (or should be) fully SMT-LIB compliant: it is a concrete, silent inheritor ofAbstractSolver-- only the startup command line andSolver_z3_recent.start()/AbstractSolver.exit()(process lifecycle) are overridden.