FormalConjectures/Wikipedia/LehmerMahlerMeasureProblem.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

8 declarations, 4 contain sorry, 0 declared as axioms

Lehmer's Mahler measure problem

Reference: Wikipedia

Imports (1)
  1. def LehmerMahlerMeasureProblem.mahlerMeasure The Mahler measure of f(X) is defined as ‖a‖ ∏ᵢ max(1,‖αᵢ‖), where f(X)=a(X-α₁)(X-α₂)...(X-αₙ) line 36 source

    Source documentation

    The Mahler measure of f(X) is defined as ‖a‖ ∏ᵢ max(1,‖αᵢ‖), where f(X)=a(X-α₁)(X-α₂)...(X-αₙ).

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Polynomial, Complex, Real

    Proof uses: HMul.hMul, Norm.norm, Polynomial.leadingCoeff, Multiset.prod, Multiset.map, Max.max, OfNat.ofNat, Polynomial.roots

    11 instances, coercions and auxiliary constants left out.

    noncomputable def mahlerMeasure (f : ℂ[X]) : ℝ :=
    …
  2. def LehmerMahlerMeasureProblem.mahlerMeasureZ line 39 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Polynomial, Int, Real

    Proof uses: LehmerMahlerMeasureProblem.mahlerMeasure, Polynomial.map, Complex, Algebra.algebraMap

    7 instances, coercions and auxiliary constants left out.

  3. theorem LehmerMahlerMeasureProblem.lehmer_mahler_measure_problem Let M(f) denote the Mahler measure of f sorry line 47 source

    Source documentation

    Let M(f) denote the Mahler measure of f. There exists a constant μ>1 such that for any f(x)∈ℤ[x], M(f)>1 → M(f)≥μ.

    depends on sorry what this means

    Statement uses: Exists, Real, Polynomial, Int, And, GT.gt, OfNat.ofNat, LehmerMahlerMeasureProblem.mahlerMeasureZ, GE.ge

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

    11 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

    theorem lehmer_mahler_measure_problem :
        ∃ μ : ℝ, ∀ f : ℤ[X],
          μ > 1 ∧ (mahlerMeasureZ f > 1 → mahlerMeasureZ f ≥ μ) := by
    …

    Mentions: LehmerMahlerMeasureProblem.mahlerMeasureZ

  4. def LehmerMahlerMeasureProblem.lehmerPolynomial line 52 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Polynomial, Int

    Proof uses: HAdd.hAdd, HSub.hSub, HPow.hPow, Nat, Polynomial.X, OfNat.ofNat

    15 instances, coercions and auxiliary constants left out.

  5. theorem LehmerMahlerMeasureProblem.lehmer_mahler_measure_problem.variants.best μ=M(X^10 + X^9 - X^7 - X^6 - X^5 - X^4 - X^3 + X + 1) is the best value for lehmer_mahler_measure_problem sorry line 58 source

    Source documentation

    μ=M(X^10 + X^9 - X^7 - X^6 - X^5 - X^4 - X^3 + X + 1) is the best value for lehmer_mahler_measure_problem.

    depends on sorry what this means

    Statement uses: Polynomial, Int, GT.gt, Real, LehmerMahlerMeasureProblem.mahlerMeasureZ, OfNat.ofNat, GE.ge, LehmerMahlerMeasureProblem.lehmerPolynomial

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

    11 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

    theorem lehmer_mahler_measure_problem.variants.best (f : ℤ[X])
        (hf : mahlerMeasureZ f > 1) : mahlerMeasureZ f ≥ mahlerMeasureZ lehmerPolynomial := by
    …

    Mentions: LehmerMahlerMeasureProblem.mahlerMeasureZ, LehmerMahlerMeasureProblem.lehmerPolynomial

  6. theorem LehmerMahlerMeasureProblem.lehmer_mahler_measure_problem.variants.not_reciprocal If $f$ is irreducible and not reciprocal and $M(f) > 1$ then $M(f) \ge M(X^3 - X - 1)$ sorry line 66 source

    Source documentation

    If $f$ is irreducible and not reciprocal and $M(f) > 1$ then $M(f) \ge M(X^3 - X - 1)$.

    depends on sorry what this means

    Statement uses: Polynomial, Int, Irreducible, GT.gt, Real, LehmerMahlerMeasureProblem.mahlerMeasureZ, OfNat.ofNat, Ne, Polynomial.reverse, GE.ge, HSub.hSub, HPow.hPow, Nat, Polynomial.X

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

    30 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

    theorem lehmer_mahler_measure_problem.variants.not_reciprocal (f : ℤ[X]) (hi : Irreducible f)
        (hf : mahlerMeasureZ f > 1) (hf' : f.reverse ≠ f) :
        mahlerMeasureZ f ≥ mahlerMeasureZ (X^3 - X - 1) := by
    …

    Mentions: LehmerMahlerMeasureProblem.mahlerMeasureZ

  7. def LehmerMahlerMeasureProblem.Polynomial.HasOddCoeffs Polynomial.HasOddCoeffs f means that all coefficients of f : Polynomial ℤ are odd line 72 source

    Source documentation

    Polynomial.HasOddCoeffs f means that all coefficients of f : Polynomial ℤ are odd.

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Polynomial, Int

    Proof uses: Nat, LE.le, Polynomial.natDegree, Odd, Polynomial.coeff

    3 instances, coercions and auxiliary constants left out.

    def Polynomial.HasOddCoeffs (f : Polynomial ℤ) : Prop :=
    …
  8. theorem LehmerMahlerMeasureProblem.lehmer_mahler_measure_problem.variants.odd If $f$ is not reciprocal, all the coefficients of $f$ are odd and $M(f) > 1$, then $M(f) \ge M(X^2 - X - 1)$ sorry line 85 source

    Source documentation

    If $f$ is not reciprocal, all the coefficients of $f$ are odd and $M(f) > 1$, then $M(f) \ge M(X^2 - X - 1)$.

    A polynomial $f$ of degree $d$ is reciprocal when $X^d f(1/X) = \pm f$, so nonreciprocity rules out both signs. The negative sign has to be excluded as well: the polynomial $X^7 - X^6 - X^5 - X^4 + X^3 + X^2 + X - 1$ has all coefficients odd and satisfies $X^7 f(1/X) = -f$, but $1 < M(f) = 1.5823\dots < M(X^2 - X - 1)$.

    depends on sorry what this means

    Statement uses: Polynomial, Int, GT.gt, Real, LehmerMahlerMeasureProblem.mahlerMeasureZ, OfNat.ofNat, Ne, Polynomial.reverse, Neg.neg, LehmerMahlerMeasureProblem.Polynomial.HasOddCoeffs, GE.ge, HSub.hSub, HPow.hPow, Nat, Polynomial.X

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

    32 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

    theorem lehmer_mahler_measure_problem.variants.odd (f : ℤ[X])
        (hf : mahlerMeasureZ f > 1) (hf' : f.reverse ≠ f) (hf'' : f.reverse ≠ -f)
        (hodd : f.HasOddCoeffs) :
        mahlerMeasureZ f ≥ mahlerMeasureZ (X^2 - X - 1) := by
    …

    Mentions: LehmerMahlerMeasureProblem.mahlerMeasureZ