lean4-htt/src/Lean
Kim Morrison 9e241a4087
fix: revert "split ngen on async elab" (#12148)
This PR reverts #12000, which introduced a regression where `simp`
incorrectly rejects valid rewrites for perm lemmas.

The issue is that `NameGenerator.mkChild` creates names that don't
maintain the ordering assumption used by `acLt` for perm lemma
decisions. For example, after the change:
- Child generator creates names like `_uniq.102.2`
- Parent continues with `_uniq.7`
- But `Name.lt (.num (.num `_uniq 102) 2) (.num `_uniq 7)` is true

This causes fvars created later (in async tasks) to compare as smaller
than fvars created earlier, breaking the assumption that later fvars
compare greater according to `Name.lt`.

Fixes #12136.

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

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 03:18:24 +00:00
..
Compiler refactor: use isRecursiveDefinition when validating macro_inline (#12106) 2026-01-22 16:31:34 +00:00
Data perf: Options.hasTrace (#12001) 2026-01-16 09:03:40 +00:00
DocString chore: make Verso module docstring API more like that for Markdown (#12093) 2026-01-22 04:45:49 +00:00
Elab fix: revert "split ngen on async elab" (#12148) 2026-01-25 03:18:24 +00:00
Language perf: Options.hasTrace (#12001) 2026-01-16 09:03:40 +00:00
LibrarySuggestions fix: allow private proof-valued structure fields in library suggestions (#11962) 2026-01-10 08:40:54 +00:00
Linter feat: lint coercions that are deprecated or banned in core (#11511) 2025-12-12 15:09:13 +00:00
Meta test: local rewrite with Sym.simp (#12147) 2026-01-25 01:32:50 +00:00
Parser fix: make first token detection work in modules (#12047) 2026-01-20 11:12:05 +00:00
ParserCompiler
PrettyPrinter perf: Options.hasTrace (#12001) 2026-01-16 09:03:40 +00:00
Server fix: make first token detection work in modules (#12047) 2026-01-20 11:12:05 +00:00
Util perf: Options.hasTrace (#12001) 2026-01-16 09:03:40 +00:00
Widget
AddDecl.lean chore: use backticks for sorry in diagnostic messages (#11608) 2025-12-15 14:30:21 +00:00
Attributes.lean chore: fix spelling (#11531) 2025-12-06 13:54:27 +00:00
AuxRecursor.lean perf: handle per-constructor noConfusion in toLCNF (#11566) 2025-12-10 09:03:55 +00:00
BuiltinDocAttr.lean
Class.lean
Compiler.lean
CoreM.lean fix: revert "split ngen on async elab" (#12148) 2026-01-25 03:18:24 +00:00
Data.lean
Declaration.lean
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: make Environment.getModuleIdx? constant-time (#12068) 2026-01-21 14:38:28 +00:00
ErrorExplanation.lean refactor: move error explanation text to the manual (#11688) 2025-12-26 17:14:58 +00:00
Exception.lean refactor: move error explanation text to the manual (#11688) 2025-12-26 17:14:58 +00:00
Expr.lean feat: add simpControl simproc for if-then-else simplification (#12035) 2026-01-18 04:14:26 +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: remove NameMapExtension abbreviation (#11632) 2025-12-12 12:34:53 +00:00
ImportingFlag.lean
InternalExceptionId.lean
KeyedDeclsAttribute.lean
LabelAttribute.lean
Level.lean fix: move the monad argument for ForIn, ForIn', and ForM (#10204) 2025-11-25 12:20:37 +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 refactor: use String.Slice in String.take and variants (#11180) 2025-11-18 16:13:48 +00:00
LocalContext.lean feat: support for incrementally processing hypotheses in grind (#11787) 2025-12-24 02:50:22 +00:00
Log.lean refactor: move error explanation text to the manual (#11688) 2025-12-26 17:14:58 +00:00
Message.lean perf: Options.hasTrace (#12001) 2026-01-16 09:03:40 +00:00
Meta.lean refactor: have telescope support (#11914) 2026-01-06 19:20:25 +00:00
MetavarContext.lean perf: Options.hasTrace (#12001) 2026-01-16 09:03:40 +00:00
Modifiers.lean
MonadEnv.lean feat: grind support for .ctorIdx (#11652) 2025-12-13 13:32:19 +00:00
Namespace.lean
Parser.lean
ParserCompiler.lean doc: correct typos in documentation and comments (#11465) 2025-12-02 06:38:05 +00:00
PrettyPrinter.lean chore: do not set unused Option.Decl.group (#11307) 2025-11-21 16:44:38 +00:00
PrivateName.lean
ProjFns.lean chore: delete obsolete C++ file (#11561) 2025-12-09 15:47:54 +00:00
ReducibilityAttrs.lean fix: global visibility attributes should be allowed on non-exposed definitions (#12026) 2026-01-16 14:33:08 +00:00
Replay.lean
ReservedNameAction.lean
ResolveName.lean
Runtime.lean
ScopedEnvExtension.lean
Server.lean
Setup.lean fix: symbol clashes between packages (#11082) 2025-11-19 02:24:44 +00:00
Shell.lean perf: Options.hasTrace (#12001) 2026-01-16 09:03:40 +00:00
Structure.lean
SubExpr.lean refactor: use String.split instead of String.splitOn or String.splitToList (#11250) 2025-11-19 09:35:19 +00:00
Syntax.lean fix: move the monad argument for ForIn, ForIn', and ForM (#10204) 2025-11-25 12:20:37 +00:00
ToExpr.lean
ToLevel.lean
Util.lean
Widget.lean