Lean 4 fork for HoTT-compatible kernel extensions (Path types, transport, HITs). Maintained against upstream leanprover/lean4.
Find a file
Leonardo de Moura 4ee131981d feat: in an inductive family the longest fixed prefix of indices is now promoted to parameters
This modification is relevant for fixing regressions on recent changes
to the auto implicit behavior for inductive families.

The following declarations are now accepted:
```lean
inductive HasType : Fin n → Vector Ty n → Ty → Type where
  | stop : HasType 0 (ty :: ctx) ty
  | pop  : HasType k ctx ty → HasType k.succ (u :: ctx) ty

inductive Sublist : List α → List α → Prop
  | slnil : Sublist [] []
  | cons l₁ l₂ a : Sublist l₁ l₂ → Sublist l₁ (a :: l₂)
  | cons2 l₁ l₂ a : Sublist l₁ l₂ → Sublist (a :: l₁) (a :: l₂)

inductive Lst : Type u → Type u
  | nil  : Lst α
  | cons : α → Lst α → Lst α
```

TODO: universe inference for `inductive` should be improved. The
current approach is not good enough when we have auto implicits.

TODO: allow implicit fixed indices that do not depend on indices that
cannot be moved to become parameters.
2022-03-08 17:56:34 -08:00
.github chore: CI: adjust nightly release time 2022-03-07 15:39:58 +01:00
.vscode doc: fix some syntax and link in the docs, and more 2021-10-10 11:36:43 +02:00
doc fix: documentation 2022-03-03 18:18:37 -08: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 test: reimplement package tests using Lake 2022-02-09 12:21:11 -08:00
script fix: Windows: do not use standard sysroot 2022-01-30 17:43:14 +01:00
src feat: in an inductive family the longest fixed prefix of indices is now promoted to parameters 2022-03-08 17:56:34 -08:00
stage0 chore: update stage0 2022-03-06 08:01:23 -08:00
tests feat: in an inductive family the longest fixed prefix of indices is now promoted to parameters 2022-03-08 17:56:34 -08:00
.gitattributes chore: fix changelog path... 2022-02-09 09:42:17 +01:00
.gitignore fix: UTF-8 file path support for lean on Windows 2021-09-22 12:21:52 +02:00
.gitmodules chore: add ignore = untracked 2021-10-18 14:39:43 -07:00
CMakeLists.txt fix: forward USE_GMP to stage 0 2021-12-02 15:52:48 +01:00
CONTRIBUTING.md doc: fix a few links 2021-11-09 09:55:11 +01:00
default.nix doc: setup 2021-01-03 13:21:58 +01:00
flake.lock chore: move out lean4-mode 2022-01-24 21:23:53 +01:00
flake.nix chore: move out lean4-mode 2022-01-24 21:23:53 +01: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 chore: add link to RELEASES.md 2022-03-03 11:31:24 -08:00
RELEASES.md feat: in an inductive family the longest fixed prefix of indices is now promoted to parameters 2022-03-08 17:56:34 -08:00
shell.nix chore: CI: put llvm-symbolizer in PATH for asan/lsan backtraces 2022-01-10 18:35:22 +01:00

This is the repository for Lean 4, which is currently being released as milestone releases towards a first stable release. Lean 3 is still the latest stable release.

About

Installation

See Setting Up Lean.

Contributing

Please read our Contribution Guidelines first.

Building from Source

See Building Lean.