Lean 4 fork for HoTT-compatible kernel extensions (Path types, transport, HITs). Maintained against upstream leanprover/lean4.
Find a file
Sebastian Graf cf527e05bd
feat: where ... finally section to assign leftover goals (#8723)
This PR implements a `finally` section following a (potentially empty)
`where` block. `where ... finally` opens a tactic sequence block in
which the goals are the unassigned metavariables from the definition
body and its auxiliary definitions that arise from use of `let rec` and
`where`.

This can be useful for discharging multiple proof obligations in the
definition body by a single invocation of a tactic such as `all_goals`:
```lean
example (i j : Nat) (xs : Array Nat) (hi : i < xs.size) (hj: j < xs.size) :=
  match i with
  | 0 => x
  | _ => xs[i]'?_ + xs[j]'?_
where x := 13
finally all_goals assumption
```

---------

Co-authored-by: Sebastian Graf <sg@lean-fro.org>
2025-06-20 15:51:28 +00:00
.github chore: CI: temporarily disable .olean cache 2025-06-18 11:12:56 +09:00
doc chore: improvements to release checklist and scripts (#8586) 2025-06-10 22:56:06 +00:00
images
nix
releases_drafts
script chore: remove old LEAN_AUTO_THREAD_FINALIZATION workaround (#8885) 2025-06-20 08:52:17 +00:00
src feat: where ... finally section to assign leftover goals (#8723) 2025-06-20 15:51:28 +00:00
stage0 chore: update stage0 2025-06-20 17:29:10 +02:00
tests feat: where ... finally section to assign leftover goals (#8723) 2025-06-20 15:51:28 +00:00
.gitattributes
.gitignore
.gitpod.Dockerfile
.gitpod.yml
.ignore
CMakeLists.txt
CMakePresets.json
CODEOWNERS chore: add @zwarich to the compiler CODEOWNERS (#8305) 2025-05-12 18:42:54 +00:00
CONTRIBUTING.md
flake.lock
flake.nix
lean-toolchain
lean.code-workspace
LICENSE
LICENSES
README.md chore: remove old documentation site (#7974) 2025-05-14 14:31:33 +00:00
RELEASES.md

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.