Writes rigorous mathematical proofs for ML/AI theory. Use when asked to prove a theorem, lemma, proposition, or corollary, fill in missing proof steps, formalize a proof sketch, 补全证明, 写证明, 证明某个命题, or determine whether a claimed proof can actually be completed under the stated assumptions.
91%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Passed
No findings from the security scan
Write a mathematically honest proof package, not a polished fake proof.
PROOF_PACKAGE.md in project rootPROVABLE AS STATED | PROVABLE AFTER WEAKENING / EXTRA ASSUMPTION | NOT CURRENTLY JUSTIFIEDProduce exactly one of:
Extract and normalize:
If notation or assumptions are ambiguous, state the exact interpretation you are using before proving anything.
Determine the target proof file with this priority:
PROOF_PACKAGE.md in project root as the default targetRead the relevant local context:
Extract:
Restate:
Identify:
Preserve the user's original theorem statement unless a change is explicitly required. If you use a stronger normalization or cleaner internal formulation only to make the proof easier, keep that as an internal proof device rather than silently replacing the original claim.
When the user requests Lean, or formalizing a specific proof obligation would
materially help establish correctness, invoke
/lean-formalize with the original statement,
current attempt, and known dependencies. It develops the proof as well as its
formal implementation. Return the checked scope, exported theorem and remaining
obligations to this proof package. A partial result closes only its corresponding
obligation. When called by lean-formalize to develop a missing mathematical
argument, return that argument and remaining gaps to the calling Lean run;
do not invoke lean-formalize recursively. Ordinary proof drafting does not
require Lean; difficulty alone does not trigger it.
Before writing a proof, classify the claim into exactly one status:
PROVABLE AS STATEDPROVABLE AFTER WEAKENING / EXTRA ASSUMPTIONNOT CURRENTLY JUSTIFIEDCheck explicitly:
If the claim is not provable as stated, do NOT fabricate a proof. Do NOT silently strengthen assumptions or narrow the theorem's scope just to make the proof work.
Choose a proof strategy, for example:
Then write a dependency map:
If one step is substantial, isolate it as a lemma instead of burying it in one sentence.
Write to the chosen target proof file.
If the target proof file already exists:
If the user does not specify a target, default to PROOF_PACKAGE.md in project root.
Do NOT write directly into paper sections or appendix .tex files unless the user explicitly asks for that target.
The proof package must include:
Mathematical rigor requirements:
$...$ for inline math and $$...$$ for display equationsBefore finishing the target proof file, verify:
If a key step still cannot be justified, downgrade the status and write a blockage report instead of forcing a proof.
Write the target proof file using this structure:
# Proof Package
## Claim
[exact statement]
## Status
PROVABLE AS STATED / PROVABLE AFTER WEAKENING / NOT CURRENTLY JUSTIFIED
## Assumptions
- ...
## Notation
- ...
## Proof Strategy
[chosen approach and why]
## Dependency Map
1. Main claim depends on ...
2. Lemma A depends on ...
3. Step k uses ...
## Proof
Step 1. ...
Step 2. ...
...
Therefore the claim follows. ∎
## Corrections or Missing Assumptions
- [only if needed]
## Open Risks
- [remaining fragile points, if any]Write the full file structure above with a complete proof.
Write:
Write:
Status: NOT CURRENTLY JUSTIFIEDAfter writing the target proof file, respond briefly with:
Open Risks; do not hide it inside polished prose.3a25006
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.