3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-15 13:28:47 +00:00

fix assertion in model converter for incremental mode

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2017-12-13 15:24:40 -08:00
parent aeabdb4aae
commit d1854ab4d2
2 changed files with 3 additions and 2 deletions

View file

@ -46,7 +46,7 @@ namespace sat {
UNREACHABLE(); UNREACHABLE();
throw solver_exception("flipping assumption"); 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"; std::cout << "flipping external v" << v << "\n";
UNREACHABLE(); UNREACHABLE();
throw solver_exception("flipping external"); throw solver_exception("flipping external");

View file

@ -970,11 +970,12 @@ namespace sat {
} }
void insert(literal l) { void insert(literal l) {
VERIFY(process_var(l.var()));
m_queue.insert(l); m_queue.insert(l);
} }
bool process_var(bool_var v) { 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()() { void operator()() {