FormalConjectures/ErdosProblems/114.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
6 declarations, 3 contain sorry, 0 declared as axioms
Erdős Problem 114
References:
- erdosproblems.com/114
- [EHP58] Erdős, P., Herzog, F. and Piranian, G., Metric properties of polynomials. J. Analyse Math. (1958), 125-148.
- [ErHa99] Eremenko, A. and Hayman, W., On the length of lemniscates. Michigan Math. J. (1999), 409-415. arXiv:0805.2295
- [Ta25] Tao, T., The maximal length of the Erdős–Herzog–Piranian lemniscate in high degree (2025). arXiv:2512.12455
Imports (1)
- def
Erdos114.lemniscateThe lemniscate $\{z \in \mathbb{C} : \lvert p(z)\rvert = 1\}$ of a complex polynomial $p$ line 40 sourceSource documentation
The lemniscate $\{z \in \mathbb{C} : \lvert p(z)\rvert = 1\}$ of a complex polynomial $p$.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Polynomial,Complex,SetProof uses:
Set.ofPred,Eq,Real,Norm.norm,Polynomial.eval,OfNat.ofNat5 instances, coercions and auxiliary constants left out.
def lemniscate (p : ℂ[X]) : Set ℂ := {z | ‖p.eval z‖ = 1} - def
Erdos114.lemniscateLengthThe length of the lemniscate of $p$, as its one-dimensional Hausdorff measure line 43 sourceSource documentation
The length of the lemniscate of $p$, as its one-dimensional Hausdorff measure.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Polynomial,Complex,ENNRealProof uses:
MeasureTheory.Measure,Set,MeasureTheory.Measure.hausdorffMeasure,OfNat.ofNat,Real, Erdos114.lemniscate11 instances, coercions and auxiliary constants left out.
noncomputable def lemniscateLength (p : ℂ[X]) : ENNReal := μH[1] (lemniscate p) …
Mentions: Erdos114.lemniscate
- theorem
Erdos114.erdos_114If $p(z) \in \mathbb{C}[z]$ is a monic polynomial of degree $n$, is the length of the curve $\{z \in \mathbb{C} : \lvert p(z)\rvert = 1\}$ maximised when $p(z) = z^n - 1$? sorry line 53 sourceSource documentation
If $p(z) \in \mathbb{C}[z]$ is a monic polynomial of degree $n$, is the length of the curve $\{z \in \mathbb{C} : \lvert p(z)\rvert = 1\}$ maximised when $p(z) = z^n - 1$?
We require $n \geq 1$. For $n = 0$ the only monic polynomial is $1$, whose level set is all of $\mathbb{C}$, while $z^0 - 1 = 0$ has an empty level set.
depends on sorry what this means
Statement uses:
Iff,True,Nat,LE.le,OfNat.ofNat,Polynomial,Complex,Polynomial.Monic,Eq,Polynomial.natDegree,ENNReal, Erdos114.lemniscateLength,HSub.hSub,HPow.hPow,Polynomial.XProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous28 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem erdos_114 : answer(sorry) ↔ ∀ n : ℕ, 1 ≤ n → ∀ p : ℂ[X], p.Monic → p.natDegree = n → lemniscateLength p ≤ lemniscateLength (X ^ n - 1) := by …Mentions: Erdos114.lemniscateLength
- theorem
Erdos114.erdos_114.variants.large_nTao [Ta25] proved that $z^n - 1$ maximises the length of the lemniscate for all sufficiently large $n$ sorry line 63 sourceSource documentation
Tao [Ta25] proved that $z^n - 1$ maximises the length of the lemniscate for all sufficiently large $n$.
depends on sorry what this means
Statement uses:
Filter.Eventually,Nat,Polynomial,Complex,Polynomial.Monic,Eq,Polynomial.natDegree,LE.le,ENNReal, Erdos114.lemniscateLength,HSub.hSub,HPow.hPow,Polynomial.X,OfNat.ofNat,Filter.atTopProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous27 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem erdos_114.variants.large_n : ∀ᶠ n in atTop, ∀ p : ℂ[X], p.Monic → p.natDegree = n → lemniscateLength p ≤ lemniscateLength (X ^ n - 1) := by …Mentions: Erdos114.lemniscateLength
- theorem
Erdos114.erdos_114.variants.twoEremenko and Hayman [ErHa99] proved the case $n = 2$ sorry line 69 sourceSource documentation
Eremenko and Hayman [ErHa99] proved the case $n = 2$.
depends on sorry what this means
Statement uses:
Polynomial,Complex,Polynomial.Monic,Eq,Nat,Polynomial.natDegree,OfNat.ofNat,LE.le,ENNReal, Erdos114.lemniscateLength,HSub.hSub,HPow.hPow,Polynomial.XProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous26 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem erdos_114.variants.two (p : ℂ[X]) (hp : p.Monic) (hdeg : p.natDegree = 2) : lemniscateLength p ≤ lemniscateLength (X ^ 2 - 1) := by …Mentions: Erdos114.lemniscateLength
- theorem
Erdos114.erdos_114.variants.oneThe case $n = 1$ line 78 sourceSource documentation
The case $n = 1$. A monic linear polynomial is $z - a$. Its lemniscate is a translate of the lemniscate of $z - 1$, and translations preserve Hausdorff measure.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Polynomial,Complex,Polynomial.Monic,Eq,Nat,Polynomial.natDegree,OfNat.ofNat,LE.le,ENNReal, Erdos114.lemniscateLength,HSub.hSub,HPow.hPow,Polynomial.XProof uses:
HAdd.hAdd,RingHom,Polynomial.C,Polynomial.coeff,Finset.sum,Finset.range,HMul.hMul,Polynomial.Monic.as_sum,Eq.mp,congrArg,congr,pow_one,Eq.trans,Singleton.singleton,Finset,Finset.sum_singleton,pow_zero,mul_one,Set, Erdos114.lemniscate and 68 more96 instances, coercions and auxiliary constants left out.
Tactic trace: 10 steps
Open to load the checked before-and-after goal states.
theorem erdos_114.variants.one (p : ℂ[X]) (hp : p.Monic) (hdeg : p.natDegree = 1) : lemniscateLength p ≤ lemniscateLength (X ^ 1 - 1) := by …Mentions: Erdos114.lemniscateLength