lean4-htt/src
Leonardo de Moura 93683eb455
feat: enable backward.whnf.reducibleClassField (#12538)
This PR enables `backward.whnf.reducibleClassField` for v4.29.

The support is particularly important when the user marks a class field
as `[reducible]` and
the transparency mode is `.reducible`. For example, suppose `e` is `a ≤
b` where `a b : Nat`,
and `LE.le` is marked as `[reducible]`. Simply unfolding `LE.le` would
give `instLENat.1 a b`,
which would be stuck because `instLENat` has transparency
`[instance_reducible]`. To avoid this, when we unfold
a `[reducible]` class field, we also unfold the associated projection
`instLENat.1` using
`.instances` reducibility, ultimately returning `Nat.le a b`.

---------

Co-authored-by: Paul Reichert <6992158+datokrat@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Kim Morrison <kim@tqft.net>
2026-02-22 23:22:14 +00:00
..
bin
cmake chore: reformat all cmake files (#12218) 2026-01-28 18:23:08 +00:00
include/lean feat: derived value analysis for Array.uget (#12604) 2026-02-20 08:51:07 +00:00
Init feat: enable backward.whnf.reducibleClassField (#12538) 2026-02-22 23:22:14 +00:00
initialize
kernel perf: cache unfold_definition in the kernel (#12259) 2026-01-31 03:44:50 +00:00
lake feat: enable backward.whnf.reducibleClassField (#12538) 2026-02-22 23:22:14 +00:00
Lean feat: enable backward.whnf.reducibleClassField (#12538) 2026-02-22 23:22:14 +00:00
LeanChecker feat: add declaration name to leanchecker error messages (#12525) 2026-02-17 16:08:00 +00:00
library refactor: don't use shared_timed_mutex when not required anymore (#12434) 2026-02-11 12:53:42 +00:00
runtime feat: lazy initialization of closed terms (#12044) 2026-02-20 08:45:15 +00:00
shell chore: move test suite setup to tests/CMakeLists.txt (#12278) 2026-02-03 13:22:20 +00:00
Std feat: enable backward.whnf.reducibleClassField (#12538) 2026-02-22 23:22:14 +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.30.0 (#12526) 2026-02-17 19:56:15 +00:00
config.h.in
githash.h.in
Init.lean chore: shake core (#12276) 2026-02-05 09:10:32 +00:00
lakefile.toml.in feat: re-integrate lean4checker as leanchecker (#11887) 2026-01-08 09:41:33 +00:00
lean-toolchain
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 feat: re-integrate lean4checker as leanchecker (#11887) 2026-01-08 09:41:33 +00:00
out
Std.lean
stdlib.make.in chore: clean up stdlib.make.in (#12614) 2026-02-20 16:59:34 +00:00
stdlib_flags.h Revert "chore: temporarily disable proofs for bootstrap" 2026-02-05 13:41:34 +11:00
version.h.in