CBMC
|
#include <dimacs_cnf.h>
Public Member Functions | |
dimacs_cnf_dumpt (std::ostream &_out, message_handlert &message_handler) | |
virtual | ~dimacs_cnf_dumpt () |
std::string | solver_text () const override |
void | lcnf (const bvt &bv) override |
tvt | l_get (literalt) const override |
size_t | no_clauses () const override |
Public Member Functions inherited from cnft | |
cnft (message_handlert &message_handler) | |
virtual | ~cnft () |
virtual literalt | land (literalt a, literalt b) override |
virtual literalt | lor (literalt a, literalt b) override |
virtual literalt | land (const bvt &bv) override |
Tseitin encoding of conjunction between multiple literals. More... | |
virtual literalt | lor (const bvt &bv) override |
Tseitin encoding of disjunction between multiple literals. More... | |
virtual literalt | lxor (const bvt &bv) override |
Tseitin encoding of XOR between multiple literals. More... | |
virtual literalt | lxor (literalt a, literalt b) override |
virtual literalt | lnand (literalt a, literalt b) override |
virtual literalt | lnor (literalt a, literalt b) override |
virtual literalt | lequal (literalt a, literalt b) override |
virtual literalt | limplies (literalt a, literalt b) override |
virtual literalt | lselect (literalt a, literalt b, literalt c) override |
virtual literalt | new_variable () override |
Generate a new variable and return it as a literal. More... | |
bvt | new_variables (std::size_t width) override |
Generate a vector of new variables. More... | |
virtual size_t | no_variables () const override |
virtual void | set_no_variables (size_t no) |
Public Member Functions inherited from propt | |
propt (message_handlert &message_handler) | |
virtual | ~propt () |
virtual void | set_equal (literalt a, literalt b) |
asserts a==b in the propositional formula More... | |
virtual void | l_set_to (literalt a, bool value) |
void | l_set_to_true (literalt a) |
void | l_set_to_false (literalt a) |
void | lcnf (literalt l0, literalt l1) |
void | lcnf (literalt l0, literalt l1, literalt l2) |
void | lcnf (literalt l0, literalt l1, literalt l2, literalt l3) |
virtual bool | has_set_to () const |
virtual bool | cnf_handled_well () const |
virtual bool | has_assumptions () const |
virtual void | set_variable_name (literalt, const irep_idt &) |
resultt | prop_solve () |
resultt | prop_solve (const bvt &assumptions) |
virtual void | set_assignment (literalt a, bool value)=0 |
virtual bool | is_in_conflict (literalt l) const =0 |
Returns true if an assumption is in the final conflict. More... | |
virtual bool | has_is_in_conflict () const |
virtual void | set_frozen (literalt) |
virtual void | set_time_limit_seconds (uint32_t) |
std::size_t | get_number_of_solver_calls () const |
Protected Member Functions | |
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. More... | |
void | gate_or (literalt a, literalt b, literalt o) |
Tseitin encoding of disjunction of two literals. More... | |
void | gate_xor (literalt a, literalt b, literalt o) |
Tseitin encoding of XOR of two literals. More... | |
void | gate_nand (literalt a, literalt b, literalt o) |
Tseitin encoding of NAND of two literals. More... | |
void | gate_nor (literalt a, literalt b, literalt o) |
Tseitin encoding of NOR of two literals. More... | |
void | gate_equal (literalt a, literalt b, literalt o) |
Tseitin encoding of equality between two literals. More... | |
void | gate_implies (literalt a, literalt b, literalt o) |
Tseitin encoding of implication between two literals. More... | |
bool | process_clause (const bvt &bv, bvt &dest) const |
filter 'true' from clause, eliminate duplicates, recognise trivially satisfied clauses More... | |
Protected Attributes | |
std::ostream & | out |
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 |
Additional Inherited Members | |
Public Types inherited from propt | |
enum class | resultt { P_SATISFIABLE , P_UNSATISFIABLE , P_ERROR } |
Static Protected Member Functions inherited from cnft | |
static bvt | eliminate_duplicates (const bvt &) |
eliminate duplicates from given vector of literals More... | |
static bool | is_all (const bvt &bv, literalt l) |
Definition at line 45 of file dimacs_cnf.h.
dimacs_cnf_dumpt::dimacs_cnf_dumpt | ( | std::ostream & | _out, |
message_handlert & | message_handler | ||
) |
Definition at line 33 of file dimacs_cnf.cpp.
|
inlinevirtual |
Definition at line 49 of file dimacs_cnf.h.
Implements propt.
Definition at line 69 of file dimacs_cnf.h.
Implements propt.
Definition at line 58 of file dimacs_cnf.h.
|
overridevirtual |
Implements propt.
Definition at line 100 of file dimacs_cnf.cpp.
|
inlineoverridevirtual |
Implements cnft.
Definition at line 63 of file dimacs_cnf.h.
|
inlineoverridevirtual |
Implements propt.
Definition at line 51 of file dimacs_cnf.h.
|
protected |
Definition at line 74 of file dimacs_cnf.h.