lean4-htt/tests
Kim Morrison 6b62fed82e
feat: proposed change to BitVec API (#5200)
This renames `BitVec.getLsb` to `getLsbD` (`D` for "default" value, i.e.
false), and introduces `getLsb?` and `getLsb'` (which we can rename to
`getLsb` after a deprecation cycle).

(Similarly for `getMsb`.)

Also adds a `GetElem` class so we can use `x[i]` and `x[i]?` notation. 

Later, we will turn
```
theorem getLsbD_eq_getElem?_getD (x : BitVec w) (i : Nat) (h : i < w) :
    x.getLsbD i = x[i]?.getD false
```
on as a `@[simp]` lemma.

This PR doesn't attempt to demonstrate the benefits, but I think both
arguments are going to get easier, and this will bring the BitVec API
closer in line to List/Array, etc.

---------

Co-authored-by: Markus Himmel <markus@lean-fro.org>
2024-08-30 02:00:57 +00:00
..
bench feat: add bv_decide benchmarks (#5203) 2024-08-29 12:45:58 +00:00
compiler fix: split libleanshared on Windows to avoid symbol limit 2024-08-12 14:14:42 +02:00
elabissues
ir
lean feat: proposed change to BitVec API (#5200) 2024-08-30 02:00:57 +00:00
pkg feat: accept user-defined options on the cmdline (#4741) 2024-08-02 12:24:56 +00:00
playground
plugin chore: when a linter crashes, prefix its name (#4967) 2024-08-12 02:36:42 +00:00
simpperf
.gitignore
common.sh
lean-toolchain