FormalConjectures/GreensOpenProblems/45.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

1 declarations, 1 contain sorry, 0 declared as axioms

Ben Green's Open Problem 45

Can we pick residue classes $a_p \pmod{p}$, one for each prime $p \leq N$, such that every integer $\leq N$ lies in at least 10 of them?

References:

The version of this problem with $10$ replaced by $2$ is Erdos689.erdos_689 in FormalConjectures.ErdosProblems.«689».

Imports (2)
  1. theorem Green45.green_45 Can we pick residue classes $a_p \pmod{p}$, one for each prime $p \leq N$, such that every integer $\leq N$ lies in at least $10$ of them? sorry line 47 source

    Source documentation

    Can we pick residue classes $a_p \pmod{p}$, one for each prime $p \leq N$, such that every integer $\leq N$ lies in at least $10$ of them?

    Erdős remarks that he does not know how to answer it with $10$ replaced by $2$; this is Erdos689.erdos_689.

    depends on sorry what this means

    Statement uses: Iff, True, Filter.Eventually, Nat, Exists, Membership.mem, Finset, Finset.Icc, OfNat.ofNat, LE.le, Finset.card, Finset.filter, And, Nat.Prime, Nat.ModEq, Filter.atTop

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

    18 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

    theorem green_45 :
        answer(sorry) ↔ ∀ᶠ N in .atTop, ∃ a : ℕ → ℕ, ∀ m ∈ Finset.Icc 1 N,
          10 ≤ (Finset.Icc 1 N |>.filter fun p => p.Prime ∧ a p ≡ m [MOD p]).card := by
    …