3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-23 19:47:52 +00:00
This commit is contained in:
Nikolaj Bjorner 2020-11-11 17:37:00 -08:00
parent aced115b70
commit 7e68d546ba
4 changed files with 11 additions and 10 deletions

View file

@ -105,24 +105,23 @@ namespace sat {
m_core.push_back(lit2ext(lit));
if (is_sat == l_true) {
IF_VERBOSE(0, display(s, verbose_stream()));
s.display(verbose_stream());
UNREACHABLE();
return false;
}
TRACE("dual", m_solver.display(tout << "is-sat: " << is_sat << " core: " << m_core << "\n"););
m_solver.user_pop(1);
return is_sat == l_false;
}
std::ostream& dual_solver::display(solver const& s, std::ostream& out) const {
for (auto r : m_roots)
out << r << " " << m_solver.value(r) << "\n";
for (unsigned v = 0; v < m_solver.num_vars(); ++v) {
bool_var w = m_var2ext.get(v, null_bool_var);
if (w == null_bool_var)
continue;
lbool v1 = m_solver.value(v);
lbool v2 = s.value(w);
if (v1 == v2)
if (v1 == v2 || v2 == l_undef)
continue;
out << w << " " << v1 << " " << v2 << "\n";
}