3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-03-19 03:23:10 +00:00

Add cha_abort_on_fail parameter to control failure counter decrement

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
Lev Nachmanson 2026-03-13 07:59:09 -10:00
parent 7c9f930ef1
commit b11e5a4f34
2 changed files with 2 additions and 1 deletions

View file

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

View file

@ -62,6 +62,7 @@ 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'),