clopen.solutions
OP-00001 Open

Goldbach's conjecture

Submit a result

Can every even integer greater than 2 be written as the sum of two primes?

Source: Goldbach, letter to Euler, 7 June 1742; the two-primes form is in Euler's reply of 30 June 1742. See Guy, Unsolved Problems in Number Theory, C1.

Classification

Primary
NT — Number Theory
Keywords
additive prime number theory, Landau's problems

References

@book{guy2004,
  author = {Guy, Richard K.},
  title = {Unsolved Problems in Number Theory},
  edition = {3},
  publisher = {Springer},
  year = {2004}
}

@misc{wikipedia,
  title = {Goldbach's conjecture},
  howpublished = {Wikipedia},
  url = {https://en.wikipedia.org/wiki/Goldbach%27s_conjecture}
}

@article{oliveiraesilva2014,
  author = {Oliveira e Silva, Tom{\'a}s and Herzog, Siegfried and Pardi, Silvio},
  title = {Empirical verification of the even {G}oldbach conjecture and computation of prime gaps up to $4\cdot 10^{18}$},
  journal = {Mathematics of Computation},
  volume = {83},
  pages = {2033--2060},
  year = {2014}
}

@misc{formalconjectures,
  author = {{The Formal Conjectures Authors}},
  title = {Formal Conjectures},
  url = {https://github.com/google-deepmind/formal-conjectures/blob/0771383387505c96d1b2f6a3d35088ad00892c5c/FormalConjectures/Wikipedia/GoldbachConjecture.lean#L32},
  note = {Lean statement under Apache-2.0; problem text under CC BY 4.0, or CC BY-SA 4.0 where it is based on Wikipedia}
}

Canonical Lean statement

A submission resolves this problem by proving the constant Problem_OP_00001.

/-- OP-00001: Goldbach's conjecture -/
def Problem_OP_00001 : Prop :=
  ∀ (n : ℕ), 2 < n → Even n → ∃ p q, Prime p ∧ Prime q ∧ n = p + q

Formalised by The Formal Conjectures Authors (Apache-2.0); reviewed by clemens-admin.

Available to match against in: Lean v4.33.1 with Mathlib v4.33.1.

Resolving this problem in Lean

Add the problems package as a dependency, import this problem's module, and prove the constant. Any published revision works.

In lakefile.toml:

[[require]]
name = "RegistryProblems"
git = "https://github.com/cthalhammer/registry-problems"
rev = "<published revision>"

In your proof:

import RegistryProblems.OP_00001

theorem resolution : RegistryProblems.Problem_OP_00001 := by
  sorry

In preprint.toml, mapping the claim to the declaration that establishes it:

[[statements]]
label = "Theorem 1"
lean = "resolution"
latex = "..."
problem = "OP-00001"
claim = "full"

To disprove it instead, prove the negation and claim "disproof", or "counterexample" if the proof exhibits one:

theorem disproof : ¬ RegistryProblems.Problem_OP_00001 := by
  sorry

You can also write the statement out in full; the verifier checks it matches up to definitional equality. Partial results and reductions are not matched against this statement.

Citing this problem

This identifier is permanent. It will not change if the problem is solved, reclassified or withdrawn.

OP-00001, "Goldbach's conjecture", clopen.solutions.