3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-02-11 11:24:31 +00:00
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2021-11-13 06:50:11 -08:00
parent 5708de4301
commit d073583d88
7 changed files with 146 additions and 39 deletions

View file

@ -268,10 +268,14 @@ namespace polysat {
--num_levels;
break;
}
case trail_instr_t::viable_i: {
case trail_instr_t::viable_add_i: {
m_viable.pop_viable();
break;
}
case trail_instr_t::viable_rem_i: {
m_viable.push_viable();
break;
}
case trail_instr_t::assign_i: {
auto v = m_search.back().var();
LOG_V("Undo assign_i: v" << v);
@ -311,7 +315,7 @@ namespace polysat {
m_constraints.release_level(m_level + 1);
SASSERT(m_level == target_level);
for (unsigned j = replay.size(); j-- > 0; ) {
auto lit = replay[j];
sat::literal lit = replay[j];
m_trail.push_back(trail_instr_t::assign_bool_i);
m_search.push_boolean(lit);
}
@ -777,7 +781,7 @@ namespace polysat {
for (auto item : m_search) {
if (item.is_assignment()) {
pvar v = item.var();
auto j = m_justification[v];
auto const& j = m_justification[v];
out << "\t" << assignment_pp(*this, v, get_value(v)) << " @" << j.level();
if (j.is_propagation())
out << " " << m_cjust[v];
@ -795,8 +799,8 @@ namespace polysat {
for (auto c : m_constraints)
out << "\t" << c->bvar2string() << ": " << *c << "\n";
out << "Clauses:\n";
for (auto cls : m_constraints.clauses()) {
for (auto cl : cls) {
for (auto const& cls : m_constraints.clauses()) {
for (auto const& cl : cls) {
out << "\t" << *cl << "\n";
for (auto lit : *cl)
out << "\t\t" << lit << ": " << lit2cnstr(lit) << "\n";
@ -806,7 +810,7 @@ namespace polysat {
}
std::ostream& assignments_pp::display(std::ostream& out) const {
for (auto [var, val] : s.assignment())
for (auto const& [var, val] : s.assignment())
out << assignment_pp(s, var, val) << " ";
return out;
}