Lean 4 fork for HoTT-compatible kernel extensions (Path types, transport, HITs). Maintained against upstream leanprover/lean4.
Find a file
Kim Morrison 6d5ec050f4
fix: instantiate metavariables when collecting a goal's constants (#13748)
This PR fixes premise selection silently dropping relevant premises when
the goal was reached via `induction`.

`MVarId.getRelevantConstants` and `MVarId.getConstants` walked the raw
goal type returned by `getType`, which after `induction` is `?motive
arg` with `?motive` an assigned-but-unsubstituted metavariable. The
constant fold treats the metavariable as an opaque leaf, so every
constant in the goal predicate is lost. Instantiating metavariables
first recovers them.

Thanks to Xavier Généreux for the report.

🤖 Prepared with Claude Code

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-18 15:52:13 +00:00
.claude doc: add CLAUDE.md guidance on rebasing vs changing PR base (#13652) 2026-05-09 11:34:50 +00:00
.github chore: CI: build everything with Lake (#13721) 2026-05-16 17:11:25 +00:00
.vscode chore: fixes from #13103 "enable separate codegen" (#13241) 2026-04-02 11:13:22 +00:00
doc chore: adjust dev-release preset (#13741) 2026-05-16 05:32:16 +00:00
images
releases_drafts chore: remove stale release draft notes (#12518) 2026-02-17 19:56:23 +00:00
script chore: update release tooling and docs (#13631) 2026-05-04 15:33:36 +00:00
src fix: instantiate metavariables when collecting a goal's constants (#13748) 2026-05-18 15:52:13 +00:00
stage0 chore: update stage0 2026-05-15 09:14:30 +00:00
tests fix: instantiate metavariables when collecting a goal's constants (#13748) 2026-05-18 15:52:13 +00:00
.gitattributes chore: migrate more tests to new test suite (#12809) 2026-03-06 16:52:01 +00:00
.gitignore chore: update release tooling and docs (#13631) 2026-05-04 15:33:36 +00:00
.gitpod.Dockerfile
.gitpod.yml chore: strip binaries only in release builds (#13208) 2026-03-31 17:18:43 +00:00
.ignore
AGENTS.md chore: add AGENTS.md symlink to CLAUDE.md (#13461) 2026-04-18 06:48:05 +00:00
CMakeLists.txt chore: use the lean-llvm LLVM for benchmarking (#13634) 2026-05-05 14:26:08 +00:00
CMakePresets.json chore: adjust dev-release preset (#13741) 2026-05-16 05:32:16 +00:00
CODEOWNERS chore: make @hargoniX code owner of the compiler (#10732) 2025-10-10 04:43:38 +00:00
CONTRIBUTING.md chore: migrate pkg tests (#12889) 2026-03-11 18:55:46 +00:00
flake.lock chore: update to c++20 (#12117) 2026-02-11 01:17:40 +00:00
flake.nix chore: add aarch64-darwin to flake (#12915) 2026-03-18 15:55:34 +00:00
lean-toolchain chore: relative lean-toolchains (#12652) 2026-02-25 10:23:35 +00:00
LICENSE
LICENSES feat: bundle leantar with Lean (#12822) 2026-03-09 20:10:59 +00:00
README.md doc: update URLs that are currently pointing to redirects (#10397) 2025-09-17 15:50:07 +00:00
RELEASES.md chore: updates to release_checklist.md (#7817) 2025-04-04 03:45:36 +00:00

This is the repository for Lean 4.

About

Installation

See Install Lean.

Contributing

Please read our Contribution Guidelines first.

Building from Source

See Building Lean.