mirror of
https://github.com/Z3Prover/z3
synced 2025-04-08 10:25:18 +00:00
merge
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
commit
178211d091
|
@ -2294,8 +2294,8 @@ namespace sat {
|
|||
// literal is no longer watched.
|
||||
return l_undef;
|
||||
}
|
||||
SASSERT(index <= bound);
|
||||
SASSERT(c[index] == alit);
|
||||
VERIFY(index <= bound);
|
||||
VERIFY(c[index] == alit);
|
||||
|
||||
// find a literal to swap with:
|
||||
for (unsigned i = bound + 1; i < sz; ++i) {
|
||||
|
|
|
@ -181,7 +181,7 @@ namespace sat {
|
|||
for (bool_var v : to_elim) {
|
||||
literal l(v, false);
|
||||
literal r = roots[v];
|
||||
SASSERT(v != r.var());
|
||||
SASSERT(v != r.var());
|
||||
if (m_solver.is_external(v)) {
|
||||
m_solver.set_root(l, r);
|
||||
// cannot really eliminate v, since we have to notify extension of future assignments
|
||||
|
|
|
@ -46,7 +46,7 @@ namespace sat {
|
|||
UNREACHABLE();
|
||||
throw solver_exception("flipping assumption");
|
||||
}
|
||||
if (m_solver && m_solver->is_external(v)) {
|
||||
if (m_solver && m_solver->is_external(v) && m_solver->is_incremental()) {
|
||||
std::cout << "flipping external v" << v << "\n";
|
||||
UNREACHABLE();
|
||||
throw solver_exception("flipping external");
|
||||
|
|
|
@ -970,11 +970,12 @@ namespace sat {
|
|||
}
|
||||
|
||||
void insert(literal l) {
|
||||
VERIFY(process_var(l.var()));
|
||||
m_queue.insert(l);
|
||||
}
|
||||
|
||||
bool process_var(bool_var v) {
|
||||
return !s.s.is_assumption(v) && !s.was_eliminated(v) && !s.is_external(v);
|
||||
return !s.s.is_assumption(v) && !s.was_eliminated(v) && !s.is_external(v);
|
||||
}
|
||||
|
||||
void operator()() {
|
||||
|
|
Loading…
Reference in a new issue