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

bv fixes and tuning (#4703)

* heap size information

* bv tuning

* fix #4701

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* throw on set-has-size #4700

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2020-09-21 19:54:53 -07:00 committed by GitHub
parent ba5c9c3883
commit b7ec4489a6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
21 changed files with 339 additions and 169 deletions

View file

@ -219,6 +219,7 @@ namespace smt {
{
std::function<expr*(void)> fn = [&]() { return m.mk_or(bound, m.mk_not(bound)); };
scoped_trace_stream _sts(*this, fn);
IF_VERBOSE(10, verbose_stream() << "branch " << bound << "\n");
TRACE("arith_int", tout << mk_bounded_pp(bound, m) << "\n";);
ctx.internalize(bound, true);
ctx.mark_as_relevant(bound.get());
@ -296,7 +297,7 @@ namespace smt {
continue;
}
if (!is_int(x)) {
TRACE("theory_arith_int", display_row(tout << "!int: ", r, true); );
TRACE("arith_int", display_row(tout << "!int: ", r, true); );
is_tight = false;
continue;
}
@ -324,7 +325,7 @@ namespace smt {
row[i] *= denom.to_rational();
}
}
TRACE("theory_arith_int",
TRACE("arith_int",
tout << "extracted row:\n";
for (unsigned i = 0; i < max_row; ++i) {
tout << row[i] << " ";
@ -365,7 +366,7 @@ namespace smt {
}
}
if (pol.empty()) {
TRACE("theory_arith_int", tout << "The witness is trivial\n";);
TRACE("arith_int", tout << "The witness is trivial\n";);
return false;
}
expr_ref p1(get_manager()), p2(get_manager());
@ -419,6 +420,7 @@ namespace smt {
scoped_trace_stream _sts(*this, fn);
ctx.internalize(bound, true);
}
IF_VERBOSE(10, verbose_stream() << "free " << bound << "\n");
ctx.mark_as_relevant(bound.get());
result = true;
}
@ -672,6 +674,7 @@ namespace smt {
ctx.internalize(bound, true);
}
l = ctx.get_literal(bound);
IF_VERBOSE(10, verbose_stream() << "cut " << bound << "\n");
ctx.mark_as_relevant(l);
dump_lemmas(l, ante);
auto js = ctx.mk_justification(