FormalConjectures/ErdosProblems/413.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, 5 contain sorry, 0 declared as axioms

Erdős Problem 413

References:

Erdős called a natural number n a barrier for ω, the number of distinct prime divisors, if m + ω(m) ≤ n for all m < n. He believed there should be infinitely many such barriers, and even posed a relaxed variant asking whether there is some ε > 0 for which infinitely many n satisfy m + ε · ω(m) ≤ n for every m < n.

Imports (1)
  1. def Erdos413.IsBarrier IsBarrier f n means n is a barrier for the real-valued function f, i.e. (m : ℝ) + f m ≤ (n : ℝ) for all m < n line 44 source

    Source documentation

    IsBarrier f n means n is a barrier for the real-valued function f, i.e. (m : ℝ) + f m ≤ (n : ℝ) for all m < n.

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

    Statement uses: Nat, Real

    Proof uses: LT.lt, LE.le, HAdd.hAdd

    6 instances, coercions and auxiliary constants left out.

    def IsBarrier (f : ℕ → ℝ) (n : ℕ) : Prop :=
    …
  2. theorem Erdos413.erdos_413.parts.i Are there infinitely many barriers for ω? sorry line 49 source

    Source documentation

    Are there infinitely many barriers for ω?

    depends on sorry what this means

    Statement uses: Iff, True, Set.Infinite, Nat, Set.ofPred, Erdos413.IsBarrier, Real, ArithmeticFunction, ArithmeticFunction.cardDistinctFactors

    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_413.parts.i :
        answer(sorry) ↔ { n | IsBarrier (fun m => ω m) n }.Infinite := by
    …

    Mentions: Erdos413.IsBarrier

  3. def Erdos413.expProd expProd n is ∏ kᵢ when n = ∏ pᵢ ^ kᵢ, i.e. the product of the prime exponents of n line 54 source

    Source documentation

    expProd n is ∏ kᵢ when n = ∏ pᵢ ^ kᵢ, i.e. the product of the prime exponents of n.

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

    Statement uses: Nat

    Proof uses: Finsupp.prod, Nat.factorization

    3 instances, coercions and auxiliary constants left out.

    def expProd (n : ℕ) : ℕ :=
    …
  4. theorem Erdos413.erdos_413.variants.hasPosDensity_barrier_expProd Erdős proved that the barrier set for expProd is infinite and even has positive density sorry line 69 source

    Source documentation

    Erdős proved that the barrier set for expProd is infinite and even has positive density.

    HasPosDensity is the right reading rather than positive lower density. In [Er79d] this is Theorem 1, "the density of integers satisfying (2) is positive", where d₀(n) = ∏ αᵢ is expProd. The averaging argument there bounds the density below, but Erdős states the existence separately on the last page: "With a little more trouble, I can prove that the density of integers n for which n is a barrier for d₀(n) exists." He goes further, that if αᵢ is the density of n with max_{m<n} (m + d₀(m)) = n + i, then every αᵢ exists and they sum to 1.

    [Er79d] Erdős, P., Some unconventional problems in number theory. Acta Math. Acad. Sci. Hungar. (1979), 71-80.

    depends on sorry what this means

    Statement uses: Set.HasPosDensity, Nat, Set.ofPred, Erdos413.IsBarrier, Real, Erdos413.expProd, Set.univ

    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_413.variants.hasPosDensity_barrier_expProd :
        { n | IsBarrier (fun m => expProd m) n }.HasPosDensity := by
    …

    Mentions: Erdos413.IsBarrier, Erdos413.expProd

  5. theorem Erdos413.erdos_413.variants.bigOmega Erdős believed there should be infinitely many barriers for Ω, the total prime multiplicity sorry line 75 source

    Source documentation

    Erdős believed there should be infinitely many barriers for Ω, the total prime multiplicity.

    depends on sorry what this means

    Statement uses: Iff, True, Set.Infinite, Nat, Set.ofPred, Erdos413.IsBarrier, Real, ArithmeticFunction, ArithmeticFunction.cardFactors

    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_413.variants.bigOmega :
        answer(sorry) ↔ { n | IsBarrier (fun m => Ω m) n }.Infinite := by
    …

    Mentions: Erdos413.IsBarrier

  6. theorem Erdos413.erdos_413.variants.bigOmega_largest_barrier_lt_100k Selfridge computed that the largest Ω-barrier below 10^5 is 99840 sorry line 81 source

    Source documentation

    Selfridge computed that the largest Ω-barrier below 10^5 is 99840.

    depends on sorry what this means

    Statement uses: IsGreatest, Nat, Set.ofPred, And, LT.lt, HPow.hPow, OfNat.ofNat, Erdos413.IsBarrier, Real, ArithmeticFunction, ArithmeticFunction.cardFactors

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

    26 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

    theorem erdos_413.variants.bigOmega_largest_barrier_lt_100k :
        IsGreatest {n : ℕ | n < 10 ^ 5 ∧ IsBarrier (fun m => Ω m) n} 99840 := by
    …

    Mentions: Erdos413.IsBarrier

  7. theorem Erdos413.erdos_413.parts.ii Does there exist some $\epsilon > 0$ such that there are infinitely many $\epsilon$-barriers for $\omega$? sorry line 88 source

    Source documentation

    Does there exist some $\epsilon > 0$ such that there are infinitely many $\epsilon$-barriers for $\omega$? Lau [La26, Theorem 1.3] gives a positive answer.

    depends on sorry what this means

    Statement uses: Iff, True, Exists, Real, And, GT.gt, OfNat.ofNat, Set.Infinite, Nat, Set.ofPred, Erdos413.IsBarrier, HMul.hMul, ArithmeticFunction, ArithmeticFunction.cardDistinctFactors

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

    23 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

    theorem erdos_413.parts.ii :
        answer(True) ↔
            (∃ ε > (0 : ℝ), { n | IsBarrier (fun n => ε * ω n) n }.Infinite) := by
    …

    Mentions: Erdos413.IsBarrier