Lean tautology triage
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.From its SKILL.md
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.
SKILL.md
4.9 KB, 889 tokens by cl100k_base, 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.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.