feat(ErdosProblems): add Problem 114 (Erdős–Herzog–Piranian conjecture)#3712
feat(ErdosProblems): add Problem 114 (Erdős–Herzog–Piranian conjecture)#3712bengoechea wants to merge 5 commits into
Conversation
|
Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). View this failed invocation of the CLA check for more information. For the most up to date status, view the checks section at the bottom of the pull request. |
|
Is this a duplicate of #3708? |
Formalise the EHP conjecture (1958): among monic degree-n polynomials, z^n - c (|c|=1) uniquely maximises the lemniscate arc length. Two theorems: - erdos_114: full open conjecture for all n - erdos_114_small_n: solved for 3 ≤ n ≤ 14 via IEEE 1788-rigorous interval arithmetic (doi:10.5281/zenodo.19480329) References: Erdős–Herzog–Piranian (1958), Eremenko–Hayman (1999), Pommerenke (1961), Tao (2025), Mendoza (2026).
48105e1 to
c962003
Compare
|
For context on what changed from #3708: CLA was failing because the original PR came from a personal fork before I'd signed it. Also fixed the Apache 2.0 license header (http → https in the license URL, which was failing CI) and updated the AI disclosure section. This PR is from the MendozaLab org fork with a clean single commit. The mathematical content in 114.lean is identical. |
|
Build was failing because |
Match the pattern used in 1041.lean (which compiles in CI). Also use Polynomial ℂ[X] abbreviation with open Polynomial.
|
Note on the fix commits: the initial submission compiled locally against a slightly older Mathlib snapshot. CI's pinned toolchain exposed type class resolution differences — specifically around |
|
The CLA issue is resolved now, and I’ve reconciled my local state to the exact PR head for this branch ( This PR is intended to add only At this point it looks like the remaining blocker on GitHub is that the fork-triggered workflows have not been approved to run yet. When convenient, could someone approve the pending Actions workflows for the current head commit so the full CI can execute? If CI surfaces anything real after that, I’ll address it directly on this branch. |
…ficate axioms Replace sorry in erdos_114_small_n with 12 explicit axioms (one per degree n = 3 … 14), each citing the IEEE 1788-rigorous branch-and-bound certificate from doi:10.5281/zenodo.19480329 (EXP-MM-EHP-007_COMBINED.json). Proof: interval_cases n; each case discharged by the corresponding axiom. lake build passes locally (leanprover/lean4:v4.27.0, Mathlib pinned to lake-manifest.json). Zero sorry stubs in erdos_114_small_n. erdos_114 (full conjecture, all n) remains sorry — it is open. Coverage: - n = 2: Eremenko–Hayman (1999), analytical - n = 3–14: this commit, IEEE 1788 computational certificates - n ≥ N₀: Tao (arXiv:2512.12455, 2025), asymptotic - 15 ≤ n < N₀: open
|
Closing this as superseded by #3958. The newer PR uses the v13 finite-degree formulation: it records the contiguous Thanks for the earlier triage on this one. |
Summary
Adds
FormalConjectures/ErdosProblems/114.lean— the Erdős–Herzog–Piranian conjecture (#114).erdos_114: Full open conjecture (all n) — body issorryerdos_114_small_n: Solved for 3 ≤ n ≤ 14 via twelveaxiomdeclarations (one per degree, each encoding the IEEE 1788 interval-arithmetic certificate for that n) andinterval_cases ndischargeContext
Moritz Firsching confirmed a standalone PR is welcome:
Zulip message
This PR is intentionally separate from #3422.
On the axiom shape
The current shape is twelve axioms
ehp_cert_3...ehp_cert_14, each typed as(p : ℂ[X]) (hp : p.Monic) (hd : p.natDegree = n) → arcLength p ≤ arcLength (X^n - C 1)for the corresponding n. The theorem then dispatches viainterval_cases n, one axiom per case. A single axiom over the range would be tighter — open to refactoring if reviewers prefer. Posting a discussion on#Formal-conjecturesto ask for the repo convention.Certificates
Each n case is verified by branch-and-bound over the parameter space of monic degree-n polynomials, with IEEE 1788-2015 interval arithmetic:
Results, B&B box counts, runtimes, and Hessian negative-definiteness checks at the extremizer for each degree are deposited with SHA-256 checksums:
doi:10.5281/zenodo.19480329 (v5; supersedes v3 at doi:10.5281/zenodo.19322367 referenced earlier)
Reproduction:
python verify_ehp.py --degree N(n ≤ 12) orcargo run --release -- --degree N(n ≤ 14).Definitions
levelCurveUnit parcLength pFuture work
axiom ehp_cert_ndeclarations once Mathlib has a verified IEEE 1788 libraryerdos_114_small_n_unique)Tooling
The Lean source was prepared with assistance from Anthropic's Claude (Claude Code CLI) for proof drafting, Mathlib API search, and tactic iteration. The IEEE 1788 verification (Python/mpmath, Rust/inari) was author-written. All axiom statements, lemma signatures, and proof tactics are author-verified against Mathlib's current
mastersource. The author is responsible for the final content.