FormalConjectures/ErdosProblems/975.lean
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, 6 contain sorry, 0 declared as axioms
Erdős Problem 975
References:
- erdosproblems.com/975
- [Va39] van der Corput, J. G., Une in'egalit'e{} relative au nombre des diviseurs. Nederl. Akad. Wetensch., Proc. (1939), 547--553.
- [Er52b] Erd"os, P., On the sum {$\sum^x_{k=1} d(f(k))$}. J. London Math. Soc. (1952), 7--15.
- [Ho63] Hooley, Christopher, On the number of divisors of a quadratic polynomial. Acta Math. (1963), 97--114.
- [Mc95] McKee, James, On the average number of divisors of quadratic polynomials. Math. Proc. Cambridge Philos. Soc. (1995), 389--392.
- [Mc97] McKee, James, A note on the number of divisors of quadratic polynomials. (1997), 275--281.
- [Mc99] McKee, James, The average number of divisors of an irreducible quadratic polynomial. Math. Proc. Cambridge Philos. Soc. (1999), 17--22.
- [T] T. Tao, Erdos' divisor bound, https://terrytao.wordpress.com/2011/07/23/erdos-divisor-bound/
Imports (1)
- def
Erdos975.Erdos975SumSum of $\tau(f(n))$ from0to⌊x⌋for a polynomial $f \in \mathbb{Z}[X]$ line 47 sourceSource documentation
Sum of $\tau(f(n))$ from
0to⌊x⌋for a polynomial $f \in \mathbb{Z}[X]$.Here $\tau$ is the divisor counting function, which is
σ 0in mathlib. Also, for simplicity, we useNat.floorto convert rational values to natural numbers, instead of dealing with negative values.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Polynomial,Int,RealProof uses:
Finset.sum,Nat,Finset.Iic,Nat.floor,ArithmeticFunction,ArithmeticFunction.sigma,OfNat.ofNat,Polynomial.eval29 instances, coercions and auxiliary constants left out.
noncomputable def Erdos975Sum (f : ℤ[X]) (x : ℝ) : ℝ := …
- theorem
Erdos975.erdos_975For an irreducible polynomial sorry line 58 sourceSource documentation
For an irreducible polynomial $f \in \mathbb{Z}[x]$ with $f(n) \ge 1$ for sufficiently large $n$, does there exists a constant $c = c(f) > 0$ such that $\sum_{n \le x} \tau(f(n)) \approx c \cdot x \log x$?
Note that it is unclear whether the polynomial should have integer coefficients or merely be integer-valued. We assume the former.
depends on sorry what this means
Statement uses:
Iff,True,Polynomial,Int,Ne,Nat,Polynomial.natDegree,OfNat.ofNat,Irreducible,Filter.Eventually,LE.le,Polynomial.eval,Filter.atTop,Exists,Real,And,GT.gt,Filter.Tendsto,HDiv.hDiv, Erdos975.Erdos975Sum and 3 moreProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous48 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem erdos_975 : answer(sorry) ↔ ∀ f : ℤ[X], f.natDegree ≠ 0 → Irreducible f → (∀ᶠ n in atTop, 1 ≤ f.eval n) → ∃ c > (0 : ℝ), Tendsto (fun x ↦ Erdos975Sum f x / (x * log x)) atTop (𝓝 c) := by …Mentions: c, Erdos975.Erdos975Sum
- theorem
Erdos975.erdos_975.variants.upper_boundThe correctness of the growth rate is shown in [Va39] (lower bound) and [Er52b] (upper bound) sorry line 67 sourceSource documentation
The correctness of the growth rate is shown in [Va39] (lower bound) and [Er52b] (upper bound).
depends on sorry what this means
Statement uses:
Polynomial,Int,Irreducible,Filter.Eventually,LE.le,OfNat.ofNat,Polynomial.eval,Filter.atTop,Asymptotics.IsBigO,Real, Erdos975.Erdos975Sum,HMul.hMul,Real.logProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous,Nat31 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem erdos_975.variants.upper_bound (f : ℤ[X]) (hf : Irreducible f) (hf_pos : ∀ᶠ n in atTop, 1 ≤ f.eval n) : Erdos975Sum f =O[atTop] (fun x ↦ x * log x) := by …Mentions: Erdos975.Erdos975Sum
- theorem
Erdos975.erdos_975.variants.lower_boundLower bound for the growth rate ofErdos975Sum, shown in [Va39] sorry line 73 sourceSource documentation
Lower bound for the growth rate of
Erdos975Sum, shown in [Va39].depends on sorry what this means
Statement uses:
Polynomial,Int,Irreducible,Ne,Nat,Polynomial.natDegree,OfNat.ofNat,Filter.Eventually,LE.le,Polynomial.eval,Filter.atTop,Asymptotics.IsBigO,Real,HMul.hMul,Real.log, Erdos975.Erdos975SumProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous32 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem erdos_975.variants.lower_bound (f : ℤ[X]) (hf : Irreducible f) (hfdeg : f.natDegree ≠ 0) (hf_pos : ∀ᶠ n in atTop, 1 ≤ f.eval n) : (fun x ↦ x * log x) =O[atTop] Erdos975Sum f := by …Mentions: Erdos975.Erdos975Sum
- theorem
Erdos975.erdos_975.variants.quadraticWhen $f$ is an irreducible quadratic polynomial, the question is answered first by Hooley [Ho63] sorry line 89 sourceSource documentation
When $f$ is an irreducible quadratic polynomial, the question is answered first by Hooley [Ho63]. More compact expression of the constant in terms of Hurwitz class numbers (when $a = 1$) is given by McKey in [Mc95], [Mc97], [Mc99].
TODO: formalize Hurwitz class numbers and the expression of the constant in terms of them.
depends on sorry what this means
Statement uses:
Polynomial,Int,Irreducible,Filter.Eventually,Nat,LE.le,OfNat.ofNat,Polynomial.eval,Filter.atTop,Eq,WithBot,Polynomial.degree,Real,sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous,Andand 7 more52 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem erdos_975.variants.quadratic (f : ℤ[X]) (hf : Irreducible f) (hf_pos : ∀ᶠ n : ℕ in atTop, 1 ≤ f.eval ↑n) (hf_degree : f.degree = 2) (c : ℝ) : c = answer(sorry) → 0 < c ∧ Tendsto (fun x ↦ Erdos975Sum f x / (x * log x)) atTop (𝓝 c) := by …Mentions: c, Erdos975.Erdos975Sum
- theorem
Erdos975.erdos_975.variants.n2_plus_1_strongMore concrete example for $f(n) = n^2 + 1$, where the asymptote is $\sum_{n \le x} \tau(n^2 + 1) \sim \frac{3}{\pi} x \log x + O(x)$ sorry line 99 sourceSource documentation
More concrete example for $f(n) = n^2 + 1$, where the asymptote is $\sum_{n \le x} \tau(n^2 + 1) \sim \frac{3}{\pi} x \log x + O(x)$. See Tao's blog [T].
depends on sorry what this means
Statement uses:
Asymptotics.IsBigO,Real,Filter.atTop,HSub.hSub, Erdos975.Erdos975Sum,HAdd.hAdd,Polynomial,Int,HPow.hPow,Nat,Polynomial.X,OfNat.ofNat,HMul.hMul,HDiv.hDiv,Real.pi,Real.log,idProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous48 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem erdos_975.variants.n2_plus_1_strong : (fun x ↦ Erdos975Sum (X ^ 2 + 1) x - (3 / π) * x * log x) =O[atTop] id := by …Mentions: Erdos975.Erdos975Sum
- theorem
Erdos975.erdos_975.variants.n2_plus_1Asymptotics forErdos975Sumwith $f(X) = X^2 + 1$ sorry line 105 sourceSource documentation
Asymptotics for
Erdos975Sumwith $f(X) = X^2 + 1$.depends on sorry what this means
Statement uses:
Exists,Real,And,GT.gt,OfNat.ofNat,Filter.Tendsto,HDiv.hDiv, Erdos975.Erdos975Sum,HAdd.hAdd,Polynomial,Int,HPow.hPow,Nat,Polynomial.X,HMul.hMul,Real.log,Filter.atTop,nhdsProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous46 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem erdos_975.variants.n2_plus_1 : ∃ c > (0 : ℝ), Tendsto (fun x ↦ Erdos975Sum (X ^ 2 + 1) x / (x * log x)) atTop (𝓝 c) := by …Mentions: c, Erdos975.Erdos975Sum