
Proof Writer
FreeGenerate rigorous mathematical proofs for ML/AI theories.
Free · Opens the source repo
What Proof Writer does
The Proof Writer skill is designed specifically for generating rigorous mathematical proofs related to machine learning and artificial intelligence theories. It operates by taking user-defined claims such as theorems, lemmas, propositions, or corollaries and producing a structured proof document. This skill is particularly useful for researchers, academics, and practitioners in the ML/AI field who need to formalize their theoretical work or validate their claims with mathematical rigor.
The process begins by gathering the necessary context surrounding the proof, including the exact statement of the claim, assumptions, and any relevant definitions or notations. It ensures that all elements are clearly defined and understood before proceeding to the proof stage. The skill is equipped to handle various types of claims, assessing their provability status and identifying any hidden assumptions or ambiguities that may affect the proof's validity.
Once the context is established, the skill employs a systematic workflow to construct the proof. It includes steps for normalizing the claim, triaging its feasibility, and building a dependency map that outlines the logical structure of the proof. The final output is a comprehensive proof document that adheres to strict mathematical standards, ensuring clarity and correctness in every implication and step taken. This makes it an invaluable tool for anyone looking to produce high-quality mathematical documentation in their research or projects.
Overall, Proof Writer serves as a robust assistant for formalizing proofs in the ML/AI domain, helping users to navigate complex theoretical landscapes with confidence and precision.
When to use it
Use this skill when you need to generate a formal proof for a theorem or claim in machine learning or AI theory.
When not to use it
This skill may not be suitable for informal or heuristic arguments that do not require strict mathematical validation.
What you can build with it
Formalizing a New Theorem
When you have a new theorem in ML and need a rigorous proof, this skill can draft the proof document for you.
Completing a Proof Sketch
If you have a partial proof or a sketch, you can input it, and the skill will help fill in the gaps and formalize it.
Validating Claims in Research Papers
Use this skill to validate and formalize claims made in research papers, ensuring they are mathematically sound.
How to install Proof Writer
View source1. Install with the skills CLI
npx skills add wanshuiyin/auto-claude-code-research-in-sleep/proof-writer --agent claude-code2. Or install it manually
Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.
Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs
Inside SKILL.md
Written by wanshuiyinProof Write: Rigorous Theorem / Lemma Drafting
Write a mathematically honest proof package, not a polished fake proof.
Constants
- DEFAULT_PROOF_DOC =
PROOF_PACKAGE.mdin project root - STATUS =
PROVABLE AS STATED | PROVABLE AFTER WEAKENING / EXTRA ASSUMPTION | NOT CURRENTLY JUSTIFIED
Context: $ARGUMENTS
Goal
Produce exactly one of:
- a complete proof of the original claim
- a corrected claim plus a proof of the corrected claim
- 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:
- a file path explicitly specified by the user
- a proof draft already referenced in local notes or theorem files
PROOF_PACKAGE.mdin 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 STATEDPROVABLE AFTER WEAKENING / EXTRA ASSUMPTIONNOT 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.
Frequently asked questions about Proof Writer
Similar skills
Scientific Problem Selection
Streamline your research problem selection process.
Nextflow Development
Run nf-core bioinformatics pipelines with ease.
Nature Reviewer Assessment
Simulate peer review for scientific manuscripts.
Research Writing Pipeline
Streamline your scientific writing with structured proposal-first methodologies.
Nature Literature Downloader
Efficiently download academic literature from various sources.
Auto Research
Streamline your NeMo-RL experiments with automated workflows.
