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

use appropriate MaxSAT solver even if there are no soft constraints. Also avoid PB constraints when all soft constraints are false. Reported by Klaus Becker

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2015-11-02 08:18:51 -08:00
parent b19fbe4429
commit 653416153d
2 changed files with 4 additions and 10 deletions

View file

@ -188,6 +188,7 @@ public:
}
lbool mus_solver() {
lbool is_sat = l_true;
init();
init_local();
trace();
@ -198,7 +199,7 @@ public:
tout << "\n";
display(tout);
);
lbool is_sat = check_sat_hill_climb(m_asms);
is_sat = check_sat_hill_climb(m_asms);
if (m_cancel) {
return l_undef;
}
@ -833,9 +834,7 @@ public:
s().assert_expr(m_asms[i].get());
}
}
else {
maxsmt_solver_base::commit_assignment();
}
// else: there is only a single assignment to these soft constraints.
}
void verify_core(exprs const& core) {