3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-20 02:00:22 +00:00
This commit is contained in:
Nikolaj Bjorner 2025-08-17 17:20:10 -07:00
parent 4542fc0b3b
commit 21e3168421
2 changed files with 5 additions and 2 deletions

View file

@ -168,6 +168,9 @@ namespace arith {
add_clause(eqz, mod_ge_0); add_clause(eqz, mod_ge_0);
add_clause(eqz, mod_lt_q); add_clause(eqz, mod_lt_q);
if (!a.is_uminus(q))
add_clause(mk_literal(m.mk_eq(mod, a.mk_mod(p, a.mk_uminus(q)))));
#if 0 #if 0
/*literal div_ge_0 = */ mk_literal(a.mk_ge(div, zero)); /*literal div_ge_0 = */ mk_literal(a.mk_ge(div, zero));
/*literal div_le_0 = */ mk_literal(a.mk_le(div, zero)); /*literal div_le_0 = */ mk_literal(a.mk_le(div, zero));

View file

@ -1301,8 +1301,8 @@ public:
mk_axiom(eqz, eq); mk_axiom(eqz, eq);
mk_axiom(eqz, mod_ge_0); mk_axiom(eqz, mod_ge_0);
mk_axiom(eqz, mod_lt_q); mk_axiom(eqz, mod_lt_q);
// if (!a.is_uminus(q)) if (!a.is_uminus(q))
// mk_axiom(mk_literal(m.mk_eq(mod, a.mk_mod(p, a.mk_uminus(q))))); mk_axiom(mk_literal(m.mk_eq(mod, a.mk_mod(p, a.mk_uminus(q)))));
m_arith_eq_adapter.mk_axioms(th.ensure_enode(mod_r), th.ensure_enode(p)); m_arith_eq_adapter.mk_axioms(th.ensure_enode(mod_r), th.ensure_enode(p));