Lean 4 fork for HoTT-compatible kernel extensions (Path types, transport, HITs). Maintained against upstream leanprover/lean4.
Find a file
Joachim Breitner 54dd588fc2
fix: Use whnf for mutual recursion with types hiding (#2926)
the code stumbled over recursive functions whose type doesn’t have
enough manifest foralls, like:

```
def FunType := Nat → Nat

mutual
def foo : FunType
  | .zero => 0
  | .succ n => bar n
def bar : FunType
  | .zero => 0
  | .succ n => foo n
end
termination_by foo n => n; bar n => n
```

This can be fixed by using `whnf` in appropriate places, to expose the
`.forall` constructor.

Fixes #2925, comes with test case.
2023-11-22 11:31:36 +00:00
.github chore: run CI on merge_group (#2948) 2023-11-22 11:24:13 +00:00
.vscode doc: fix some syntax and link in the docs, and more 2021-10-10 11:36:43 +02:00
doc doc: Adjust contributor's docs to squash merging (#2927) 2023-11-21 10:13:43 +00:00
images chore(CMakeLists.txt): move Lean logo to make sure we can test leanemacs without installing Lean 2015-01-31 17:38:49 -08:00
nix fix: If src is a dir, assume the lean file has the full path (#2465) 2023-08-28 14:45:45 +02:00
script fix: most-recently-nightly-tag does not assume a 'nightly' remote (#2947) 2023-11-22 10:56:39 +00:00
src fix: Use whnf for mutual recursion with types hiding (#2926) 2023-11-22 11:31:36 +00:00
stage0 chore: update stage0 2023-11-21 18:59:22 +01:00
tests fix: Use whnf for mutual recursion with types hiding (#2926) 2023-11-22 11:31:36 +00:00
.gitattributes chore: Do not hide stage0/src/stdlib_flags.h from diffs 2023-09-13 19:29:25 +02:00
.gitignore chore: update tests to account for .lake 2023-11-13 20:31:24 -05:00
.ignore chore: ignore stage0/ (for rg etc.) 2022-03-18 15:28:20 +01:00
CMakeLists.txt feat: Web Assembly Build (#2599) 2023-10-04 09:04:20 +02:00
CODEOWNERS chore: more code owners 2023-11-20 09:30:18 +01:00
CONTRIBUTING.md doc: Adjust contributor's docs to squash merging (#2927) 2023-11-21 10:13:43 +00:00
default.nix doc: setup 2021-01-03 13:21:58 +01:00
flake.lock chore: Nix bump to LLVM 15 2023-07-28 10:56:54 +02:00
flake.nix chore: Nix: use strings instead of URL literals (#2172) 2023-03-28 10:10:24 +02:00
LICENSE chore: remove LICENSE header that confused GitHub 2021-11-18 09:42:35 +01:00
LICENSES chore: add GMP license for now 2021-11-18 09:42:35 +01:00
README.md doc: Update contribution guides (#2624) 2023-10-25 13:05:55 +11:00
RELEASES.md doc: release notes for recent lake fixes 2023-11-20 15:51:31 +00:00
shell.nix chore: Nix bump to LLVM 15 2023-07-28 10:56:54 +02:00

This is the repository for Lean 4.

We provide nightly releases and have just begun regular stable point releases.

About

Installation

See Setting Up Lean.

Contributing

Please read our Contribution Guidelines first.

Building from Source

See Building Lean.