3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-05-13 18:54:43 +00:00

coordinate drat with clause removal

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2019-01-16 02:29:33 -08:00
parent b33f5f879e
commit e01a668da0
5 changed files with 82 additions and 83 deletions

View file

@ -94,7 +94,7 @@ namespace sat {
void elim_eqs::drat_delete_clause() {
if (m_solver.m_config.m_drat) {
m_solver.m_drat.del(*m_to_delete->get());
m_solver.m_drat.del(*m_to_delete->get());
}
}
@ -172,7 +172,8 @@ namespace sat {
if (i < sz) {
drat_delete_clause();
m_solver.del_clause(c, false);
c.set_removed(true);
m_solver.del_clause(c);
continue;
}
@ -187,13 +188,15 @@ namespace sat {
return;
case 1:
m_solver.assign(c[0], justification());
m_solver.del_clause(c, false);
drat_delete_clause();
c.set_removed(true);
m_solver.del_clause(c);
break;
case 2:
m_solver.mk_bin_clause(c[0], c[1], c.is_learned());
m_solver.del_clause(c, false);
drat_delete_clause();
c.set_removed(true);
m_solver.del_clause(c);
break;
default:
SASSERT(*it == &c);