Lean 4 fork for HoTT-compatible kernel extensions (Path types, transport, HITs). Maintained against upstream leanprover/lean4.
Find a file
Kyle Miller 130b465aaf
feat: generalize elab_as_elim to allow arbitrary motive applications (#5510)
Now the elab-as-elim procedure allows eliminators whose result is an
arbitrary application of the motive. For example, the following is now
accepted. It will generalize `Int.natAbs _` from the expected type.
```lean
@[elab_as_elim]
theorem natAbs_elim {motive : Nat → Prop} (i : Int)
  (hpos : ∀ (n : Nat), i = n → motive n)
  (hneg : ∀ (n : Nat), i = -↑n → motive n) :
  motive (Int.natAbs i) := by sorry
```

This change simplifies the elaborator, since it no longer needs to keep
track of discriminants (which can easily be read off from the return
type of the eliminator) or the difference between "targets" and "extra
arguments" (which are now both "major arguments" that should be eagerly
elaborated).

Closes #4086
2024-09-28 22:30:14 +00:00
.github chore: pr-release.yml: fix bot’s username to look for (#5495) 2024-09-27 15:29:53 +00:00
doc chore: remove repeated words (#5438) 2024-09-24 03:40:11 +00:00
images
nix chore: fix Nix update-stage0 (#5290) 2024-09-09 16:27:24 +00:00
releases_drafts chore: release notes for 4.11.0 (#5221) 2024-09-02 00:19:41 +00:00
script chore: fix spelling mistakes in non-Lean files (#5430) 2024-09-23 21:11:20 +00:00
src feat: generalize elab_as_elim to allow arbitrary motive applications (#5510) 2024-09-28 22:30:14 +00:00
stage0 chore: update stage0 2024-09-28 14:05:01 +00:00
tests feat: generalize elab_as_elim to allow arbitrary motive applications (#5510) 2024-09-28 22:30:14 +00:00
.gitattributes chore: Do not hide stage0/src/stdlib_flags.h from diffs 2023-09-13 19:29:25 +02:00
.gitignore feat: support Lake for building Lean core oleans (#3886) 2024-06-13 16:18:24 +00:00
.ignore
CMakeLists.txt feat: import LeanSAT's tactic frontends 2024-08-28 18:14:39 +02:00
CMakePresets.json chore: modernize build instructions (#4032) 2024-05-23 10:55:07 +00:00
CODEOWNERS feat: import LeanSAT's tactic frontends 2024-08-28 18:14:39 +02:00
CONTRIBUTING.md doc: triage 2024-07-26 18:24:06 +02:00
debug.log feat: lake: Reservoir-related configuration for packages (#4770) 2024-09-02 16:07:08 +00:00
flake.lock feat: ship cadical (#4325) 2024-08-23 09:13:27 +00:00
flake.nix feat: ship cadical (#4325) 2024-08-23 09:13:27 +00:00
lean-toolchain doc: VS Code dev setup (#2961) 2023-11-30 08:35:03 +00:00
lean.code-workspace chore: add the lean4 extension to the vscode workspace (#3059) 2023-12-14 08:58:21 +00:00
LICENSE
LICENSES feat: ship cadical (#4325) 2024-08-23 09:13:27 +00:00
README.md doc: mention build doc source location (#4045) 2024-05-01 22:42:54 +00:00
RELEASES.md chore: fix spelling mistakes in RELEASES.md (#5440) 2024-09-24 03:20:13 +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).