3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-02-05 16:56:18 +00:00

work on well-orientedness

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
This commit is contained in:
Lev Nachmanson 2025-06-16 14:07:19 -07:00 committed by Lev Nachmanson
parent b2f01706be
commit 945eef7ab6
9 changed files with 559 additions and 326 deletions

View file

@ -463,10 +463,12 @@ namespace nlsat {
svector<sign> & signs = m_add_signs_tmp;
roots.reset();
signs.reset();
TRACE(nlsat_evaluator, tout << "x: " << x << " max_var(p): " << m_pm.max_var(p) << "\n";);
TRACE(nlsat_evaluator, m_solver.display(tout << "p: ", polynomial_ref(p, m_pm)) << "\n";tout << "x: " << x << " max_var(p): " << m_pm.max_var(p) << "\n";);
// Note: I added undef_var_assignment in the following statement, to allow us to obtain the infeasible interval sets
// even when the maximal variable is assigned. I need this feature to minimize conflict cores.
m_am.isolate_roots(polynomial_ref(p, m_pm), undef_var_assignment(m_assignment, x), roots, signs);
auto pr = polynomial_ref(p, m_pm);
auto uass = undef_var_assignment(m_assignment, x);
m_am.isolate_roots(pr, uass, roots, signs);
t.add(roots, signs);
}
}