Mathlib theorem · Existing formal mathematics

Existing in Mathlib · Combinatorics

Roth’s Theorem

Among the first N natural numbers, a set that avoids every nontrivial three-term arithmetic progression must occupy a proportion that tends to zero as N grows.

Exact theorem

Exact Mathlib statement

theorem rothNumberNat_isLittleO_id : IsLittleO atTop (fun N ↦ (rothNumberNat N : ℝ)) (fun N ↦ (N : ℝ))

The theorem at a glance

Roth’s Theorem at a glance

A visual guide to the theorem's hypotheses, structure, and conclusion; the exact statement gives the formal detail.

The largest three-term-progression-free subset of {0,…,N−1} has density tending to zero, with no explicit rate claimed by the selected declaration. Explanatory diagram.
Detailed visual description

The poster defines rothNumberNat, places the qualitative little-o conclusion at the top, and follows the retained source architecture from a dense subset through a grid corner and triangle-removal/regularity motif to three exactly equally spaced points. The exact-scope footer rules out an explicit rate.

Statement structure

From hypotheses to conclusion

Statement map for Roth’s TheoremThe maximum size of a three-term-arithmetic-progression-free subset of {0,…,N−1} is little-o of N. The pinned upstream declaration is rothNumberNat_isLittleO_id. The exact checked statement is theorem rothNumberNat_isLittleO_id : IsLittleO atTop (fun N ↦ (rothNumberNat N : ℝ)) (fun N ↦ (N : ℝ)).Mathematical readingThe maximum size of athree-term-arithmetic-progression-freesubset of {0,…,N−1} islittle-o of N.Pinned declarationmathlib ·rothNumberNat_isLittleO_idExact checked formtheoremrothNumberNat_isLittleO_id: IsLittleO atTop (fun N↦ (rothNumberNat N : ℝ))(fun N ↦ (N : ℝ))Statement map for Roth’s TheoremThe maximum size of a three-term-arithmetic-progression-free subset of {0,…,N−1} is little-o of N. The pinned upstream declaration is rothNumberNat_isLittleO_id. The exact checked statement is theorem rothNumberNat_isLittleO_id : IsLittleO atTop (fun N ↦ (rothNumberNat N : ℝ)) (fun N ↦ (N : ℝ)).Mathematical readingThe maximum size of athree-term-arithmetic-progression-freesubset of {0,…,N−1} islittle-o of N.Pinned declarationmathlib ·rothNumberNat_isLittleO_idExact checked formtheoremrothNumberNat_isLittleO_id: IsLittleO atTop (fun N↦ (rothNumberNat N : ℝ))(fun N ↦ (N : ℝ))

This map summarizes the statement's structure; the exact Mathlib declaration remains authoritative.

For sufficiently large intervals, a subset of fixed positive density cannot avoid a nontrivial three-term arithmetic progression. Explanatory scientific diagram.
Detailed visual description

This page indexes Mathlib’s qualitative asymptotic declaration for the natural-number Roth function. Here rothNumberNat N is the maximum cardinality of a ThreeAPFree subset of Finset.range N = {0,…,N−1}, and ThreeAPFree excludes nontrivial a,b,c in the set with a+c=b+b. The exact conclusion is an IsLittleO atTop relation after coercion to ℝ. It does not state an explicit decay rate, a finite threshold, a modern quantitative bound, or a theorem about longer progressions.

Why it matters

A mathematical landmark

Roth’s theorem is a foundational density result in additive combinatorics. Mathlib’s retained route connects one-dimensional three-term progressions to two-dimensional corners, triangle removal, and Szemerédi regularity.

ProofAtlas record

What has been checked

Upstream indexedPinned source bytes verified locally
Locally reproducedExact upstream declaration replayed
Reviewed pageCurrent public presentation reviewed
Accepted Atlas resultNot recorded for the preferred artifact

Mathlib is the source of the theorem; the local Lean replay and page review are separate.

Claim boundary

No new theorem is claimed

This page indexes Mathlib’s qualitative asymptotic declaration for the natural-number Roth function. Here rothNumberNat N is the maximum cardinality of a ThreeAPFree subset of Finset.range N = {0,…,N−1}, and ThreeAPFree excludes nontrivial a,b,c in the set with a+c=b+b. The exact conclusion is an IsLittleO atTop relation after coercion to ℝ. It does not state an explicit decay rate, a finite threshold, a modern quantitative bound, or a theorem about longer progressions.

Source and local evidence

Where the theorem comes from

Existing declaration
rothNumberNat_isLittleO_id in mathlib
Relationship
The checked artifact is the upstream declaration itself
Local Lean evidence
artifact.library.mathlib.roth-theorem.v001
Source
Open the pinned upstream reference