3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-30 04:15:51 +00:00

deal with non-termination in new arithmetic solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2023-10-27 16:15:36 -07:00
parent f6c9ead10c
commit 52d16a11f9
3 changed files with 19 additions and 10 deletions

View file

@ -386,12 +386,12 @@ namespace arith {
ctx.push(push_back_vector<svector<std::pair<euf::th_eq, bool>>>(m_delayed_eqs));
}
void solver::mk_diseq_axiom(euf::th_eq const& e) {
if (is_bool(e.v1()))
void solver::mk_diseq_axiom(theory_var v1, theory_var v2) {
if (is_bool(v1))
return;
force_push();
expr* e1 = var2expr(e.v1());
expr* e2 = var2expr(e.v2());
expr* e1 = var2expr(v1);
expr* e2 = var2expr(v2);
if (e1->get_id() > e2->get_id())
std::swap(e1, e2);
if (m.are_distinct(e1, e2))