mirror of
https://github.com/Z3Prover/z3
synced 2025-10-01 13:39:28 +00:00
fix linear projection
This commit is contained in:
parent
6ef8a0b7bb
commit
d05961a021
1 changed files with 4 additions and 2 deletions
|
@ -1424,7 +1424,7 @@ namespace nlsat {
|
||||||
polynomial_ref_vector ps_above_sample(m_pm);
|
polynomial_ref_vector ps_above_sample(m_pm);
|
||||||
polynomial_ref_vector ps_equal_sample(m_pm);
|
polynomial_ref_vector ps_equal_sample(m_pm);
|
||||||
var x = m_todo.extract_max_polys(ps);
|
var x = m_todo.extract_max_polys(ps);
|
||||||
if (x == max_x) {
|
if (!m_assignment.is_assigned(x)) {
|
||||||
// top level projection like original
|
// top level projection like original
|
||||||
// we could also do a covering-style projection, sparing some resultants
|
// we could also do a covering-style projection, sparing some resultants
|
||||||
add_lcs(ps, x);
|
add_lcs(ps, x);
|
||||||
|
@ -1433,7 +1433,7 @@ namespace nlsat {
|
||||||
x = m_todo.extract_max_polys(ps);
|
x = m_todo.extract_max_polys(ps);
|
||||||
}
|
}
|
||||||
|
|
||||||
while (!m_todo.empty()) {
|
while (true) {
|
||||||
add_cell_lits_linear(ps, x, ps_below_sample, ps_above_sample, ps_equal_sample);
|
add_cell_lits_linear(ps, x, ps_below_sample, ps_above_sample, ps_equal_sample);
|
||||||
if (all_univ(ps, x) && m_todo.empty()) {
|
if (all_univ(ps, x) && m_todo.empty()) {
|
||||||
m_todo.reset();
|
m_todo.reset();
|
||||||
|
@ -1463,6 +1463,8 @@ namespace nlsat {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (m_todo.empty())
|
||||||
|
break;
|
||||||
x = m_todo.extract_max_polys(ps);
|
x = m_todo.extract_max_polys(ps);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue