-
Notifications
You must be signed in to change notification settings - Fork 451
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
refactor: redefine unsigned fixed width integers in terms of BitVec #5323
Conversation
Mathlib CI status (docs):
|
41413d4
to
d0278ff
Compare
Looks great. Could you leave a deprecation in place for Agree to marking
Would you mind rebasing onto |
(I'm keen to have this in, as I'm thinking about |
91cb45d
to
6373762
Compare
a518e40
to
0f9eaa8
Compare
417e7f1
to
e4b5f70
Compare
e4b5f70
to
27a4f60
Compare
I made a few choices so far that can probably be discussed:
modn
onUInt
, nobody seems to use it apart from the definition ofshift
which can use normalmod
USize.size
in favor for a normal one. The motivation was to allowOfNat
to work which doesn't seem to be necessary anymore afaict..val
, should we maybe mark it deprecated?.val
in basically all theorems as the proper next level of API would now be.toBitVec
. We could probably re-prove them but it would be more annoying given the change of definition.log2
in terms ofBitVec
as this would require alog2
inBitVec
as well, do we want this?<
onUInt
andNat
. These were previously not needed because defeq was used all over the place to save us. I did not yet generalize these to all types as I wasn't sure if they are the appropriate lemma that we want to have.