Writing proof contracts
A proof contract turns "please solve X" into a specification a proof can be audited
against. The technique (from Wang's Erdős runs, after OpenAI's cycle-double-cover
experiment): the prompt defines exactly what counts as solving the problem, so
near-misses cannot be reported as success. The full template is in
templates/proof-contract.md (nine sections). This skill is the drafting guide.
Why each section exists
- Precise restatement — most wrong "solutions" solve a slightly different problem.
Defining every symbol and resolving every ambiguity of the informal statement removes
the wiggle room. Also state what is NOT being asked (neighboring quantities).
- Resolution criteria — state the affirmative AND negative resolutions, each with
equivalent reformulations, without presupposing direction. A disproof has its own
proof obligations (nonconvergence must be proved, not just a limit not found).
- Established background — known results with their exact quantifier structure,
plus an explicit "does not imply" paragraph. Example of the trap this kills: treating
a known order-of-magnitude bound
f(n) ≍ g(n) as if it implied an asymptotic
constant exists.
- Insufficient results — the firewall. Enumerate every near-miss: reproving known
results; bounds with gap between constants; unspecified constants; subsequences;
almost-all; restricted families without a WLOG proof; numerics/heuristics;
conditional results; finite ranges; modified problems (list the specific tempting
modifications); uncontrolled relaxations; comparable-strength reductions. Longer is
better; Wang's lists ran 15–20 items.
- Reformulation invariants — translations (to optimization, graphs, valuations...)
are where constraints silently vanish. List what must survive: distinctness, strict
inequalities, exact identities, the true objective, quantifier order.
- Problem-specific traps — the adversarial auditor's checklist. Mine four sources:
edge cases of the definitions; classic wrong assumptions for the problem type
(coprimality, extremizer symmetry/uniqueness/stability); quantitative traps (error
terms too weak for the target term, floor functions, integrality gaps); circularity
risks of each known reformulation.
- Allowed tools — standard proved theorems, stated accurately, applied with all
hypotheses and uniformity — plus the search policy (background only; never the target
problem, its status, or prior attempts).
- Search directives — portfolio management for the run: 10–20 concrete approach
families for THIS problem; independence of explorers; a route registry; the
anti-dominance rule; blocked-route discipline; both resolution directions kept alive;
computational and adversarial agents throughout; artifacts required.
- Exit criteria — the two honest exits only: complete resolution surviving audit,
or explicit failure report (strongest proved statements + exact gaps). Forbid "best
effort" summaries and difficulty essays presented as results.
Drafting procedure
- Research the canonical statement and known partial results (allowed at this stage).
- Fill sections 1–3, then RED-TEAM section 2: ask "what could a strong model return
that looks like success but is not?" — every answer becomes a section 4 bullet.
- Fill 5–7 from the problem's structure; fill 8's portfolio from genuinely different
mathematical ideas, not variations of one.
- Self-audit: for each section ask "could a wrong proof slip past this wording?"
- Have a second reader (human or fresh agent) attack the contract before the run.
Quality bar
A good contract is long (Wang's ran 80–230 lines), boring, and pedantic — that is the
point. Every hour spent here is repaid the first time an audit catches a near-miss by
pointing at a bullet you wrote in advance.
1---2name: proof-contract3description: How to write a proof contract — the prompt-as-contract technique for open mathematical problems. Use when drafting or reviewing a contract that defines exactly what counts as solving a problem, before any proving starts.4---56# Writing proof contracts78A proof contract turns "please solve X" into a specification a proof can be audited9against. The technique (from Wang's Erdős runs, after OpenAI's cycle-double-cover10experiment): **the prompt defines exactly what counts as solving the problem**, so11near-misses cannot be reported as success. The full template is in12`templates/proof-contract.md` (nine sections). This skill is the drafting guide.1314## Why each section exists15161. **Precise restatement** — most wrong "solutions" solve a slightly different problem.17 Defining every symbol and resolving every ambiguity of the informal statement removes18 the wiggle room. Also state what is NOT being asked (neighboring quantities).192. **Resolution criteria** — state the affirmative AND negative resolutions, each with20 equivalent reformulations, without presupposing direction. A disproof has its own21 proof obligations (nonconvergence must be proved, not just a limit not found).223. **Established background** — known results with their exact quantifier structure,23 plus an explicit "does not imply" paragraph. Example of the trap this kills: treating24 a known order-of-magnitude bound `f(n) ≍ g(n)` as if it implied an asymptotic25 constant exists.264. **Insufficient results** — the firewall. Enumerate every near-miss: reproving known27 results; bounds with gap between constants; unspecified constants; subsequences;28 almost-all; restricted families without a WLOG proof; numerics/heuristics;29 conditional results; finite ranges; modified problems (list the specific tempting30 modifications); uncontrolled relaxations; comparable-strength reductions. Longer is31 better; Wang's lists ran 15–20 items.325. **Reformulation invariants** — translations (to optimization, graphs, valuations...)33 are where constraints silently vanish. List what must survive: distinctness, strict34 inequalities, exact identities, the true objective, quantifier order.356. **Problem-specific traps** — the adversarial auditor's checklist. Mine four sources:36 edge cases of the definitions; classic wrong assumptions for the problem type37 (coprimality, extremizer symmetry/uniqueness/stability); quantitative traps (error38 terms too weak for the target term, floor functions, integrality gaps); circularity39 risks of each known reformulation.407. **Allowed tools** — standard proved theorems, stated accurately, applied with all41 hypotheses and uniformity — plus the search policy (background only; never the target42 problem, its status, or prior attempts).438. **Search directives** — portfolio management for the run: 10–20 concrete approach44 families for THIS problem; independence of explorers; a route registry; the45 anti-dominance rule; blocked-route discipline; both resolution directions kept alive;46 computational and adversarial agents throughout; artifacts required.479. **Exit criteria** — the two honest exits only: complete resolution surviving audit,48 or explicit failure report (strongest proved statements + exact gaps). Forbid "best49 effort" summaries and difficulty essays presented as results.5051## Drafting procedure52531. Research the canonical statement and known partial results (allowed at this stage).542. Fill sections 1–3, then RED-TEAM section 2: ask "what could a strong model return55 that looks like success but is not?" — every answer becomes a section 4 bullet.563. Fill 5–7 from the problem's structure; fill 8's portfolio from genuinely different57 mathematical ideas, not variations of one.584. Self-audit: for each section ask "could a wrong proof slip past this wording?"595. Have a second reader (human or fresh agent) attack the contract before the run.6061## Quality bar6263A good contract is long (Wang's ran 80–230 lines), boring, and pedantic — that is the64point. Every hour spent here is repaid the first time an audit catches a near-miss by65pointing at a bullet you wrote in advance.