FormalConjectures/ErdosProblems/456.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

9 declarations, 5 contain sorry, 0 declared as axioms

Erdős Problem 456

References:

Imports (1)
  1. def Erdos456.p Let $p_n$ be the smallest prime $\equiv 1\pmod{n}$ line 38 source

    Source documentation

    Let $p_n$ be the smallest prime $\equiv 1\pmod{n}$.

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

    Statement uses: Nat

    Proof uses: InfSet.sInf, Set.ofPred, And, Nat.Prime, Nat.ModEq, OfNat.ofNat

    2 instances, coercions and auxiliary constants left out.

    noncomputable def p (n : ℕ) : ℕ :=
    …
  2. def Erdos456.m Let $m_n$ be the smallest integer such that $n\mid \phi(m_n)$ line 44 source

    Source documentation

    Let $m_n$ be the smallest integer such that $n\mid \phi(m_n)$.

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

    Statement uses: Nat

    Proof uses: InfSet.sInf, Set.ofPred, And, LT.lt, OfNat.ofNat, Dvd.dvd, Nat.totient

    4 instances, coercions and auxiliary constants left out.

    noncomputable def m (n : ℕ) : ℕ :=
    …
  3. theorem Erdos456.erdos_456.parts.i Is it true that $m_n<p_n$ for almost all $n$? sorry line 52 source

    Source documentation

    Is it true that $m_n<p_n$ for almost all $n$?

    depends on sorry what this means

    Statement uses: Iff, True, Filter.Tendsto, Nat, Real, HDiv.hDiv, Nat.count, LT.lt, Erdos456.m, Erdos456.p, Filter.atTop, nhds, OfNat.ofNat

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

    27 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

    theorem erdos_456.parts.i :
        answer(sorry) ↔
          Tendsto (fun N ↦ (count (fun n ↦ m n < p n) N : ℝ) / (N : ℝ)) atTop (𝓝 1) := by
    …

    Mentions: Erdos456.m, Erdos456.p

  4. theorem Erdos456.erdos_456.parts.ii Does $p_n/m_n \to \infty$ for almost all $n$? sorry line 62 source

    Source documentation

    Does $p_n/m_n \to \infty$ for almost all $n$?

    depends on sorry what this means

    Statement uses: Iff, True, Exists, Set, Nat, And, Filter.Tendsto, Real, HDiv.hDiv, Nat.count, Membership.mem, Classical.propDecidable, Filter.atTop, nhds, OfNat.ofNat, Erdos456.p, Erdos456.m, Min.min, Filter, Filter.principal

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

    29 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

    theorem erdos_456.parts.ii :
        answer(sorry) ↔
          ∃ A : Set ℕ, Tendsto (fun N ↦ (count (· ∈ A) N : ℝ) / (N : ℝ)) atTop (𝓝 1) ∧
            Tendsto (fun n ↦ (p n : ℝ) / (m n : ℝ)) (atTop ⊓ 𝓟 A) atTop := by
    …

    Mentions: Erdos456.p, Erdos456.m

  5. theorem Erdos456.erdos_456.parts.iii Are there infinitely many primes $p$ such that $p-1$ is the only $n$ for which $m_n=p$? sorry line 72 source

    Source documentation

    Are there infinitely many primes $p$ such that $p-1$ is the only $n$ for which $m_n=p$?

    depends on sorry what this means

    Statement uses: Iff, True, Set.Infinite, Nat, Set.ofPred, And, Nat.Prime, Eq, Erdos456.m, HSub.hSub, OfNat.ofNat

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

    6 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

    theorem erdos_456.parts.iii :
        answer(sorry) ↔
          { q | q.Prime ∧ ∀ n, m n = q ↔ n = q - 1 }.Infinite := by
    …

    Mentions: Erdos456.m

  6. theorem Erdos456.erdos_456.variants.linniks_theorem Linnik's theorem implies that $p_n\leq n^{O(1)}$ sorry line 81 source

    Source documentation

    Linnik's theorem implies that $p_n\leq n^{O(1)}$.

    depends on sorry what this means

    Statement uses: Exists, Real, Asymptotics.IsBigO, Nat, Filter.atTop, Erdos456.p, HPow.hPow

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

    13 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

    theorem erdos_456.variants.linniks_theorem :
        ∃ L : ℝ, (fun n ↦ (p n : ℝ)) =O[atTop] (fun n ↦ (n : ℝ) ^ L) := by
    …

    Mentions: Erdos456.p

  7. theorem Erdos456.erdos_456.variants.mn_leq_pn It is trivial that $m_n \leq p_n$ always line 89 source

    Source documentation

    It is trivial that $m_n \leq p_n$ always.

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

    Statement uses: Nat, LE.le, Erdos456.m, Erdos456.p

    Proof uses: id, InfSet.sInf, Set.ofPred, And, LT.lt, OfNat.ofNat, Dvd.dvd, Nat.totient, Eq, Ne, Or, Nat.Prime, Nat.ModEq, eq_or_ne, Set, EmptyCollection.emptyCollection, Set.ext, Eq.mpr, Iff, Membership.mem and 28 more

    23 instances, coercions and auxiliary constants left out.

    Tactic trace: 22 steps

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

    theorem erdos_456.variants.mn_leq_pn (n : ℕ) :
        m n ≤ p n := by
    …

    Mentions: Erdos456.m, Erdos456.p

  8. theorem Erdos456.erdos_456.variants.infinitely_many_n Erdős [Er79e] writes it is 'easy to show' that for infinitely many $n$ we have $m_n < p_n$ line 117 source

    Source documentation

    Erdős [Er79e] writes it is 'easy to show' that for infinitely many $n$ we have $m_n < p_n$.

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

    Statement uses: Set.Infinite, Nat, Set.ofPred, LT.lt, Erdos456.m, Erdos456.p

    Proof uses: Set.infinite_of_injective_forall_mem, HPow.hPow, OfNat.ofNat, HAdd.hAdd, HMul.hMul, Eq, Decidable.byContradiction, Not, Nat.pow_right_injective, of_decide_eq_true, LE.le, id, Bool, Decidable.decide, Bool.true, Eq.refl, Membership.mem, Set, Nat.sInf_le, And and 51 more

    88 instances, coercions and auxiliary constants left out.

    Tactic trace: 51 steps

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

    theorem erdos_456.variants.infinitely_many_n :
        { n | m n < p n }.Infinite := by
    …

    Mentions: Erdos456.m, Erdos456.p

  9. theorem Erdos456.erdos_456.variants.m_div_n Erdős [Er79e] writes it is 'easy to show' that $m_n/n \to \infty$ for almost all $n$ sorry line 164 source

    Source documentation

    Erdős [Er79e] writes it is 'easy to show' that $m_n/n \to \infty$ for almost all $n$.

    depends on sorry what this means

    Statement uses: Exists, Set, Nat, And, Filter.Tendsto, Real, HDiv.hDiv, Nat.count, Membership.mem, Classical.propDecidable, Filter.atTop, nhds, OfNat.ofNat, Erdos456.m, Min.min, Filter, Filter.principal

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

    29 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

    theorem erdos_456.variants.m_div_n :
        ∃ A : Set ℕ, Tendsto (fun N ↦ (count (· ∈ A) N : ℝ) / N) atTop (𝓝 1) ∧
          Tendsto (fun n ↦ (m n : ℝ) / (n : ℝ)) (atTop ⊓ 𝓟 A) atTop := by
    …

    Mentions: Erdos456.m