|
cprover
|
#include <satcheck_minisat.h>
Public Member Functions | |
| satcheck_minisat1_baset () | |
| virtual | ~satcheck_minisat1_baset () |
| virtual const std::string | solver_text () override |
| virtual resultt | prop_solve () override |
| virtual tvt | l_get (literalt a) const override |
| virtual void | lcnf (const bvt &bv) final |
| virtual void | set_assignment (literalt a, bool value) override |
| virtual void | set_assumptions (const bvt &_assumptions) override |
| virtual bool | has_set_assumptions () const override |
| virtual bool | has_is_in_conflict () const override |
| virtual bool | is_in_conflict (literalt l) const override |
Public Member Functions inherited from cnf_solvert | |
| cnf_solvert () | |
| virtual size_t | no_clauses () const override |
Public Member Functions inherited from cnft | |
| cnft () | |
| 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... | |
| virtual size_t | no_variables () const override |
| virtual void | set_no_variables (size_t no) |
| 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... | |
Public Member Functions inherited from propt | |
| propt () | |
| 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 void | set_variable_name (literalt a, const std::string &name) |
| bvt | new_variables (std::size_t width) |
| generates a bitvector of given width with new variables More... | |
| virtual void | copy_assignment_from (const propt &prop) |
| virtual void | set_frozen (literalt a) |
Public Member Functions inherited from prop_assignmentt | |
| virtual | ~prop_assignmentt () |
Protected Member Functions | |
| void | add_variables () |
Protected Member Functions inherited from cnft | |
| bool | process_clause (const bvt &bv, bvt &dest) |
| filter 'true' from clause, eliminate duplicates, recognise trivially satisfied clauses More... | |
Protected Attributes | |
| class Solver * | solver |
| bvt | assumptions |
| bool | empty_clause_added |
Protected Attributes inherited from cnf_solvert | |
| statust | status |
| size_t | clause_counter |
Protected Attributes inherited from cnft | |
| size_t | _no_variables |
Protected Attributes inherited from propt | |
| bvt | lcnf_bv |
Additional Inherited Members | |
Public Types inherited from propt | |
| enum | resultt { resultt::P_SATISFIABLE, resultt::P_UNSATISFIABLE, resultt::P_ERROR } |
Static Public Member Functions inherited from cnft | |
| static bvt | eliminate_duplicates (const bvt &) |
| eliminate duplicates from given vector of literals More... | |
Protected Types inherited from cnf_solvert | |
| enum | statust { statust::INIT, statust::SAT, statust::UNSAT, statust::ERROR } |
Static Protected Member Functions inherited from cnft | |
| static bool | is_all (const bvt &bv, literalt l) |
Definition at line 18 of file satcheck_minisat.h.
|
inline |
Definition at line 21 of file satcheck_minisat.h.
|
virtual |
Definition at line 251 of file satcheck_minisat.cpp.
References solver.
|
protected |
Definition at line 113 of file satcheck_minisat.cpp.
References cnft::no_variables(), and solver.
Referenced by lcnf(), and prop_solve().
|
inlineoverridevirtual |
Reimplemented from propt.
Definition at line 40 of file satcheck_minisat.h.
|
inlineoverridevirtual |
Reimplemented from propt.
Definition at line 39 of file satcheck_minisat.h.
|
overridevirtual |
Reimplemented from propt.
Definition at line 200 of file satcheck_minisat.cpp.
References solver, and literalt::var_no().
Implements propt.
Definition at line 83 of file satcheck_minisat.cpp.
References literalt::is_false(), literalt::is_true(), messaget::result(), literalt::sign(), solver, tvt::TV_UNKNOWN, and literalt::var_no().
|
finalvirtual |
Implements propt.
Definition at line 119 of file satcheck_minisat.cpp.
References add_variables(), cnf_solvert::clause_counter, convert(), empty_clause_added, cnft::process_clause(), and solver.
|
overridevirtual |
Implements propt.
Reimplemented in satcheck_minisat1_coret.
Definition at line 146 of file satcheck_minisat.cpp.
References cnft::_no_variables, add_variables(), assumptions, convert(), empty_clause_added, messaget::eom(), solver, and messaget::status().
Referenced by satcheck_minisat1_coret::prop_solve().
|
overridevirtual |
Reimplemented from propt.
Definition at line 191 of file satcheck_minisat.cpp.
References literalt::sign(), solver, and literalt::var_no().
|
overridevirtual |
Reimplemented from propt.
Definition at line 213 of file satcheck_minisat.cpp.
References assumptions.
|
overridevirtual |
Implements propt.
Reimplemented in satcheck_minisat1_coret, and satcheck_minisat1_prooft.
Definition at line 108 of file satcheck_minisat.cpp.
|
protected |
Definition at line 48 of file satcheck_minisat.h.
Referenced by prop_solve(), and set_assumptions().
|
protected |
Definition at line 49 of file satcheck_minisat.h.
Referenced by lcnf(), prop_solve(), and satcheck_minisat1t::satcheck_minisat1t().
|
protected |
Definition at line 46 of file satcheck_minisat.h.
Referenced by add_variables(), is_in_conflict(), l_get(), lcnf(), prop_solve(), satcheck_minisat1_prooft::satcheck_minisat1_prooft(), satcheck_minisat1t::satcheck_minisat1t(), set_assignment(), and ~satcheck_minisat1_baset().