Prove Open Problems
Treat mathematical discovery and proof validation as separate activities.
Explore boldly, but make claims conservatively.
Non-negotiable rules
- Preserve the problem's definitions, quantifiers, domains, asymptotics, and
boundary cases exactly.
- Define complete proof and complete disproof criteria before searching.
- Keep computation, heuristic evidence, conditional results, and proof
separate.
- Reject reductions that stop at an unproved statement of comparable strength.
- Seek counterexamples to every important new lemma and every structural
assumption.
- Record failed and blocked routes so later work does not silently repeat them.
- Never report an open problem as solved unless the claim gate below passes.
- State the strongest rigorous partial result and exact remaining gap when the
budget ends without a solution.
- Require independent expert review before presenting any research-level result
as established mathematics.
1. Choose the run
Determine these parameters from the request and available context:
- target: one fixed problem, or a set requiring triage;
- resolution modes: proof, disproof, exact value, classification, or other
exhaustive alternatives;
- search mode:
literature or blind;
- resource budget: time, tool calls, compute, and parallel-agent capacity;
- allowed tools: web, code, CAS, SAT/SMT, proof assistants, or none;
- deliverable: research log, partial theorem, candidate proof, formal proof,
paper draft, or audit.
Use literature mode unless the user or benchmark prohibits exact-problem
search. In literature mode, verify the statement and current status from
primary sources. In blind mode, record the restriction and do not search for
the exact problem or its solution.
If selecting among problems, read
references/problem-selection.md and apply
its scorecard. Prefer meaningful, sharply stated, verifiable problems that are
not obviously bottlenecked by a flagship conjecture or missing theory.
2. Create persistent state
For a fresh run, execute from this skill directory:
python3 scripts/init_workspace.py <research-directory> \
--title "<problem title>" \
--mode literature \
--budget "<resource budget>"
If execution is unavailable, reproduce the structure in
assets/research-workspace/. Do not overwrite an existing research directory
unless the user explicitly requests it.
Maintain these artifacts throughout the run:
PROBLEM.md: frozen statement, provenance, definitions, and quantifiers;
SUCCESS_CRITERIA.md: acceptable resolutions, insufficient results, allowed
assumptions, and search policy;
APPROACHES.md: approach-family registry and route statuses;
LEMMAS.md: dependency ledger with proof and falsification status;
EXPERIMENTS.md: reproducible computational evidence;
SOURCES.md: primary sources and imported theorem hypotheses;
PROOF.md: current proof candidate and unresolved gaps;
AUDIT.md: adversarial defects, repairs, and sign-off;
STATE.json: machine-readable run and claim status.
Run python3 scripts/validate_workspace.py <research-directory> periodically.
Run it with --strict before any solution claim.
Delete each <!-- FILL: ... --> marker only after completing and checking that
section; strict validation treats remaining markers as unresolved work.
3. Freeze an exact success contract
Write the original statement verbatim or with a checked equivalence. Then make
the implicit contract explicit:
- define every object and convention;
- expand all quantifiers and parameter ranges;
- enumerate mutually exhaustive resolution modes;
- state exactly what each complete resolution must establish;
- list tempting weaker results that do not count;
- list problem-specific traps and edge cases;
- identify allowed background theorems and required uniformity;
- state what computation can and cannot certify; and
- state the search mode and resource budget.
Compare the completed contract against the source statement a second time.
If they differ, repair the contract before proof search.
4. Build a diverse approach portfolio
Generate approaches from different mathematical families, not paraphrases of
one idea. Include both affirmative and negative routes when either could
resolve the problem. Typical families include:
- structural or minimal-counterexample induction;
- extremal, probabilistic, or entropy arguments;
- algebraic, analytic, geometric, topological, or categorical reformulations;
- duality, compactness, invariants, decompositions, or flows;
- explicit constructions and counterexample search;
- finite-model, symbolic, numeric, SAT/SMT, ILP, or proof-assistant probes.
Preserve independence in the first round. Do not tell every explorer the
currently favored idea. Register each family in APPROACHES.md and redirect
effort when too many routes converge prematurely.
Use these route states:
active: producing concrete deductions or tests;
promising: has a plausible mechanism and discharged dependencies;
blocked: stops at a theorem-strength missing lemma;
refuted: contradicted by proof or counterexample;
merged: subsumed into another route;
complete-candidate: supplies an end-to-end argument awaiting audit.
Read references/orchestration.md when multiple
agents or isolated contexts are available. Allocate them dynamically by
evidence and underexplored families, not by a fixed quota.
5. Run the research loop
Repeat until the claim gate passes or the resource budget ends:
- choose an active or underexplored family;
- demand a concrete lemma, construction, inequality, certificate, or
counterexample;
- record dependencies in
LEMMAS.md;
- attack the weakest dependency before building on it;
- test small cases and adversarial examples where useful;
- diagnose each failure precisely;
- block, refute, repair, or redirect the route;
- cross-pollinate only after independent routes expose their real mechanisms;
- synthesize an end-to-end proof only from discharged dependencies; and
- launch a fresh adversarial audit.
Classify failures as definitional, false lemma, missing uniformity, circular
reduction, hidden regularity, incomplete cases, invalid theorem use, or
computational overreach. A diagnosis must change the next experiment.
Require concrete mathematical output from parallel agents. Reject vague
optimism, literature-style summaries, and claims that a central compatibility
step is “routine.”
6. Use tools without confusing evidence for proof
- Use code, CAS, SAT/SMT, and search to find patterns, falsify lemmas, verify
finite certificates, and check algebra.
- Record command, environment, inputs, seed, output, and interpretation in
EXPERIMENTS.md.
- Treat finite computation as evidence unless a proved reduction makes it
exhaustive and the certificate is independently checkable.
- State every imported theorem accurately with all hypotheses and cite a
primary source in
SOURCES.md.
- Formalize the final argument in Lean, Coq, Isabelle, or another checker when
practical. Formalization strengthens verification but does not repair a
mistranslated original statement.
7. Audit and repair
When a route becomes complete-candidate, freeze that version and read
references/audit-checklist.md.
Use an auditor that did not author the proof when possible. Give the auditor
the frozen problem, success contract, proof, and permitted background, but not
the author's defense. Require line-specific defects, counterexamples, or
missing dependencies. Log every defect and repair in AUDIT.md.
After a repair, re-audit the affected lemma and every downstream step. Reopen
proof search if the repair introduces a new theorem-strength gap.
Claim gate
Set claim_status to candidate-solution only when all of the following hold:
- the proof or disproof matches an allowed resolution exactly;
- every case and quantifier in the frozen statement is covered;
- every nonstandard lemma is proved with no circular dependency;
- every imported theorem's hypotheses are checked;
- computation is either nonessential evidence or a verified exhaustive
certificate;
- edge cases and degenerate objects pass adversarial review;
- at least one independent audit has no unresolved substantive defect;
validate_workspace.py --strict passes; and
STATE.json records proof_status: "audited" and
audit_status: "passed".
Set claim_status to solved only after the candidate also receives either:
- an external human expert audit; or
- machine verification of the exact formalized statement, together with an
independent check that the formal statement faithfully translates the
original problem.
Record the validation source in STATE.json.audit_independence. A different
agent can support candidate-solution, but model agreement alone does not
establish a research theorem. If any candidate gate item fails, use partial,
conditional, or counterexample-candidate.
8. Package the outcome
For a complete candidate, deliver:
- exact theorem statement and proof source;
- dependency and audit summaries;
- reproducible code, certificates, and raw logs;
- primary-source bibliography;
- formalization or a precise formalization plan when practical; and
- an explicit request for independent expert validation.
For an incomplete run, deliver:
- strongest rigorously proved result;
- exact unresolved gap;
- refuted and blocked approaches;
- reusable computations or lemmas;
- the most informative next experiments; and
- an honest claim status.
1---2name: prove-open-problems3description: Conduct rigorous, long-horizon research on open mathematics problems through target triage, exact success contracts, diverse proof-search portfolios, computational falsification, lemma tracking, adversarial audits, and reproducible proof packaging. Use when asked to prove or disprove an open conjecture, make defensible progress on a research-level problem, select tractable open problems, stress-test a candidate proof, or organize a sustained AI-assisted mathematics research run.4---56# Prove Open Problems78Treat mathematical discovery and proof validation as separate activities.9Explore boldly, but make claims conservatively.1011## Non-negotiable rules1213- Preserve the problem's definitions, quantifiers, domains, asymptotics, and14 boundary cases exactly.15- Define complete proof and complete disproof criteria before searching.16- Keep computation, heuristic evidence, conditional results, and proof17 separate.18- Reject reductions that stop at an unproved statement of comparable strength.19- Seek counterexamples to every important new lemma and every structural20 assumption.21- Record failed and blocked routes so later work does not silently repeat them.22- Never report an open problem as solved unless the claim gate below passes.23- State the strongest rigorous partial result and exact remaining gap when the24 budget ends without a solution.25- Require independent expert review before presenting any research-level result26 as established mathematics.2728## 1. Choose the run2930Determine these parameters from the request and available context:3132- **target**: one fixed problem, or a set requiring triage;33- **resolution modes**: proof, disproof, exact value, classification, or other34 exhaustive alternatives;35- **search mode**: `literature` or `blind`;36- **resource budget**: time, tool calls, compute, and parallel-agent capacity;37- **allowed tools**: web, code, CAS, SAT/SMT, proof assistants, or none;38- **deliverable**: research log, partial theorem, candidate proof, formal proof,39 paper draft, or audit.4041Use `literature` mode unless the user or benchmark prohibits exact-problem42search. In literature mode, verify the statement and current status from43primary sources. In blind mode, record the restriction and do not search for44the exact problem or its solution.4546If selecting among problems, read47[`references/problem-selection.md`](references/problem-selection.md) and apply48its scorecard. Prefer meaningful, sharply stated, verifiable problems that are49not obviously bottlenecked by a flagship conjecture or missing theory.5051## 2. Create persistent state5253For a fresh run, execute from this skill directory:5455```bash56python3 scripts/init_workspace.py <research-directory> \57 --title "<problem title>" \58 --mode literature \59 --budget "<resource budget>"60```6162If execution is unavailable, reproduce the structure in63`assets/research-workspace/`. Do not overwrite an existing research directory64unless the user explicitly requests it.6566Maintain these artifacts throughout the run:6768- `PROBLEM.md`: frozen statement, provenance, definitions, and quantifiers;69- `SUCCESS_CRITERIA.md`: acceptable resolutions, insufficient results, allowed70 assumptions, and search policy;71- `APPROACHES.md`: approach-family registry and route statuses;72- `LEMMAS.md`: dependency ledger with proof and falsification status;73- `EXPERIMENTS.md`: reproducible computational evidence;74- `SOURCES.md`: primary sources and imported theorem hypotheses;75- `PROOF.md`: current proof candidate and unresolved gaps;76- `AUDIT.md`: adversarial defects, repairs, and sign-off;77- `STATE.json`: machine-readable run and claim status.7879Run `python3 scripts/validate_workspace.py <research-directory>` periodically.80Run it with `--strict` before any solution claim.81Delete each `<!-- FILL: ... -->` marker only after completing and checking that82section; strict validation treats remaining markers as unresolved work.8384## 3. Freeze an exact success contract8586Write the original statement verbatim or with a checked equivalence. Then make87the implicit contract explicit:88891. define every object and convention;902. expand all quantifiers and parameter ranges;913. enumerate mutually exhaustive resolution modes;924. state exactly what each complete resolution must establish;935. list tempting weaker results that do **not** count;946. list problem-specific traps and edge cases;957. identify allowed background theorems and required uniformity;968. state what computation can and cannot certify; and979. state the search mode and resource budget.9899Compare the completed contract against the source statement a second time.100If they differ, repair the contract before proof search.101102## 4. Build a diverse approach portfolio103104Generate approaches from different mathematical families, not paraphrases of105one idea. Include both affirmative and negative routes when either could106resolve the problem. Typical families include:107108- structural or minimal-counterexample induction;109- extremal, probabilistic, or entropy arguments;110- algebraic, analytic, geometric, topological, or categorical reformulations;111- duality, compactness, invariants, decompositions, or flows;112- explicit constructions and counterexample search;113- finite-model, symbolic, numeric, SAT/SMT, ILP, or proof-assistant probes.114115Preserve independence in the first round. Do not tell every explorer the116currently favored idea. Register each family in `APPROACHES.md` and redirect117effort when too many routes converge prematurely.118119Use these route states:120121- `active`: producing concrete deductions or tests;122- `promising`: has a plausible mechanism and discharged dependencies;123- `blocked`: stops at a theorem-strength missing lemma;124- `refuted`: contradicted by proof or counterexample;125- `merged`: subsumed into another route;126- `complete-candidate`: supplies an end-to-end argument awaiting audit.127128Read [`references/orchestration.md`](references/orchestration.md) when multiple129agents or isolated contexts are available. Allocate them dynamically by130evidence and underexplored families, not by a fixed quota.131132## 5. Run the research loop133134Repeat until the claim gate passes or the resource budget ends:1351361. choose an active or underexplored family;1372. demand a concrete lemma, construction, inequality, certificate, or138 counterexample;1393. record dependencies in `LEMMAS.md`;1404. attack the weakest dependency before building on it;1415. test small cases and adversarial examples where useful;1426. diagnose each failure precisely;1437. block, refute, repair, or redirect the route;1448. cross-pollinate only after independent routes expose their real mechanisms;1459. synthesize an end-to-end proof only from discharged dependencies; and14610. launch a fresh adversarial audit.147148Classify failures as definitional, false lemma, missing uniformity, circular149reduction, hidden regularity, incomplete cases, invalid theorem use, or150computational overreach. A diagnosis must change the next experiment.151152Require concrete mathematical output from parallel agents. Reject vague153optimism, literature-style summaries, and claims that a central compatibility154step is “routine.”155156## 6. Use tools without confusing evidence for proof157158- Use code, CAS, SAT/SMT, and search to find patterns, falsify lemmas, verify159 finite certificates, and check algebra.160- Record command, environment, inputs, seed, output, and interpretation in161 `EXPERIMENTS.md`.162- Treat finite computation as evidence unless a proved reduction makes it163 exhaustive and the certificate is independently checkable.164- State every imported theorem accurately with all hypotheses and cite a165 primary source in `SOURCES.md`.166- Formalize the final argument in Lean, Coq, Isabelle, or another checker when167 practical. Formalization strengthens verification but does not repair a168 mistranslated original statement.169170## 7. Audit and repair171172When a route becomes `complete-candidate`, freeze that version and read173[`references/audit-checklist.md`](references/audit-checklist.md).174175Use an auditor that did not author the proof when possible. Give the auditor176the frozen problem, success contract, proof, and permitted background, but not177the author's defense. Require line-specific defects, counterexamples, or178missing dependencies. Log every defect and repair in `AUDIT.md`.179180After a repair, re-audit the affected lemma and every downstream step. Reopen181proof search if the repair introduces a new theorem-strength gap.182183## Claim gate184185Set `claim_status` to `candidate-solution` only when all of the following hold:186187- the proof or disproof matches an allowed resolution exactly;188- every case and quantifier in the frozen statement is covered;189- every nonstandard lemma is proved with no circular dependency;190- every imported theorem's hypotheses are checked;191- computation is either nonessential evidence or a verified exhaustive192 certificate;193- edge cases and degenerate objects pass adversarial review;194- at least one independent audit has no unresolved substantive defect;195- `validate_workspace.py --strict` passes; and196- `STATE.json` records `proof_status: "audited"` and197 `audit_status: "passed"`.198199Set `claim_status` to `solved` only after the candidate also receives either:200201- an external human expert audit; or202- machine verification of the exact formalized statement, together with an203 independent check that the formal statement faithfully translates the204 original problem.205206Record the validation source in `STATE.json.audit_independence`. A different207agent can support `candidate-solution`, but model agreement alone does not208establish a research theorem. If any candidate gate item fails, use `partial`,209`conditional`, or `counterexample-candidate`.210211## 8. Package the outcome212213For a complete candidate, deliver:214215- exact theorem statement and proof source;216- dependency and audit summaries;217- reproducible code, certificates, and raw logs;218- primary-source bibliography;219- formalization or a precise formalization plan when practical; and220- an explicit request for independent expert validation.221222For an incomplete run, deliver:223224- strongest rigorously proved result;225- exact unresolved gap;226- refuted and blocked approaches;227- reusable computations or lemmas;228- the most informative next experiments; and229- an honest claim status.