Lean 4 fork for HoTT-compatible kernel extensions (Path types, transport, HITs). Maintained against upstream leanprover/lean4.
@Kha When we write command macros, we can easily expand a command into multiple ones by using `mkNullNode [cmd_1, ... cmd_n]`. Before this commit, a tactic macro that expands into a sequence of tactics had to produce `mkNullNode [tac_1, "; ", ..., "; ", tac_n]`. I forgot the ";" a few times, and it produces very counterintuitive behavior. This commit is the last step for fixing this issue. The previous commits add the `withResultOf p f` combinator that allows us to implement variants of the `unboxSingleton` trick. Now, ``` `(tactic| t) ``` Produces just `t` as before, but ``` `(tactic| t_1; t_2) ``` produces ``` Syntax.node `Tactic.seq [[t_1, "; ", t_2]] ``` instead of ``` Syntax.node `null [t_1, "; ", t_2] ``` |
||
|---|---|---|
| .github | ||
| doc | ||
| images | ||
| lean4-mode | ||
| nix | ||
| script | ||
| src | ||
| stage0 | ||
| tests | ||
| tmp | ||
| .clang-format | ||
| .codecov.yml | ||
| .gitattributes | ||
| .gitignore | ||
| CMakeLists.txt | ||
| default.nix | ||
| LICENSE | ||
| README.md | ||
| shell.nix | ||
We are currently developing Lean 4. 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.