Skip to content

Restore stable quantifier benchmark behavior - #10665

Open
Nikolaj Bjorner (NikolajBjorner) wants to merge 2 commits into
masterfrom
regression-pattern-hash-order
Open

Restore stable quantifier benchmark behavior#10665
Nikolaj Bjorner (NikolajBjorner) wants to merge 2 commits into
masterfrom
regression-pattern-hash-order

Conversation

@NikolajBjorner

@NikolajBjorner Nikolaj Bjorner (NikolajBjorner) commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Summary

  • add an opt-in pi.legacy_nested_binders mode that reproduces pre-c56b2cbaa nested-binder candidate handling
  • restore the previous combine_hash implementation to avoid hash-order-sensitive solver regressions
  • preserve current pattern inference behavior by default

Regression analysis

Chronological replay from 965db51b5 identified c56b2cbaa and aa6dddbdf as transient pattern-inference regressions; 7c8c6a4df later superseded those changes and restored the useful patterns. 82a0d4297 introduced the persistent regression by changing hash-table/search ordering.

With regression-causing changes reverted, the Release replay endpoint solves issue #10645 in a 3.17s median. On the current Debug build, the benchmark now returns unsat in 39.7s instead of timing out after 60s.

Validation

Add an opt-in legacy nested-binder pattern inference mode and restore the previous hash combiner to avoid order-sensitive solver regressions.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The projection test specifically required the rejected combine_hash implementation to outperform the restored combiner. Keep the functional chained-hashtable coverage while removing that incompatible A/B guard.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant