|
CBMC
|
#include <qbf_bdd_core.h>
Inheritance diagram for qbf_bdd_coret:
Collaboration diagram for qbf_bdd_coret:Protected Member Functions | |
| void | compress_certificate (void) |
Protected Member Functions inherited from qdimacs_cnft | |
| void | write_prefix (std::ostream &out) const |
Protected Member Functions inherited from dimacs_cnft | |
| void | write_problem_line (std::ostream &out) const |
| void | write_clauses (std::ostream &out) const |
Protected Member Functions inherited from cnf_clause_listt | |
| resultt | do_prop_solve (const bvt &) override |
Protected Member Functions inherited from cnft | |
| 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 | |
Private Types | |
| typedef std::vector< BDD * > | bdd_variable_mapt |
Private Attributes | |
| bdd_variable_mapt | bdd_variable_map |
| BDD * | matrix |
Additional Inherited Members | |
Public Types inherited from qdimacs_coret | |
| 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 |
Public Types inherited from qdimacs_cnft | |
| typedef std::vector< quantifiert > | quantifierst |
Public Types inherited from cnf_clause_listt | |
| typedef std::list< bvt > | clausest |
Public Types inherited from propt | |
| enum class | resultt { P_SATISFIABLE , P_UNSATISFIABLE , P_ERROR } |
Static Public Member Functions inherited from dimacs_cnft | |
| static void | write_dimacs_clause (const bvt &, std::ostream &, bool break_lines) |
Static Public Member Functions inherited from cnf_clause_listt | |
| static size_t | hash_clause (const bvt &bv) |
Public Attributes inherited from qdimacs_coret | |
| variable_mapt | variable_map |
Public Attributes inherited from qdimacs_cnft | |
| quantifierst | quantifiers |
Protected Types inherited from qbf_bdd_certificatet | |
| typedef std::vector< BDD * > | model_bddst |
| typedef std::unordered_map< unsigned, exprt > | function_cachet |
Static Protected Member Functions inherited from cnft | |
| static bvt | eliminate_duplicates (const bvt &) |
| eliminate duplicates from given vector of literals | |
| static bool | is_all (const bvt &bv, literalt l) |
Protected Attributes inherited from qbf_bdd_certificatet | |
| Cudd * | bdd_manager |
| model_bddst | model_bdds |
| function_cachet | function_cache |
Protected Attributes inherited from dimacs_cnft | |
| bool | break_lines |
Protected Attributes inherited from cnf_clause_listt | |
| clausest | clauses |
Protected Attributes inherited from cnft | |
| size_t | _no_variables |
Protected Attributes inherited from propt | |
| bvt | lcnf_bv |
| messaget | log |
| std::size_t | number_of_solver_calls = 0 |
Definition at line 43 of file qbf_bdd_core.h.
|
private |
Definition at line 46 of file qbf_bdd_core.h.
| qbf_bdd_coret::qbf_bdd_coret | ( | ) |
Definition at line 59 of file qbf_bdd_core.cpp.
|
override |
Definition at line 65 of file qbf_bdd_core.cpp.
Definition at line 240 of file qbf_bdd_core.cpp.
Implements qdimacs_coret.
Definition at line 152 of file qbf_bdd_core.cpp.
Reimplemented from qbf_bdd_certificatet.
Definition at line 81 of file qbf_bdd_core.cpp.
Reimplemented from cnf_clause_listt.
Definition at line 174 of file qbf_bdd_core.cpp.
Tseitin encoding of disjunction between multiple literals.
Reimplemented from cnft.
Definition at line 213 of file qbf_bdd_core.cpp.
Reimplemented from cnft.
Definition at line 196 of file qbf_bdd_core.cpp.
|
overridevirtual |
Implements qdimacs_coret.
Definition at line 157 of file qbf_bdd_core.cpp.
Generate a new variable and return it as a literal.
Reimplemented from qbf_bdd_certificatet.
Definition at line 162 of file qbf_bdd_core.cpp.
|
override |
Definition at line 91 of file qbf_bdd_core.cpp.
|
overridevirtual |
Reimplemented from dimacs_cnft.
Definition at line 86 of file qbf_bdd_core.cpp.
|
private |
Definition at line 47 of file qbf_bdd_core.h.
|
private |
Definition at line 49 of file qbf_bdd_core.h.