lean4-htt/script
Leonardo de Moura ff9c35d6ef
feat: #grind_lint command (#11157)
This PR implements the `#grind_lint` command, a diagnostic tool for
analyzing the behavior of theorems annotated for theorem instantiation.
The command helps identify problematic theorems that produce excessive
or unbounded instance generation during E-matching, which can lead to
performance issues.
The main entry point is:
```
#grind_lint check
```
which analyzes all theorems marked with the `@[grind]` attribute.
For each theorem, it creates an artificial goal and runs `grind`,
collecting statistics about the number of instances produced.
Results are summarized using info messages, and detailed breakdowns are
shown for lemmas exceeding a configurable threshold.
Additional subcommands are provided for targeted inspection and control:

* `#grind_lint inspect thm`: analyzes one or more specific theorems in
detail
* `#grind_lint mute thm`: excludes a theorem from instantiation during
analysis
* `#grind_lint skip thm`: omits a theorem from being analyzed by
`#grind_lint check`
2025-11-13 00:42:18 +00:00
..
lib chore: fix spelling mistakes in non-Lean files (#5430) 2024-09-23 21:11:20 +00:00
apply.lean chore: add missing copyright headers (#3411) 2024-02-20 01:49:55 +00:00
bench.sh chore: make USE_LAKE the default (#10016) 2025-08-21 11:43:25 +00:00
benchReelabRss.lean feat: do not export def bodies by default (#8221) 2025-05-15 12:16:54 +00:00
collideProfiles.lean feat: trace.profiler export to Firefox Profiler (#3801) 2024-04-15 12:13:14 +00:00
diff_changelogs.py
gen_constants_cpp.py chore: fix more typos in comments 2023-10-08 14:37:34 -07:00
gen_tokens_cpp.py chore: fix more typos in comments 2023-10-08 14:37:34 -07:00
issues_summary.sh feat: script to summarize issues (#3952) 2024-04-24 06:11:07 +00:00
lakefile.toml feat: shake import minimizer aware of the module system and arbitrary elaboration dependencies (#10575) 2025-09-28 16:00:00 +00:00
lean-toolchain feat: scripts/Modulize.lean (#10460) 2025-09-24 11:40:17 +00:00
mathlib-bench feat: move lean-pr-testing-NNNN branches to a fork (#8933) 2025-06-24 03:30:43 +00:00
merge_remote.py feat: updates to release process for v4.23.0 (#10383) 2025-09-14 23:52:19 +00:00
Modulize.lean chore: rename String.endPos -> String.rawEndPos (#10853) 2025-10-21 11:25:30 +00:00
patch.sh
prepare-llvm-linux.sh fix: ld.so linking on Linux (#8228) 2025-05-05 11:50:59 +00:00
prepare-llvm-macos.sh fix: set LLVM sysroot consistently (#6574) 2025-01-08 12:56:27 +00:00
prepare-llvm-mingw.sh chore: remove old LEAN_AUTO_THREAD_FINALIZATION workaround (#8885) 2025-06-20 08:52:17 +00:00
push_repo_release_tag.py feat: further release automation (#9092) 2025-06-30 05:44:10 +00:00
rebase-stage0.sh chore: add ./script/rebase-stage0.sh (#3984) 2024-05-02 12:26:25 +00:00
reformat.lean chore: fix script/reformat.lean 2022-11-28 15:47:17 +01:00
release_checklist.py feat: improvements to release automation for v4.25.0-rc1 (#10860) 2025-10-21 00:59:44 +00:00
release_notes.py chore: update script/release_notes.py for changelog-tactics (#10436) 2025-09-18 07:22:53 +00:00
release_repos.yml chore: include lean-lang.org in release checklist (#10450) 2025-09-19 03:46:32 +00:00
release_steps.py chore: release_steps runs lake exe cache get when needed (#10882) 2025-10-21 22:49:38 +00:00
Shake.lean chore: further shake improvements (#10947) 2025-10-26 11:27:19 +00:00