Alex Keizer
2a966b46f2
feat: bitblasting theorems about unsigned bitvector inequalities ( #4178 )
...
This PR adds theorems that relate unsigned bitvector comparisons
`BitVec.ult` and `BitVec.ule` to `BitVec.carry`. These lemmas are a
prerequisite to bit-blasting these comparisons in LeanSAT.
2024-05-16 00:01:31 +00:00
Harun Khan
b1bedbe0d2
feat: equivalence of bit-vector negation and bitblasted negation ( #3920 )
2024-05-06 06:03:28 +00:00
Scott Morrison
ae492265fe
chore: cleanup a bitblast proof ( #3598 )
2024-03-05 04:59:58 +00:00
Leonardo de Moura
4d4b79757d
chore: move BitVec to top level namespace
...
Motivation: `Nat`, `Int`, `Fin`, `UInt??` are already in the top level
namespace. We will eventually define `UInt??` and `Int??` using `BitVec`.
2024-02-23 15:15:57 -08:00
Scott Morrison
4e87d7f173
chore: rename Bool.toNat_le_one ( #3469 )
...
To merge after #3457 .
---------
Co-authored-by: Alex Keizer <alex@keizer.dev>
2024-02-23 02:07:18 +00:00
Scott Morrison
7f7d9bdaaf
chore: cleanup in BitVec/Bitblast.lean ( #3468 )
2024-02-23 00:47:30 +00:00
Alex Keizer
815200eaad
refactor: make BitVec.carry take bitvector arguments ( #3461 )
...
Every usage of `carry` followed the pattern: `carry _ x.toNat y.toNat`,
so we've refactorod `carry` to take the `BitVec`s as arguments, and made
the `toNat` part of its definition.
2024-02-22 19:25:01 +00:00
Joe Hendrix
61c22c88d7
chore: address copyright inconsistencies ( #3448 )
2024-02-22 06:23:50 -08:00
Scott Morrison
ca941249b9
chore: upstream Std.BitVec.* ( #3400 )
...
Co-authored-by: Leonardo de Moura <leomoura@amazon.com>
2024-02-19 12:43:34 -08:00