Lean tautology triage
APM-installable agent skills for Lean 4 and Mathlib4 — proof tactics, math domains, review and research workflows, generic tooling.
npx -y skills add r-irbe/proof-skills --skill lean-tautology-triageAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
USE FOR: triaging Lean 4 theorem statements or proof sites that may be vacuous, tautological, smoke-test-only, reflexive-by-rfl, `: True` placeholders, bare `decide` closures, or automation-only proofs of supposedly substantive claims. Use this skill whenever proof review reports "vacuous", "tautology", "trivial", "placeholder", "smoke theorem", "rfl self-projection", "DEFINITE", or "HIGH" proof-quality risk. DO NOT USE FOR: ordinary proof writing (use @lean-proof); whole-project QA lifecycle (use @lean-quality-engine); running one enforcement script without interpretation (use @lean-enforcement); theorem search (use @lean-research). TRIGGERS: tautology, vacuous, trivial proof, smoke theorem, placeholder theorem, proof quality, `: True`, `by decide`, `by rfl`, rfl self-projection, suspicious automation, non-triviality audit.
SKILL.md
4.9 KB, as published. Nobody here has run it
lean-tautology-triage
This skill is a focused review mode for statements that elaborate but may not prove the claim the name, surrounding text, or paper anchor suggests. It does not declare a theorem bad merely because the proof is short; it classifies why a short proof is acceptable or why it needs renaming, strengthening, quarantine, or removal.
Routing
- USE FOR: triaging Lean 4 theorem statements or proof sites that may be
vacuous, tautological, smoke-test-only, reflexive-by-rfl,
: Trueplaceholders, baredecideclosures, or automation-only proofs of supposedly substantive claims. - DO NOT USE FOR: ordinary proof writing (use
@lean-proof); whole-project QA lifecycle (use@lean-quality-engine); running one enforcement script without interpretation (use@lean-enforcement); theorem search (use@lean-research). - TRIGGERS: tautology, vacuous, trivial proof, smoke theorem, placeholder
theorem, proof quality,
: True,by decide,by rfl, rfl self-projection, suspicious automation, non-triviality audit.
Workflow
- Locate the claim [discover] — capture theorem name, statement, proof body, surrounding docstring, imports, and downstream uses. A claim with downstream uses is not automatically substantive, but the use sites explain risk.
- Classify statement content [validate] — use:
- VALID-CONTENT: theorem states the intended mathematical/program property.
- VALID-SMOKE: theorem intentionally checks elaboration or examples only.
- VACUOUS: theorem is true because hypotheses are impossible or conclusion is
True. - MISALIGNED: theorem is true but the name/docstring overclaims.
- UNVERIFIED: statement may be content-bearing but lacks evidence.
- SUSPECT-FALSE: likely mathematically false or contradicted by examples.
- Classify proof-quality risk [validate] — use LOW, MEDIUM, HIGH, or
DEFINITE.
: Trueplaceholders and named smoke tests with theorem-like names are usually DEFINITE; baredecideorrflon substantive names is HIGH until statement review explains it. - Run static support [execute] — use
scripts/lean/proof_quality.pyfor candidate discovery, then manually inspect each P1/P2 result. The script is a triage helper, not a final verdict. - Choose remediation [persist] — recommend one of: keep as smoke and rename, restate/strengthen, replace with a real theorem, quarantine as research-only, delete/retire, or ask HITL.
Triage record
## Tautology triage: <decl>
- Location:
- Statement summary:
- Proof shape:
- Downstream uses:
- Statement class:
- Proof-quality risk:
- Evidence:
- Recommended remediation:
- Confidence:
- HITL needed:
Recovery & STOP
- STOP if the statement could be SUSPECT-FALSE or UNVERIFIED and confidence is below the repo belief floor; ask before recommending keep/delete.
- STOP before deleting or weakening a public theorem without an explicit edit claim and rollback path.
- STOP if static
proof_quality.pyoutput conflicts with manual inspection; cite both and ask which risk posture to use. - STOP if a proof is short because of a verified definitional theorem in Mathlib;
hand off to
@lean-researchbefore labeling it vacuous.
Handoffs
- Predecessors:
@lean-proof-reviewfor proof-site review,@lean-quality-enginefor project-level quality gates,@lean-enforcementfor script execution. - Successors:
@lean-proof-reviewfor final review,@lean-researchfor theorem/source lookup,@lean-quality-enginefor gate rollups. - Script:
scripts/lean/proof_quality.pysurfaces candidates; reviewers own final classification.
Gives 0 of the 12 instructions most debug triage skills give
Counted across 839 of the 1,149 authors here whose files we hold, read 2026-08-06
- investigate root cause before proposing any fixin 102 of 839, across 65 files
- read error messages completelyin 90 of 839, across 48 files
- create a failing test case before fixingin 84 of 839, across 44 files
- reproduce the issue consistentlyin 82 of 839, across 40 files
- change one variable at a timein 82 of 839, across 42 files
- check recent changesin 74 of 839, across 35 files
- write the regression test before fixingin 74 of 839, across 36 files
- fix the root cause not the symptomin 60 of 839, across 43 files
- implement a single fix at a timein 59 of 839, across 20 files
- trace data flow backward to the sourcein 50 of 839, across 20 files
- remove all debug instrumentationin 49 of 839, across 13 files
- form a single hypothesisin 48 of 839, across 18 files
Said here and by no other author read
- capture theorem name, statement, proof body, and imports
- classify theorem statement content
- assign a proof-quality risk level
- run the quality script to discover candidates
- manually inspect each high priority result
- recommend a remediation strategy
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once.