3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-29 03:45:51 +00:00

adding maxlex, throttle use of asymmetric literal addition

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2019-01-24 19:26:44 -08:00
parent 8da1d6070b
commit ad81fee118
9 changed files with 274 additions and 27 deletions

View file

@ -329,8 +329,8 @@ public:
verify_assumptions();
m_lower.reset();
for (soft& s : m_soft) {
s.is_true = m_model->is_true(s.s);
if (!s.is_true) {
s.set_value(m_model->is_true(s.s));
if (!s.is_true()) {
m_lower += s.weight;
}
}
@ -764,7 +764,7 @@ public:
TRACE("opt", tout << "updated upper: " << upper << "\nmodel\n" << *m_model;);
for (soft& s : m_soft) {
s.is_true = m_model->is_true(s.s);
s.set_value(m_model->is_true(s.s));
}
verify_assignment();
@ -878,7 +878,7 @@ public:
expr_ref n(m);
for (soft& s : m_soft) {
n = s.s;
if (!s.is_true) {
if (!s.is_true()) {
n = mk_not(m, n);
}
_solver->assert_expr(n);