lean4-htt/tests
Wojciech Różowski dae150a976
fix: handle AppBuilderException in cbv tactic if the projection function is dependent (#12460)
This PR fixes an `AppBuilder` exception in the `cbv` tactic when
simplifying projections whose projection function is dependent (closes
#12457).

Previously, `handleProj` unconditionally used `mkCongrArg` to prove `e.i
= e'.i` from `e = e'`, but `mkCongrArg` requires a non-dependent
function. For dependent projections (e.g., `fun x => x.2 : (x :
String.Slice) → x.1.Pos`), this would fail.

Now, `handleProj` first checks whether the projection function type is
non-dependent (a simple arrow). If so, it proceeds with `mkCongrArg` as
before. Otherwise, it falls back to:
1. Attempting to reduce the projection directly.
2. If reduction fails, using a heterogeneous congruence lemma
(`mkHCongr`) converted to an equality via `mkEqOfHEq`, provided the
original and rewritten struct are definitionally equal.
2026-02-13 14:21:13 +00:00
..
bench test: add cbv benchmark for evaluating Decidable.decide (#12467) 2026-02-13 13:25:35 +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: support revised nightly releases (nightly-YYYY-MM-DD-revK) (#12461) 2026-02-13 00:41:04 +00:00
lean fix: handle AppBuilderException in cbv tactic if the projection function is dependent (#12460) 2026-02-13 14:21:13 +00:00
pkg fix: no defeq equations for irreducible definitions (#12429) 2026-02-11 11:49:10 +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