lean4-htt/src/Lean/Elab
Sebastian Ullrich e1d15946f7
feat: elaborate theorem bodies in parallel (#7084)
This PR enables the elaboration of theorem bodies, i.e. proofs, to
happen in parallel to each other as well as to other elaboration tasks.

Specifically, to be eligible for parallel proof elaboration,
* the theorem must not be in a `mutual` block
* `deprecated.oldSectionVars` must not be set
* `Elab.async` must be set (currently defaults to `true` in the language
server, `false` on the cmdline)

To be activated for downstream projects (i.e. in stage 1) pending
further Mathlib validation.
2025-03-14 07:50:42 +00:00
..
Deriving feat: allow cond to be used in proofs (#7141) 2025-03-04 12:10:29 +00:00
InfoTree feat: allow async elab tasks to contribute to info trees reported to linters and request handlers (#7457) 2025-03-13 15:09:00 +00:00
PreDefinition feat: elaborate theorem bodies in parallel (#7084) 2025-03-14 07:50:42 +00:00
Quotation feat: reserved names (#3675) 2024-03-15 00:33:22 +00:00
Tactic feat: elaborate theorem bodies in parallel (#7084) 2025-03-14 07:50:42 +00:00
App.lean fix: move auxDeclToFullName to LocalContext to fix name (un)resolution (#7075) 2025-03-03 16:10:54 +00:00
Arg.lean chore: rename Array.back to back! (#5897) 2024-10-31 09:18:18 +00:00
Attributes.lean chore: fix linter errors (#4502) 2024-06-19 18:24:08 +00:00
AutoBound.lean doc: fix option name (#5150) 2024-08-25 07:16:44 +00:00
AuxDef.lean chore: fix spelling mistakes in src/Lean/Elab/ (#5435) 2024-09-23 21:58:16 +00:00
BinderPredicates.lean perf: add prelude to all Lean modules 2024-02-18 14:55:17 -08:00
Binders.lean feat: localize universe metavariable errors at let bindings and fun binders (#5402) 2024-09-24 05:30:42 +00:00
BindersUtil.lean perf: add prelude to all Lean modules 2024-02-18 14:55:17 -08:00
BuiltinCommand.lean feat: language reference links and examples in docstrings (#7240) 2025-03-12 09:17:27 +00:00
BuiltinEvalCommand.lean chore: remove unused deriving handler argument syntax (#5265) 2024-11-01 22:41:38 +00:00
BuiltinNotation.lean feat: debug_assert! (#7256) 2025-03-03 16:34:44 +00:00
BuiltinTerm.lean feat: use new structInstFields parser to tag structure instance fields 2024-11-19 09:26:58 +01:00
Calc.lean chore: add missing diff-exposing in type/value mismatch errors (#6484) 2024-12-31 17:47:12 +00:00
CheckTactic.lean chore: add missing diff-exposing in type/value mismatch errors (#6484) 2024-12-31 17:47:12 +00:00
Command.lean feat: elaborate theorem bodies in parallel (#7084) 2025-03-14 07:50:42 +00:00
ComputedFields.lean refactor: Split Constructions module (#4656) 2024-07-05 08:25:44 +00:00
Config.lean perf: add prelude to all Lean modules 2024-02-18 14:55:17 -08:00
Declaration.lean feat: inlay hints for auto-implicits (#6768) 2025-02-04 17:36:49 +00:00
DeclarationRange.lean feat: inlay hints for auto-implicits (#6768) 2025-02-04 17:36:49 +00:00
DeclModifiers.lean feat: language reference links and examples in docstrings (#7240) 2025-03-12 09:17:27 +00:00
DeclNameGen.lean refactor: more idiomatic syntax for if h: (#5567) 2024-10-01 15:23:54 +00:00
DeclUtil.lean feat: localize universe metavariable errors at let bindings and fun binders (#5402) 2024-09-24 05:30:42 +00:00
DefView.lean fix: cancel computations within command elaboration as soon as reuse is ruled out (#7241) 2025-03-03 10:37:10 +00:00
Deriving.lean feat: upstream ToExpr deriving handler from Mathlib (#6473) 2024-12-31 15:11:53 +00:00
Do.lean feat: debug_assert! (#7256) 2025-03-03 16:34:44 +00:00
ElabRules.lean perf: add prelude to all Lean modules 2024-02-18 14:55:17 -08:00
Eval.lean perf: add prelude to all Lean modules 2024-02-18 14:55:17 -08:00
Exception.lean feat: incremental elaboration of definition headers, bodies, and tactics (#3940) 2024-05-22 13:23:30 +00:00
Extra.lean refactor: elaborate forIn notation without extra let (#6977) 2025-02-08 10:32:34 +00:00
Frontend.lean feat: allow async elab tasks to contribute to info trees reported to linters and request handlers (#7457) 2025-03-13 15:09:00 +00:00
GenInjective.lean feat: reserved names (#3675) 2024-03-15 00:33:22 +00:00
GuardMsgs.lean feat: 'unsolved goals' & 'goals accomplished' diagnostics (#7366) 2025-03-07 13:50:56 +00:00
Import.lean feat: frontend & server support for plugins (#6893) 2025-02-04 23:36:18 +00:00
Inductive.lean feat: language reference links and examples in docstrings (#7240) 2025-03-12 09:17:27 +00:00
InfoTree.lean perf: add prelude to all Lean modules 2024-02-18 14:55:17 -08:00
InfoTrees.lean feat: allow async elab tasks to contribute to info trees reported to linters and request handlers (#7457) 2025-03-13 15:09:00 +00:00
InheritDoc.lean feat: language reference links and examples in docstrings (#7240) 2025-03-12 09:17:27 +00:00
LetRec.lean feat: language reference links and examples in docstrings (#7240) 2025-03-12 09:17:27 +00:00
Level.lean chore: rename Array.back to back! (#5897) 2024-10-31 09:18:18 +00:00
Macro.lean perf: add prelude to all Lean modules 2024-02-18 14:55:17 -08:00
MacroArgUtil.lean feat: quotations for parser aliases (#4307) 2024-05-30 09:22:22 +00:00
MacroRules.lean perf: add prelude to all Lean modules 2024-02-18 14:55:17 -08:00
Match.lean feat: allow anonymous equality proofs in match expressions (#6853) 2025-02-04 16:09:21 +00:00
MatchAltView.lean perf: add prelude to all Lean modules 2024-02-18 14:55:17 -08:00
MatchExpr.lean perf: match_expr join points (#3580) 2024-03-03 18:15:49 +00:00
Mixfix.lean perf: add prelude to all Lean modules 2024-02-18 14:55:17 -08:00
MutualDef.lean feat: elaborate theorem bodies in parallel (#7084) 2025-03-14 07:50:42 +00:00
MutualInductive.lean fix: never transfer constants from checked environment into elab branches (#7306) 2025-03-05 17:12:27 +00:00
Notation.lean chore: use Array.findFinIdx? where it is better than findIdx? (#6184) 2024-11-23 07:22:31 +00:00
Open.lean chore: avoid runtime array bounds checks (#6134) 2024-11-21 05:04:52 +00:00
ParseImportsFast.lean feat: align take/drop/extract across List/Array/Vector (#6860) 2025-01-30 01:24:25 +00:00
PatternVar.lean fix: propagate Simp.Config when reducing terms and checking definitional equality in simp (#6123) 2024-12-14 00:59:40 +00:00
PreDefinition.lean feat: generate f.eq_unfold lemmas (#5141) 2024-08-29 16:47:40 +00:00
Print.lean chore: in #print for structures, mention 'field notation' (#6406) 2024-12-17 02:21:03 +00:00
Quotation.lean feat: align lemmas about List.getLast(!?) with Array/Vector.back(!?) (#7205) 2025-02-24 11:48:43 +00:00
RecAppSyntax.lean chore: fix spelling mistakes in src/Lean/Elab/ (#5435) 2024-09-23 21:58:16 +00:00
RecommendedSpelling.lean feat: recommended_spelling command (#6869) 2025-02-03 11:15:52 +00:00
SetOption.lean fix: don't use info nodes before cursor for completion (#3778) 2024-04-02 08:49:24 +00:00
StructInst.lean feat: align List/Array/Vector.zip/zipWith/zipWithAll/unzip (#6840) 2025-01-29 07:58:17 +00:00
Structure.lean feat: language reference links and examples in docstrings (#7240) 2025-03-12 09:17:27 +00:00
Syntax.lean chore: avoid runtime array bounds checks (#6134) 2024-11-21 05:04:52 +00:00
SyntheticMVars.lean chore: avoid runtime array bounds checks (#6134) 2024-11-21 05:04:52 +00:00
Tactic.lean chore: remove save tactic (#7047) 2025-02-12 09:19:30 +00:00
Term.lean fix: report replay kernel errors as standard diagnostics (#7471) 2025-03-13 18:45:46 +00:00
Time.lean chore: upstream #time command (#5044) 2024-08-15 00:17:48 +00:00
Util.lean fix: convert kernel interrupt into elab interrupt (#6988) 2025-02-07 15:55:32 +00:00