FormalConjectures/ErdosProblems/138.lean
Explanation legend Lean4 Domain Explanation Language (L4DEL)
L4DEL explanations are a separate layer. They do not change the Lean source. Intuition is explanatory prose; numbered items are a reading path; sources link the wording back to evidence.
- L4DEL
- Lean4 Domain Explanation Language
Credit: The upstream authors and contributors retain credit for the project and mathematics. lean4-explainer only renders their pinned source and adds the separately disclosed explanation layer.
Project sources: Pinned project documentation, Formal Conjectures paper, arXiv v1
12 declarations, 9 contain sorry, 0 declared as axioms
Erdős Problem 138
References:
- erdosproblems.com/138
- [Be68] Berlekamp, E. R., A construction for partitions which avoid long arithmetic progressions. Canad. Math. Bull. (1968), 409-414.
- [Er80] Erdős, Paul, A survey of problems in combinatorial number theory. Ann. Discrete Math. (1980), 89-115.
- [Er81] Erdős, P., On the combinatorial problems which I would most like to see solved. Combinatorica (1981), 25-42.
- [Go01] Gowers, W. T., A new proof of Szemerédi's theorem. Geom. Funct. Anal. (2001), 465-588.
- arxiv/2605.22763 Advancing Mathematics Research with AI-Driven Formal Proof Search by George Tsoukalas et al.
- [CFS26] Campos, M., Fox, J. and Schildkraut, C., A new lower bound for two-color van der Waerden numbers. arXiv:2608.20824 (2026).
Imports (1)
- def
Erdos138.monoAP_guarantee_setThe set of natural numbers that guarantee a monochromatic arithmetic progression line 49 sourceSource documentation
The set of natural numbers that guarantee a monochromatic arithmetic progression.
A number
Nbelongs to this set if, for a given number of colorsrand an arithmetic progression lengthk, anyr-coloring of the integers{1, ..., N}must contain a monochromatic arithmetic progression of lengthk.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Nat,SetProof uses:
Set.ofPred,Subtype,Membership.mem,Finset,Finset.Icc,OfNat.ofNat,Fin, ContainsMonoAPofLength8 instances, coercions and auxiliary constants left out.
def monoAP_guarantee_set (r k : ℕ) : Set ℕ := …
- theorem
Erdos138.monoAP_guarantee_set_nonemptyAsserts that for any number of colorsrand any progression lengthk, there always exists some numberNlarge enough to guarantee a monochromatic arithmetic progression sorry line 59 sourceSource documentation
Asserts that for any number of colors
rand any progression lengthk, there always exists some numberNlarge enough to guarantee a monochromatic arithmetic progression. In other words, the setmonoAP_guarantee_setis non-empty. This is the fundamental existence result that allows for the definition of the van der Waerden numbers.depends on sorry what this means
Statement uses:
Nat,Set.Nonempty, Erdos138.monoAP_guarantee_setProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous,OfNat.ofNat1 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem monoAP_guarantee_set_nonempty (r k) : (monoAP_guarantee_set r k).Nonempty := by …
Mentions: Erdos138.monoAP_guarantee_set
- def
Erdos138.monoAPNumberThe van der Waerden number, is the smallest integerNsuch that anyr-coloring of{1, ..., N}is guaranteed to contain a monochromatic arithmetic progression of lengthkline 67 sourceSource documentation
The van der Waerden number, is the smallest integer
Nsuch that anyr-coloring of{1, ..., N}is guaranteed to contain a monochromatic arithmetic progression of lengthk. It is defined as the infimum of the (non-empty) set of all such numbersN.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NatProof uses:
InfSet.sInf, Erdos138.monoAP_guarantee_set1 instances, coercions and auxiliary constants left out.
noncomputable def monoAPNumber (r k : ℕ) : ℕ := sInf (monoAP_guarantee_set r k)
Mentions: Erdos138.monoAP_guarantee_set
- abbrev
Erdos138.WAn abbreviation for the van der Waerden number for 2 colors, commonly written asW(k)line 74 sourceSource documentation
An abbreviation for the van der Waerden number for 2 colors, commonly written as
W(k). This represents the smallest integerNsuch that any 2-coloring of{1, ..., N}must contain a monochromatic arithmetic progression of lengthk.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NatProof uses: Erdos138.monoAPNumber,
OfNat.ofNat1 instances, coercions and auxiliary constants left out.
noncomputable abbrev W : ℕ → ℕ := monoAPNumber 2 …
Mentions: Erdos138.monoAPNumber
- theorem
Erdos138.monoAPNumber_two_onesorry line 78 sourcedepends on sorry what this means
Statement uses:
Eq,Nat, Erdos138.W,OfNat.ofNatProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous2 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- theorem
Erdos138.monoAPNumber_two_twosorry line 83 sourcedepends on sorry what this means
Statement uses:
Eq,Nat, Erdos138.W,OfNat.ofNatProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous2 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- theorem
Erdos138.erdos_138In [Er80] Erdős asks whether $$ \lim_{k \to \infty} (W(k))^{1/k} = \infty $$ sorry line 91 sourceSource documentation
In [Er80] Erdős asks whether $$ \lim_{k \to \infty} (W(k))^{1/k} = \infty $$
depends on sorry what this means
Statement uses:
Iff,True,Filter.Tendsto,Nat,Real,HPow.hPow, Erdos138.W,HDiv.hDiv,OfNat.ofNat,Filter.atTopProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous23 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem erdos_138 : answer(sorry) ↔ atTop.Tendsto (fun k => (W k : ℝ)^(1/(k : ℝ))) atTop := by …
Mentions: Erdos138.W
- theorem
Erdos138.erdos_138.variants.primeWhen $p$ is prime Berlekamp [Be68] has proved $W(p+1) ≥ p^{2^p}$ sorry line 99 sourceSource documentation
When $p$ is prime Berlekamp [Be68] has proved $W(p+1) ≥ p^{2^p}$.
depends on sorry what this means
Statement uses:
Nat,Nat.Prime,LE.le,HMul.hMul,HPow.hPow,OfNat.ofNat, Erdos138.W,HAdd.hAddProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous20 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem erdos_138.variants.prime (p : ℕ) (hp : p.Prime) : p * (2 ^ p) ≤ W (p + 1) := by …
Mentions: Erdos138.W
- theorem
Erdos138.erdos_138.variants.upperGowers [Go01] has proved $$W(k) \leq 2^{2^{2^{2^{2^{k+9}}}}.$$ sorry line 106 sourceSource documentation
Gowers [Go01] has proved $$W(k) \leq 2^{2^{2^{2^{2^{k+9}}}}.$$
depends on sorry what this means
Statement uses:
Nat,LE.le, Erdos138.W,HPow.hPow,OfNat.ofNat,HAdd.hAddProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous16 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem erdos_138.variants.upper (k : ℕ) : W k ≤ 2 ^ (2 ^ (2 ^ 2 ^ 2 ^ (k + 9))) := by …
Mentions: Erdos138.W
- theorem
Erdos138.erdos_138.variants.quotientIn [Er81] Erdős asks whether $\frac{W(k+1)}{W(k)} \to \infty$ sorry line 113 sourceSource documentation
In [Er81] Erdős asks whether $\frac{W(k+1)}{W(k)} \to \infty$.
depends on sorry what this means
Statement uses:
Iff,True,Filter.Tendsto,Nat,Rat,HDiv.hDiv, Erdos138.W,HAdd.hAdd,OfNat.ofNat,Filter.atTopProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous18 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem erdos_138.variants.quotient : answer(sorry) ↔ atTop.Tendsto (fun k => ((W (k + 1) : ℚ)/(W k))) atTop := by …Mentions: Erdos138.W
- theorem
Erdos138.erdos_138.variants.differencesorry line 124 sourcedepends on sorry what this means
Statement uses:
Iff,True,Filter.Tendsto,Nat,HSub.hSub, Erdos138.W,HAdd.hAdd,OfNat.ofNat,Filter.atTopProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous12 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- theorem
Erdos138.erdos_138.variants.dvd_two_powsorry line 143 sourcedepends on sorry what this means
Statement uses:
Iff,True,Filter.Tendsto,Nat,Rat,HDiv.hDiv, Erdos138.W,HPow.hPow,OfNat.ofNat,Filter.atTopProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous19 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.