3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-08 20:21:23 +00:00

fix issues reported in #4525

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2020-06-21 17:43:05 -07:00
parent 02f34ea4b1
commit 6a54c0bc04
2 changed files with 12 additions and 5 deletions

View file

@ -209,7 +209,9 @@ namespace qe {
else if (a.is_mod(t, t1, t2) && is_numeral(t2, mul1) && !mul1.is_zero()) {
rational r;
val = eval(t);
VERIFY(a.is_numeral(val, r));
if (!a.is_numeral(val, r)) {
throw default_exception("mbp evaluation didn't produce an integer");
}
c += mul*r;
// t1 mod mul1 == r
rational c0(-r), mul0(1);
@ -347,8 +349,8 @@ namespace qe {
expr_ref val = eval(v);
if (!m.inc())
return vector<def>();
VERIFY(a.is_numeral(val, r));
if (!a.is_numeral(val, r))
throw default_exception("evaluation did not produce a numeral");
TRACE("qe", tout << mk_pp(v, m) << " " << val << "\n";);
tids.insert(v, mbo.add_var(r, a.is_int(v)));
}