You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Lean now defines types like UInt8, Int8, etc. We should use those, or at least define the scalars in terms of BitVec as it is a more natural representation of machine integers and also allows us to benefit from native support.
For instance, omega already supports reasoning about the bounds of bit vectors, meaning we don't have to do this work in scalar_tac:
example (x y : BitVec 8) : x.toNat + y.toNat ≤ 512 := by omega
We may want to wait a bit before updating the definitions, because there is good native support for BitVec, but not yet for the machine integers like UInt8 which are not properly handled by omega and bv_decide yet.
The text was updated successfully, but these errors were encountered:
Lean now defines types like
UInt8
,Int8
, etc. We should use those, or at least define the scalars in terms ofBitVec
as it is a more natural representation of machine integers and also allows us to benefit from native support.For instance,
omega
already supports reasoning about the bounds of bit vectors, meaning we don't have to do this work inscalar_tac
:We may want to wait a bit before updating the definitions, because there is good native support for
BitVec
, but not yet for the machine integers likeUInt8
which are not properly handled byomega
andbv_decide
yet.The text was updated successfully, but these errors were encountered: