Go to the documentation of this file.
22 #error "Expected HAVE_PICOSAT"
60 for(
const auto &literal : new_bv)
61 picosat_add(
picosat, literal.dimacs());
82 picosat_assume(
picosat, literal.dimacs());
84 const int res=picosat_sat(
picosat, -1);
85 if(res==PICOSAT_SATISFIABLE)
87 msg=
"SAT checker: instance is SATISFIABLE";
95 res == PICOSAT_UNSATISFIABLE,
96 "picosat result should report either sat or unsat");
97 msg=
"SAT checker: instance is UNSATISFIABLE";
102 return P_UNSATISFIABLE;
135 [](
const literalt &l) { return !l.is_constant(); }),
136 "assumptions should be non-constant");
#define UNREACHABLE
This should be used to mark dead code.
bool process_clause(const bvt &bv, bvt &dest) const
filter 'true' from clause, eliminate duplicates, recognise trivially satisfied clauses
void set_assumptions(const bvt &_assumptions) override
@ ERROR
An error occurred during goto checking.
std::vector< literalt > bvt
mstreamt & status() const
std::string to_string(const string_not_contains_constraintt &expr)
Used for debug printing.
void set_assignment(literalt a, bool value) override
#define PRECONDITION(CONDITION)
tvt l_get(literalt a) const override
const std::string solver_text() override
bool is_in_conflict(literalt a) const override
Returns true if an assumption is in the final conflict.
void lcnf(const bvt &bv) override
resultt do_prop_solve() override
mstreamt & statistics() const