Skip to content

Fix mult slt mult rewrite rule - #13042

Merged
ajreynol merged 1 commit into
cvc5:mainfrom
ajreynol:fix13039
Oct 5, 2026
Merged

ajreynol merged 1 commit into
cvc5:mainfrom
ajreynol:fix13039

Conversation

@ajreynol

@ajreynol ajreynol commented Oct 4, 2026 •

Copy link
Copy Markdown
Member

Fixes #13039.

The bug appears to be in the original implementation of this rewrite rule from 13cc0e9.

This rewrite rule has a very specific shape that appears to target specific benchmarks from SMT-LIB; it is unlikely that this unsoundness would show up in the wild.

This adds two variants we were unsound on, both of which we (correctly) fail when using --check-proofs-complete on main prior to this PR, due to failure to construct a complete proof.

Co-Authored-By: Claude Opus 5 noreply@anthropic.com

@ajreynol
ajreynol requested a review from mpreiner October 4, 2026 15:10
@ajreynol ajreynol added major Priority simple Complexity labels Oct 4, 2026
@ajreynol ajreynol changed the title Fix mult slt rewrite rule Fix mult slt mult rewrite rule Oct 4, 2026
@ajreynol
ajreynol added this pull request to the merge queue Oct 5, 2026
Merged via the queue into cvc5:main with commit 080e371 Oct 5, 2026
18 checks passed
@ajreynol
ajreynol deleted the fix13039 branch October 5, 2026 15:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

major Priority simple Complexity

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Refutational Soundness bug] Incorrect UNSAT for mixed zero/sign-extended BV multiplication

2 participants