Lean 4 fork for HoTT-compatible kernel extensions (Path types, transport, HITs). Maintained against upstream leanprover/lean4.
Find a file
Siddharth 1059e25ca2
feat: BitVec.shiftLeft in terms of extractLsb' (#6743)
This PR adds rewrites that normalizes left shifts by extracting bits and
concatenating zeroes. If the shift amount is larger than the bit-width,
then the resulting bitvector is zero.

```lean
theorem shiftLeft_eq_zero {x : BitVec w} {n : Nat} (hn : w ≤ n) : x <<< n = 0#w

theorem shiftLeft_eq_concat_of_lt {x : BitVec w} {n : Nat} (hn : n < w) :
    x <<< n = ((x.extractLsb' 0 (w-n)).append (BitVec.zero n)).cast (by omega)
```
2025-01-24 15:14:50 +00:00
.github fix: Windows stage0 linking (#6622) 2025-01-14 09:09:50 +01:00
doc refactor: TerminationArgument → TerminationMeasure (#6727) 2025-01-23 10:41:38 +00:00
images
nix fix: Windows stage0 linking (#6622) 2025-01-14 09:09:50 +01:00
releases_drafts
script chore: update release checklist (#6637) 2025-01-14 10:18:46 +00:00
src feat: BitVec.shiftLeft in terms of extractLsb' (#6743) 2025-01-24 15:14:50 +00:00
stage0 chore: update stage0 2025-01-23 15:28:44 +00:00
tests fix: heterogenenous equality support in match conditions within grind (#6761) 2025-01-24 04:08:29 +00:00
.gitattributes
.gitignore
.gitpod.Dockerfile
.gitpod.yml
.ignore
CMakeLists.txt fix: Windows stage0 linking (#6622) 2025-01-14 09:09:50 +01:00
CMakePresets.json fix: prevent Task.get deadlocks from threadpool starvation (#6758) 2025-01-23 23:01:39 +00:00
CODEOWNERS
CONTRIBUTING.md
flake.lock
flake.nix fix: Windows stage0 linking (#6622) 2025-01-14 09:09:50 +01:00
lean-toolchain
lean.code-workspace
LICENSE
LICENSES
README.md
RELEASES.md doc: fix broken code blocks in RELEASES.md (#6527) 2025-01-04 08:08:12 +00:00

This is the repository for Lean 4.

About

Installation

See Setting Up Lean.

Contributing

Please read our Contribution Guidelines first.

Building from Source

See Building Lean (documentation source: doc/make/index.md).