mirror of
https://github.com/Z3Prover/z3
synced 2025-04-29 03:45:51 +00:00
enable bvsat, multi disjoint cores for dual-maxres
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
3fefed69b7
commit
e8056e066d
3 changed files with 71 additions and 16 deletions
|
@ -130,7 +130,14 @@ namespace opt {
|
|||
}
|
||||
|
||||
void maxsmt_solver_base::enable_inc_bvsat() {
|
||||
|
||||
solver* sat_solver = mk_inc_sat_solver(m, m_params);
|
||||
unsigned sz = s().get_num_assertions();
|
||||
for (unsigned i = 0; i < sz; ++i) {
|
||||
sat_solver->assert_expr(s().get_assertion(i));
|
||||
}
|
||||
unsigned lvl = m_s->get_scope_level();
|
||||
while (lvl > 0) { sat_solver->push(); --lvl; }
|
||||
m_s = sat_solver;
|
||||
}
|
||||
|
||||
void maxsmt_solver_base::enable_noninc_bvsat() {
|
||||
|
@ -145,13 +152,14 @@ namespace opt {
|
|||
unsigned lvl = m_s->get_scope_level();
|
||||
while (lvl > 0) { sat_solver->push(); --lvl; }
|
||||
m_s = sat_solver;
|
||||
m_sat_enabled = true;
|
||||
}
|
||||
|
||||
|
||||
void maxsmt_solver_base::enable_bvsat() {
|
||||
if (m_enable_sat && !m_sat_enabled && probe_bv()) {
|
||||
enable_noninc_bvsat();
|
||||
enable_inc_bvsat();
|
||||
// enable_noninc_bvsat();
|
||||
m_sat_enabled = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue