The odd perfect number conjecture
Is every perfect number even?
A positive integer is perfect if it equals the sum of its proper divisors, as $6 = 1 + 2 + 3$ does. Every even perfect number has the form $2^{p-1}(2^p - 1)$ with $2^p - 1$ prime, but it is not known whether an odd perfect number exists.
Source: Raised by Descartes in a letter to Mersenne, 15 November 1638; implicit in Nicomachus (c. 100 CE). See Guy, Unsolved Problems in Number Theory, B1.
Classification
- Primary
- NT — Number Theory
- Keywords
- perfect numbers, sum of divisors
References
@book{guy2004,
author = {Guy, Richard K.},
title = {Unsolved Problems in Number Theory},
edition = {3},
publisher = {Springer},
year = {2004}
}
@article{ochemrao2012,
author = {Ochem, Pascal and Rao, Micha{\"e}l},
title = {Odd perfect numbers are greater than $10^{1500}$},
journal = {Mathematics of Computation},
volume = {81},
pages = {1869--1877},
year = {2012}
}
@misc{wikipedia,
title = {Perfect number},
howpublished = {Wikipedia},
url = {https://en.wikipedia.org/wiki/Perfect_number}
}
@misc{formalconjectures,
author = {{The Formal Conjectures Authors}},
title = {Formal Conjectures},
url = {https://github.com/google-deepmind/formal-conjectures/blob/0771383387505c96d1b2f6a3d35088ad00892c5c/FormalConjectures/Wikipedia/PerfectNumbers.lean#L75},
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_00005.
/-- OP-00005: The odd perfect number conjecture -/ def Problem_OP_00005 : Prop := ∀ (n : ℕ), n.Perfect → Even n
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_00005 theorem resolution : RegistryProblems.Problem_OP_00005 := by sorry
In preprint.toml, mapping the claim to the declaration that establishes it:
[[statements]] label = "Theorem 1" lean = "resolution" latex = "..." problem = "OP-00005" claim = "full"
To disprove it instead, prove the negation and claim "disproof", or "counterexample" if the proof exhibits one:
theorem disproof : ¬ RegistryProblems.Problem_OP_00005 := 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-00005, "The odd perfect number conjecture", clopen.solutions.