3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-05 10:50:24 +00:00

fix unsoundness in quantifier propagation #6116 and add initial lemma logging

This commit is contained in:
Nikolaj Bjorner 2022-08-23 19:09:50 -07:00
parent 912b284602
commit ce1f3987d9
15 changed files with 78 additions and 13 deletions

View file

@ -690,6 +690,7 @@ namespace sat {
if (m_out) dump(1, &l, st);
if (m_bout) bdump(1, &l, st);
if (m_check) append(l, st);
if (m_print_clause) m_print_clause(1, &l, st);
}
void drat::add(literal l1, literal l2, status st) {
if (st.is_deleted())
@ -700,6 +701,7 @@ namespace sat {
if (m_out) dump(2, ls, st);
if (m_bout) bdump(2, ls, st);
if (m_check) append(l1, l2, st);
if (m_print_clause) m_print_clause(2, ls, st);
}
void drat::add(clause& c, status st) {
if (st.is_deleted())
@ -709,6 +711,7 @@ namespace sat {
if (m_out) dump(c.size(), c.begin(), st);
if (m_bout) bdump(c.size(), c.begin(), st);
if (m_check) append(mk_clause(c), st);
if (m_print_clause) m_print_clause(c.size(), c.begin(), st);
}
void drat::add(literal_vector const& lits, status st) {
@ -729,6 +732,9 @@ namespace sat {
}
if (m_out)
dump(sz, lits, st);
if (m_print_clause)
m_print_clause(sz, lits, st);
}
void drat::add(literal_vector const& c) {
@ -748,6 +754,8 @@ namespace sat {
}
}
}
if (m_print_clause)
m_print_clause(c.size(), c.data(), status::redundant());
}
void drat::del(literal l) {