lean4-htt/src/Lean
Wojciech Różowski 2ce55ba460
fix: catch exceptions in cbv rewrite simprocs to handle projections (#12562)
This PR fixes #12554 where the `cbv` tactic throws "unexpected kernel
projection term during structural definitional equality" when a rewrite
theorem's pattern contains a lambda and the expression being matched has
a `.proj` (kernel projection) at the corresponding position.

The `Sym` pattern matching infrastructure (`isDefEqMain` in
`Pattern.lean`) does not handle `.proj` expressions and can throw an
exception. Rather than presenting it as an error in `cbv`, we fail
quietly and let the `cbv` tactic try other fallback paths.

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 11:10:30 +00:00
..
Compiler refactor: rename instance_reducible to implicit_reducible (#12567) 2026-02-18 22:19:16 +00:00
Data perf: use pointer equality in Name.quickCmp (#12582) 2026-02-19 10:35:19 +00:00
DocString fix: error messages from Verso docstring parser (#12372) 2026-02-07 07:49:06 +00:00
Elab feat: make computed_fields respect inline (#12580) 2026-02-19 09:00:13 +00:00
Language chore: shake core (#12276) 2026-02-05 09:10:32 +00:00
LibrarySuggestions refactor: rename instance_reducible to implicit_reducible (#12567) 2026-02-18 22:19:16 +00:00
Linter chore: shake core (#12276) 2026-02-05 09:10:32 +00:00
Meta fix: catch exceptions in cbv rewrite simprocs to handle projections (#12562) 2026-02-19 11:10:30 +00:00
Parser fix: parse indented Verso docstrings specially (#12331) 2026-02-06 21:03:56 +00:00
ParserCompiler
PrettyPrinter chore: shake core (#12276) 2026-02-05 09:10:32 +00:00
Server fix: cancellation of non-incremental commands (#12553) 2026-02-18 12:12:47 +00:00
Util perf: put the compiler off the critical path (#12335) 2026-02-05 20:39:11 +00:00
Widget chore: shake core (#12276) 2026-02-05 09:10:32 +00:00
AddDecl.lean refactor: move getOriginalConstKind? into its own module to avoid future import cycle (#12265) 2026-02-01 16:18:51 +00:00
Attributes.lean fix: run @[init] declarations in declaration order (#12221) 2026-01-29 15:32:56 +00:00
AuxRecursor.lean perf: add introSubstEq shortcut (#12190) 2026-01-28 12:33:14 +00:00
BuiltinDocAttr.lean
Class.lean feat: add [univ_out_params] (#12423) 2026-02-11 15:42:00 +00:00
Compiler.lean
CoreM.lean chore: do not rely on Name.lt for ordering fvars in acLt (#12306) 2026-02-08 14:25:31 +00:00
Data.lean chore: remove unused Lean.Data.Xml (#12302) 2026-02-04 09:54:25 +00:00
Declaration.lean chore: shake core (#12276) 2026-02-05 09:10:32 +00:00
DeclarationRange.lean
DefEqAttrib.lean
DocString.lean
Elab.lean feat: add #import_path, assert_not_exists, assert_not_imported commands (#11726) 2025-12-19 04:09:33 +00:00
EnvExtension.lean fix: avoid panic in TagDeclarationExtension.tag on partial elaboration (#11882) 2026-01-05 00:36:58 +00:00
Environment.lean perf: do not export environment extensions without entries (#12508) 2026-02-16 17:34:41 +00:00
ErrorExplanation.lean chore: shake core (#12276) 2026-02-05 09:10:32 +00:00
Exception.lean refactor: move error explanation text to the manual (#11688) 2025-12-26 17:14:58 +00:00
Expr.lean refactor: reset reuse pass to LCNF (#12315) 2026-02-05 15:54:46 +00:00
ExtraModUses.lean feat: shake: make Mathlib-ready (#11496) 2025-12-05 09:37:58 +00:00
HeadIndex.lean
Hygiene.lean chore: do not set unused Option.Decl.group (#11307) 2025-11-21 16:44:38 +00:00
IdentifierSuggestion.lean chore: shake core (#12276) 2026-02-05 09:10:32 +00:00
ImportingFlag.lean
InternalExceptionId.lean chore: shake core (#12276) 2026-02-05 09:10:32 +00:00
KeyedDeclsAttribute.lean
LabelAttribute.lean chore: shake core (#12276) 2026-02-05 09:10:32 +00:00
Level.lean feat: more reliable universe level inference in inductive/structure commands (#12514) 2026-02-18 23:46:12 +00:00
LibrarySuggestions.lean fix: make library suggestions available in module files (#11373) 2025-11-26 05:39:27 +00:00
Linter.lean feat: lint coercions that are deprecated or banned in core (#11511) 2025-12-12 15:09:13 +00:00
LoadDynlib.lean chore: shake core (#12276) 2026-02-05 09:10:32 +00:00
LocalContext.lean chore: shake core (#12276) 2026-02-05 09:10:32 +00:00
Log.lean refactor: move error explanation text to the manual (#11688) 2025-12-26 17:14:58 +00:00
Message.lean chore: shake core (#12276) 2026-02-05 09:10:32 +00:00
Meta.lean refactor: have telescope support (#11914) 2026-01-06 19:20:25 +00:00
MetavarContext.lean chore: shake core (#12276) 2026-02-05 09:10:32 +00:00
Modifiers.lean
MonadEnv.lean feat: grind support for .ctorIdx (#11652) 2025-12-13 13:32:19 +00:00
Namespace.lean
OriginalConstKind.lean refactor: move getOriginalConstKind? into its own module to avoid future import cycle (#12265) 2026-02-01 16:18:51 +00:00
Parser.lean
ParserCompiler.lean chore: shake core (#12276) 2026-02-05 09:10:32 +00:00
PrettyPrinter.lean chore: shake core (#12276) 2026-02-05 09:10:32 +00:00
PrivateName.lean
ProjFns.lean chore: delete obsolete C++ file (#11561) 2025-12-09 15:47:54 +00:00
ReducibilityAttrs.lean refactor: rename instance_reducible to implicit_reducible (#12567) 2026-02-18 22:19:16 +00:00
Replay.lean feat: add declaration name to leanchecker error messages (#12525) 2026-02-17 16:08:00 +00:00
ReservedNameAction.lean
ResolveName.lean
Runtime.lean
ScopedEnvExtension.lean
Server.lean feat: revamp server logging (#10787) 2025-10-28 16:26:59 +00:00
Setup.lean fix: symbol clashes between packages (#11082) 2025-11-19 02:24:44 +00:00
Shell.lean chore: shake core (#12276) 2026-02-05 09:10:32 +00:00
Structure.lean chore: shake core (#12276) 2026-02-05 09:10:32 +00:00
SubExpr.lean chore: shake core (#12276) 2026-02-05 09:10:32 +00:00
Syntax.lean chore: shake core (#12276) 2026-02-05 09:10:32 +00:00
ToExpr.lean feat: support for Rat scientific literals (#10961) 2025-10-26 02:05:26 +00:00
ToLevel.lean
Util.lean
Widget.lean