mirror of
https://github.com/Z3Prover/z3
synced 2026-02-22 16:27:37 +00:00
add new polynomials from handle_nullified to m_todo
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
This commit is contained in:
parent
df419c137d
commit
d8f2b5ca01
4 changed files with 31 additions and 162 deletions
|
|
@ -1217,12 +1217,18 @@ namespace nlsat {
|
|||
// Line 10/11: detect nullification + pick a non-zero coefficient witness per p.
|
||||
m_witnesses.clear();
|
||||
m_witnesses.reserve(m_level_ps.size());
|
||||
for (unsigned i = 0; i < m_level_ps.size(); ++i) {
|
||||
// Fixpoint loop: handle_nullified_poly may add more polynomials back at m_level
|
||||
// via request_factorized. Drain them from m_todo into m_level_ps and
|
||||
// compute witnesses for the new entries until no more appear.
|
||||
for (unsigned i = 0; i < m_level_ps.size(); i++) {
|
||||
polynomial_ref p(m_level_ps.get(i), m_pm);
|
||||
polynomial_ref w = choose_nonzero_coeff(p, m_level);
|
||||
if (!w)
|
||||
handle_nullified_poly(p);
|
||||
m_witnesses.push_back(w);
|
||||
// Absorb any same-level polys that handle_nullified_poly added to m_todo
|
||||
if (i + 1 == m_level_ps.size())
|
||||
m_todo.extract_polys_at_level(m_level, m_level_ps);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue