lean4-htt/src
Joachim Breitner 861f722844
fix: handle multi-discriminant casesOn in WF unfold equation generation (#13232)
This PR fixes a panic when compiling mutually recursive definitions that
use `casesOn` on indexed inductive types (e.g. `Vect`). The
`splitMatchOrCasesOn` function in `WF.Unfold` asserted
`matcherInfo.numDiscrs = 1`, but for indexed types the casesOn recursor
has multiple discriminants (indices + major premise). The fix uses the
last discriminant (the major premise) and lets the `cases` tactic handle
index discriminants automatically.

Closes #13015

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-01 15:23:13 +00:00
..
bin perf: separate meta and non-meta initializers (#12016) 2026-02-26 08:05:19 +00:00
cmake chore: reformat all cmake files (#12218) 2026-01-28 18:23:08 +00:00
include/lean perf: mark inhabited arguments to extern as borrowed (#13094) 2026-03-24 13:54:06 +00:00
Init fix: assorted fixes in the string library (#13201) 2026-03-31 06:28:20 +00:00
initialize
kernel feat: theorems are opaque (#12973) 2026-03-23 13:57:07 +00:00
lake style: correct typos in comments and documentation (#13181) 2026-03-30 07:00:18 +00:00
Lean fix: handle multi-discriminant casesOn in WF unfold equation generation (#13232) 2026-04-01 15:23:13 +00:00
library fix: potential Array.get!Internal leaks part 2 (#13148) 2026-03-27 02:51:39 +00:00
runtime fix: missing borrow annotations in Std.Internal.UV.System (#13172) 2026-03-31 15:10:23 +00:00
shell chore: move test suite setup to tests/CMakeLists.txt (#12278) 2026-02-03 13:22:20 +00:00
Std fix: missing borrow annotations in Std.Internal.UV.System (#13172) 2026-03-31 15:10:23 +00:00
util chore: update to c++20 (#12117) 2026-02-11 01:17:40 +00:00
cadical.mk
CMakeLists.txt chore: begin development cycle for v4.31.0 (#13230) 2026-04-01 12:23:00 +00:00
config.h.in
githash.h.in
Init.lean feat: add cbv_simproc infrastructure for user-extensible cbv simplification procedures (#12597) 2026-03-10 10:59:13 +00:00
lakefile.toml.in fix: use correct shared library directory for Lake plugin on Windows (#13128) 2026-03-31 16:33:58 +00:00
lean-toolchain chore: relative lean-toolchains (#12652) 2026-02-25 10:23:35 +00:00
Lean.lean refactor: move getOriginalConstKind? into its own module to avoid future import cycle (#12265) 2026-02-01 16:18:51 +00:00
lean.mk.in
Leanc.lean
LeanChecker.lean refactor: remove Lean.Environment.replay from core (#12972) 2026-03-18 22:11:42 +00:00
LeanIR.lean feat: experimental option to move non-meta compilation out of lean build step (#10291) 2026-03-20 10:39:39 +00:00
out
Std.lean
stdlib.make.in chore: strip binaries only in release builds (#13208) 2026-03-31 17:18:43 +00:00
stdlib_flags.h chore: consistent build flags between USE_LAKE ON and OFF (#12941) 2026-03-17 11:02:55 +00:00
version.h.in