FormalConjectures/Books/BugeaudDistributionModuloOne/Problem10_61.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

11 declarations, 6 contain sorry, 0 declared as axioms

Bugeaud Collection of Conjectures and Open Questions: Pisot orbits on the Cantor set

Problem 10.61, proposed by Mendès France [MF67, Problème 1, p. 41]. For a Pisot number $\alpha > 2$ put $$C(\alpha) = \left\{ (\alpha - 1) \sum_{k \ge 1} \varepsilon_k \alpha^{-k} : \varepsilon_k \in \{0, 1\} \right\}.$$ The problem asks to prove that $(\xi \alpha^n)_{n \ge 1}$ is not uniformly distributed modulo one for any $\xi \in C(\alpha)$. In the language of [MF67] this reads $C(\alpha) \cap B(\alpha) = \emptyset$, where $B(\alpha)$ is the set of $\xi$ for which $(\xi \alpha^n)$ is uniformly distributed modulo one.

The problem is open. It is easy for an integer base and settled for two quadratic $\alpha$; the general Pisot case is what remains. [Ste26] reduces it to a statement about shift-invariant measures of the full two-shift, and proves that every true instance admits a finite certificate, so the difficulty is uniformity in $\alpha$ rather than any single $\alpha$. The variants below state the criterion and the instances of [Ste26] that concern Problem 10.61 directly; the reduction itself is not stated here, since it needs the symbolic model.

Deleting the term $n = 0$ does not change uniform distribution modulo one, so the statements indexed from $n = 1$ agree with the ones of [Ste26], which are indexed from $n = 0$. Where an orbit is confined away from an interval the stronger form, for every $n \ge 0$, is stated.

References:

Imports (1)
  1. def Bugeaud61.cantorPoint The point of $C(\alpha)$ with digit sequence $\varepsilon$, that is $(\alpha - 1) \sum_{k \ge 1} \varepsilon_k \alpha^{-k}$ line 65 source

    Source documentation

    The point of $C(\alpha)$ with digit sequence $\varepsilon$, that is $(\alpha - 1) \sum_{k \ge 1} \varepsilon_k \alpha^{-k}$.

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

    Statement uses: Real, Nat, Bool

    Proof uses: HMul.hMul, HSub.hSub, OfNat.ofNat, tsum, ite, Eq, Bool.true, HPow.hPow, Inv.inv, HAdd.hAdd, SummationFilter.unconditional

    21 instances, coercions and auxiliary constants left out.

    noncomputable def cantorPoint (α : ℝ) (ε : ℕ → Bool) : ℝ :=
    …
  2. def Bugeaud61.pisotCantorSet The set $C(\alpha)$ of Problem 10.61 line 73 source

    Source documentation

    The set $C(\alpha)$ of Problem 10.61. For $\alpha > 2$ it is a Cantor set of Hausdorff dimension $\log 2 / \log \alpha < 1$, normalised so that $0$ is its least and $1$ its greatest element.

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

    Statement uses: Real, Set

    Proof uses: Set.range, Nat, Bool, Bugeaud61.cantorPoint

    noncomputable def pisotCantorSet (α : ℝ) : Set ℝ := Set.range (cantorPoint α)

    Mentions: Bugeaud61.cantorPoint

  3. def Bugeaud61.routeAExponent The Route A exponent line 81 source

    Source documentation

    The Route A exponent $A(\alpha) = \log 2 / \log \alpha + \log 2 / \log(1 / \rho)$ of [Ste26], where $\rho$ is the largest modulus of a conjugate of $\alpha$ other than $\alpha$ itself. It is the sum of the box dimensions of $C(\alpha)$ and of the window in which the conjugate contributions live.

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

    Statement uses: Real

    Proof uses: HAdd.hAdd, HDiv.hDiv, Real.log, OfNat.ofNat, Inv.inv

    9 instances, coercions and auxiliary constants left out.

    noncomputable def routeAExponent (α ρ : ℝ) : ℝ :=
    …
  4. theorem Bugeaud61.problem_10_61 Problem 10.61 sorry line 89 source

    Source documentation

    Problem 10.61. Let $\alpha > 2$ be a Pisot number. For every $\xi \in C(\alpha)$ the sequence $(\xi \alpha^n)_{n \ge 1}$ is not uniformly distributed modulo one.

    depends on sorry what this means

    Statement uses: Real, IsPisot, LT.lt, OfNat.ofNat, Nat, Membership.mem, Set, Bugeaud61.pisotCantorSet, Not, IsEquidistributedModuloOne, HMul.hMul, HPow.hPow, HAdd.hAdd

    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 problem_10_61 (α : ℝ) (hα : IsPisot α) (hα2 : 2 < α) :
        ∀ ξ ∈ pisotCantorSet α, ¬ IsEquidistributedModuloOne fun n : ℕ => ξ * α ^ (n + 1) := by
    …

    Mentions: IsPisot, Bugeaud61.pisotCantorSet, IsEquidistributedModuloOne

  5. theorem Bugeaud61.problem_10_61.variants.almost_every Documented declaration: almost_every sorry line 100 source

    Source documentation

    The hypothesis $\xi \in C(\alpha)$ cannot be dropped: by Koksma's metric theorem [Kok35], for a fixed $\alpha > 1$ the sequence $(\xi \alpha^n)_{n \ge 1}$ is uniformly distributed modulo one for Lebesgue-almost every $\xi$. Problem 10.61 asks a null set of starting points to defeat an almost-everywhere law.

    depends on sorry what this means

    Statement uses: Real, LT.lt, OfNat.ofNat, Filter.Eventually, IsEquidistributedModuloOne, Nat, HMul.hMul, HPow.hPow, HAdd.hAdd, MeasureTheory.ae, MeasureTheory.Measure, MeasureTheory.MeasureSpace.volume

    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 problem_10_61.variants.almost_every (α : ℝ) (hα : 1 < α) :
        ∀ᵐ ξ ∂(MeasureTheory.volume : MeasureTheory.Measure ℝ),
          IsEquidistributedModuloOne fun n : ℕ => ξ * α ^ (n + 1) := by
    …

    Mentions: IsEquidistributedModuloOne

  6. theorem Bugeaud61.problem_10_61.variants.covering_criterion sorry line 116 source

    depends on sorry what this means

    Statement uses: Int, Real, Eq, HPow.hPow, Nat, OfNat.ofNat, HAdd.hAdd, HMul.hMul, LT.lt, Ne, HSub.hSub, abs, Bugeaud61.routeAExponent, Membership.mem, Set, Bugeaud61.pisotCantorSet, Not, IsEquidistributedModuloOne

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

    44 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

  7. theorem Bugeaud61.problem_10_61.variants.covering_criterion_range sorry line 131 source

    depends on sorry what this means

    Statement uses: Int, Real, Eq, HPow.hPow, Nat, OfNat.ofNat, HAdd.hAdd, HMul.hMul, LT.lt, abs, HSub.hSub, Ne, Iff, Bugeaud61.routeAExponent, Real.logb

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

    46 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

  8. theorem Bugeaud61.problem_10_61.variants.two_add_sqrt_five sorry line 145 source

    depends on sorry what this means

    Statement uses: Exists, Real, And, LT.lt, OfNat.ofNat, LE.le, Set, Set.Ioo, HSub.hSub, HAdd.hAdd, Membership.mem, Bugeaud61.pisotCantorSet, Nat, Real.sqrt, Not, Int.fract, HMul.hMul, HPow.hPow

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

    52 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

  9. theorem Bugeaud61.problem_10_61.variants.two_add_sqrt_three sorry line 158 source

    depends on sorry what this means

    Statement uses: Real, Membership.mem, Set, Bugeaud61.pisotCantorSet, HAdd.hAdd, OfNat.ofNat, Nat, Real.sqrt, Not, IsEquidistributedModuloOne, HMul.hMul, HPow.hPow

    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.

  10. theorem Bugeaud61.zero_mem_pisotCantorSet Sanity check: $0 \in C(\alpha)$, the point with all digits zero line 167 source

    Source documentation

    Sanity check: $0 \in C(\alpha)$, the point with all digits zero.

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

    Statement uses: Real, Membership.mem, Set, Bugeaud61.pisotCantorSet, OfNat.ofNat

    Proof uses: Exists.intro, Nat, Bool, Eq, Bugeaud61.cantorPoint, Bool.false, of_eq_true, Eq.trans, True, congrFun', congrArg, HMul.hMul, HSub.hSub, tsum, ite, Bool.true, HPow.hPow, Inv.inv, HAdd.hAdd, SummationFilter.unconditional and 11 more

    41 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

    theorem zero_mem_pisotCantorSet (α : ℝ) : 0 ∈ pisotCantorSet α :=
    …

    Mentions: Bugeaud61.pisotCantorSet

  11. theorem Bugeaud61.one_mem_pisotCantorSet Sanity check: $1 \in C(\alpha)$ for $\alpha > 1$, the point with all digits one, since $\sum_{k \ge 1} \alpha^{-k} = 1 / (\alpha - 1)$ line 175 source

    Source documentation

    Sanity check: $1 \in C(\alpha)$ for $\alpha > 1$, the point with all digits one, since $\sum_{k \ge 1} \alpha^{-k} = 1 / (\alpha - 1)$.

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

    Statement uses: Real, LT.lt, OfNat.ofNat, Membership.mem, Set, Bugeaud61.pisotCantorSet

    Proof uses: LT.lt.trans, zero_lt_one, Inv.inv, inv_lt_one_of_one_lt₀, Exists.intro, Nat, Bool, Eq, Bugeaud61.cantorPoint, Bool.true, tsum, HMul.hMul, ite, HPow.hPow, HAdd.hAdd, SummationFilter.unconditional, HSub.hSub, Eq.mpr, id, congrFun' and 70 more

    103 instances, coercions and auxiliary constants left out.

    Tactic trace: 10 steps

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

    theorem one_mem_pisotCantorSet {α : ℝ} (hα : 1 < α) : 1 ∈ pisotCantorSet α := by
    …

    Mentions: Bugeaud61.pisotCantorSet