Lean 4 fork for HoTT-compatible kernel extensions (Path types, transport, HITs). Maintained against upstream leanprover/lean4.
Find a file
Leonardo de Moura efc3a320fe chore: prepare to fix ambiguity at induction/cases notation
@Kha I was writing the following example
```
  ...
  induction as
  | nil          => cases h -- `h` is an empty type
  | cons b bs ih => cases h
    | head a bs => exact ⟨[], ⟨bs, rfl⟩⟩
    | tail a b bs h1 => ...
```
The current `syntax` assumes the `| cons b bs ih => ...` alternative
is part of the first `cases h`. Forcing the `|` to occur in a column
>= of the corresponding `cases` is not a nice solution since it would
preven us from writing the second `cases` as I wrote it above.
That is we would have to write
```
  induction as
  | nil          => cases h -- `h` is an empty type
  | cons b bs ih =>
    cases h
    | head a bs => exact ⟨[], ⟨bs, rfl⟩⟩
    | tail a b bs h1 => ...
```
or
```
  induction as
  | nil          => cases h -- `h` is an empty type
  | cons b bs ih => cases h
                    | head a bs => exact ⟨[], ⟨bs, rfl⟩⟩
                    | tail a b bs h1 => ...
```
I think the best solution is to use `with` when we have explicit
alternatives with `|`. The new syntax is similar to `match ... with | ...`
That is, we would write
```
  ...
  induction as with
  | nil          => cases h
  | cons b bs ih => cases h with
    | head a bs => exact ⟨[], ⟨bs, rfl⟩⟩
    | tail a b bs h1 => ...
```
2020-11-24 14:33:19 -08:00
.github fix: Nix: don't try to push PRs 2020-11-24 19:16:27 +01:00
doc chore: cleaner structure/class syntax 2020-11-24 13:07:43 -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
lean4-mode chore: Nix: disable dirty Git tree warning & fix lean4-diff-test-file 2020-11-24 20:05:24 +01:00
nix chore: Nix: disable dirty Git tree warning & fix lean4-diff-test-file 2020-11-24 20:05:24 +01:00
script chore: delete obsolete scripts 2020-10-14 19:14:00 +02:00
src chore: prepare to fix ambiguity at induction/cases notation 2020-11-24 14:33:19 -08:00
stage0 feat: allow specifying file name with --stdin 2020-11-24 19:16:27 +01:00
tests chore: cleaner structure/class syntax 2020-11-24 13:07:43 -08:00
tmp chore: remove tactic framework dependency 2020-11-10 14:32:58 -08:00
.gitattributes chore: restore marking stage0/ as binary files, which we lost at some point 2020-08-14 11:12:13 +02:00
.gitignore chore: ignore result files from nix build 2020-11-24 19:16:27 +01:00
CMakeLists.txt chore: use standard release build for stage 0 2020-10-12 10:34:48 +02:00
default.nix feat: Nix: compatibility default.nix 2020-11-24 19:16:27 +01:00
flake.lock feat: Nix: mdbook 2020-11-24 19:16:27 +01:00
flake.nix chore: Nix: disable dirty Git tree warning & fix lean4-diff-test-file 2020-11-24 20:05:24 +01:00
LICENSE Add LICENSE file 2013-07-15 18:55:48 -07:00
README.md chore: add link to manual 2020-11-23 10:21:52 -08:00
shell.nix fix: CI: Linux release job 2020-11-24 19:16:27 +01:00

We are currently developing Lean 4. The Lean 4 manual (work in progress) will give you an overview of the language.

Lean 3 is still the latest official release. This repository contains work in progress.

Important. Unless you are one of our collaborators

  • We strongly suggest you use Lean 3.
  • Pull requests are not welcome.
  • New issues are not welcome, and will be closed without any feedback.