FormalConjectures/GreensOpenProblems/37.lean

GitHub source file

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

7 declarations, 4 contain sorry, 0 declared as axioms

Ben Green's Open Problem 37

What is the smallest subset of ℕ containing, for each d = 1, …, N, an arithmetic progression of length k with common difference d?

References:

Imports (1)
  1. def Green37.IsAPCover A contains an arithmetic progression of length k and common difference d for every d ∈ {1, …, N} line 39 source

    Source documentation

    A contains an arithmetic progression of length k and common difference d for every d ∈ {1, …, N}.

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Set, Nat

    Proof uses: And, LE.le, OfNat.ofNat, Set.ContainsAP

    3 instances, coercions and auxiliary constants left out.

    def IsAPCover (A : Set ℕ) (N k : ℕ) : Prop := ∀ d, 1 ≤ d ∧ d ≤ N → Set.ContainsAP A k d

    Mentions: Set.ContainsAP

  2. def Green37.m The minimum size of a subset of ℕ that contains, for each d = 1, …, N, an arithmetic progression of length k with common difference d line 43 source

    Source documentation

    The minimum size of a subset of ℕ that contains, for each d = 1, …, N, an arithmetic progression of length k with common difference d.

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Nat

    Proof uses: InfSet.sInf, Set.ofPred, Exists, Finset, And, Eq, Finset.card, Green37.IsAPCover

    3 instances, coercions and auxiliary constants left out.

    noncomputable def m (N k : ℕ) : ℕ :=
    …
  3. theorem Green37.green_37 Given a natural number N, what is the smallest size of a subset of ℕ that contains, for each d = 1, …, N, an arithmetic progression of length k with common difference d sorry line 51 source

    Source documentation

    Given a natural number N, what is the smallest size of a subset of ℕ that contains, for each d = 1, …, N, an arithmetic progression of length k with common difference d.

    depends on sorry what this means

    Statement uses: Nat, IsLeast, Set.ofPred, Exists, Finset, And, Eq, Finset.card, Green37.IsAPCover, sorryAx, Bool.false

    Proof uses: Lean.Name, Lean.Name.num, Lean.Name.str, Lean.Name.anonymous, OfNat.ofNat

    7 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

    theorem green_37 (N k : ℕ) :
        IsLeast { m | ∃ A : Finset ℕ, A.card = m ∧ IsAPCover (A : Set ℕ) N k }
          ((answer(sorry) : ℕ → ℕ → ℕ) N k) := by
    …

    Mentions: Green37.m, Green37.IsAPCover

  4. theorem Green37.green_37_asymptotic Asymptotic version: determine the asymptotic behavior of m(N, k) as N grows sorry line 62 source

    Source documentation

    Asymptotic version: determine the asymptotic behavior of m(N, k) as N grows. The solver should determine a function f : ℕ → ℕ → ℝ such that, for each k, f k eventually equals (fun N ↦ (m N k : ℝ)).

    depends on sorry what this means

    Statement uses: Nat, Filter.Eventually, Eq, Real, Green37.m, sorryAx, Bool.false, Filter.atTop

    Proof uses: Lean.Name, Lean.Name.num, Lean.Name.str, Lean.Name.anonymous, OfNat.ofNat

    7 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

    theorem green_37_asymptotic (k : ℕ) :
        ∀ᶠ N in atTop, (m N k : ℝ) = (answer(sorry) : ℕ → ℕ → ℝ) k N := by
    …

    Mentions: Green37.m

  5. theorem Green37.green_37_theta Determine, for each k, the asymptotic equivalence class (theta) of m(N, k) as N grows sorry line 68 source

    Source documentation

    Determine, for each k, the asymptotic equivalence class (theta) of m(N, k) as N grows.

    depends on sorry what this means

    Statement uses: Nat, Asymptotics.IsTheta, Real, Filter.atTop, Green37.m, sorryAx, Bool.false

    Proof uses: Lean.Name, Lean.Name.num, Lean.Name.str, Lean.Name.anonymous, OfNat.ofNat

    9 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

    theorem green_37_theta (k : ℕ) :
        (fun N ↦ (m N k : ℝ)) =Θ[atTop] (answer(sorry) : ℕ → ℕ → ℝ) k := by
    …

    Mentions: Green37.m

  6. theorem Green37.m_le_mul_add_one The interval {0, …, kN} contains, for each d = 1, …, N, the arithmetic progression {0, d, …, (k - 1)d}, so m(N, k) ≤ kN + 1 line 75 source

    Source documentation

    The interval {0, …, kN} contains, for each d = 1, …, N, the arithmetic progression {0, d, …, (k - 1)d}, so m(N, k) ≤ kN + 1.

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Nat, LE.le, Green37.m, HAdd.hAdd, HMul.hMul, OfNat.ofNat

    Proof uses: Nat.sInf_le, Set.ofPred, Exists, Finset, And, Eq, Finset.card, Green37.IsAPCover, Exists.intro, Finset.range, And.intro, Finset.card_range, Set, Set.IsAPOfLengthWith, ENat, Finset.image, Membership.mem, Iff.mp, Finset.mem_image, Eq.mpr and 34 more

    59 instances, coercions and auxiliary constants left out.

    Tactic trace: 14 steps

    Open to load the checked before-and-after goal states.

    theorem m_le_mul_add_one (N k : ℕ) : m N k ≤ k * N + 1 := by
    …

    Mentions: Green37.m

  7. theorem Green37.green_37_lower_bound Writing F_k(N) for m(N, k), Green conjectures that F_k(N) ≫_k N^(1 - c_k) for some sequence c_k with c_k → 0 as k → ∞ sorry line 95 source

    Source documentation

    Writing F_k(N) for m(N, k), Green conjectures that F_k(N) ≫_k N^(1 - c_k) for some sequence c_k with c_k → 0 as k → ∞. The restriction to 0 < k excludes the degenerate case m(N, 0) = 0.

    depends on sorry what this means

    Statement uses: Exists, Nat, Real, And, Filter.Tendsto, Filter.atTop, nhds, OfNat.ofNat, LT.lt, Asymptotics.IsBigO, HPow.hPow, HSub.hSub, Green37.m

    Proof uses: sorryAx, Lean.Name, Bool.false, Lean.Name.num, Lean.Name.str, Lean.Name.anonymous

    34 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

    theorem green_37_lower_bound :
        ∃ c : ℕ → ℝ, Tendsto c atTop (nhds 0) ∧
          ∀ k, 0 < k → (fun N : ℕ ↦ (N : ℝ) ^ (1 - c k)) =O[atTop] fun N ↦ (m N k : ℝ) := by
    …

    Mentions: c, Green37.m