CBMC
|
#include <external_sat.h>
Protected Member Functions | |
resultt | do_prop_solve (const bvt &assumptions) override |
void | write_cnf_file (std::string, const bvt &) |
std::string | execute_solver (std::string) |
resultt | parse_result (std::string) |
![]() | |
void | gate_and (literalt a, literalt b, literalt o) |
Tseitin encoding of conjunction of two literals. | |
void | gate_or (literalt a, literalt b, literalt o) |
Tseitin encoding of disjunction of two literals. | |
void | gate_xor (literalt a, literalt b, literalt o) |
Tseitin encoding of XOR of two literals. | |
void | gate_nand (literalt a, literalt b, literalt o) |
Tseitin encoding of NAND of two literals. | |
void | gate_nor (literalt a, literalt b, literalt o) |
Tseitin encoding of NOR of two literals. | |
void | gate_equal (literalt a, literalt b, literalt o) |
Tseitin encoding of equality between two literals. | |
void | gate_implies (literalt a, literalt b, literalt o) |
Tseitin encoding of implication between two literals. | |
bool | process_clause (const bvt &bv, bvt &dest) const |
filter 'true' from clause, eliminate duplicates, recognise trivially satisfied clauses | |
Protected Attributes | |
std::string | solver_cmd |
![]() | |
assignmentt | assignment |
![]() | |
clausest | clauses |
![]() | |
size_t | _no_variables |
![]() | |
bvt | lcnf_bv |
messaget | log |
std::size_t | number_of_solver_calls = 0 |
Additional Inherited Members | |
![]() | |
typedef std::vector< tvt > | assignmentt |
![]() | |
typedef std::list< bvt > | clausest |
![]() | |
enum class | resultt { P_SATISFIABLE , P_UNSATISFIABLE , P_ERROR } |
![]() | |
static size_t | hash_clause (const bvt &bv) |
![]() | |
static bvt | eliminate_duplicates (const bvt &) |
eliminate duplicates from given vector of literals | |
static bool | is_all (const bvt &bv, literalt l) |
Definition at line 10 of file external_sat.h.
|
explicit |
Definition at line 19 of file external_sat.cpp.
|
overrideprotectedvirtual |
Reimplemented from cnf_clause_listt.
Definition at line 170 of file external_sat.cpp.
|
protected |
Definition at line 62 of file external_sat.cpp.
|
inlinefinaloverridevirtual |
Reimplemented from propt.
Definition at line 15 of file external_sat.h.
|
inlinefinaloverridevirtual |
Reimplemented from propt.
Definition at line 20 of file external_sat.h.
Returns true if an assumption is in the final conflict.
Note that only literals that are assumptions (see set_assumptions) may be queried.
Implements propt.
Definition at line 29 of file external_sat.cpp.
|
protected |
Definition at line 72 of file external_sat.cpp.
Implements propt.
Definition at line 34 of file external_sat.cpp.
|
overridevirtual |
Reimplemented from cnf_clause_listt.
Definition at line 24 of file external_sat.cpp.
Definition at line 39 of file external_sat.cpp.
|
protected |
Definition at line 31 of file external_sat.h.