lean4-htt/tests
Leonardo de Moura 73751bbb27
fix: interaction between simp and backward.whnf.reducibleClassField (#12622)
This PR fixes a bug where `simp` made no progress on class projection
reductions when `backward.whnf.reducibleClassField` is `true`.

- In `reduceProjFn?`, for class projections applied to constructor
instances (`Class.projFn (Class.mk ...)`), the code called
`reduceProjCont? (← unfoldDefinitionAny? e)`. The helper
`reduceProjCont?` expects the unfolded result to have a `.proj` head so
it can apply `reduceProj?`. However, when `reducibleClassField` is
enabled, `unfoldDefault` in WHNF.lean already reduces the `.proj` node
during unfolding, so `reduceProjCont?` discards the fully-reduced
result.
- The fix uses `unfoldDefinitionAny?` directly, bypassing
`reduceProjCont?`. The dsimp traversal revisits the result (via
`.visit`) and handles any remaining `.proj` nodes naturally.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 16:37:11 +00:00
..
bench test: use Sym.simp to unfold in VCGen benchmarks (#12593) 2026-02-19 14:42:54 +00:00
bench-radar chore: fail benchmarks if lakeprof upload fails (#12313) 2026-02-04 15:53:33 +00:00
compiler chore: remove orphaned *.expected.out files (#12357) 2026-02-06 17:05:43 +00:00
elabissues
ir
lake feat: lake: system-wide cache configuration (#12490) 2026-02-20 05:48:58 +00:00
lean fix: interaction between simp and backward.whnf.reducibleClassField (#12622) 2026-02-20 16:37:11 +00:00
pkg refactor: rename instance_reducible to implicit_reducible (#12567) 2026-02-18 22:19:16 +00:00
playground
plugin
simpperf
.gitignore
CMakeLists.txt chore: remove outdated trust0 test (#12401) 2026-02-10 13:07:10 +00:00
common.sh feat: re-integrate lean4checker as leanchecker (#11887) 2026-01-08 09:41:33 +00:00
lakefile.toml
lean-toolchain