|
| cnf_solvert (message_handlert &message_handler) |
|
virtual size_t | no_clauses () const override |
|
| 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) |
|
| 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 void | lcnf (const bvt &bv)=0 |
|
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 &) |
|
virtual std::string | solver_text () const =0 |
|
resultt | prop_solve () |
|
resultt | prop_solve (const bvt &assumptions) |
|
virtual tvt | l_get (literalt a) const =0 |
|
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 |
|
|
enum class | resultt { P_SATISFIABLE
, P_UNSATISFIABLE
, P_ERROR
} |
|
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...
|
|
virtual resultt | do_prop_solve (const bvt &assumptions)=0 |
|
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 72 of file cnf.h.