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: add BitVec add/sub injectivity lemmas #6828

Merged
merged 2 commits into from
Jan 29, 2025

Conversation

vlad902
Copy link
Contributor

@vlad902 vlad902 commented Jan 28, 2025

This PR adds add/sub injectivity lemmas for BitVec, and then adds specialized forms with additional symmetries for the bv_normalize normal form.

Since I need neg_inj, I add not_inj/neg_inj at once, and use it in BitVec.not_beq_not instead of re-proving it.

This PR adds add/sub injectivity lemmas for BitVec, and then adds
specialized forms with additional symmetries for the bv_normalize normal
form.

Since I need `neg_inj`, I add `not_inj`/`neg_inj` at once, and use it in
`BitVec.not_beq_not` instead of re-proving it.
@vlad902
Copy link
Contributor Author

vlad902 commented Jan 28, 2025

changelog-library

@github-actions github-actions bot added the changelog-library Library label Jan 28, 2025
@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 Jan 28, 2025
@leanprover-community-bot
Copy link
Collaborator

Mathlib CI status (docs):

  • ❗ Batteries/Mathlib CI will not be attempted unless your PR branches off the nightly-with-mathlib branch. Try git rebase 1d9439752ccbbc3dd43b04048c039a6478b0dfac --onto 20c616503abe5ce4253c56dbcd7766a91c675ba0. (2025-01-28 21:55:43)

@hargoniX hargoniX added this pull request to the merge queue Jan 29, 2025
Merged via the queue into leanprover:master with commit 5c0231f Jan 29, 2025
14 checks passed
luisacicolini pushed a commit to opencompl/lean4 that referenced this pull request Feb 24, 2025
This PR adds add/sub injectivity lemmas for BitVec, and then adds
specialized forms with additional symmetries for the `bv_normalize`
normal form.

Since I need `neg_inj`, I add `not_inj`/`neg_inj` at once, and use it in
`BitVec.not_beq_not` instead of re-proving it.
luisacicolini pushed a commit to opencompl/lean4 that referenced this pull request Feb 25, 2025
This PR adds add/sub injectivity lemmas for BitVec, and then adds
specialized forms with additional symmetries for the `bv_normalize`
normal form.

Since I need `neg_inj`, I add `not_inj`/`neg_inj` at once, and use it in
`BitVec.not_beq_not` instead of re-proving it.
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