3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-12 12:08:18 +00:00
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2018-10-04 13:43:01 -07:00
parent fd9fd52271
commit a549e73b86
3 changed files with 6 additions and 5 deletions

View file

@ -479,7 +479,6 @@ namespace opt {
return r; return r;
} }
expr_ref context::mk_le(unsigned i, model_ref& mdl) { expr_ref context::mk_le(unsigned i, model_ref& mdl) {
objective const& obj = m_objectives[i]; objective const& obj = m_objectives[i];
return mk_cmp(false, mdl, obj); return mk_cmp(false, mdl, obj);
@ -489,8 +488,7 @@ namespace opt {
objective const& obj = m_objectives[i]; objective const& obj = m_objectives[i];
return mk_cmp(true, mdl, obj); return mk_cmp(true, mdl, obj);
} }
expr_ref context::mk_gt(unsigned i, model_ref& mdl) { expr_ref context::mk_gt(unsigned i, model_ref& mdl) {
expr_ref result = mk_le(i, mdl); expr_ref result = mk_le(i, mdl);
result = mk_not(m, result); result = mk_not(m, result);

View file

@ -71,7 +71,7 @@ namespace opt {
fmls.push_back(mk_or(gt)); fmls.push_back(mk_or(gt));
fml = mk_and(fmls); fml = mk_and(fmls);
IF_VERBOSE(10, verbose_stream() << "dominates: " << fml << "\n";); IF_VERBOSE(10, verbose_stream() << "dominates: " << fml << "\n";);
TRACE("opt", tout << fml << "\n"; model_smt2_pp(tout, m, *m_model, 0);); TRACE("opt", model_smt2_pp(tout << fml << "\n", m, *m_model, 0););
m_solver->assert_expr(fml); m_solver->assert_expr(fml);
} }

View file

@ -1103,6 +1103,7 @@ namespace smt {
e = m_util.mk_gt(obj, e); e = m_util.mk_gt(obj, e);
} }
} }
TRACE("opt", tout << e << "\n";);
return e; return e;
} }
@ -1119,6 +1120,8 @@ namespace smt {
std::ostringstream strm; std::ostringstream strm;
strm << val << " <= " << mk_pp(get_enode(v)->get_owner(), get_manager()); strm << val << " <= " << mk_pp(get_enode(v)->get_owner(), get_manager());
app* b = m.mk_const(symbol(strm.str().c_str()), m.mk_bool_sort()); app* b = m.mk_const(symbol(strm.str().c_str()), m.mk_bool_sort());
expr_ref result(b, m);
TRACE("opt", tout << result << "\n";);
if (!ctx.b_internalized(b)) { if (!ctx.b_internalized(b)) {
fm.hide(b->get_decl()); fm.hide(b->get_decl());
bool_var bv = ctx.mk_bool_var(b); bool_var bv = ctx.mk_bool_var(b);
@ -1133,7 +1136,7 @@ namespace smt {
TRACE("arith", tout << mk_pp(b, m) << "\n"; TRACE("arith", tout << mk_pp(b, m) << "\n";
display_atom(tout, a, false);); display_atom(tout, a, false););
} }
return expr_ref(b, m); return result;
} }