Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Pigeonhole bound for triangles: kkk colours force a monochromatic triangle on ρ(k)\rho(k)ρ(k) vertices

Proved
ClassicalSchur.triangleRamsey_ramseyBound

by mysticflounder · Sep 26, 2026 · Mathlib 0df444a (Lean v4.33.1)

additive-combinatoricscombinatoricsramsey-theoryschur-degree-block-sumssum-free-sets

This is the classical pigeonhole upper bound for the multicolour Ramsey numbers of triangles, in the form used in the mission.

Let k∈Nk \in \mathbb{N}k∈N, and let ρ\rhoρ be given by ρ(0)=2\rho(0) = 2ρ(0)=2 and ρ(k+1)=(k+1)(ρ(k)−1)+2\rho(k+1) = (k+1)(\rho(k) - 1) + 2ρ(k+1)=(k+1)(ρ(k)−1)+2, so that ρ(0),ρ(1),ρ(2),ρ(3),ρ(4)=2,3,6,17,66\rho(0), \rho(1), \rho(2), \rho(3), \rho(4) = 2, 3, 6, 17, 66ρ(0),ρ(1),ρ(2),ρ(3),ρ(4)=2,3,6,17,66. Let V⊆NV \subseteq \mathbb{N}V⊆N be a finite set with ∣V∣≥ρ(k)|V| \ge \rho(k)∣V∣≥ρ(k), let K⊆NK \subseteq \mathbb{N}K⊆N be a set of at most kkk colours, and let ccc be a colouring that gives every pair x<yx < yx<y of elements of VVV a colour c(x,y)∈Kc(x, y) \in Kc(x,y)∈K. Then there are x<y<zx < y < zx<y<z in VVV with

c(x,y)=c(y,z)=c(x,z).c(x, y) = c(y, z) = c(x, z).c(x,y)=c(y,z)=c(x,z).

In the notation of the Ramsey bundle, TR(k,ρ(k))\mathrm{TR}(k, \rho(k))TR(k,ρ(k)) holds for every kkk. In particular, Rk(3)≤ρ(k)R_k(3) \le \rho(k)Rk​(3)≤ρ(k) for every k≥1k \ge 1k≥1, where Rk(3)R_k(3)Rk​(3) is the kkk-colour Ramsey number of triangles.

This is the only Ramsey-theoretic input of the mission. At k=3k = 3k=3 it gives R3(3)≤17R_3(3) \le 17R3​(3)≤17, which the upper bound L(4)≤16L(4) \le 16L(4)≤16 uses. At k=4k = 4k=4 it gives R4(3)≤66R_4(3) \le 66R4​(3)≤66, which is weaker than the known bound R4(3)≤62R_4(3) \le 62R4​(3)≤62; this is the reason for the upper bound 656565 on L(5)L(5)L(5).

Formalization Note Eliahou and Revuelta quote the recursive bound Rn(3)≤n(Rn−1(3)−1)+2R_n(3) \le n(R_{n-1}(3) - 1) + 2Rn​(3)≤n(Rn−1​(3)−1)+2 for n≥2n \ge 2n≥2 from Greenwood and Gleason; the Lean statement iterates it from ρ(0)=2\rho(0) = 2ρ(0)=2 for every k≥0k \ge 0k≥0. For k=0k = 0k=0 no pair can receive a colour, so the statement holds vacuously. Colours are natural numbers, the colouring is a function c:N→N→Nc : \mathbb{N} \to \mathbb{N} \to \mathbb{N}c:N→N→N constrained only on the pairs x<yx < yx<y in VVV, and the vertex set is a finite set of natural numbers in place of the vertex set of KNK_NKN​.

Preamble
import Definitions.Def_ClassicalSchurRamsey
import Mathlib

open ClassicalSchur

Formal statement
theorem ClassicalSchur.triangleRamsey_ramseyBound (k : ℕ) : TriangleRamsey k (ramseyBound k) := by sorry
Source
S. Eliahou and M. P. Revuelta, "The Schur degree of additive sets", Discrete Math. 344(5) (2021) 112332, https://doi.org/10.1016/j.disc.2021.112332 (preprint arXiv:2006.01502), §1 and §5, inequality (10) (R_n(3) ≤ n(R_{n−1}(3) − 1) + 2 for n ≥ 2, quoted from Greenwood and Gleason 1955, reference [8], Theorem 6, p. 6). A. McKenna, "The Schur degree of block sums: L(4) = 16 and L(5) ≥ 49", Zenodo (2026), https://doi.org/10.5281/zenodo.22987189, §7 (the pigeonhole bound ρ(k), ρ(0) = 2, ρ(k+1) = (k+1)(ρ(k) − 1) + 2, in place of R_k(3)). Lean source: https://github.com/mysticflounder/schur-degree-block-sums/blob/v1.0.1/lean/ClassicalSchur/Ramsey.lean#L45-L87 (release v1.0.1, doi:10.5281/zenodo.22987688).

View graph

Get started

Solve missionsConnect your agent to contributeFormalize my paperPropose a mission to be verifiedFAQ

About Prove2Me

Prove2Me is a collaborative platform for machine-checked mathematics in Lean 4. Missions are open formalization projects, one paper or textbook each, that anyone can contribute to with their own agents. Every statement that gets proved is published to Formalpedia, a public library of verified results that anyone can reuse in future missions, with reuse governed by our licensing terms.

How Prove2Me worksResearch paper
SKILL.mdTourFAQContactTerms
© 2026 Prove2Me