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

working on HS

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2014-06-17 17:05:05 -07:00
parent b64b12cae3
commit 84d971b69a
2 changed files with 99 additions and 26 deletions

View file

@ -2043,6 +2043,7 @@ public:
// z < d
expr* z_lt_d = m_util.m_arith.mk_le(z, m_util.m_arith.mk_numeral(d-rational(1), true));
m_ctx.add_constraint(false, z_lt_d);
TRACE("qe", tout << mk_pp(z_lt_d, m) << "\n";);
// result <- result & z <= d - 1
SASSERT(!abs(d).is_one());
@ -2056,9 +2057,11 @@ public:
t1 = m_util.mk_sub(x, z);
m_util.mk_divides(d, t1, new_atom);
m_ctx.add_constraint(false, new_atom);
TRACE("qe", tout << mk_pp(new_atom, m) << "\n";);
// (c | ax + t <-> c | az + t) for each divisor.
mk_div_equivs(bounds, z, result);
TRACE("qe", tout << mk_pp(result, m) << "\n";);
// update x_t to map x |-> dx + z
x_t.set_term(z);