← All problems

Problem

AI achieving gold-level olympiad math with open, verifiable solutions

The target is an AI system that writes complete, correct proofs for International Mathematical Olympiad problems at gold-medal level (2026 cutoff: 29/42), from the original problem statements, under contest conditions. 'Open, verifiable' tightens this: the system should be publicly available (open weights, ideally open data and training), and its proofs should be either officially graded by IMO coordinators or machine-checked in a formal language such as Lean 4 against Mathlib. The commercial value is not the contest. Olympiad proofs are the cleanest public proxy for reliable multi-step reasoning, and Lean-verified output is the basis of the 'verified AI' businesses (math research assistants, verified code) now raising large rounds. The fully strict criterion is one open-weight system, officially graded at >= 29/42 AND with every proof Lean-checked, at the same IMO.

Funding

$559M

Raised by the 3 companies working on it, 1 undisclosed.

Prize money for solving it$0
Open competition pools$0

Why it is still open

Mostly solved as of Sep 2026. At IMO 2026 (Shanghai, July) Huawei's Celia and RedNote's dots-note-3.0 were officially graded 42/42, NVIDIA's open-weight Nemotron 3 Ultra was graded 30/42 (above the 29-point gold cutoff), and Axiom's AxiomProver produced a Lean 4-verified 42/42 without official sign-off. XTX Markets closed the $10M AIMO Prize on 2026-09-16 without awarding the $5M grand prize, saying open-weight models now claim perfect IMO scores and the frontier has moved to research mathematics. What remains open is only the strict combination: a fully open-source system (open checkpoints, data and training) at gold level with Lean-checked proofs. The AIMO Proof Pilot's best fully-open entry scored 29/42 on human grading.

Source: xtxmarkets.com

Who is working on it

Project Numinaundisclosed Non-profit building open datasets and models for competition math (NuminaMath, won AIMO Progress Prize 1) and open Lean provers. InvestorsXTX Markets, General Catalyst, Mistral AI
Harmonic$295M Aristotle, a 'mathematical superintelligence' model that outputs Lean 4-verified proofs; it reached gold-equivalent on IMO 2025 (5/6 problems, formally verified). InvestorsRibbit Capital, Kleiner Perkins, Sequoia Capital, Index Ventures, Paradigm, Emerson Collective, NVentures (NVIDIA)
Axiom Math (Axiom Quant Inc.)$264M AxiomProver writes Lean 4 proofs: 12/12 on Putnam 2025, a self-administered Lean-verified 42/42 on IMO 2026 (~8,000 lines against Mathlib), and journal-published research results; it is now also pitched for verified code. InvestorsMenlo Ventures, B Capital, Greycroft, Madrona

Also active

OpenAI Its general reasoning models claimed IMO 2025 gold (35/42, self-reported); GPT-5.6 Sol self-administered 42/42 on IMO 2026 after repair rounds. No dedicated olympiad business. InvestorsAmazon, SoftBank, NVIDIA
Anthropic Its general Claude models; Claude Fable 5 reportedly scored 42/42 first-pass on IMO 2026 in a self-administered run graded by Claude-based agents (not official). No dedicated olympiad program. InvestorsAltimeter Capital, Dragoneer, Greenoaks, Sequoia Capital, GIC, Coatue
Mistral AI Provided initial support to Project Numina (open competition-math models); builds general LLMs with no dedicated olympiad effort found. InvestorsSamsung Electronics, Scaleup Europe Fund (EQT), PSG Equity, ASML
Google DeepMind (Alphabet) AlphaProof/AlphaGeometry (Lean-based, IMO 2024 silver) and Gemini Deep Think, officially graded gold at IMO 2025 (35/42).

Funding for these is not counted: the problem is a small part of what they do, or they contribute data and tools.

Prizes

PrizeStatusPays forAmount
AIMO Prize Grand PrizeClosed, unawardedSolving$5M
AIMO Progress Prizes 1-3 + Proof PilotAwardedRanking$1.6M

What counts as solved

The acceptance condition, stated in Lean 4. Measurements a computer cannot produce on its own are named inputs, supplied by whoever attests them.

import Mathlib.Data.Real.Basic
import Mathlib.Data.Finset.Card
import Mathlib.Data.Fintype.Fin
import Mathlib.Tactic.Linarith
import Mathlib.Tactic.NormNum

/-!
# AI achieving gold-level olympiad math with open, verifiable solutions

This is the one problem whose core is fully concrete in Lean. A contest problem
carries a *formal statement* as a `Prop`. A submission claims a set of problems
and must supply, for each claimed problem, a proof of that `Prop` — so the
acceptance predicate below cannot be satisfied without the mathematics actually
being true and proved. Answer-type problems are formalised the same way, as an
equality with the official answer inside `statement`. Scoring is integer
arithmetic: 7 points per fully solved problem, gold at `minPoints` (35 of 42 at
IMO 2025).

Opaque oracle (`Contest`): only the human-judgement parts — that each `statement`
is a faithful formalisation of the official problem (`faithful`), that the run
respected the contest time limit and had no human assistance, and that the proof
artefacts were published. Kernel checking of the proofs is not modelled inside
this file; it is what a verifier does to a proof of `Solved`.

Who must attest: a jury or independent panel signing off the formalisations as
faithful, plus the run conditions (two 4.5-hour sessions, no human input, no
internet); the proof terms themselves are checked by the Lean kernel, which needs
no attestation.

Units: points are the IMO 7-point scale; `problems` is 6 per contest (two papers
of three); `minPoints` is a point total out of 42.

Checked with Lean 4.33.0 / Mathlib using:
  lake env lean <absolute-path-to-this-file>
-/

namespace OpenSpur.Problems.AutomatedOlympiadMath

/-- A contest problem: its formal statement plus the faithfulness attestation. -/
structure Problem where
  /-- Formal statement; for answer problems, an equality with the official answer. -/
  statement : Prop
  /-- The jury certifies this is a faithful formalisation of the official problem. -/
  faithful : Prop

/-- A contest: `n` problems and the run-condition attestations. -/
structure Contest (n : ℕ) where
  problem : Fin n → Problem
  /-- Both papers were produced inside the official time limit. -/
  withinTimeLimit : Prop
  /-- No human assistance, no internet, no problem-specific hand-formalisation. -/
  noHumanAssistance : Prop
  /-- Proof artefacts were published for independent rechecking. -/
  artefactsPublic : Prop

/-- Points per fully solved problem on the IMO scale. -/
def pointsPerProblem : ℕ := 7

/-- Score of a claimed set: 7 points per claimed problem. -/
def score {n : ℕ} (claimed : Finset (Fin n)) : ℕ :=
  pointsPerProblem * claimed.card

/-- The medal bar. -/
structure Thresholds where
  /-- Minimum point total, e.g. 35 of 42 (the IMO 2025 gold cutoff). -/
  minPoints : ℕ

/-- The IMO 2025 gold cutoff. -/
def imo2025GoldCutoff : ℕ := 35

/-- Acceptance predicate. The fourth conjunct is the mathematics: the submission
must prove the formal statement of every claimed problem. -/
def Solved {n : ℕ} (T : Thresholds) (C : Contest n) (claimed : Finset (Fin n)) :
    Prop :=
  C.withinTimeLimit ∧
  C.noHumanAssistance ∧
  C.artefactsPublic ∧
  (∀ i, (C.problem i).faithful) ∧
  (∀ i ∈ claimed, (C.problem i).statement) ∧
  T.minPoints ≤ score claimed

/-- Gold at the IMO 2025 cutoff. -/
def Gold : Thresholds where
  minPoints := imo2025GoldCutoff

/-- Rung `k` demands `7 * k` points, i.e. `k` fully solved problems: rung 5 is
gold-equivalent on a 6-problem paper, rung 6 is a perfect score. -/
def Rung (k : ℕ) : Thresholds where
  minPoints := pointsPerProblem * k

/-- The point bar tightens monotonically along the rungs. -/
theorem rung_points_mono {j k : ℕ} (h : j ≤ k) :
    (Rung j).minPoints ≤ (Rung k).minPoints := by
  simp only [Rung]
  exact Nat.mul_le_mul_left pointsPerProblem h

/-- Solving a higher rung implies solving every lower rung. -/
theorem solved_rung_mono {n j k : ℕ} (h : j ≤ k) (C : Contest n)
    (claimed : Finset (Fin n)) :
    Solved (Rung k) C claimed → Solved (Rung j) C claimed := by
  intro hs
  obtain ⟨h1, h2, h3, h4, h5, h6⟩ := hs
  exact ⟨h1, h2, h3, h4, h5, le_trans (rung_points_mono h) h6⟩

/-- Claiming more problems can only raise the score. -/
theorem score_mono {n : ℕ} {a b : Finset (Fin n)} (h : a ⊆ b) :
    score a ≤ score b :=
  Nat.mul_le_mul_left pointsPerProblem (Finset.card_le_card h)

/-- A worked instance of the shape a board pays on: a one-problem contest whose
statement is genuinely proved here, with no `sorry`. -/
example : Solved { minPoints := 7 }
    { problem := fun _ => { statement := ∀ n : ℕ, Even (n * (n + 1))
                          , faithful := True }
    , withinTimeLimit := True
    , noHumanAssistance := True
    , artefactsPublic := True } (Finset.univ : Finset (Fin 1)) := by
  refine ⟨trivial, trivial, trivial, fun _ => trivial, ?_, ?_⟩
  · intro i _ n
    exact Nat.even_mul_succ_self n
  · simp [score, pointsPerProblem]

end OpenSpur.Problems.AutomatedOlympiadMath

Public resources

Join

Tell us what you want settled.

Two questions. We read every one.

I am a

What are you looking to solve?

Where should we reply?

Received

That is with us.

We read every message and reply to the ones we can help.