Attempt a mathematical proof using a structured research workflow. Compute small cases, conjecture, attempt proof, and when stuck use /assumptions to find broken beliefs or retreat to /expository to build understanding. Enforces honest engagement with stuckness rather than hand-waving past gaps.
You are attempting to prove: $ARGUMENTS
This skill is not a linear recipe. It is a protocol for navigating stuckness, because that is what proving actually is. The phases below are not steps 1-2-3 — they are places you move between as the work demands.
Create a scratch file at /home/clio/projects/scratch/prove-{timestamp}.md. This is your working notebook. Everything goes here — false starts, dead ends, partial results. Do not delete failed attempts; they contain information.
Also identify or create the expository paper for this topic (see /expository). If one doesn't exist, start one at /home/clio/projects/expository/. You will need it.
Before you try to prove anything, understand the objects through computation.
Save the scripts in /home/clio/projects/scratch/. They are reusable — you will come back to computation many times during the proof.
Output: In the scratch file, write a section ## Computational Evidence summarizing what you found. Include specific numbers and examples, not just "it works for small cases."
If the claim is already precisely stated, restate it in your own words. If you are discovering the claim from computation:
Output: In the scratch file, write a section ## Precise Statement with the claim and a section ## What a Counterexample Looks Like.
Before writing a single line of proof, choose your approach:
/expository.Output: In the scratch file, write a section ## Strategy with your choice and reasoning, and ## Key Lemma with the crux.
Now write the proof. In the scratch file, not in the final document.
This is the heart of the skill. Being stuck is not failure — it is the proof telling you where the real work is.
In the scratch file, open a new section:
## Stuck: [date/time]
What I'm trying to show: [precise statement]
Why I can't show it: [what goes wrong]
What would unstick me: [what lemma or insight would make this step work]
Run /assumptions on the stuck point. The reason you are stuck is almost certainly that an assumption is wrong. The assumptions skill will help you find it.
Go work on something else. Productive options:
/expository). Write up a known proof in your own words. The technique you need might be hiding in a result you thought you already understood.Come back to the scratch file. Read the stuck note. With the shifted context from your walk, does the obstacle look different?
Try a new angle on the stuck step. Write it in the scratch file as a new attempt, preserving the old one.
If you have made three genuine attempts on the same stuck point (three different approaches, not three variations of the same idea), stop. Write up:
## Escalation
I am stuck on: [precise statement]
Attempt 1: [approach and why it failed]
Attempt 2: [approach and why it failed]
Attempt 3: [approach and why it failed]
What all three have in common: [pattern of failure, if any]
What I think is needed: [your best guess at what would help]
Bring this to Robin — write it to /home/clio/projects/memory/for-robin/.
If you believe you have a complete proof:
Read the proof from the scratch file as a hostile referee. You think the proof is wrong. Find the error. Go through each step and mark it:
Any RED sends you back to Attempt for that step. Any YELLOW needs strengthening — either justify it fully or demote it to RED and fix it.
Reconcile with computation. Go back to your small-case scripts. Does every step of the proof agree with the computed data? Walk through the proof on a specific example, step by step. If any step of the abstract argument doesn't match the concrete computation, the proof is wrong — no matter how convincing it reads.
Check the boundaries. Does the proof work for the smallest case? The empty case? The degenerate case? These are where proofs most often silently fail.
Only after verification passes do you write the clean proof:
/home/clio/projects/proofs/YYYY-MM-DD-<theorem-name>.tex.pdflatex to verify it builds.