Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: BitVec.extractLsb'_append_extractLsb'_eq_extractLsb' #7427

Merged
merged 1 commit into from
Mar 11, 2025

Conversation

bollu
Copy link
Contributor

@bollu bollu commented Mar 10, 2025

This PR implements the bitwuzla rule BV_CONCAT_EXTRACT. This will be used by the bitblaster to simplify adjacent extracts
into a single extract.

We also implement the negated version of the rule,
which allows adjacent not (extractLsb' _) to be simplified into a single not (extractLsb' _).

@bollu bollu requested a review from kim-em as a code owner March 10, 2025 17:46
@bollu
Copy link
Contributor Author

bollu commented Mar 10, 2025

changelog-library

@bollu bollu changed the title BV CONCAT EXTRACT feat: BitVec.extractLsb'_append_extractLsb'_eq_extractLsb' Mar 10, 2025
@github-actions github-actions bot added the changelog-library Library label Mar 10, 2025
@bollu bollu force-pushed the BV_CONCAT_EXTRACT branch from 416a7e6 to 2545940 Compare March 10, 2025 18:17
@github-actions github-actions bot added the toolchain-available A toolchain is available for this PR, at leanprover/lean4-pr-releases:pr-release-NNNN label Mar 10, 2025
@leanprover-community-bot
Copy link
Collaborator

leanprover-community-bot commented Mar 10, 2025

Mathlib CI status (docs):

  • ❗ Batteries/Mathlib CI will not be attempted unless your PR branches off the nightly-with-mathlib branch. Try git rebase 4593ff50f0a49d281a5ee417245195e7a9c26339 --onto 7bfa8f6296ebfebc497d5b30d34f494bcc9782a2. You can force Mathlib CI using the force-mathlib-ci label. (2025-03-10 18:49:58)
  • ❗ Batteries/Mathlib CI will not be attempted unless your PR branches off the nightly-with-mathlib branch. Try git rebase 4593ff50f0a49d281a5ee417245195e7a9c26339 --onto 8fc8e8ed19ef218022f5a94cbf5e472e3b777e44. You can force Mathlib CI using the force-mathlib-ci label. (2025-03-11 11:51:29)

This PR implements the bitwuzla rule
[`BV_CONCAT_EXTRACT`](https://github.com/bitwuzla/bitwuzla/blob/main/src/rewrite/rewrites_bv.cpp#L1146-L1176).
This will be used by the bitblaster to simplify adjacent `extract`s
into a single `extract`.

We also implement the negated version of the rule,
which allows adjacent `not (extractLsb' _)` to be simplified into
a single `not (extractLsb' _)`.
@bollu bollu force-pushed the BV_CONCAT_EXTRACT branch from 2545940 to f9cbb3c Compare March 11, 2025 11:27
@hargoniX hargoniX added this pull request to the merge queue Mar 11, 2025
Merged via the queue into leanprover:master with commit bfe7b1f Mar 11, 2025
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
changelog-library Library toolchain-available A toolchain is available for this PR, at leanprover/lean4-pr-releases:pr-release-NNNN
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants