agentleFS
raja21068raja21068/AutoResearch/skills/aris/proof-writer/SKILL.md

proof-writer

Skill2 starsChanged 6 months agoMITView on GitHub

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.

We split this skill into the rules it gives an agent

36 rules. 32 are common, 0 are distinctive, and 4 are very specific to this project.

  • 32

    Common

    Most of the 3 edited versions we read keep these.

  • 0

    Distinctive

    This author's own choices. Worth a look.

  • 4

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Common:

    Write a mathematically honest proof package, not a polished fake proof.

    line 10
  2. Common:

    If notation or assumptions are ambiguous, state the exact interpretation you are using before proving anything.

    line 36
  3. Common:

    Read the relevant local context:

    line 46
  4. Common:

    all assumptions, separately from conclusions

    line 60
  5. Common:

    all symbols used in the claim

    line 61
  6. Common:

    If you use a stronger normalization or cleaner internal formulation only to make the proof easier, keep that as an internal proof device …

    line 70
  7. Common:

    Before writing a proof, classify the claim into exactly one status:

    line 73
  8. Common:

    If the claim is not provable as stated, do NOT fabricate a proof.

    line 84
  9. Common:

    Do NOT silently strengthen assumptions or narrow the theorem's scope just to make the proof work.

    line 85
  10. Common:

    If one step is substantial, isolate it as a lemma instead of burying it in one sentence.

    line 104
  11. Common:

    Write to the chosen target proof file.

    line 107
  12. Common:

    If the target proof file already exists:

    line 109
  13. Common:

    update the relevant claim section

    line 111
  14. Common:

    do not blindly duplicate prior content

    line 112
  15. Very specific:

    If the user does not specify a target, default to PROOF_PACKAGE.md in project root.

    line 114
  16. Very specific:

    Do NOT write directly into paper sections or appendix .tex files unless the user explicitly asks for that target.

    line 116
  17. Common:

    never use "clearly", "obviously", "it can be shown", "by standard arguments", or "similarly" to hide a gap

    line 128
  18. Common:

    check quantifier order carefully

    line 130
  19. Common:

    if invoking a standard fact, state its name and why its assumptions are satisfied here

    line 132
  20. Very specific:

    use $...$ for inline math and $$...$$ for display equations

    line 133
  21. Common:

    never write math in plain text

    line 134
  22. Common:

    if the proof uses an equivalent normalization that is stronger in appearance than the user's original theorem statement, label it …

    line 135
  23. Common:

    Before finishing the target proof file, verify:

    line 138
  24. Common:

    every assumption used is stated

    line 140
  25. Common:

    every nontrivial implication is justified

    line 141
  26. Common:

    every inequality direction is correct

    line 142
  27. Common:

    every cited result is applicable under the stated assumptions

    line 143
  28. Common:

    no hidden dependence on an unproved lemma remains

    line 145
  29. Common:

    If a key step still cannot be justified, downgrade the status and write a blockage report instead of forcing a proof.

    line 147
  30. Common:

    Write the target proof file using this structure:

    line 151
  31. Common:

    Write the full file structure above with a complete proof.

    line 192
  32. Common:

    After writing the target proof file, respond briefly with:

    line 210
  33. Common:

    Never fabricate a missing proof step.

    line 217
  34. Common:

    Prefer weakening the claim over overclaiming.

    line 218
  35. Common:

    If the statement is false as written, say so explicitly and give a counterexample or repaired statement.

    line 221
  36. Very specific:

    If uncertainty remains, mark it explicitly in Open Risks.

    line 222

“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Proof Write: Rigorous Theorem / Lemma Drafting

Write a mathematically honest proof package, not a polished fake proof.

Constants

  • DEFAULT_PROOF_DOC = PROOF_PACKAGE.md in project root
  • STATUS = PROVABLE AS STATED | PROVABLE AFTER WEAKENING / EXTRA ASSUMPTION | NOT CURRENTLY JUSTIFIED

Context: $ARGUMENTS

Goal

Produce exactly one of:

  1. a complete proof of the original claim
  2. a corrected claim plus a proof of the corrected claim
  3. a blockage report explaining why the claim is not currently justified

Inputs

Extract and normalize:

  • exact theorem / lemma / proposition / corollary statement
  • explicit assumptions
  • notation and definitions
  • any user-provided proof sketch, partial proof, or intended strategy
  • nearby lemmas or claims in local notes, appendix files, or theorem drafts if the request points to them
  • desired output style if specified: concise, appendix-ready, or full-detail

If notation or assumptions are ambiguous, state the exact interpretation you are using before proving anything.

Workflow

Step 1: Gather Proof Context

Determine the target proof file with this priority:

  1. a file path explicitly specified by the user
  2. a proof draft already referenced in local notes or theorem files
  3. PROOF_PACKAGE.md in project root as the default target

Read the relevant local context:

  • the chosen target proof file, if it already exists
  • theorem notes, appendix drafts, or files explicitly mentioned by the user

Extract:

  • exact claim
  • assumptions
  • notation
  • proof sketch or partial proof
  • nearby lemmas that the draft may depend on

Step 2: Normalize the Claim

Restate:

  • the exact claim being proved
  • all assumptions, separately from conclusions
  • all symbols used in the claim

Identify:

  • hidden assumptions
  • undefined notation
  • scope ambiguities
  • whether the available sketch proves the full claim or only a weaker variant

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.

Step 3: Feasibility Triage

Before writing a proof, classify the claim into exactly one status:

  • PROVABLE AS STATED
  • PROVABLE AFTER WEAKENING / EXTRA ASSUMPTION
  • NOT CURRENTLY JUSTIFIED

Check explicitly:

  • does the conclusion actually follow from the listed assumptions?
  • is any cited theorem being used outside its conditions?
  • is the claim stronger than what the available argument supports?
  • is there an obvious counterexample, boundary case, or quantifier failure?

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.

Step 4: Build a Dependency Map

Choose a proof strategy, for example:

  • direct
  • contradiction
  • induction
  • construction
  • reduction to a known result
  • coupling / probabilistic argument
  • optimization inequality chaining

Then write a dependency map:

  • main claim
  • required intermediate lemmas
  • named theorems or inequalities that will be cited
  • which assumptions each nontrivial step depends on
  • boundary cases that must be handled separately

If one step is substantial, isolate it as a lemma instead of burying it in one sentence.

Step 5: Write the Proof Document

Write to the chosen target proof file.

If the target proof file already exists:

  • read it first
  • update the relevant claim section
  • do not blindly duplicate prior content

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:

  • exact claim
  • explicit assumptions
  • proof status
  • announced strategy
  • dependency map
  • numbered major steps
  • justification for every nontrivial implication

Mathematical rigor requirements:

  • never use "clearly", "obviously", "it can be shown", "by standard arguments", or "similarly" to hide a gap
  • define every constant and symbol before use
  • check quantifier order carefully
  • handle degenerate and boundary cases explicitly, or state why they are excluded
  • if invoking a standard fact, state its name and why its assumptions are satisfied here
  • use $...$ for inline math and $$...$$ for display equations
  • never write math in plain text
  • if the proof uses an equivalent normalization that is stronger in appearance than the user's original theorem statement, label it explicitly as a proof device and keep the original claim separate

Step 6: Final Verification

Before finishing the target proof file, verify:

  • the theorem statement exactly matches what was actually shown
  • every assumption used is stated
  • every nontrivial implication is justified
  • every inequality direction is correct
  • every cited result is applicable under the stated assumptions
  • edge cases are handled or explicitly excluded
  • no hidden dependence on an unproved lemma remains

If a key step still cannot be justified, downgrade the status and write a blockage report instead of forcing a proof.

Required File Structure

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]

Output Modes

If the claim is provable as stated

Write the full file structure above with a complete proof.

If the original claim is too strong

Write:

  • why the original statement is not justified
  • the corrected claim
  • the minimal extra assumption if one exists
  • a proof of the corrected claim

If the proof cannot be completed honestly

Write:

  • Status: NOT CURRENTLY JUSTIFIED
  • the exact blocker: missing lemma, invalid implication, hidden assumption, or counterexample direction
  • what extra assumption, lemma, or derivation would be needed to finish the proof
  • a corrected weaker statement if one is available

Chat Response

After writing the target proof file, respond briefly with:

  • status
  • whether the original claim survived unchanged
  • what file was updated

Key Rules

  • Never fabricate a missing proof step.
  • Prefer weakening the claim over overclaiming.
  • Separate assumptions, derived facts, heuristics, and conjectures.
  • Preserve the user's original theorem statement unless you explicitly mark a corrected claim or an internal normalization.
  • If the statement is false as written, say so explicitly and give a counterexample or repaired statement.
  • If uncertainty remains, mark it explicitly in Open Risks; do not hide it inside polished prose.
  • Correctness matters more than brevity.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.