FormalConjectures/ErdosProblems/228.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

1 declarations, 1 contain sorry, 0 declared as axioms

Erdős Problem 228

Reference: erdosproblems.com/228

Imports (1)
  1. theorem Erdos228.erdos_228 Does there exist, for all large sorry line 40 source

    Source documentation

    Does there exist, for all large $n$, a polynomial $P$ of degree $n$, with coefficients $\pm1$, such that $$\sqrt n \ll |P(z)| \ll \sqrt n$$ for all $|z|=1$, with the implied constants independent of $z$ and $n$?

    The answer is yes, proved by Balister, Bollobás, Morris, Sahasrabudhe, and Tiba [BBMST19].

    [BBMST19] Balister, P. and Bollob'{A}s, B. and Morris, R. and Sahasrabudhe, J. and Tiba, M., Flat Littlewood Polynomials Exist. arXiv:1907.09464 (2019).

    depends on sorry what this means

    Statement uses: Iff, True, Exists, Real, Filter.Eventually, Nat, Polynomial, Complex, And, Eq, WithBot, Polynomial.degree, LE.le, Or, Polynomial.coeff, OfNat.ofNat, Neg.neg, Norm.norm, LT.lt, Real.sqrt and 3 more

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

    31 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

    theorem erdos_228 :
        answer(True) ↔ ∃ (c₁ : ℝ) (c₂ : ℝ), ∀ᶠ n : ℕ in Filter.atTop,
        ∃ p : Polynomial ℂ, p.degree = n ∧
        (∀ i ≤ n, p.coeff i = 1 ∨ p.coeff i = -1) ∧
        ∀ z : ℂ, ‖z‖ = 1 →
        ( √n < c₁ * ‖p.eval z‖ ∧ ‖p.eval z‖ < c₂ * √n ) := by
    …