3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-26 13:06:05 +00:00

add back minimize vars

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2022-01-26 18:01:26 -08:00
parent 6df23fbce3
commit be790b8892
8 changed files with 32 additions and 7 deletions

View file

@ -229,8 +229,10 @@ namespace polysat {
signed_constraint c = s.lit2cnstr(lit);
unset_mark(c);
for (pvar v : c->vars())
if (s.is_assigned(v) && s.get_level(v) <= lvl)
if (s.is_assigned(v) && s.get_level(v) <= lvl) {
m_vars.insert(v); // TODO: check this
inc_pref(v);
}
}
/**
@ -282,11 +284,7 @@ namespace polysat {
return;
if (!c.is_currently_false(s))
return;
return;
#if 0
TODO - fix for new subst
assignment_t a;
for (auto v : m_vars)
a.push_back(std::make_pair(v, s.get_value(v)));
@ -295,7 +293,7 @@ namespace polysat {
std::pair<pvar, rational> last = a.back();
a[i] = last;
a.pop_back();
if (c.is_currently_false(a))
if (c.is_currently_false(s, a))
--i;
else {
a.push_back(last);
@ -308,7 +306,6 @@ namespace polysat {
for (auto const& [v, val] : a)
m_vars.insert(v);
LOG("reduced " << m_vars);
#endif
}