3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-06-19 12:23:38 +00:00

update ignore-int handling #6429

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2023-01-04 12:22:38 -08:00
parent 8d0d6d8f04
commit aa080a6b19

View file

@ -971,6 +971,7 @@ namespace arith {
} }
auto st = sat::check_result::CR_DONE; auto st = sat::check_result::CR_DONE;
bool int_undef = false;
TRACE("arith", ctx.display(tout);); TRACE("arith", ctx.display(tout););
@ -984,9 +985,7 @@ namespace arith {
return sat::check_result::CR_CONTINUE; return sat::check_result::CR_CONTINUE;
case l_undef: case l_undef:
TRACE("arith", tout << "check-lia giveup\n";); TRACE("arith", tout << "check-lia giveup\n";);
if (ctx.get_config().m_arith_ignore_int) int_undef = true;
return sat::check_result::CR_GIVEUP;
st = sat::check_result::CR_CONTINUE; st = sat::check_result::CR_CONTINUE;
break; break;
} }
@ -1012,6 +1011,8 @@ namespace arith {
} }
if (!check_delayed_eqs()) if (!check_delayed_eqs())
return sat::check_result::CR_CONTINUE; return sat::check_result::CR_CONTINUE;
if (ctx.get_config().m_arith_ignore_int && int_undef)
return sat::check_result::CR_GIVEUP;
if (m_not_handled != nullptr) { if (m_not_handled != nullptr) {
TRACE("arith", tout << "unhandled operator " << mk_pp(m_not_handled, m) << "\n";); TRACE("arith", tout << "unhandled operator " << mk_pp(m_not_handled, m) << "\n";);
return sat::check_result::CR_GIVEUP; return sat::check_result::CR_GIVEUP;