Vanilla multiagent · /solve-maths rounds=1 verifier=off

Vanilla multiagent: N independent agents, one root

\(N\) agents work in one round, \(R\) writes the verdict, and nothing checks a proof.

Philosophy

Four principles, where each sits in the architecture, and their source.
principlein the architectureliterature
Portfolio. Run different methods in parallel, not one method many times.one approach family per agentOn heavy-tailed searches a portfolio lowers expected time and its variance [Gomes–Selman].
Independence. Agreement is evidence only between agents that did not see each other.round 1 alone; no favoured approach disclosed (I1)Majority over independent samples beats one sample [Wang et al. 2023]; discussion propagates wrong answers [Wang et al. 2024].
Separate contexts. Each agent holds one approach, not the whole search.a brief: setting, target, approach, files, rulesOrchestrator–workers with parallel subagents [Anthropic]; the cost is lost shared decisions [Cognition].
One synthesizer. A single agent merges the returns.\(R\) writes registry and verdict; its steps are claimsOrchestrator–workers [Anthropic]; the Polymath moderator [Gowers–Nielsen].

Nothing in the vanilla architecture checks mathematics: a model does not reliably correct itself without outside feedback [Huang et al.]. Multiagent with verifier adds that check.

Architecture

(vanilla run with \(N\) agents)

$$\text{run}(N,1):\qquad 1\le N\le 9,\qquad \text{Fix}\ \to\ \text{Round 1: } A_1,\dots,A_N\ \to\ \text{Verdict}\ \to\ \text{Record}.$$

Each \(A_i\) gets one approach and works alone. \(\text{run}(1,1)\) is the single-agent baseline: \(R\) and one agent.

R fixes the problem and sends N briefs; agents A1 to AN work in parallel with no messages between them; their returns go to R, which writes the verdict; the record is written as files.
One root, \(N\) agents that never see each other, no check.

Timeline

Time runs down. R fixes the problem and briefs six agents at minute 0; they return after 38, 49, 50, 54, 68 and 100 minutes; R waits for the last, then writes the verdict. A bracket marks round 1 as the maximum of the agents' times, 100 minutes.
\(R\) waits for the slowest agent. Click \(R\) or an agent for its prompt.
Prompts: \(R\) and the six agents
\(R\) on receiving the problem · Fix, portfolio, briefs

Input (round 1 of the worked example as a vanilla run; the run itself used agents=8 rounds=2)

/solve-maths agents=6 rounds=1 verifier=off <problem> <references>

Question. Among the symmetric spaces \(X=G/G^\theta\) of the spherical-generation pages (Table 1), is there one where sheaves generate but functions do not, or the reverse?

$$\text{sheaves:}\quad \mathcal C_K^{\mathrm{Sat}}:=\operatorname{Thick}_{\mathcal C_K}\{V_\lambda\ast\mathrm{IC}_0:\lambda\in\Lambda_T^+\}\overset{?}{=}\mathcal C_K:=\operatorname{Shv}_{\mathrm{cons}}(L^+G\backslash LX),$$ $$\text{functions:}\quad \text{(SG)}\qquad \mathcal H_K\ast\varphi_0\overset{?}{=}C_K:=C_c^\infty(X(F))^K,\qquad \varphi_0=\mathbf 1_{X(\mathcal O)}.$$

A divergence is a variety \(X\) for which exactly one of the two equalities holds.

What \(R\) is told to do (SKILL.md › Fix, Portfolio)

  • Write the problem as one quantified statement with every object defined; write the completion criterion and the list of what does not count.
  • Resolve the references: file paths, result numbers, the exact version. Record the setting so that two agents cannot silently work in different settings.
  • Derive the problem's own adversarial checklist: the ways a wrong proof of this statement typically fails.
  • Design the portfolio before launching anyone: \(N\) agents, each with one approach family named by its mathematical idea.
  • Brief every agent from the template; do not tell them the favoured approach or another agent's direction. Launch them in parallel.
\(A_{6}\) brief · E₆/F₄ restriction · returned after 38 min

You are agent A6 in a bounded team attacking one mathematical question. Work independently; you will not see the other agents.

SETTING the shared definitions, the same text for every agent

QUESTION the team-level statement (see \(R\) · Fix)

YOUR APPROACH Compute \(r:\mathbb C[A^*]^W\to\mathbb C[\delta(X)^{1/2}A_X^*]^{W_X}\) for \(E_6/F_4\) and for \(\mathrm{Spin}_{2n}/\mathrm{Spin}_{2n-1}\), where the pages say r is not computed. (1) Fix the shift \(\delta(X)^{1/2}\) as a point of \(A^*\), calibrated on Proposition F's two GL cases; (2) identify \(\mathbb C[A^*]^W\) for the dual of simply connected \(E_6\); (3) compute r on generators in Python (weights of the 27, 78, …, restricted to \(A_X^*\) with the shift); (4) decide surjectivity by an exact argument (explicit generation or invariant theory: closed immersion of \(\delta^{1/2}A_X^*/W_X\to A^*/W\)); (5) state what of (A1)–(A5) remains to be verified. Shared setting and rules: the problem card of the hub.

FILES local pages, LaTeX sources, PDFs

RULES label every claim proved · heuristic · gap; no web search for the answer; timestamp every node; 5–14 nodes; return one JSON object

Its steps: A6.

\(A_{2}\) brief · SL₂/SO₂ · returned after 49 min

You are agent A2 in a bounded team attacking one mathematical question. Work independently; you will not see the other agents.

SETTING the shared definitions, the same text for every agent

QUESTION the team-level statement (see \(R\) · Fix)

YOUR APPROACH Target: \(X=\mathrm{SL}_2/\mathrm{SO}_2\), \(G=\mathrm{SL}_2\), where the pages leave the sheaf statement undecided (both conditions of Proposition III fail) and (SG) fails for \(q\) odd by square classes. Decide \(\mathcal C^{\mathrm{Sat}}=\mathcal C\) or \(\ne\) with a proof. Starting points: compute \(\operatorname{Stab}_{L^+\mathrm{SL}_2}(x_\mu)\) exactly and its component group; the simple equivariant perverse sheaves on \(\mathcal O_\mu\); what extra structure every Satake object carries (elements acting trivially on \(LX\) and on the Grassmannian; a larger group extending the action); whether a thick subcategory can be separated by such a structure; relate the \(\mathbb F_q\)-points of \(\mathcal O_\mu\) (Lang) to the square classes. State whether the two levels agree for this \(X\). Shared setting and rules: the problem card of the hub.

FILES local pages, LaTeX sources, PDFs

RULES label every claim proved · heuristic · gap; no web search for the answer; timestamp every node; 5–14 nodes; return one JSON object

Its steps: A2.

\(A_{4}\) brief · sheaf ⇄ function · returned after 50 min

You are agent A4 in a bounded team attacking one mathematical question. Work independently; you will not see the other agents.

SETTING the shared definitions, the same text for every agent

QUESTION the team-level statement (see \(R\) · Fix)

YOUR APPROACH Formulate and prove, with exact hypotheses, implications between (SG) over \(\mathbb F_q(\!(t)\!)\) and \(\mathcal C^{\mathrm{Sat}}=\mathcal C\) over \(\overline{\mathbb F}_q\), for symmetric \(X\) with \(Z_{G^\theta}(S)\) connected: (a) the trace function of \(V_\lambda\ast\mathrm{IC}_0\); (b) whether every Satake object is a direct sum of shifted \(\mathrm{IC}_\nu\) with constant coefficients and by which theorem; (c) when \(\mathcal C^{\mathrm{Sat}}=\mathcal C\) is equivalent to every \(\mathrm{IC}_\mu\) being a summand of some Satake object (Serre subcategory of the heart); (d) (SG) \(\Rightarrow\) \(\mathcal C^{\mathrm{Sat}}=\mathcal C\) or its failure, and the converse or its failure (Sakellaridis's Example 8.0.1 shape; Corollary C under coverage); (e) obstacles: \(\mathbb C\) versus \(\overline{\mathbb F}_q\), \(\operatorname{char}F=0\) in (A1), Weil structures, Lang's theorem, independence of the trace functions. Apply to Table 1. Shared setting and rules: the problem card of the hub.

FILES local pages, LaTeX sources, PDFs

RULES label every claim proved · heuristic · gap; no web search for the answer; timestamp every node; 5–14 nodes; return one JSON object

Its steps: A4.

\(A_{3}\) brief · symplectic fibres · returned after 54 min

You are agent A3 in a bounded team attacking one mathematical question. Work independently; you will not see the other agents.

SETTING the shared definitions, the same text for every agent

QUESTION the team-level statement (see \(R\) · Fix)

YOUR APPROACH Target: \(\mathrm{GL}_4/\mathrm{Sp}_4\) and the uncovered label \(\mu=(1,1,1,1)\); then \(\mathrm{GL}_{2m}/\mathrm{Sp}_{2m}\), \(\mathrm{SL}_{2n}/\mathrm{Sp}_{2n}\). The Summary remarks that \(\mathcal C^{\mathrm{Sat}}=\mathcal C\) would follow if the intersection complex of each uncovered orbit closure were a retract of some \(V_\lambda\ast\mathrm{IC}_0\). Steps: model \(X(F)\) as alternating forms, orbits = elementary-divisor classes; dimension formula and closure relations; choose \(\lambda\) with \(\varphi(\lambda)>\mu\), compute the fibre of the convolution map over \(x_\mu\), its cohomology; apply the decomposition theorem in an explicit finite-type equivariant model and decide whether \(\mathrm{IC}_{\overline{\mathcal O_\mu}}\) is a summand; say which step of Proposition I uses H5 and whether a per-orbit substitute suffices; propagate by central translation; attempt general uncovered labels; compute the function-level shadow as point counts. Shared setting and rules: the problem card of the hub.

FILES local pages, LaTeX sources, PDFs

RULES label every claim proved · heuristic · gap; no web search for the answer; timestamp every node; 5–14 nodes; return one JSON object

Its steps: A3.

\(A_{1}\) brief · literature · returned after 68 min

You are agent A1 in a bounded team attacking one mathematical question. Work independently; you will not see the other agents.

SETTING the shared definitions, the same text for every agent

QUESTION the team-level statement (see \(R\) · Fix)

YOUR APPROACH Approach family: status audit and definitions. (i) Reconstruct Table 1 of summary.html row by row and verify each status against the page where it is proved; classify each row as both-hold / both-fail / sheaf-open / function-open / both-open with the hypothesis it depends on. (ii) List every cell where a divergence could still hide and the statement that would produce or exclude it. (iii) Check comparability: same X, same acting group, same base field (C over \(\mathbb C\); (A1) demands \(\operatorname{char}F=0\)). (iv) Verify Proposition J's SL\(_2/T\) and GL\(_2/T\) arguments; the varieties are isomorphic, so say exactly what differs and what it means for the sheaf level. Shared setting and rules: the problem card of the hub.

FILES local pages, LaTeX sources, PDFs

RULES label every claim proved · heuristic · gap; no web search for the answer; timestamp every node; 5–14 nodes; return one JSON object

Its steps: A1.

\(A_{5}\) brief · functions, no (A) · returned after 100 min

You are agent A5 in a bounded team attacking one mathematical question. Work independently; you will not see the other agents.

SETTING the shared definitions, the same text for every agent

QUESTION the team-level statement (see \(R\) · Fix)

YOUR APPROACH For the rows marked under (A) or open at function level: (i) prove or disprove \(K\backslash X(F)\leftrightarrow\Lambda_S^+\) over a general non-archimedean local field for each family (sphere, alternating forms, GL\(_n/(\)GL\(_p\times\)GL\(_q)\), SL\(_{2n}/\)Sp\(_{2n}\), E\(_6/F_4\) if possible); (ii) prove the support bound \(Kt^\lambda X(\mathcal O)\subseteq\bigcup_{\nu\le\varphi(\lambda)}\mathcal O_\nu\) for a dominant lift and say whether the sheaf-level proof of H5(a) transfers to \(F\)-points for every local field; (iii) conclude (SG) unconditionally wherever coverage holds; (iv) where coverage fails, construct explicit Hecke combinations for the smallest uncovered label of \(\mathrm{GL}_4/\mathrm{Sp}_4\) by lattice counts, use the central Hecke elements and Proposition B along each degree chain, and say how far this extends. Report which rows become unconditional. Shared setting and rules: the problem card of the hub.

FILES local pages, LaTeX sources, PDFs

RULES label every claim proved · heuristic · gap; no web search for the answer; timestamp every node; 5–14 nodes; return one JSON object

Its steps: A5.

\(R\) after every return · Verdict

What \(R\) is told to do (SKILL.md › Verdict)

  • Status per statement: proved, partial, refuted, blocked. With verifier=off nothing checked a proof, so “proved” is written proved (unchecked).
  • Every verdict step lists as parents exactly the agent steps it uses.
  • Write verdict.md: one answer table; key propositions, each with status, assumptions and a numbered proof citing steps as [[A5-7]]; the gaps as exact obligations; the routes ruled out.
  • Record every solution the agents found. A proposition may have several proofs; the registry decides how many to present, and the rest are listed with their steps.
  • Write it in the context of the Fix plus the returns (below); after a compaction, re-read returns/ and tree.json first.

In the worked example: R-4, citing one step from each of seven agents.

$$T_{\text{run}}=T_{\text{fix}}+T_1+T_{\text{verdict}},\qquad T_1=\begin{cases}\max_i T_i & \text{wait for all (vanilla)}\\[2pt] \min\{T_i:\ A_i\ \text{returns a proof}\} & \text{race}\\[2pt] \min(\max_i T_i,\ W) & \text{deadline }W.\end{cases}$$

Waiting for all makes \(\mathbb E[T_1]=\mathbb E[\max_i T_i]\) grow with \(N\); a portfolio in the sense of Gomes–Selman races. Worked example: \(\min_i T_i=38\) min and \(\max_i T_i=100\) min.

The context of one agent

Context of A5 in thousand tokens against minutes since launch, frame 1 of 7

\(A_5\) of the worked example, from its transcript. The transcript records only the total; the split into bands is estimated from characters (1.65 per token, measured on \(A_5\)'s file reads), and growth beyond the text is counted as kept thinking. Source: figures/make_context_figures.py, data figures/context-a5.json.

What \(R\) knows when it writes the verdict

\(R\) is one session, so it writes the verdict in the same context as the Fix, with more appended:

$$c_R(\text{Verdict})=c_R(\text{Fix})\ +\ \underbrace{b_1,\dots,b_N}_{\text{briefs it wrote}}\ +\ \underbrace{r_1,\dots,r_N}_{\text{returns, verbatim}}\ +\ \text{its registry and notes}.$$

It never sees an agent's files, thinking or dead ends, only the return. In the worked example \(c_R\) was 230k tokens at the Fix (02:03; the conversation had already built pages) and 584k at the verdict R-4 (04:17), with no compaction in between. The first compaction came at 06:04, after the run, and took it from 623k to 6.7k. If \(R\) is compacted before the verdict, the skill has it re-read returns/ and tree.json first.

Token use

Cumulative tokens against minutes after the problem is fixed, rising from 0 to 63.5 million at the verdict R-4 after 134 minutes; 21.9 million by the start of round 2 at minute 54; dots mark each agent's return.
Cumulative tokens of \(R\) and all agents in the worked example, which ran a second round after minute 54.

The record keeps only the total; per-agent counts, which Experiment 1 plots, need token_usage.py to count each transcript separately.

Running it

/solve-maths agents=4 rounds=1 verifier=off <problem>     four agents
/solve-maths agents=1 rounds=1 verifier=off <problem>     single-agent baseline

\(N\), rounds=1 and verifier=off are written to tree.json ("config") and the README, so runs with different \(N\) can be compared (Experiment 1).

What the root and an agent exchange

① Brief · root → agent

SETTING        shared definitions, same for all
QUESTION       the team-level statement
YOUR TARGET    one sub-question or instance
YOUR APPROACH  one idea + 3–6 things to compute
FILES          local pages, PDFs, sources
RULES          label every claim; no web search
               for the answer; timestamp each step
agent works
alone →

② Return · agent → root

{"agent": "A2",
 "nodes": [{"id": "A2-4", "t": "…Z",
   "kind": "verdict", "status": "proved",
   "parents": ["A2-1", "A2-2", "A2-3"],
   "statement": "…", "body": "numbered proof"}],
 "result": {"status": "proved", "gap": "none"},
 "blocked_routes": ["…"]}

Continuing an agent adds another brief–return pair in its own context (A7, twice). The node shown: A2-4.