3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-04-24 04:43:31 +00:00

Fix #7951: add cancellation checks to polynomial gcd_prs and HNF computation

Add checkpoint() call in gcd_prs() main loop so polynomial GCD
computation respects rlimit/timeout. Add cancellation callback to
HNF calculation so it can be interrupted when the solver is cancelled.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
Lev Nachmanson 2026-02-27 10:09:51 -10:00
parent d906a0cc2d
commit ffe29b1433
3 changed files with 15 additions and 3 deletions

View file

@ -199,7 +199,9 @@ branch y_i >= ceil(y0_i) is impossible.
shrink_explanation(basis_rows);
}
hnf<general_matrix> h(m_A, d);
hnf<general_matrix> h(m_A, d, [this]() { return m_settings.get_cancel_flag(); });
if (h.is_cancelled())
return lia_move::undef;
vector<mpq> b = create_b(basis_rows);
#ifdef Z3DEBUG
SASSERT(m_A * x0 == b);