3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-23 17:15:31 +00:00

Merge pull request #1646 from NikolajBjorner/master

Remove depedencies on interp
This commit is contained in:
Nikolaj Bjorner 2018-05-25 10:25:31 -07:00 committed by GitHub
commit 434ff31629
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
69 changed files with 45 additions and 26535 deletions

View file

@ -522,6 +522,9 @@ namespace opt {
if (mdl->eval(obj.m_terms[i], val, true) && m.is_true(val)) {
k += obj.m_weights[i];
}
else {
TRACE("opt", tout << val << "\n";);
}
}
if (is_ge) {
result = pb.mk_ge(sz, coeffs.c_ptr(), terms.c_ptr(), k);

View file

@ -20,6 +20,7 @@ Notes:
#include "opt/opt_pareto.h"
#include "ast/ast_pp.h"
#include "ast/ast_util.h"
#include "model/model_smt2_pp.h"
namespace opt {
@ -66,8 +67,8 @@ namespace opt {
fmls.push_back(cb.mk_ge(i, m_model));
gt.push_back(cb.mk_gt(i, m_model));
}
fmls.push_back(m.mk_or(gt.size(), gt.c_ptr()));
fml = m.mk_and(fmls.size(), fmls.c_ptr());
fmls.push_back(mk_or(gt));
fml = mk_and(fmls);
IF_VERBOSE(10, verbose_stream() << "dominates: " << fml << "\n";);
TRACE("opt", tout << fml << "\n"; model_smt2_pp(tout, m, *m_model, 0););
m_solver->assert_expr(fml);
@ -80,7 +81,7 @@ namespace opt {
for (unsigned i = 0; i < sz; ++i) {
le.push_back(cb.mk_le(i, m_model));
}
fml = m.mk_not(m.mk_and(le.size(), le.c_ptr()));
fml = m.mk_not(mk_and(le));
IF_VERBOSE(10, verbose_stream() << "not dominated by: " << fml << "\n";);
TRACE("opt", tout << fml << "\n";);
m_solver->assert_expr(fml);