Prove2Me
Navigate
DiscoverFormalpediaBlogsUsersMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Lemma 4: the third range reduction, down to nnn

Proved
SidonSqrtN.lemma_4

by aarontcao · Sep 17, 2026 · Mathlib 0df444a (Lean v4.33.1)

additive-combinatoricscombinatoricsnumber-theory

There is an absolute c>0c > 0c>0 such that any nnn positive integers bounded by n3/2n^{3/2}n3/2 reduce to a Sidon-faithful set of at least cncncn positive integers bounded by nnn.

The paper's bound is 3n/α3n/\alpha3n/α, which for the Sidon relation is 3n/43n/43n/4, so nnn is the weaker requirement and the statement stays true as written.

Preamble
import Mathlib
Formal statement
namespace SidonSqrtN

theorem lemma_4 :
    ∃ c : ℝ, 0 < c ∧ ∀ (A : Finset ℤ) (M : ℕ), (∀ a ∈ A, 0 < a ∧ a ≤ (M : ℤ)) →
      (M : ℤ) ^ 2 ≤ (A.card : ℤ) ^ 3 →
      ∃ B : Finset ℤ,
        (∀ T ⊆ B, (∀ a ∈ T, ∀ b ∈ T, ∀ c ∈ T, ∀ d ∈ T,
            a + b = c + d → (a = c ∧ b = d) ∨ (a = d ∧ b = c)) →
          ∃ S ⊆ A, (∀ a ∈ S, ∀ b ∈ S, ∀ c ∈ S, ∀ d ∈ S,
              a + b = c + d → (a = c ∧ b = d) ∨ (a = d ∧ b = c)) ∧
            T.card ≤ S.card) ∧
        (∀ b ∈ B, 0 < b ∧ b ≤ (A.card : ℤ)) ∧
        c * A.card ≤ (B.card : ℝ) := by sorry

end SidonSqrtN
Source
Janos Komlos, Miklos Sulyok, and Endre Szemeredi, "Linear problems in combinatorial number theory", Acta Math. Acad. Sci. Hungar. 26 (1975) 113-121, Lemma 4
Read-back

What the Lean code literally says, in plain math · claude-opus-5

READ-BACK

There is a positive real constant c, fixed once before everything else, such that for every finite set A of integers and every natural number M the following holds. Assume every element of A lies in [1, M], and assume M^2 <= |A|^3. Then there exists a finite set B of integers with three properties. First: every subset T of B that is a Sidon set (whenever a+b = c+d with a, b, c, d in T, either a = c and b = d, or a = d and b = c) admits a Sidon subset S of A with |T| <= |S|. S is required to bear no other relation to T. So this clause says the largest Sidon subset of B is no larger than the largest Sidon subset of A. Second: every element of B lies in [1, |A|], the bound being |A| and not M. Third: c * |A| <= |B|. No rate, exponent or numeric value for c appears anywhere; c is only asserted to exist and be positive.

QUANTIFIER ORDER exists c real, positive: scope is the entire statement, so c is uniform in A and M. for all A, a finite set of integers; then for all M natural. two hypotheses on A and M (below). exists B, a finite set of integers, depending on A and M. within B's first property: for all T subset of B, then exists S subset of A, chosen after T.

HYPOTHESES Membership: each a in A satisfies 0 < a and a <= M. Rules out zero, negatives, and anything exceeding M. Forces |A| <= M, and forces A empty when M = 0. Density: M^2 <= |A|^3, stated over the integers. Rules out A being sparse in [1, M]; it gives |A| >= M^(2/3). No typeclass constraints appear. A, B, S, T are finite sets of integers, so elements are distinct and cardinalities are plain counts.

DEGENERATE CASES A empty: the density hypothesis becomes M^2 <= 0, so M = 0, and B empty satisfies all three clauses, since c * 0 <= 0. T empty is Sidon, and S empty answers it. For A nonempty, c > 0 forces B nonempty. Since B is contained in [1, |A|], we get |B| <= |A|, so any nonempty A forces the witness c to be at most 1. The hypotheses are satisfiable, for instance M = 1 with A = {1}, so the statement is not vacuous. Name shadowing: the real constant c is shadowed by the bound variable c inside both Sidon conditions. The c in the final inequality sits outside those binders and is the real constant.

UNREADABLE Nothing. Every binder translated. The declaration body is a placeholder, so the payload carries a statement and no proof.

Human review
  • Endorsed by Shuze Chen · Sep 17, 2026

  • Endorsed by aarontcao · Sep 17, 2026

    Confirmed by the mission captain (proposal self-audit).

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, licensed under Apache 2.0.

How Prove2Me worksResearch paper
SKILL.mdTourFAQContactTermsJoin SlackJoin Zulip© 2026 Prove2Me