FormalConjectures/ErdosProblems/522.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
9 declarations, 4 contain sorry, 0 declared as axioms
Erdős Problem 522
References:
- erdosproblems.com/522
- [Ch26] Chojecki, P., A strong law for the roots of random Littlewood polynomials (2026), ulam.ai/research/erdos522-final.pdf.
- [Ka26] Kawada, S., Almost-Sure Radial Laws for Nested Random Polynomials and Erdős Problem #522, doi:10.5281/zenodo.22970145 (2026). Lean 4 formalization: chreia/erdos-522.
- [Ki26] Kitamura, K., A Lean proof of Erdős Problem 522, KitaKen1/erdos-522-strong-law (2026).
- [KZ26] Kwon, Y. and Zou, J., A fourth moment estimate for logarithmic integrals of random Littlewood polynomials and Erdős's root-count problem (2026), ykwon0407/erdos-521-522.
Imports (1)
- structure
Erdos522.KacCoefficientsDocumented declaration: KacCoefficients line 54 sourceSource documentation
A sequence of Kac coefficients over a subset
Sof a fieldkis a countably infinite sequence of independent random variables, each uniformly distributed overSwith respect to the reference measureμ. The default reference measure is the counting measure, so that for a finite setSeach coefficient takes every value ofSwith probability1 / |S|.Such a sequence determines a Kac polynomial of degree
nfor eachn, which is the random polynomial given byKacCoefficients.polynomial.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,MeasurableSpace,Set,MeasureTheory.MeasureSpace,optParam,MeasureTheory.Measure,MeasureTheory.Measure.countTactic trace: 1 steps
Open to load the checked before-and-after goal states.
structure KacCoefficients {k : Type*} [Field k] [MeasurableSpace k] (S : Set k) (Ω : Type*) [MeasureSpace Ω] (μ : Measure k := Measure.count) where … - instance
Erdos522.(instance at line 67)line 67 sourceSource documentation
We can always view a Kac polynomial as a random variable on
ℕ.instance : FunLike (KacCoefficients S Ω μ) ℕ (Ω → k) where …
Mentions: Erdos522.KacCoefficients
- def
Erdos522.KacCoefficients.polynomialThe random polynomial associated to a sequencec : KacCoefficients S Ω μof Kac coefficients given by∑ i ∈ Finset.range (n + 1), c i z^iline 81 sourceSource documentation
The random polynomial associated to a sequence
c : KacCoefficients S Ω μof Kac coefficients given by∑ i ∈ Finset.range (n + 1), c i z^i.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,MeasurableSpace,Set,MeasureTheory.MeasureSpace,MeasureTheory.Measure, Erdos522.KacCoefficients,Nat,PolynomialProof uses:
Finset.sum,Finset.range,HAdd.hAdd,OfNat.ofNat,LinearMap,RingHom.id,Polynomial.monomial17 instances, coercions and auxiliary constants left out.
noncomputable def polynomial (c : KacCoefficients S Ω μ) (n : ℕ) : Ω → k[X] := fun ω => ∑ i ∈ Finset.range (n + 1), Polynomial.monomial i (c i ω)Mentions: c, Erdos522.KacCoefficients
- def
Erdos522.KacCoefficients.rootsThe random multiset of roots associated to a Kac polynomial line 87 sourceSource documentation
The random multiset of roots associated to a Kac polynomial
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,MeasurableSpace,Set,MeasureTheory.MeasureSpace,MeasureTheory.Measure, Erdos522.KacCoefficients,Nat,MultisetProof uses:
Polynomial.roots, Erdos522.KacCoefficients.polynomial2 instances, coercions and auxiliary constants left out.
noncomputable def roots (c : KacCoefficients S Ω μ) (n : ℕ) : Ω → Multiset k := …
Mentions: c, Erdos522.KacCoefficients
- def
Erdos522.KacCoefficients.numRootsInUnitDiskCounts the number of roots of a Kac polynomial in the unit disk with multiplicity line 91 sourceSource documentation
Counts the number of roots of a Kac polynomial in the unit disk with multiplicity.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,MeasurableSpace,Set,MeasureTheory.MeasureSpace,MeasureTheory.Measure,PseudoMetricSpace, Erdos522.KacCoefficients,NatProof uses:
Multiset.countP,Membership.mem,Metric.closedBall,OfNat.ofNat,Real,Classical.propDecidable, Erdos522.KacCoefficients.roots9 instances, coercions and auxiliary constants left out.
noncomputable def numRootsInUnitDisk [PseudoMetricSpace k] (c : KacCoefficients S Ω μ) (n : ℕ) (ω : Ω) : ℕ := …Mentions: c, Erdos522.KacCoefficients
- theorem
Erdos522.erdos_522sorry line 126 sourcedepends on sorry what this means
Statement uses:
Iff,True,MeasureTheory.MeasureSpace,MeasureTheory.IsProbabilityMeasure,MeasureTheory.MeasureSpace.volume, Erdos522.KacCoefficients,Complex,Insert.insert,Set,Neg.neg,OfNat.ofNat,Singleton.singleton,MeasureTheory.Measure.count,Eq,ENNReal,MeasureTheory.Measure,Set.ofPred,Filter.Tendsto,Nat,Realand 5 moreProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous64 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- theorem
Erdos522.erdos_522.variants.zero_onesorry line 148 sourcedepends on sorry what this means
Statement uses:
Iff,True,MeasureTheory.MeasureSpace,MeasureTheory.IsProbabilityMeasure,MeasureTheory.MeasureSpace.volume,Nat,LE.le,OfNat.ofNat, Erdos522.KacCoefficients,Complex,Insert.insert,Set,Singleton.singleton,MeasureTheory.Measure.count,Eq,ENNReal,MeasureTheory.Measure,Set.ofPred,Filter.Tendsto,Realand 5 moreProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous68 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- theorem
Erdos522.erdos_522.variants.number_real_rootsErdős and Offord showed that the number of real roots of a random degreenpolynomial with±1coefficients is(2/π+o(1))log nsorry line 159 sourceSource documentation
Erdős and Offord showed that the number of real roots of a random degree
npolynomial with±1coefficients is(2/π+o(1))log n.depends on sorry what this means
Statement uses:
Exists,Nat,Real,And,Filter.Tendsto,Filter.atTop,nhds,OfNat.ofNat,MeasureTheory.MeasureSpace,MeasureTheory.IsProbabilityMeasure,MeasureTheory.MeasureSpace.volume,LE.le, Erdos522.KacCoefficients,Insert.insert,Set,Neg.neg,Singleton.singleton,MeasureTheory.Measure.count,ENNReal.toReal,MeasureTheory.Measureand 10 moreProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous62 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem erdos_522.variants.number_real_roots : ∃ p o : ℕ → ℝ, atTop.Tendsto o (𝓝 0) ∧ atTop.Tendsto p (𝓝 0) ∧ ∀ (Ω : Type*) [MeasureSpace Ω] [IsProbabilityMeasure (ℙ : Measure Ω)] (n : ℕ) (hn : 2 ≤ n) (f : KacCoefficients ({-1, 1} : Set ℝ) Ω), (ℙ {ω | |(f.roots n ω).card / (n : ℝ).log - 2 / π| ≥ o n}).toReal ≤ p n := by …Mentions: Erdos522.KacCoefficients
- theorem
Erdos522.erdos_522.variants.yakir_solutionYakir proved that almost all Kac polynomials haven/2+O(n^(9/10))many roots in{z∈C:|z|≤1}sorry line 171 sourceSource documentation
Yakir proved that almost all Kac polynomials have
n/2+O(n^(9/10))many roots in{z∈C:|z|≤1}.depends on sorry what this means
Statement uses:
Exists,Nat,Real,And,Filter.Tendsto,Filter.atTop,nhds,OfNat.ofNat,MeasureTheory.MeasureSpace,MeasureTheory.IsProbabilityMeasure,MeasureTheory.MeasureSpace.volume,LE.le, Erdos522.KacCoefficients,Complex,Insert.insert,Set,Neg.neg,Singleton.singleton,MeasureTheory.Measure.count,ENNReal.toRealand 13 moreProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous82 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem erdos_522.variants.yakir_solution : ∃ p : ℕ → ℝ, atTop.Tendsto p (𝓝 0) ∧ ∀ (Ω : Type*) [MeasureSpace Ω] [IsProbabilityMeasure (ℙ : Measure Ω)] (n : ℕ) (hn : 2 ≤ n) (f : KacCoefficients ({-1, 1} : Set ℂ) Ω), (ℙ {ω | |(f.roots n ω).countP (· ∈ Metric.closedBall 0 1) - (n / 2 : ℝ)| ≥ n^(9/10 : ℝ) }).toReal ≤ p n := by …Mentions: Erdos522.KacCoefficients