3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-03-18 11:04:09 +00:00

abort nla check_assignment after a set number of allowed failures

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
This commit is contained in:
Lev Nachmanson 2026-03-13 14:33:30 -10:00
parent b11e5a4f34
commit 9f4e1f5705
2 changed files with 0 additions and 3 deletions

View file

@ -1336,8 +1336,6 @@ lbool core::check(unsigned level) {
ret = m_nra.check_assignment();
if (ret != l_true)
++m_check_assignment_fail_cnt;
else if (!params().arith_nl_cha_abort_on_fail())
--m_check_assignment_fail_cnt;
}
if (no_effect() && should_run_bounded_nlsat())

View file

@ -62,7 +62,6 @@ def_module_params(module_name='smt',
('arith.nl.nra', BOOL, True, 'call nra_solver when incremental linearization does not produce a lemma, this option is ignored when arith.nl=false, relevant only if smt.arith.solver=6'),
('arith.nl.nra_check_assignment', BOOL, True, 'call check_assignment in nra_solver to verify current assignment against nlsat constraints'),
('arith.nl.nra_check_assignment_max_fail', UINT, 10, 'maximum consecutive check_assignment failures before disabling it'),
('arith.nl.cha_abort_on_fail', BOOL, False, 'if true, never decrement check_assignment failure counter on success'),
('arith.nl.branching', BOOL, True, 'branching on integer variables in non linear clusters'),
('arith.nl.expensive_patching', BOOL, False, 'use the expensive of monomials'),
('arith.nl.rounds', UINT, 1024, 'threshold for number of (nested) final checks for non linear arithmetic, relevant only if smt.arith.solver=2'),