mirror of
https://github.com/Z3Prover/z3
synced 2025-04-12 12:08:18 +00:00
na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
fd9fd52271
commit
a549e73b86
|
@ -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);
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue