Plectis Atlas
Search

↑ and ↓ move, Enter opens, Esc closes.

Lean statement

Unique Games gap reduction

Lean is a language for mathematical statements and proofs that a computer can verify. This page shows one statement file from OpenAI’s release, possible paper matches and independent reports. The code-like names below identify the definitions or theorems selected by the proof-verification settings.

Theorem selected for verification: OAI.UniqueGamesTheorem.theorem11

Lean statement file: UniqueGamesTheorem.leanShow on the mapFamily 102. OpenAI lists this as a main result in its Lean catalogue.

The Lean statement

The lines of the Lean statement that state the theorem, then the definitions in the file that it uses.

theorem theorem11 (ε δ : ℝ)    (hε : 0 < ε) (hεhalf : ε < 1 / 2)    (hδ : 0 < δ) (hδhalf : δ < 1 / 2) :    Nonempty (Explicit.MachineOutputContract.BinaryGapReduction ε δ) := by  sorry

A Lean statement states the theorem and leaves its proof as sorry on purpose. OpenAI’s proof is in a separate solution module, and a program called Comparator checks that proof against this statement.

Definitions needed to read it

Local definitions the statement names, followed through the definitions they name in turn. The match is by name in the source text, so a name reached only through notation can be missed; the full file is below.

  • structure OAI.UniqueGamesTheorem.Foundations.Target.PermutationTable line 9

    structure PermutationTable (alphabet : Nat) where  images : Vector (Fin alphabet) alphabet  inverseImages : Vector (Fin alphabet) alphabet  leftInverse : ∀ label : Fin alphabet, inverseImages[images[label]] = label  rightInverse : ∀ label : Fin alphabet, images[inverseImages[label]] = label
  • structure OAI.UniqueGamesTheorem.Foundations.Target.Constraint line 15

    structure Constraint (vertices alphabet : Nat) where  source : Fin vertices  target : Fin vertices  permutation : PermutationTable alphabet
  • definition OAI.UniqueGamesTheorem.Foundations.Target.Constraint.satisfied line 20

    def Constraint.satisfied {n q : Nat} (constraint : Constraint n q)    (labeling : Fin n → Fin q) : Bool :=  decide (constraint.permutation.images[labeling constraint.source] = labeling constraint.target)
  • structure OAI.UniqueGamesTheorem.Foundations.Target.Instance line 26

    structure Instance (alphabet : Nat) where  vertices : Nat  constraints : List (Constraint vertices alphabet)  nonempty : constraints ≠ []
  • definition OAI.UniqueGamesTheorem.Foundations.Target.countSatisfied line 31

    def countSatisfied {n q : Nat} (labeling : Fin n → Fin q) :    List (Constraint n q) → Nat  | [] => 0  | constraint :: rest =>      (if constraint.satisfied labeling then 1 else 0) + countSatisfied labeling rest
  • structure OAI.UniqueGamesTheorem.BinaryFormula.Literal line 43

    structure Literal where  name : Nat  positive : Bool  deriving DecidableEq
  • definition OAI.UniqueGamesTheorem.BinaryFormula.Literal.eval line 48

    def Literal.eval (literal : Literal) (assignment : Nat → Bool) : Bool :=  if literal.positive then assignment literal.name else !(assignment literal.name)
  • abbreviation OAI.UniqueGamesTheorem.BinaryFormula.Clause line 51

    abbrev Clause := Vector Literal 3
  • structure OAI.UniqueGamesTheorem.BinaryFormula.Formula line 58

    structure Formula where  clauses : List Clause
  • definition OAI.UniqueGamesTheorem.BinaryFormula.Formula.Satisfiable line 61

    def Formula.Satisfiable (F : Formula) : Prop :=  ∃ assignment : Nat → Bool, ∀ clause ∈ F.clauses, clause.eval assignment = true
  • definition OAI.UniqueGamesTheorem.BinaryEncoding.bitsValue line 70

    def bitsValue : List Bool → Nat  | [] => 0  | b :: bits => Nat.bit b (bitsValue bits)
  • definition OAI.UniqueGamesTheorem.BinaryEncoding.parseFrame line 74

    def parseFrame : List Bool → Option (List Bool × List Bool)  | false :: rest => some ([], rest)  | true :: b :: rest => do      let (bits, trailing) ← parseFrame rest      return (b :: bits, trailing)  | _ => none
  • definition OAI.UniqueGamesTheorem.BinaryEncoding.parseName line 82

    def parseName (input : List Bool) : Option (Nat × List Bool) := do  let (digits, rest) ← parseFrame input  let name := bitsValue digits  if digits = name.bits then some (name, rest) else none
  • definition OAI.UniqueGamesTheorem.BinaryEncoding.parseLiteral line 87

    def parseLiteral : List Bool → Option (Literal × List Bool)  | sign :: input => do      let (name, rest) ← parseName input      return (⟨name, sign⟩, rest)  | [] => none
  • definition OAI.UniqueGamesTheorem.BinaryEncoding.parseClause line 93

    def parseClause (input : List Bool) : Option (Clause × List Bool) := do  let (a, input) ← parseLiteral input  let (b, input) ← parseLiteral input  let (c, rest) ← parseLiteral input  return (#v[a, b, c], rest)
  • definition OAI.UniqueGamesTheorem.BinaryEncoding.parseClauses line 100

    def parseClauses : Nat → List Bool → Option (List Clause × List Bool)  | 0, _ => none  | _ + 1, false :: rest => some ([], rest)  | fuel + 1, true :: input => do      let (clause, input) ← parseClause input      let (clauses, rest) ← parseClauses fuel input      return (clause :: clauses, rest)  | _ + 1, [] => none
  • definition OAI.UniqueGamesTheorem.BinaryEncoding.decodeFormula line 109

    def decodeFormula (input : List Bool) : Option Formula := do  let (clauses, rest) ← parseClauses (input.length + 1) input  if rest = [] then some ⟨clauses⟩ else none
  • definition OAI.UniqueGamesTheorem.BinaryLanguage.language line 119

    def language (input : List Bool) : Prop :=  ∃ formula, BinaryEncoding.decodeFormula input = some formula ∧ formula.Satisfiable
  • abbreviation OAI.UniqueGamesTheorem.Integration.BinaryLinear.F2 line 126

    abbrev F2 := ZMod 2
  • abbreviation OAI.UniqueGamesTheorem.Integration.BinaryLinear.Vector line 128

    abbrev Vector (n : Nat) := Fin n → F2
  • definition OAI.UniqueGamesTheorem.Integration.TranslationTarget.IsTranslationInstance line 137

    def IsTranslationInstance {q s : Nat} (coordinates : Fin q ≃ BinaryLinear.Vector s)    (g : Instance q) : Prop :=  ∀ constraint ∈ g.constraints, ∃ shift : BinaryLinear.Vector s,    ∀ label : Fin q,      coordinates (constraint.permutation.images[label]) = coordinates label + shift
  • definition OAI.UniqueGamesTheorem.Foundations.Complexity.encodeWord line 147

    def encodeWord (n : Nat) : List Bool := List.replicate n true ++ [false]
  • definition OAI.UniqueGamesTheorem.Foundations.Complexity.encodeWords line 149

    def encodeWords : List Nat → List Bool  | [] => []  | n :: ns => encodeWord n ++ encodeWords ns
  • definition OAI.UniqueGamesTheorem.Foundations.Complexity.tableWords line 159

    def tableWords {q : Nat} (table : PermutationTable q) : List Nat :=  table.images.toList.map Fin.val

6 more definitions are reached the same way; the full file lists them.

Possible paper match, with no recorded review

No paper statement clearly matched the Lean wording. Statement Map, the program that collects Atlas’s source records, selected this possible match using words in OpenAI’s catalogue and Lean note. No review of whether the statements mean the same thing is recorded.

Shared with the catalogue’s wording or OpenAI’s note, none of them matched in the Lean text: alphabet, bipartite, constraint, depend, deterministic, explicit, fixed, games and twelve more.

Statements in The Unique Games Theorem come first because the release’s name for this Lean statement shares words with that paper’s title.

Theorem 1.1 of The Unique Games Theorem

Theorem (Unique Games Theorem)

For every fixed \varepsilon,\delta\in(0,1/2), there are an integer s\ge1 and a deterministic polynomial-time reduction from \mathrm{3SAT} to explicit unweighted Unique Games instances G_\varphi over K=\F_2^s such that

\begin{aligned} \varphi\text{ satisfiable} &\quad\Longrightarrow\quad \val(G_\varphi)\ge1-\varepsilon,\\ \varphi\text{ unsatisfiable} &\quad\Longrightarrow\quad \val(G_\varphi)\le\delta. \end{aligned}

The graph is simple and bipartite, and every constraint is a translation a(v_e)=a(u_e)+c_e of K. The alphabet, the degree of the running-time polynomial, and its constants depend only on \varepsilon,\delta.

Section 1, Introduction Read it in the paper TeX source, line 22
Show the TeX
For every fixed \(\varepsilon,\delta\in(0,1/2)\), there are an integer
\(s\ge1\) and a deterministic polynomial-time reduction from
\(\mathrm{3SAT}\) to explicit unweighted Unique Games instances
\(G_\varphi\) over \(K=\F_2^s\) such that
\[
\begin{aligned}
 \varphi\text{ satisfiable}
 &\quad\Longrightarrow\quad \val(G_\varphi)\ge1-\varepsilon,\\
 \varphi\text{ unsatisfiable}
 &\quad\Longrightarrow\quad \val(G_\varphi)\le\delta.
\end{aligned}
\]
The graph is simple and bipartite, and every constraint is a translation
\(a(v_e)=a(u_e)+c_e\) of \(K\). The alphabet, the degree of the
running-time polynomial, and its constants depend only on
\(\varepsilon,\delta\).

Other possible paper matches, closest wording first

  • Proposition A.2 of The Unique Games Theorem. Words of the Lean statement, its names split into words, that also appear in the theorem: oriented, variables, vertices, distinct, unique, encoded and 15 more. Shared only with the release’s name for the Lean statement or OpenAI’s note on it: delta, unweighted and deterministic.
  • Theorem 1.1 of The Factor-Two Hardness Threshold for Vertex Cover. Words of the Lean statement, its names split into words, that also appear in the theorem: vertices, edges, formula, output, explicit, sat and nine more. Found in the paper’s title, which its main theorem states: two. Shared only with the release’s name for the Lean statement or OpenAI’s note on it: unsatisfiable, unweighted and deterministic.
  • Theorem 1.1 of Constant-factor hardness of Min-UnCut. Words of the Lean statement, its names split into words, that also appear in the theorem: pair, complexity, length, formula, binary, encoded and ten more. Shared only with the release’s name for the Lean statement or OpenAI’s note on it: unsatisfiable, unweighted and deterministic.
  • Theorem 4.1 of The Unique Games Theorem. Words of the Lean statement, its names split into words, that also appear in the theorem: binary, encoded, gap, 1/2, satisfiability, weighted and four more. Shared only with the release’s name for the Lean statement or OpenAI’s note on it: deterministic.
  • Theorem 2.2 of Constant-factor hardness of Min-UnCut. Words of the Lean statement, its names split into words, that also appear in the theorem: assignment, complexity, none, length, nonempty, list and ten more. Shared only with the release’s name for the Lean statement or OpenAI’s note on it: unsatisfiable and deterministic.
  • Theorem 6.1 of The Unique Games Theorem. Words of the Lean statement, its names split into words, that also appear in the theorem: occurrences, parallel, bipartite, bound, constraint, alphabets and two more.

How Atlas selects possible matches: it compares words in the Lean statement with every statement in the family. It also splits Lean names into words. The release’s label and note receive less weight; a main theorem wins a close match. If the Lean wording yields no clear match, Atlas uses the catalogue description. This selects passages to compare; it does not establish that they mean the same thing.

Reported Comparator runs

One independent group reports that Comparator accepted a run for this Lean statement file: MathVet. Each group reports its own Comparator run for this statement file. Atlas has not repeated the runs.

For a configured theorem, Comparator tests whether OpenAI’s proof proves the exact Lean statement. Some files instead configure definitions for comparison by name and type. Acceptance does not establish that the statement means the same thing as the paper’s theorem.

Carlos Toledo’s cert-machine

How they ran it, in their words

Every Comparator challenge re-run on Linux with nanoda switched on, decided by a preregistered rule; every family’s challenge statements read against OpenAI’s headline, clause by clause. Decider: Comparator (leanprover/comparator d03acab1 = tag v4.34.0, built with the release’s toolchain v4.34.1), lean4export 076e8e57, landrun 811cfff5, nanoda_lib 3a240721 — on GitHub’s Linux runners (.github/workflows/openai-math-kernel.yml), one j…

  • No verdict reached Their term: “REFUSED”.

    Re-run through Comparator did not reach a verdict (the job ended (failure) in the step "comparator, Lean’s kernel and nanoda" without uploading a result: the runner terminated it (GitHub: Process completed with exit code 143.)).

    Reported 10 October 2026, at the release version shown here. Original verification report

MathVet

How they ran it, in their words

An independent, model-assisted, pre-referee reading of each family’s challenge statements against its headline claim under a published rubric (PROTOCOL.md), with its own Comparator runs per challenge. Its protocol describes a planned error-rate study; this import does not establish that the study has been completed.

  • Accepted Their term: “comparator-pass”.

    Re-run through Comparator: accepted.

    Reported 8 October 2026, at the release version shown here. Original verification report

What an accepted Comparator run would establish

If Comparator is run under this configuration and accepts, the solution proves the configured theorem using only the allowed axioms, and the Lean kernel accepts every step.

This configuration lists no definition holes, so every definition the statement uses is compared as it is written in this file.

Allowed axioms: propext, Quot.sound, Classical.choice

Acceptance leaves open whether the Lean statement means the same thing as the paper’s theorem, whether the paper’s other claims are correct, and whether the result is new. Those questions require comparing the definitions and statements, reviewing the paper’s arguments, and reading the earlier literature.

Do family 102’s Lean statements express the advertised result?

These assessments compare all the family’s Lean statements with the whole result OpenAI describes in its catalogue. They do not assess this statement alone. Each group uses its own published rules.

MathVet and cert-machine agree on how much of the advertised result the Lean statements express.

  • MathVet

    Finds the whole advertised result stated or implied Their term: “full”.

    The challenge statements imply the headline claim after unpacking definitions or one routine step. Their record

    Their note: None found; all five hardness statements are formalized as polynomial-time (Mathlib TM2, finite stack alphabets) Karp gap reductions from binary 3SAT (or an arbitrary NP verifier language), which is the standard NP-hardness encoding. Cone is ~190k lines and uses 'Std'/'Lean' (core) only; the OptimalMaxCut axiom_files flag is a comment-only false positive.

    Definitions the group asks readers to compare with the paper: Complexity notions are Mathlib's Turing.TM2ComputableInPolyTime (note: Mathlib's FinTM2 only forces the input stack alphabet to be finite, so every challenge adds finiteAlphabet : ∀ k, Finite (computation.tm.Γ k)), outputs are measured in explicit unary/binary encodings (gameBits writes every number in unary); alphaGW is defined as an sInf over ρ ∈ [-1,1) (equals the GW constant, checked); InNP is the certificate definition via NPVerifier with a polynomial witnessBound

  • Carlos Toledo’s cert-machine

    Finds the whole advertised result stated or implied Their term: “MATCHES”.

    The challenge statements state the headline as OpenAI wrote it. Their record

Read the complete assessments on the family page.

OpenAI’s own note on what this Lean statement covers

“The formalized result gives, for every fixed $0<\varepsilon,\delta<1/2$, a deterministic polynomial-time reduction from binary 3SAT to nonempty unweighted simple bipartite unique games. Satisfiable inputs have value at least $1-\varepsilon$ and unsatisfiable inputs have value at most $\delta$.”

An AI agent drafted an interpretation of that note, classifying this statement as “states a paper’s theorem as the paper does”. No human review of the draft is recorded.

Supporting material

The complete Lean statement file

239 lines, copied from release version fd4aeeb. A name defined in this file links to its line; pointing at the name shows its definition.

Declared in this fileOpenAI’s library at fd4aeebOther linked names open the current documentation for Mathlib, Lean’s mathematical library.

Links in the file: 47 to its own declarations, 143 to Mathlib’s documentation. 6 declared names also link to the same declaration in OpenAI’s library. 5 identifiers stay plain because they resolve to no single declaration: variables Lean binds automatically, notation, or names the scan of the pinned sources did not find. OpenAI uses Mathlib version d13f23b. The linked documentation describes the current version, so names that have since changed may be missing there.

import Mathlibnamespace OAInamespace UniqueGamesTheorem.Foundations.Target/-- Finite forward and inverse tables make totality and invertibility explicit.An eventual external encoding only needs to serialize the forward table. -/structure PermutationTable (alphabet : Nat) where  images : Vector (Fin alphabet) alphabet  inverseImages : Vector (Fin alphabet) alphabet  leftInverse : ∀ label : Fin alphabet, inverseImages[images[label]] = label  rightInverse : ∀ label : Fin alphabet, images[inverseImages[label]] = labelstructure Constraint (vertices alphabet : Nat) where  source : Fin vertices  target : Fin vertices  permutation : PermutationTable alphabetdef Constraint.satisfied {n q : Nat} (constraint : Constraint n q)    (labeling : Fin n → Fin q) : Bool :=  decide (constraint.permutation.images[labeling constraint.source] = labeling constraint.target)/-- Constraint occurrences are list entries, so repeated parallel edges retaintheir multiplicity. No weights are hidden in this representation. -/structure Instance (alphabet : Nat) where  vertices : Nat  constraints : List (Constraint vertices alphabet)  nonempty : constraints ≠ []def countSatisfied {n q : Nat} (labeling : Fin n → Fin q) :    List (Constraint n q) → Nat  | [] => 0  | constraint :: rest =>      (if constraint.satisfied labeling then 1 else 0) + countSatisfied labeling restend UniqueGamesTheorem.Foundations.Targetnamespace UniqueGamesTheorem.BinaryFormulaopen UniqueGamesTheorem.Foundationsstructure Literal where  name : Nat  positive : Bool  deriving DecidableEqdef Literal.eval (literal : Literal) (assignment : Nat → Bool) : Bool :=  if literal.positive then assignment literal.name else !(assignment literal.name)abbrev Clause := Vector Literal 3def Clause.eval (clause : Clause) (assignment : Nat → Bool) : Bool :=  (clause[0].eval assignment || clause[1].eval assignment) || clause[2].eval assignment/-- An ordinary conjunction of three-slot clauses with sparse variable names.Repeated names and repeated literals are permitted in every clause. -/structure Formula where  clauses : List Clausedef Formula.Satisfiable (F : Formula) : Prop :=  ∃ assignment : Nat → Bool, ∀ clause ∈ F.clauses, clause.eval assignment = trueend UniqueGamesTheorem.BinaryFormulanamespace UniqueGamesTheorem.BinaryEncodingopen BinaryFormuladef bitsValue : List Bool → Nat  | [] => 0  | b :: bits => Nat.bit b (bitsValue bits)def parseFrame : List Bool → Option (List Bool × List Bool)  | false :: rest => some ([], rest)  | true :: b :: rest => do      let (bits, trailing) ← parseFrame rest      return (b :: bits, trailing)  | _ => none/-- Equality with the canonical digits rejects alternate padded encodings. -/def parseName (input : List Bool) : Option (Nat × List Bool) := do  let (digits, rest) ← parseFrame input  let name := bitsValue digits  if digits = name.bits then some (name, rest) else nonedef parseLiteral : List Bool → Option (Literal × List Bool)  | sign :: input => do      let (name, rest) ← parseName input      return (⟨name, sign⟩, rest)  | [] => nonedef parseClause (input : List Bool) : Option (Clause × List Bool) := do  let (a, input) ← parseLiteral input  let (b, input) ← parseLiteral input  let (c, rest) ← parseLiteral input  return (#v[a, b, c], rest)/-- Fuel bounds the number of clause iterations, not the size of any name. -/def parseClauses : Nat → List Bool → Option (List Clause × List Bool)  | 0, _ => none  | _ + 1, false :: rest => some ([], rest)  | fuel + 1, true :: input => do      let (clause, input) ← parseClause input      let (clauses, rest) ← parseClauses fuel input      return (clause :: clauses, rest)  | _ + 1, [] => nonedef decodeFormula (input : List Bool) : Option Formula := do  let (clauses, rest) ← parseClauses (input.length + 1) input  if rest = [] then some ⟨clauses⟩ else noneend UniqueGamesTheorem.BinaryEncodingnamespace UniqueGamesTheorem.BinaryLanguageopen UniqueGamesTheorem.Foundationsdef language (input : List Bool) : Prop :=  ∃ formula, BinaryEncoding.decodeFormula input = some formula ∧ formula.Satisfiableend UniqueGamesTheorem.BinaryLanguagenamespace UniqueGamesTheorem.Integration.BinaryLinearabbrev F2 := ZMod 2abbrev Vector (n : Nat) := Fin n → F2end UniqueGamesTheorem.Integration.BinaryLinearnamespace UniqueGamesTheorem.Integration.TranslationTargetopen UniqueGamesTheorem.Foundationsopen Targetdef IsTranslationInstance {q s : Nat} (coordinates : Fin q ≃ BinaryLinear.Vector s)    (g : Instance q) : Prop :=  ∀ constraint ∈ g.constraints, ∃ shift : BinaryLinear.Vector s,    ∀ label : Fin q,      coordinates (constraint.permutation.images[label]) = coordinates label + shiftend UniqueGamesTheorem.Integration.TranslationTargetnamespace UniqueGamesTheorem.Foundations.Complexitydef encodeWord (n : Nat) : List Bool := List.replicate n true ++ [false]def encodeWords : List Nat → List Bool  | [] => []  | n :: ns => encodeWord n ++ encodeWords nsend UniqueGamesTheorem.Foundations.Complexitynamespace UniqueGamesTheorem.Foundations.Complexityopen Targetdef tableWords {q : Nat} (table : PermutationTable q) : List Nat :=  table.images.toList.map Fin.valdef constraintWords {n q : Nat} (constraint : Constraint n q) : List Nat :=  [constraint.source.val, constraint.target.val] ++ tableWords constraint.permutationdef gameWords {q : Nat} (game : Instance q) : List Nat :=  [game.vertices, q, game.constraints.length] ++ game.constraints.flatMap constraintWordsdef gameBits {q : Nat} (game : Instance q) : List Bool := encodeWords (gameWords game)end UniqueGamesTheorem.Foundations.Complexitynamespace UniqueGamesTheorem.Foundations.Complexity.MachineFiniteAlphabetopen Turing/-- Every physical tape has a finite alphabet. Together with `M.kFin`, thisalso makes the disjoint union of all physical tape alphabets finite. -/def FiniteAlphabet (M : FinTM2) : Prop := ∀ k, Finite (M.Γ k)end UniqueGamesTheorem.Foundations.Complexity.MachineFiniteAlphabetnamespace UniqueGamesTheorem.Explicit.MachineOutputContractopen UniqueGamesTheorem.Foundationsopen Targetopen scoped BigOperators/-- A canonical orientation from the false side to the true side. Injectivityis on occurrence indices, so two distinct list entries cannot be parallel evenwhen their constraint tables are different. -/structure SimpleBipartite {q : Nat} (game : Instance q) where  side : Fin game.vertices → Bool  sourceSide : ∀ i : Fin game.constraints.length,    side game.constraints[i].source = false  targetSide : ∀ i : Fin game.constraints.length,    side game.constraints[i].target = true  endpoints_injective : Function.Injective (fun i : Fin game.constraints.length =>    (game.constraints[i].source, game.constraints[i].target))/-- Every parameter, coordinate identification, program, and polynomial isfixed before the input quantifier. The identity input encoding measures runtimein the original raw bit length, including sparse binary variable names. -/structure BinaryGapReduction (ε δ : ℝ) where  alphabet : Nat  alphabetAtLeastTwo : 2 ≤ alphabet  dimension : Nat  dimensionPositive : 1 ≤ dimension  coordinates : Fin alphabet ≃ Integration.BinaryLinear.Vector dimension  construct : List Bool → Instance alphabet  simpleBipartite : ∀ input, SimpleBipartite (construct input)  translations : ∀ input,    Integration.TranslationTarget.IsTranslationInstance coordinates (construct input)  computation : Turing.TM2ComputableInPolyTime (id : List Bool → List Bool)    Complexity.gameBits construct  finiteAlphabet : Complexity.MachineFiniteAlphabet.FiniteAlphabet computation.tm  completeness : ∀ input, BinaryLanguage.language input →    ∃ labeling, 1 - ε ≤      (countSatisfied labeling (construct input).constraints : ℝ) /        (construct input).constraints.length  soundness : ∀ input, ¬BinaryLanguage.language input →    ∀ labeling, (countSatisfied labeling (construct input).constraints : ℝ) /      (construct input).constraints.length ≤ δend UniqueGamesTheorem.Explicit.MachineOutputContractnamespace UniqueGamesTheorem/-- For every fixed pair of errors in `(0, 1/2)`, binary 3SAT reduces inpolynomial time to translation Unique Games with completeness at least `1 - ε`and soundness at most `δ`. The alphabet and machine depend only on the errors. -/theorem theorem11 (ε δ : ℝ)    (hε : 0 < ε) (hεhalf : ε < 1 / 2)    (hδ : 0 < δ) (hδhalf : δ < 1 / 2) :    Nonempty (Explicit.MachineOutputContract.BinaryGapReduction ε δ) := by  sorryend UniqueGamesTheoremend OAI
Every extracted statement of the accompanying papers

The statements the atlas extracted automatically from each accompanying paper’s TeX source, with links to the full sources.

The Unique Games Theorem

Theorem (Unique Games Theorem)

For every fixed \varepsilon,\delta\in(0,1/2), there are an integer s\ge1 and a deterministic polynomial-time reduction from \mathrm{3SAT} to explicit unweighted Unique Games instances G_\varphi over K=\F_2^s such that

\begin{aligned} \varphi\text{ satisfiable} &\quad\Longrightarrow\quad \val(G_\varphi)\ge1-\varepsilon,\\ \varphi\text{ unsatisfiable} &\quad\Longrightarrow\quad \val(G_\varphi)\le\delta. \end{aligned}

The graph is simple and bipartite, and every constraint is a translation a(v_e)=a(u_e)+c_e of K. The alphabet, the degree of the running-time polynomial, and its constants depend only on \varepsilon,\delta.

Section 1, Introduction Read it in the paper TeX source, line 22
Show the TeX
For every fixed \(\varepsilon,\delta\in(0,1/2)\), there are an integer
\(s\ge1\) and a deterministic polynomial-time reduction from
\(\mathrm{3SAT}\) to explicit unweighted Unique Games instances
\(G_\varphi\) over \(K=\F_2^s\) such that
\[
\begin{aligned}
 \varphi\text{ satisfiable}
 &\quad\Longrightarrow\quad \val(G_\varphi)\ge1-\varepsilon,\\
 \varphi\text{ unsatisfiable}
 &\quad\Longrightarrow\quad \val(G_\varphi)\le\delta.
\end{aligned}
\]
The graph is simple and bipartite, and every constraint is a translation
\(a(v_e)=a(u_e)+c_e\) of \(K\). The alphabet, the degree of the
running-time polynomial, and its constants depend only on
\(\varepsilon,\delta\).

A Direct Proof of Optimal Max-Cut Hardness

Theorem

For every fixed \alpha with \GW<\alpha\le1, it is NP-hard to approximate Max-Cut within a factor of \alpha. This holds for simple unweighted graphs.

Section 1, Introduction Read it in the paper TeX source, line 39
Show the TeX
For every fixed $\alpha$ with $\GW<\alpha\le1$, it is NP-hard to approximate
Max-Cut within a factor of $\alpha$. This holds for simple unweighted graphs.
Theorem

Fix a rational t\in(0,1) and a constant 0<\eps<(t-B(t))/4. For graphs equipped with a rational probability distribution on edges, it is NP-hard to distinguish

\begin{aligned}\textnormal{YES:}\quad&\Val\ge\frac{1+t}{2}-\eps,\\ \textnormal{NO:}\quad&\Val\le\frac{1+B(t)}{2}+\eps,\end{aligned}

where \Val is the maximum cut weight.

Section 1, Introduction Read it in the paper TeX source, line 52
Show the TeX
Fix a rational $t\in(0,1)$ and a constant
$0<\eps<(t-B(t))/4$. For graphs equipped with a rational probability
distribution on edges, it is NP-hard to distinguish
\begin{align*}
 \textnormal{YES:}\quad&\Val\ge\frac{1+t}{2}-\eps,\\
 \textnormal{NO:}\quad&\Val\le\frac{1+B(t)}{2}+\eps,
\end{align*}
where $\Val$ is the maximum cut weight.

The Factor-Two Hardness Threshold for Vertex Cover

Theorem (Explicit cover gap)

For every fixed integer m\geq4, there is a deterministic polynomial-time reduction from \mathrm{3SAT} to finite simple undirected unweighted graphs with the following guarantees:

\begin{array}{ll} \text{the formula is satisfiable} &\Longrightarrow\quad \tau(G)<\left(\dfrac12+\dfrac1m\right)|V(G)|,\\[6pt] \text{the formula is unsatisfiable} &\Longrightarrow\quad \tau(G)>\left(1-\dfrac1m\right)|V(G)|. \end{array}

The output lists all vertices and edges explicitly.

Section 1, Introduction Read it in the paper TeX source, line 15
Show the TeX
For every fixed integer \(m\geq4\), there is a deterministic
polynomial-time reduction from \(\mathrm{3SAT}\) to finite simple
undirected unweighted graphs with the following guarantees:
\[
\begin{array}{ll}
\text{the formula is satisfiable}
 &\Longrightarrow\quad
 \tau(G)<\left(\dfrac12+\dfrac1m\right)|V(G)|,\\[6pt]
\text{the formula is unsatisfiable}
 &\Longrightarrow\quad
 \tau(G)>\left(1-\dfrac1m\right)|V(G)|.
\end{array}
\]
The output lists all vertices and edges explicitly.
Corollary

For every fixed real \alpha with 1\leq\alpha<2, approximating Vertex Cover within factor \alpha is NP-hard. Thus, unless \mathrm P=\mathrm{NP}, no deterministic polynomial-time algorithm achieves factor 2-\varepsilon for any fixed \varepsilon\in(0,1].

Section 1, Introduction Read it in the paper TeX source, line 33
Show the TeX
For every fixed real \(\alpha\) with \(1\leq\alpha<2\),
approximating Vertex Cover within factor \(\alpha\) is NP-hard.
Thus, unless \(\mathrm P=\mathrm{NP}\), no deterministic
polynomial-time algorithm achieves factor \(2-\varepsilon\)
for any fixed \(\varepsilon\in(0,1]\).

Constant-factor hardness of Min-UnCut

Theorem

For every fixed integer K\ge2, there is a deterministic polynomial-time many-one reduction mapping a 3SAT formula \varphi to a pair (G,k), where G is an explicit finite simple undirected unweighted graph and k\ge1 is a binary-encoded integer, such that

\begin{aligned} \varphi\text{ satisfiable}&\quad\Longrightarrow\quad \OPT_{\rm uncut}(G)\le k,\\ \varphi\text{ unsatisfiable}&\quad\Longrightarrow\quad \OPT_{\rm uncut}(G)>Kk. \end{aligned}

For each fixed K, the graph size, full construction work, and bit complexity are polynomial in the bit length of \varphi. All constants are effective; no advice or oracle is supplied to the reduction.

Section 1, Introduction Read it in the paper TeX source, line 50
Show the TeX
For every fixed integer $K\ge2$, there is a deterministic polynomial-time
many-one reduction mapping a $3$SAT formula $\varphi$ to a pair $(G,k)$, where
$G$ is an explicit finite simple undirected unweighted graph and $k\ge1$ is
a binary-encoded integer, such that
\[
 \begin{aligned}
 \varphi\text{ satisfiable}&\quad\Longrightarrow\quad
       \OPT_{\rm uncut}(G)\le k,\\
 \varphi\text{ unsatisfiable}&\quad\Longrightarrow\quad
       \OPT_{\rm uncut}(G)>Kk.
 \end{aligned}
\]
For each fixed $K$, the graph size, full construction work, and bit complexity
are polynomial in the bit length of $\varphi$. All constants are effective;
no advice or oracle is supplied to the reduction.
Corollary

For every fixed real C>1, minimum 2CNF clause deletion is NP-hard to approximate within factor C. In particular, a deterministic polynomial-time C-approximation would imply \mathsf P=\NP.

Section 1, Introduction Read it in the paper TeX source, line 86
Show the TeX
For every fixed real $C>1$, minimum $2$CNF clause deletion is NP-hard to
approximate within factor $C$. In particular, a deterministic polynomial-time
$C$-approximation would imply $\mathsf P=\NP$.

Constant-factor hardness of directed feedback vertex set

Theorem

For every fixed real constant A\ge1, it is NP-hard to approximate minimum directed feedback vertex set within factor A on unweighted digraphs. More precisely, there is a deterministic polynomial-time reduction from an NP-hard promise problem to instances (G,k) with k\in\N_{>0}. The polynomial and its constants may depend on A. The reduction has the following alternatives:

\textnormal{YES: }\DFVS(G)\le k, \qquad \textnormal{NO: }\DFVS(G)>Ak.
Section 1, Introduction Read it in the paper TeX source, line 50
Show the TeX
For every fixed real constant $A\ge1$, it is NP-hard to approximate
minimum directed feedback vertex set within factor $A$ on unweighted
digraphs. More precisely, there is a deterministic polynomial-time
reduction from an NP-hard promise problem to instances $(G,k)$ with
$k\in\N_{>0}$. The polynomial and its constants may depend on $A$.
The reduction has the following alternatives:
\[
  \textnormal{YES: }\DFVS(G)\le k,
  \qquad
  \textnormal{NO: }\DFVS(G)>Ak.
\]
Configuration and file facts
OpenAI’s Lean catalogue
OpenAI lists this as a main result in its Lean catalogue.
Allowed axioms
propext, Quot.sound, Classical.choiceThe axioms this configuration allows a proof to use. A replay shows which of them a proof uses.
Imports
Mathlib
Imports from outside Mathlib
None
Local vocabulary
31 local vocabulary declarations
Lines of Lean, without comments or blank lines
122
Second proof-verification program (nanoda)
Off in OpenAI's configuration.

Statement comparison

A shareable summary of this page: the proposed paper match, what the Lean statement expresses, and which reviews are recorded.

Plectis Atlas

Unique Games gap reduction

Family 102: The Unique Games Conjecture and optimal approximation thresholds

Candidate pairing

Theorem (Unique Games Theorem)

For every fixed \varepsilon,\delta\in(0,1/2), there are an integer s\ge1 and a deterministic polynomial-time reduction from \mathrm{3SAT} to explicit unweighted Unique Games instances G_\varphi over K=\F_2^s such that

\begin{aligned} \varphi\text{ satisfiable} &\quad\Longrightarrow\quad \val(G_\varphi)\ge1-\varepsilon,\\ \varphi\text{ unsatisfiable} &\quad\Longrightarrow\quad \val(G_\varphi)\le\delta. \end{aligned}

The graph is simple and bipartite, and every constraint is a translation a(v_e)=a(u_e)+c_e of K. The alphabet, the degree of the running-time polynomial, and its constants depend only on \varepsilon,\delta.

The Unique Games Theorem

TeX label thm:ugc, build/sections/00-introduction.tex, line 22

The Lean statement says

theorem theorem11 (ε δ : ℝ)    (hε : 0 < ε) (hεhalf : ε < 1 / 2)    (hδ : 0 < δ) (hδhalf : δ < 1 / 2) :    Nonempty (Explicit.MachineOutputContract.BinaryGapReduction ε δ) := by  sorry

A Lean statement states the theorem and leaves its proof as sorry on purpose. OpenAI’s proof is in a separate solution module, and a program called Comparator checks that proof against this statement.

Atlas selected this possible match because the two statements share words. No review of whether they mean the same thing is recorded.One independent group reports that Comparator accepted a run for this file at the release version shown here.Statement review: none recorded

31 local vocabulary declarationsAllowed axioms: propext, Quot.sound, Classical.choiceopenai/math at fd4aeebwcook04.github.io/plectis-atlas/statements/UniqueGamesTheorem.html

Recorded comparisons with the paper

Atlas records no contributed comparison of this statement with the paper.

Contributed Comparator run reports

Atlas records no contributed report of running Comparator for this statement file.

More about this statement

  • Commentary Dana Moshkovitz, as relayed by Aaronson, finds the Unique Games proof very hard to read and notes that it builds a new tree-based code with a noise test rather than the long or short code, with the main hardness-of-approximation corollaries also proved directly without the conjecture. Scott Aaronson, The Mathocalypse (Shtetl-Optimized), 2026-10-07 Source

Compare this statement with the paperShare a Comparator run reportSuggest a change