3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-24 09:35:32 +00:00

update to vector format

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2017-11-10 15:28:16 -08:00
parent cb7e53aae4
commit 454e12fc49
17 changed files with 47 additions and 46 deletions

View file

@ -301,12 +301,12 @@ public:
return 0;
}
virtual expr_ref cube(unsigned backtrack_level) {
virtual expr_ref_vector cube(unsigned backtrack_level) {
if (!m_internalized) {
dep2asm_t dep2asm;
m_model = 0;
lbool r = internalize_formulas();
if (r != l_true) return expr_ref(m.mk_true(), m);
if (r != l_true) return expr_ref_vector(m);
m_internalized = true;
}
convert_internalized();
@ -317,10 +317,12 @@ public:
sat::literal_vector lits;
lbool result = m_solver.cube(vars, lits, backtrack_level);
if (result == l_false || lits.empty()) {
return expr_ref(m.mk_false(), m);
expr_ref_vector result(m);
result.push_back(m.mk_false());
return result;
}
if (result == l_true) {
return expr_ref(m.mk_true(), m);
return expr_ref_vector(m);
}
expr_ref_vector fmls(m);
expr_ref_vector lit2expr(m);
@ -329,7 +331,7 @@ public:
for (sat::literal l : lits) {
fmls.push_back(lit2expr[l.index()].get());
}
return mk_and(fmls);
return fmls;
}
virtual lbool get_consequences_core(expr_ref_vector const& assumptions, expr_ref_vector const& vars, expr_ref_vector& conseq) {