CBMC
|
#include <qbf_squolem_core.h>
Protected Attributes | |
Squolem2 * | squolem |
bool | early_decision |
![]() | |
bool | break_lines |
![]() | |
clausest | clauses |
![]() | |
size_t | _no_variables |
![]() | |
bvt | lcnf_bv |
messaget | log |
std::size_t | number_of_solver_calls = 0 |
Private Types | |
typedef std::unordered_map< unsigned, exprt > | function_cachet |
Private Member Functions | |
const exprt | f_get_cnf (WitnessStack *wsp) |
const exprt | f_get_dnf (WitnessStack *wsp) |
void | setup (void) |
Private Attributes | |
function_cachet | function_cache |
Additional Inherited Members | |
![]() | |
enum | modeltypet { M_TRUE , M_FALSE , M_DONTCARE , M_COMPLEX } |
typedef std::pair< exprt, unsigned > | symbol_mapt |
typedef std::map< unsigned, symbol_mapt > | variable_mapt |
![]() | |
typedef std::vector< quantifiert > | quantifierst |
![]() | |
typedef std::list< bvt > | clausest |
![]() | |
enum class | resultt { P_SATISFIABLE , P_UNSATISFIABLE , P_ERROR } |
![]() | |
static void | write_dimacs_clause (const bvt &, std::ostream &, bool break_lines) |
![]() | |
static size_t | hash_clause (const bvt &bv) |
![]() | |
variable_mapt | variable_map |
![]() | |
quantifierst | quantifiers |
![]() | |
void | write_prefix (std::ostream &out) const |
![]() | |
void | write_problem_line (std::ostream &out) const |
void | write_clauses (std::ostream &out) const |
![]() | |
resultt | do_prop_solve (const bvt &) override |
![]() | |
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 | |
![]() | |
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 19 of file qbf_squolem_core.h.
|
private |
Definition at line 52 of file qbf_squolem_core.h.
qbf_squolem_coret::qbf_squolem_coret | ( | ) |
Definition at line 21 of file qbf_squolem_core.cpp.
|
override |
Definition at line 55 of file qbf_squolem_core.cpp.
|
overridevirtual |
Reimplemented from qdimacs_cnft.
Definition at line 155 of file qbf_squolem_core.cpp.
Implements qdimacs_coret.
Definition at line 188 of file qbf_squolem_core.cpp.
|
private |
Definition at line 246 of file qbf_squolem_core.cpp.
|
private |
Definition at line 288 of file qbf_squolem_core.cpp.
Implements qdimacs_coret.
Definition at line 109 of file qbf_squolem_core.cpp.
Implements qdimacs_coret.
Definition at line 62 of file qbf_squolem_core.cpp.
Reimplemented from cnf_clause_listt.
Definition at line 126 of file qbf_squolem_core.cpp.
|
overridevirtual |
Implements qdimacs_coret.
Definition at line 114 of file qbf_squolem_core.cpp.
Reimplemented from cnf_clause_listt.
Definition at line 41 of file qbf_squolem_core.h.
|
override |
Definition at line 82 of file qbf_squolem_core.cpp.
Definition at line 47 of file qbf_squolem_core.cpp.
Definition at line 178 of file qbf_squolem_core.cpp.
Reimplemented from cnft.
Definition at line 164 of file qbf_squolem_core.cpp.
Definition at line 170 of file qbf_squolem_core.cpp.
Definition at line 26 of file qbf_squolem_core.cpp.
|
overridevirtual |
Reimplemented from dimacs_cnft.
Definition at line 77 of file qbf_squolem_core.cpp.
|
overridevirtual |
Reimplemented from qdimacs_cnft.
Definition at line 183 of file qbf_squolem_core.cpp.
|
protected |
Definition at line 23 of file qbf_squolem_core.h.
|
private |
Definition at line 53 of file qbf_squolem_core.h.
|
protected |
Definition at line 22 of file qbf_squolem_core.h.