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:
commit
434ff31629
69 changed files with 45 additions and 26535 deletions
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue