Plectis Atlas
Search

↑ and ↓ move, Enter opens, Esc closes.

Lean statement

Vertex Cover gap and factor-two hardness

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.

Theorems selected for verification: OAI.VertexCover.explicit_cover_gap OAI.VertexCover.every_fixed_factor_below_two

Lean statement file: VertexCover.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 explicit_cover_gap (m : ℕ) (hm : 4 ≤ m) : Nonempty (GapReduction m) := by  sorrytheorem every_fixed_factor_below_two (α : ℝ) (hα : 1 ≤ α) (hα2 : α < 2)    (algorithm : Approximation α) : Nonempty ThreeSATDecision := 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.UniqueGames.BinaryFormula.Literal line 7

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

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

    abbrev Clause := Vector Literal 3
  • structure OAI.UniqueGames.BinaryFormula.Formula line 20

    structure Formula where  clauses : List Clause
  • definition OAI.UniqueGames.BinaryFormula.Formula.Satisfiable line 23

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

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

    def frame : List Bool → List Bool  | [] => [false]  | b :: bits => true :: b :: frame bits
  • definition OAI.UniqueGames.BinaryEncoding.parseFrame line 40

    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.UniqueGames.BinaryEncoding.nameBits line 47

    def nameBits (name : Nat) : List Bool := frame name.bits
  • definition OAI.UniqueGames.BinaryEncoding.parseName line 49

    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.UniqueGames.BinaryEncoding.parseLiteral line 54

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

    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.UniqueGames.BinaryEncoding.parseClauses line 66

    def parseClauses : Nat → List Bool → Option (List Clause × List Bool)  | 0, _ => none  | _fuel + 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.UniqueGames.BinaryEncoding.decodeFormula line 75

    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.VertexCover.ThreeSAT line 83

    def ThreeSAT (input : List Bool) : Prop :=  ∃ formula, UniqueGames.BinaryEncoding.decodeFormula input = some formula ∧    formula.Satisfiable
  • structure OAI.VertexCover.ExplicitGraph line 87

    structure ExplicitGraph where  n : ℕ  edges : List (Fin n × Fin n)  increasing : ∀ e ∈ edges, e.1 < e.2  nodup : edges.Nodup
  • definition OAI.VertexCover.ExplicitGraph.Cover line 95

    def Cover (G : ExplicitGraph) (S : Finset (Fin G.n)) : Prop :=  ∀ e ∈ G.edges, e.1 ∈ S ∨ e.2 ∈ S
  • definition OAI.VertexCover.ExplicitGraph.coverNumber line 101

    noncomputable def coverNumber (G : ExplicitGraph) : ℕ :=  Nat.find (show ∃ k : ℕ, ∃ S : Finset (Fin G.n), G.Cover S ∧ S.card = k from    ⟨G.n, Finset.univ, by simp [Cover], by simp⟩)
  • definition OAI.VertexCover.ExplicitGraph.bits line 105

    def bits (G : ExplicitGraph) : List Bool :=  let names := [G.n] ++ List.range G.n ++ [G.edges.length] ++    G.edges.flatMap (fun e => [e.1.val, e.2.val])  names.flatMap UniqueGames.BinaryEncoding.nameBits
  • definition OAI.VertexCover.FiniteAlphabet line 112

    def FiniteAlphabet (M : Turing.FinTM2) : Prop := ∀ k, Finite (M.Γ k)
  • structure OAI.VertexCover.GapReduction line 114

    structure GapReduction (m : ℕ) where
    Show the remaining 10 lines
      construct : List Bool → ExplicitGraph  computation : Turing.TM2ComputableInPolyTime (id : List Bool → List Bool)    ExplicitGraph.bits construct  finiteAlphabet : FiniteAlphabet computation.tm  completeness : ∀ input, ThreeSAT input →    ((construct input).coverNumber : ℝ) <      (1 / 2 + 1 / (m : ℝ)) * (construct input).n  soundness : ∀ input, ¬ ThreeSAT input →    (1 - 1 / (m : ℝ)) * (construct input).n <      ((construct input).coverNumber : ℝ)
  • definition OAI.VertexCover.natListBits line 126

    def natListBits (L : List ℕ) : List Bool :=  (L.length :: L).flatMap UniqueGames.BinaryEncoding.nameBits
  • structure OAI.VertexCover.Approximation line 129

    structure Approximation (α : ℝ) where  run : ExplicitGraph → List ℕ  computation : Turing.TM2ComputableInPolyTime ExplicitGraph.bits natListBits run  finiteAlphabet : FiniteAlphabet computation.tm  nodup : ∀ G, (run G).Nodup  vertices : ∀ G, ∀ v ∈ run G, v < G.n  covers : ∀ G, ∀ e ∈ G.edges, e.1.val ∈ run G ∨ e.2.val ∈ run G  quality : ∀ G, ((run G).length : ℝ) ≤ α * (G.coverNumber : ℝ)
  • structure OAI.VertexCover.ThreeSATDecision line 138

    structure ThreeSATDecision where  run : List Bool → Bool  computation : Turing.TM2ComputableInPolyTime (id : List Bool → List Bool)    (fun b : Bool => [b]) run  finiteAlphabet : FiniteAlphabet computation.tm  correct : ∀ input, run input = true ↔ ThreeSAT input

Possible paper match, with no recorded review

Atlas selected this possible match by comparing words in the Lean statement with every statement in the family. No review of whether the statements mean the same thing is recorded.

Words of the Lean statement, its names split into words, that also appear in the theorem: vertices, edges, cover, formula, explicit, sat, lists, gap and seven more. Found in the paper’s title, which its main theorem states: two and factor. Shared only with the release’s name for the Lean statement or OpenAI’s note on it: unsatisfiable, simple, unweighted and polynomial.

Statements in The Factor-Two Hardness Threshold for Vertex Cover come first because the release’s name for this Lean statement shares words with that paper’s title.

Theorem 1.1 of 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.

Other possible paper matches, closest wording first

  • Theorem 2.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: cover, formulas, nonempty, completeness, sat, satisfiable and three more. Shared only with the release’s name for the Lean statement or OpenAI’s note on it: give, unsatisfiable, hardness and polynomial.
  • Corollary 1.2 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: algorithm, cover, real, factor and time. Shared only with the release’s name for the Lean statement or OpenAI’s note on it: alpha, vertex, np and polynomial.
  • 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: length, formula, binary, encoded, bit, explicit and seven more. Found in the paper’s title, which its main theorem states: factor. Shared only with the release’s name for the Lean statement or OpenAI’s note on it: unsatisfiable, simple, unweighted and polynomial.
  • 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, none, length, nonempty, list, bit and seven more. Shared only with the release’s name for the Lean statement or OpenAI’s note on it: unsatisfiable and polynomial.
  • Theorem 1.1 of The Unique Games Theorem. Words of the Lean statement, its names split into words, that also appear in the theorem: unique, games, explicit, sat, 1/2, satisfiable and five more. Shared only with the release’s name for the Lean statement or OpenAI’s note on it: unsatisfiable, simple, unweighted and polynomial.
  • Proposition 3.3 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: length, bit, alphabets, graph, time and integer. Shared only with the release’s name for the Lean statement or OpenAI’s note on it: polynomial.

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-sandboxed-pass”.

    Re-run through Comparator in a sandboxed virtual machine: 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

“For each integer $m\ge4$, a polynomial-time reduction from binary 3SAT produces simple unweighted graphs with cover density below $1/2+1/m$ on satisfiable inputs and above $1-1/m$ on unsatisfiable inputs. Consequently, any polynomial-time approximation with a fixed factor $1\le\alpha<2$ would give a polynomial-time decision algorithm for 3SAT. No assumption that $P\ne NP$ is built into the statement.”

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

154 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: 44 to its own declarations, 121 to Mathlib’s documentation. 27 declared names also link to the same declaration in OpenAI’s library. 1 identifier stays plain because it resolves to no single declaration: a variable Lean binds automatically, notation, or a name 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 UniqueGames.BinaryFormulastructure 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 assignmentstructure Formula where  clauses : List Clausedef Formula.Satisfiable (F : Formula) : Prop :=  ∃ assignment : Nat → Bool, ∀ clause ∈ F.clauses, clause.eval assignment = trueend UniqueGames.BinaryFormulanamespace UniqueGames.BinaryEncodingopen BinaryFormuladef bitsValue : List Bool → Nat  | [] => 0  | b :: bits => Nat.bit b (bitsValue bits)def frame : List Bool → List Bool  | [] => [false]  | b :: bits => true :: b :: frame bitsdef 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)  | _ => nonedef nameBits (name : Nat) : List Bool := frame name.bitsdef 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)def parseClauses : Nat → List Bool → Option (List Clause × List Bool)  | 0, _ => none  | _fuel + 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 UniqueGames.BinaryEncodingnamespace VertexCoverdef ThreeSAT (input : List Bool) : Prop :=  ∃ formula, UniqueGames.BinaryEncoding.decodeFormula input = some formula ∧    formula.Satisfiablestructure ExplicitGraph where  n : ℕ  edges : List (Fin n × Fin n)  increasing : ∀ e ∈ edges, e.1 < e.2  nodup : edges.Nodupnamespace ExplicitGraphdef Cover (G : ExplicitGraph) (S : Finset (Fin G.n)) : Prop :=  ∀ e ∈ G.edges, e.1 ∈ S ∨ e.2 ∈ Sinstance (G : ExplicitGraph) (S : Finset (Fin G.n)) : Decidable (G.Cover S) :=  inferInstanceAs (Decidable (∀ e ∈ G.edges, e.1 ∈ S ∨ e.2 ∈ S))noncomputable def coverNumber (G : ExplicitGraph) : ℕ :=  Nat.find (show ∃ k : ℕ, ∃ S : Finset (Fin G.n), G.Cover S ∧ S.card = k from    ⟨G.n, Finset.univ, by simp [Cover], by simp⟩)def bits (G : ExplicitGraph) : List Bool :=  let names := [G.n] ++ List.range G.n ++ [G.edges.length] ++    G.edges.flatMap (fun e => [e.1.val, e.2.val])  names.flatMap UniqueGames.BinaryEncoding.nameBitsend ExplicitGraphdef FiniteAlphabet (M : Turing.FinTM2) : Prop := ∀ k, Finite (M.Γ k)structure GapReduction (m : ℕ) where  construct : List Bool → ExplicitGraph  computation : Turing.TM2ComputableInPolyTime (id : List Bool → List Bool)    ExplicitGraph.bits construct  finiteAlphabet : FiniteAlphabet computation.tm  completeness : ∀ input, ThreeSAT input →    ((construct input).coverNumber : ℝ) <      (1 / 2 + 1 / (m : ℝ)) * (construct input).n  soundness : ∀ input, ¬ ThreeSAT input →    (1 - 1 / (m : ℝ)) * (construct input).n <      ((construct input).coverNumber : ℝ)def natListBits (L : List ℕ) : List Bool :=  (L.length :: L).flatMap UniqueGames.BinaryEncoding.nameBitsstructure Approximation (α : ℝ) where  run : ExplicitGraph → List ℕ  computation : Turing.TM2ComputableInPolyTime ExplicitGraph.bits natListBits run  finiteAlphabet : FiniteAlphabet computation.tm  nodup : ∀ G, (run G).Nodup  vertices : ∀ G, ∀ v ∈ run G, v < G.n  covers : ∀ G, ∀ e ∈ G.edges, e.1.val ∈ run G ∨ e.2.val ∈ run G  quality : ∀ G, ((run G).length : ℝ) ≤ α * (G.coverNumber : ℝ)structure ThreeSATDecision where  run : List Bool → Bool  computation : Turing.TM2ComputableInPolyTime (id : List Bool → List Bool)    (fun b : Bool => [b]) run  finiteAlphabet : FiniteAlphabet computation.tm  correct : ∀ input, run input = true ↔ ThreeSAT inputtheorem explicit_cover_gap (m : ℕ) (hm : 4 ≤ m) : Nonempty (GapReduction m) := by  sorrytheorem every_fixed_factor_below_two (α : ℝ) (hα : 1 ≤ α) (hα2 : α < 2)    (algorithm : Approximation α) : Nonempty ThreeSATDecision := by  sorryend VertexCoverend 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
26 local vocabulary declarations
Lines of Lean, without comments or blank lines
103
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

Vertex Cover gap and factor-two hardness

Family 102: The Unique Games Conjecture and optimal approximation thresholds

Candidate pairing

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.

The Factor-Two Hardness Threshold for Vertex Cover

TeX label thm:gap, build/sections/introduction.tex, line 15

The Lean statement says

theorem explicit_cover_gap (m : ℕ) (hm : 4 ≤ m) : Nonempty (GapReduction m) := by  sorrytheorem every_fixed_factor_below_two (α : ℝ) (hα : 1 ≤ α) (hα2 : α < 2)    (algorithm : Approximation α) : Nonempty ThreeSATDecision := 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

26 local vocabulary declarationsAllowed axioms: propext, Quot.sound, Classical.choiceopenai/math at fd4aeebwcook04.github.io/plectis-atlas/statements/VertexCover.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.

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