Package org.smtlib.solvers
Class Solver_z3_4_3_2
java.lang.Object
org.smtlib.AbstractSolver
org.smtlib.solvers.Solver_z3_4_3
org.smtlib.solvers.Solver_z3_4_3_2
- All Implemented Interfaces:
ISolver
This is a special handler for Z3 4.3.2, as opposed to other revisions of Z3 4.3.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.smtlib.solvers.Solver_z3_4_3
Solver_z3_4_3.TranslatorNested classes/interfaces inherited from class org.smtlib.AbstractSolver
AbstractSolver.Pending, AbstractSolver.Shape, AbstractSolver.StackChangeNested classes/interfaces inherited from interface org.smtlib.ISolver
ISolver.CreationException -
Field Summary
Fields inherited from class org.smtlib.solvers.Solver_z3_4_3
cmds, cmds_mac, cmds_unix, cmds_win, logicSet, responseParserFields inherited from class org.smtlib.AbstractSolver
checkSatStatus, END_WAIT_MILLIS, endedByTimeLimit, isMac, isWindows, linesOffset, options, printSuccess, printSuccessResponse, smtConfig, SOLVER_EXITED, solverProcess -
Constructor Summary
ConstructorsConstructorDescriptionSolver_z3_4_3_2(SMT.Configuration smtConfig, String executable) Solver_z3_4_3_2(SMT.Configuration smtConfig, String[] command) Launches the given command as is (a .command property, #147), without adding the flags the executable form adds -
Method Summary
Modifier and TypeMethodDescriptionprotected Stringname()The solver's display name for diagnostic logging.protected StringsendScriptText(boolean listen, String... text) Corrects a non-conformance of z3 4.3.2: run with smtlib2_compliant=true, as this adapter runs it, a check-sat of a problem with quantifiers, before any push, makes z3 parse its built-in pattern database (111 commands) with print-success on, so a "success" line per command precedes the result.protected IResponseset_option_impl(IExpr.IKeyword key, IAttributeValue value) Corrects a non-conformance of z3 4.3.2: set-option of an option it does not know answers an error,(error "line L column C: unknown parameter 'foo'\nLegal parameters are:\n ..."), which names the option and then lists every parameter of its module, one per line.Methods inherited from class org.smtlib.solvers.Solver_z3_4_3
assertExpr, check_sat, check_sat_assuming, declare_const, declare_fun, declare_sort, define_fun, define_sort, echo, exit, forceExit, get_assertions, get_assignment, get_info, get_model, get_option, get_proof, get_unsat_core, get_value, isTimeLimitResponse, lineNumberPatterns, parseResponse, pipelines, pop, push, reset, reset_assertions, sendCommand, sendCommand, set_logic, start, translate, unsatCoreElementsMethods inherited from class org.smtlib.AbstractSolver
checkImmediateExit, checkPrintSuccess, checkSatStatus, checkShape, checkStatus, comment, correctResponse, declare_datatype, declare_datatypes, declare_sort_parameter, define_const, define_fun_rec, define_funs_rec, earlierSourceLine, errorStopsSolver, execute, executePipelined, exitedResponse, finishPipelined, get_unsat_assumptions, hasPending, inSatMode, interrupt, inUnsatMode, isFlatResponse, logSolverDiagnostics, modelResponse, nextSolverLine, normalizeForTesting, outOfStep, proofResponse, readPipelined, recordChange, reportsEarlierLines, reportSeedIgnored, requireNoChangeSinceCheck, requireOptionEnabled, requireSatOrUnknown, requireUnsat, responseEnd, selfReportsImmediateExit, sendChange, sendExitCommand, sendFailure, sendFailure, sendPipelined, sendSeed, set_info, set_option, setSourceLine, shapeOf, smt, solverName, solverPrintsSuccess, successOrEmpty, timeLimitResponse, timeLimitResponseAfterExit, unsatAssumptionsElements, withSourceLinesMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.smtlib.ISolver
checkSatStatus, comment, declare_datatype, declare_datatypes, declare_sort_parameter, define_const, define_fun_rec, define_funs_rec, execute, get_unsat_assumptions, set_info, set_option, setSourceLine, smt, solverName
-
Constructor Details
-
Solver_z3_4_3_2
-
Solver_z3_4_3_2
Launches the given command as is (a .command property, #147), without adding the flags the executable form adds
-
-
Method Details
-
name
Description copied from class:Solver_z3_4_3The solver's display name for diagnostic logging. A real, overridable method rather than a field -- a field here would be hidden, not overridden, by a subclass's own same-named field (Java fields aren't polymorphic), silently binding start()'s reference to this class's value regardless of which subclass is actually running. See issue #51.- Overrides:
namein classSolver_z3_4_3
-
set_option_impl
Corrects a non-conformance of z3 4.3.2: set-option of an option it does not know answers an error,(error "line L column C: unknown parameter 'foo'\nLegal parameters are:\n ..."), which names the option and then lists every parameter of its module, one per line. SMT-LIB answersunsupportedthere, as z3 4.3.1 does. The error is parsable, but the z3-4.3 adapters aim to be as close to conforming as they can, so it is reported asunsupported. Only errors matching(?s)line \d+ column \d+: unknown parameter .*are converted; any other set-option error (a bad value, for example) passes through.- Overrides:
set_option_implin classSolver_z3_4_3
-
sendScriptText
Corrects a non-conformance of z3 4.3.2: run with smtlib2_compliant=true, as this adapter runs it, a check-sat of a problem with quantifiers, before any push, makes z3 parse its built-in pattern database (111 commands) with print-success on, so a "success" line per command precedes the result. Those lines are read and dropped here. They all come before the result, so none is left for a later command. (Not passing smtlib2_compliant=true would avoid them, but changes many other responses away from SMT-LIB.)- Overrides:
sendScriptTextin classAbstractSolver- Throws:
IOException
-