feat: add defs for std bitvectors #8345
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Add various definitions for
Std.BitVec
, to bring it closer to feature parity with the existingBitvec
type.Co-authored-by: Harun Khan harun19@stanford.edu
Co-authored-by: mhk119 58151072+mhk119@users.noreply.github.com
Co-authored-by: Eric Wieser wieser.eric@gmail.com
These definitions are factored out from #5920. That PR is blocked (and has been for quite a long time) on not wanting to lose any API for bitvectors, and has become very large.
Thus, I propose we maintain parallel APIs for now, keeping the existing
Bitvec
type, and incrementally adding more API toStd.BitVec
until the latter is at a point where we indeed have equivalent results for everything, and only then removeBitvec
.This PR contains most of the definitions in the
Defs
file from #5920, except for various translations between bitvectors andList Bool
, since this depends on a function whose implementation is still under discussion (OfBits
).Although having two types for bitvectors is not exactly ideal, do note that this is already the case in
master
today, sinceStd.BitVec
is already defined in the version of std used by mathlib.