|
CBMC
|
Decision procedure interface for various SMT 2.x solvers. More...
#include <smt2_dec.h>
Inheritance diagram for smt2_dect:
Collaboration diagram for smt2_dect:Public Member Functions | |
| smt2_dect (const namespacet &_ns, const std::string &_benchmark, const std::string &_notes, const std::string &_logic, solvert _solver, message_handlert &_message_handler) | |
| std::string | decision_procedure_text () const override |
| Return a textual description of the decision procedure. | |
Public Member Functions inherited from smt2_convt | |
| smt2_convt (const namespacet &_ns, const std::string &_benchmark, const std::string &_notes, const std::string &_logic, solvert _solver, std::ostream &_out) | |
| ~smt2_convt () override=default | |
| exprt | handle (const exprt &expr) override |
| Generate a handle, which is an expression that has the same value as the argument in any model that is generated; this offers an efficient way to refer to the expression in subsequent calls to get or set_to. | |
| void | set_to (const exprt &expr, bool value) override |
For a Boolean expression expr, add the constraint 'expr' if value is true, otherwise add 'not expr'. | |
| exprt | get (const exprt &expr) const override |
Return expr with variables replaced by values from satisfying assignment if available. | |
| void | print_assignment (std::ostream &out) const override |
Print satisfying assignment to out. | |
| void | push () override |
| Unimplemented. | |
| void | push (const std::vector< exprt > &_assumptions) override |
| Currently, only implements a single stack element (no nested contexts) | |
| void | pop () override |
| Currently, only implements a single stack element (no nested contexts) | |
| std::size_t | get_number_of_solver_calls () const override |
| Return the number of incremental solver calls. | |
| void | set_converter (irep_idt id, std::function< void(const exprt &)> converter) |
Public Member Functions inherited from stack_decision_proceduret | |
| virtual | ~stack_decision_proceduret ()=default |
Public Member Functions inherited from decision_proceduret | |
| void | set_to_true (const exprt &) |
For a Boolean expression expr, add the constraint 'expr'. | |
| void | set_to_false (const exprt &) |
For a Boolean expression expr, add the constraint 'not expr'. | |
| resultt | operator() () |
| Run the decision procedure to solve the problem This corresponds to SMT-LIB's check-sat. | |
| resultt | operator() (const exprt &assumption) |
| Run the decision procedure to solve the problem under the given assumption. | |
| virtual | ~decision_proceduret () |
Additional Inherited Members | |
Public Types inherited from smt2_convt | |
| enum class | solvert { GENERIC , BITWUZLA , BOOLECTOR , CPROVER_SMT2 , CVC3 , CVC4 , CVC5 , MATHSAT , YICES , Z3 } |
Public Types inherited from decision_proceduret | |
| enum class | resultt { D_SATISFIABLE , D_UNSATISFIABLE , D_ERROR } |
| Result of running the decision procedure. More... | |
Static Public Member Functions inherited from smt2_convt | |
| static std::string | convert_identifier (const irep_idt &identifier) |
Public Attributes inherited from smt2_convt | |
| bool | use_FPA_theory |
| bool | use_array_of_bool |
| bool | use_as_const |
| bool | use_check_sat_assuming |
| bool | use_datatypes |
| bool | use_lambda_for_array |
| bool | emit_set_logic |
Protected Types inherited from smt2_convt | |
| enum class | wheret { BEGIN , END } |
| using | converterst = std::unordered_map< irep_idt, std::function< void(const exprt &)>, irep_id_hash > |
| typedef std::unordered_map< irep_idt, identifiert > | identifier_mapt |
| typedef std::map< typet, std::string > | datatype_mapt |
| typedef std::map< exprt, irep_idt > | defined_expressionst |
| typedef std::set< std::string > | smt2_identifierst |
| enum class | solvert { GENERIC , BITWUZLA , BOOLECTOR , CPROVER_SMT2 , CVC3 , CVC4 , CVC5 , MATHSAT , YICES , Z3 } |
Protected Types inherited from decision_proceduret | |
| enum class | resultt { D_SATISFIABLE , D_UNSATISFIABLE , D_ERROR } |
| Result of running the decision procedure. More... | |
Static Protected Member Functions inherited from smt2_convt | |
| static std::string | convert_identifier (const irep_idt &identifier) |
Decision procedure interface for various SMT 2.x solvers.
Definition at line 25 of file smt2_dec.h.
|
inline |
Definition at line 28 of file smt2_dec.h.
|
overrideprotectedvirtual |
Implementation of the decision procedure.
Reimplemented from smt2_convt.
Definition at line 38 of file smt2_dec.cpp.
|
overridevirtual |
Return a textual description of the decision procedure.
Reimplemented from smt2_convt.
Definition at line 20 of file smt2_dec.cpp.
|
protected |
Definition at line 162 of file smt2_dec.cpp.
|
protected |
Everything except the footer is cached, so that output files can be rewritten with varying footers.
Definition at line 48 of file smt2_dec.h.
|
protected |
Definition at line 43 of file smt2_dec.h.