13 #include <zchaff_solver.h>
19 solver->set_variable_number(0);
39 "variable number shall be within bounds");
43 case 0: result=
tvt(
false);
break;
44 case 1: result=
tvt(
true);
break;
66 for(clausest::const_iterator it=
clauses.begin();
70 reinterpret_cast<int*
>(&((*it)[0])), it->size());
88 SAT_StatusT result=(SAT_StatusT)
solver->solve();
96 msg=
"SAT checker: instance is UNSATISFIABLE";
100 msg=
"SAT checker: instance is SATISFIABLE";
104 msg=
"SAT checker failed: UNDETERMINED";
108 msg=
"SAT checker failed: Time out";
112 msg=
"SAT checker failed: Out of memory";
116 msg=
"SAT checker failed: ABORTED";
120 msg=
"SAT checker failed: unknown result";
127 if(result==SATISFIABLE)
130 for(
unsigned i=1; i<
solver->variables().size(); i++)
132 solver->variables()[i].value() == 0 ||
133 solver->variables()[i].value() == 1,
134 "all variables shall have been assigned");
138 if(result==SATISFIABLE)
141 cout <<
"DEBUG L" << i <<
":" << get(i) <<
'\n';
145 if(result==UNSATISFIABLE)
148 return P_UNSATISFIABLE;
151 if(result==SATISFIABLE)
154 return P_SATISFIABLE;
167 solver->variables()[v].set_value(value);
virtual size_t no_variables() const override
mstreamt & statistics() const
mstreamt & status() const
resultt do_prop_solve(const bvt &assumptions) override
virtual ~satcheck_zchaff_baset()
std::string solver_text() const override
void set_assignment(literalt a, bool value) override
satcheck_zchaff_baset(CSolver *_solver)
tvt l_get(literalt a) const override
virtual ~satcheck_zchafft()
std::vector< literalt > bvt
void solver(std::vector< framet > &frames, const std::unordered_set< symbol_exprt, irep_hash > &address_taken, const solver_optionst &solver_options, const namespacet &ns, std::vector< propertyt > &properties, std::size_t property_index)
#define PRECONDITION(CONDITION)
std::string to_string(const string_not_contains_constraintt &expr)
Used for debug printing.