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

16 declarations, 7 contain sorry, 0 declared as axioms

Bugeaud Collection of Conjectures and Open Questions: Rapidly Increasing Sequences Dense Modulo One

Problem 10.6 asks for a "very rapidly increasing" sequence $(m_n)_{n \ge 1}$ of positive integers with $(\{\xi m_n\})_{n \ge 1}$ dense modulo one for every irrational $\xi$. The informal phrase admits several readings, and they are not equivalent:

The first two readings are vacuous, and exists_dense_of_growth_and_sparsity below says so: a sequence built from runs of consecutive integers is dense modulo one for every irrational $\xi$ by an elementary argument, and the runs may be placed so that its terms dominate any prescribed $f$ while its counting function stays below $(\log\log N)^2$. In the subexponential range the growth half is a special case of [Bos83, Thm. 1.5], which produces such a sequence in any prescribed subexponential corridor and in the stronger uniform-distribution form; the sparsity half sits below the $\log N$ floor that every sublacunary sequence obeys, and so below the counting function of [Kat16, Cor. 4.10]. Consequently problem_10_6_variant_2, which asks only for intermediate growth, is not open.

The third reading is IsGenuinelySublacunary, and it is the only one with content: it implies the first (hasIntermediateGrowth_of_isGenuinelySublacunary), and it is not answered by runs, since inside a run $m_{n+1} - m_n = 1$. That reading is problem_10_6_variant_1, which remains open; [Kat16, Cor. 4.9] gives a universally densifying sequence of multiplicative shape $\{2^n 3^e\}$ whose ratio behaviour reduces the question to a Diophantine statement about $\log_2 3$.

The three statements that need a long proof carry a formal_proof link to the version of this file that contains it: the construction by runs, its counting function, and the growth estimate behind hasIntermediateGrowth_of_isGenuinelySublacunary.

References:

Imports (1)
  1. theorem Bugeaud06.pollington_de_mathan The Pollington–de Mathan theorem [Pol79][Mat80] sorry line 81 source

    Source documentation

    The Pollington–de Mathan theorem [Pol79][Mat80]. For every lacunary sequence $(m_n)_{n \ge 1}$ of positive integers, the set of real numbers $\xi$ for which $(\{\xi m_n\})_{n \ge 1}$ is not dense modulo one has full Hausdorff dimension.

    depends on sorry what this means

    Statement uses: Nat, LT.lt, OfNat.ofNat, IsLacunary, Eq, ENNReal, dimH, Real, Set.ofPred, Not, Dense, HasQuotient.Quotient, AddSubgroup, AddSubgroup.zmultiples, Set.range, HMul.hMul

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

    38 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

    theorem pollington_de_mathan (m : ℕ → ℕ) (hm : ∀ n, 0 < m n) (hlac : IsLacunary m) :
        dimH {ξ : ℝ | ¬ Dense (Set.range fun n => (↑(ξ * m n) : AddCircle (1 : ℝ)))} = 1 := by
    …

    Mentions: IsLacunary

  2. theorem Bugeaud06.furstenberg_two_three Furstenberg's theorem [Fur67] (the $\times 2, \times 3$ case) sorry line 89 source

    Source documentation

    Furstenberg's theorem [Fur67] (the $\times 2, \times 3$ case). For every irrational number $\xi$, the two-parameter family $(\{\xi \, 2^m 3^n\})_{m, n \ge 1}$ is dense modulo one.

    depends on sorry what this means

    Statement uses: Real, Irrational, Dense, AddCircle, OfNat.ofNat, AddSubgroup.zmultiples, Set.ofPred, Exists, Nat, And, LT.lt, Eq, HMul.hMul, HPow.hPow

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

    40 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

    theorem furstenberg_two_three (ξ : ℝ) (hξ : Irrational ξ) :
        Dense {x : AddCircle (1 : ℝ) |
          ∃ m n : ℕ, 0 < m ∧ 0 < n ∧ x = ↑(ξ * (2 ^ m * 3 ^ n : ℕ))} := by
    …
  3. theorem Bugeaud06.boshernitzan Boshernitzan's theorem [Bos94] sorry line 98 source

    Source documentation

    Boshernitzan's theorem [Bos94]. Given a real sublacunary sequence $r$, the set of real numbers $\xi$ for which $(\{\xi r_n\})_{n \ge 1}$ is not dense modulo one has Hausdorff dimension zero.

    depends on sorry what this means

    Statement uses: Nat, Real, LT.lt, OfNat.ofNat, Not, BddAbove, Set.range, Filter.Tendsto, HDiv.hDiv, HAdd.hAdd, Filter.atTop, nhds, Eq, ENNReal, dimH, Set.ofPred, Dense, HasQuotient.Quotient, AddSubgroup, AddSubgroup.zmultiples and 1 more

    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.

    theorem boshernitzan (r : ℕ → ℝ) (hr : ∀ n, 0 < r n) (hunb : ¬ BddAbove (Set.range r))
        (hsub : Tendsto (fun n => r (n + 1) / r n) atTop (nhds 1)) :
        dimH {ξ : ℝ | ¬ Dense (Set.range fun n => (↑(ξ * r n) : AddCircle (1 : ℝ)))} = 0 := by
    …
  4. def Bugeaud06.countingFn The counting function $\pi_A(N) = \#(A \cap [0, N])$ of the range $A$ of m line 107 source

    Source documentation

    The counting function $\pi_A(N) = \#(A \cap [0, N])$ of the range $A$ of m. The outer Finset.range (N + 1) is harmless for a strictly increasing m, since then $n \le m_n$.

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

    Statement uses: Nat

    Proof uses: Finset.card, Finset.filter, LE.le, Finset.range, HAdd.hAdd, OfNat.ofNat

    5 instances, coercions and auxiliary constants left out.

    def countingFn (m : ℕ → ℕ) (N : ℕ) : ℕ :=
    …
  5. theorem Bugeaud06.exists_dense_of_growth sorry line 122 source

    depends on sorry what this means

    Statement uses: Nat, Exists, And, StrictMono, LE.le, Real, Irrational, Dense, HasQuotient.Quotient, AddSubgroup, AddSubgroup.zmultiples, OfNat.ofNat, Set.range, HMul.hMul

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

    33 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

  6. theorem Bugeaud06.exists_dense_of_growth_and_sparsity sorry line 136 source

    depends on sorry what this means

    Statement uses: Nat, Exists, And, StrictMono, LE.le, Filter.Eventually, Real, Bugeaud06.countingFn, HPow.hPow, Real.log, OfNat.ofNat, Filter.atTop, Irrational, Dense, HasQuotient.Quotient, AddSubgroup, AddSubgroup.zmultiples, Set.range, HMul.hMul

    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. def Bugeaud06.mSeq The sequence defined by $m_0 = 2$ and $m_{n+1} = \lceil m_n (1 + 1/\log n) \rceil$ line 146 source

    Source documentation

    The sequence defined by $m_0 = 2$ and $m_{n+1} = \lceil m_n (1 + 1/\log n) \rceil$.

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

    Statement uses: Nat

    2 instances, coercions and auxiliary constants left out.

    noncomputable def mSeq : ℕ → ℕ
      | 0 => 2
      | (n + 1) => ⌈(mSeq n : ℝ) * (1 + 1 / Real.log n)⌉₊
    
    /-- The sequence $m$ eventually grows at least geometrically with a logarithmic correction. -/
  8. def Bugeaud06.IsGenuinelySublacunary The sequence $m$ eventually grows at least geometrically with a logarithmic correction line 151 source

    Source documentation

    The sequence $m$ eventually grows at least geometrically with a logarithmic correction.

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

    Statement uses: Nat

    Proof uses: Exists, Real, And, GT.gt, OfNat.ofNat, Filter.Eventually, LE.le, HAdd.hAdd, HDiv.hDiv, Real.log, Filter.atTop

    16 instances, coercions and auxiliary constants left out.

    def IsGenuinelySublacunary (m : ℕ → ℕ) : Prop :=
    …
  9. lemma Bugeaud06.example_isGenuineSublacunary Documented declaration: example_isGenuineSublacunary line 158 source

    Source documentation

    The sequence mSeq, given by $m_{n+1} = \lceil m_n (1 + 1/\log n) \rceil$, is genuinely sublacunary: taking $c = 1$, we have $m_{n+1}/m_n \ge 1 + 1/\log n$ because $\lceil m_n (1 + 1/\log n) \rceil \ge m_n (1 + 1/\log n)$.

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

    Statement uses: Bugeaud06.IsGenuinelySublacunary, Bugeaud06.mSeq

    Proof uses: Nat, LT.lt, OfNat.ofNat, Nat.recAux, of_eq_true, Eq.trans, LE.le, True, Eq.mpr, HAdd.hAdd, Real, HMul.hMul, HDiv.hDiv, Real.log, id, Eq, mul_pos, cast, Eq.symm, congrFun' and 23 more

    89 instances, coercions and auxiliary constants left out.

    Tactic trace: 13 steps

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

    lemma example_isGenuineSublacunary : IsGenuinelySublacunary mSeq := by
    …

    Mentions: Bugeaud06.IsGenuinelySublacunary, Bugeaud06.mSeq

  10. theorem Bugeaud06.isGenuinelySublacunary_of_isLacunary A ratio floor is weaker than lacunarity: a lacunary sequence has ratios bounded below by a constant $> 1$, which dominates $1 + c/\log n$ line 176 source

    Source documentation

    A ratio floor is weaker than lacunarity: a lacunary sequence has ratios bounded below by a constant $> 1$, which dominates $1 + c/\log n$. So IsGenuinelySublacunary is a floor under the ratios, not a denial of lacunarity.

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

    Statement uses: Nat, LT.lt, OfNat.ofNat, IsLacunary, Bugeaud06.IsGenuinelySublacunary

    Proof uses: Real, And, GT.gt, Filter.Eventually, HMul.hMul, HAdd.hAdd, Filter.atTop, Exists.intro, LE.le, HDiv.hDiv, Real.log, HSub.hSub, And.intro, lt_of_not_ge, Mathlib.Tactic.Linarith.lt_irrefl, Eq.mp, congrArg, Mathlib.Tactic.Ring.of_eq, Mathlib.Tactic.Ring.Common.add_congr, Nat.rawCast and 120 more

    145 instances, coercions and auxiliary constants left out.

    Tactic trace: 15 steps

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

    theorem isGenuinelySublacunary_of_isLacunary {m : ℕ → ℕ} (hpos : ∀ n, 0 < m n)
        (h : IsLacunary m) : IsGenuinelySublacunary m := by
    …

    Mentions: IsLacunary, Bugeaud06.IsGenuinelySublacunary

  11. def Bugeaud06.HasIntermediateGrowth The sequence $m$ eventually grows at least as fast as $\exp(n^{\alpha})$, i.e., super-exponential growth when $\alpha > 1$, and stretched-exponential when $0 < \alpha < 1$ line 191 source

    Source documentation

    The sequence $m$ eventually grows at least as fast as $\exp(n^{\alpha})$, i.e., super-exponential growth when $\alpha > 1$, and stretched-exponential when $0 < \alpha < 1$.

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

    Statement uses: Real, Nat

    Proof uses: Filter.Eventually, LE.le, Real.exp, HPow.hPow, Filter.atTop

    6 instances, coercions and auxiliary constants left out.

    def HasIntermediateGrowth (α : ℝ) (m : ℕ → ℕ) : Prop :=
    …
  12. theorem Bugeaud06.hasIntermediateGrowth_of_isGenuinelySublacunary sorry line 199 source

    depends on sorry what this means

    Statement uses: Nat, Bugeaud06.IsGenuinelySublacunary, Real, LT.lt, OfNat.ofNat, Bugeaud06.HasIntermediateGrowth

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

    11 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

  13. lemma Bugeaud06.example_hasIntermediateGrowth mSeq has intermediate (subexponential but super-polynomial) growth: for every 0 < α < 1 its terms eventually dominate $\exp(n^\alpha)$ line 209 source

    Source documentation

    mSeq has intermediate (subexponential but super-polynomial) growth: for every 0 < α < 1 its terms eventually dominate $\exp(n^\alpha)$. This is the ratio floor of example_isGenuineSublacunary fed into hasIntermediateGrowth_of_isGenuinelySublacunary.

    depends on sorry what this means

    Statement uses: Real, LT.lt, OfNat.ofNat, Bugeaud06.HasIntermediateGrowth, Bugeaud06.mSeq

    Proof uses: Bugeaud06.hasIntermediateGrowth_of_isGenuinelySublacunary, Bugeaud06.example_isGenuineSublacunary

    10 instances, coercions and auxiliary constants left out.

    lemma example_hasIntermediateGrowth (α : ℝ) (hα₀ : 0 < α) (hα₁ : α < 1) :
        HasIntermediateGrowth α mSeq :=
    …

    Mentions: Bugeaud06.HasIntermediateGrowth, Bugeaud06.mSeq

  14. theorem Bugeaud06.not_isLacunary_of_dense A sequence that is dense modulo one for every irrational line 220 source

    Source documentation

    A sequence that is dense modulo one for every irrational $\xi$ cannot be lacunary: its exceptional set is contained in $\mathbb{Q}$, hence countable and of Hausdorff dimension zero, whereas pollington_de_mathan gives dimension one for a lacunary sequence. So an answer to Problem 10.6 under the ratio reading is pinched: the ratios must return to $1$ along a subsequence, and yet stay above $1 + c/\log n$ eventually. The two are compatible only because $c/\log n \to 0$.

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

    Statement uses: Nat, LT.lt, OfNat.ofNat, IsLacunary, Eq, ENNReal, dimH, Real, Set.ofPred, Not, Dense, HasQuotient.Quotient, AddSubgroup, AddSubgroup.zmultiples, Set.range, HMul.hMul, Irrational

    Proof uses: Set.Countable, Set.Countable.mono, Rat, Membership.mem, Set, Classical.byContradiction, Set.countable_range, zero_ne_one, Eq.rec, Set.Countable.dimH_zero

    49 instances, coercions and auxiliary constants left out.

    Tactic trace: 5 steps

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

    theorem not_isLacunary_of_dense (h : type_of% pollington_de_mathan) {m : ℕ → ℕ}
        (hpos : ∀ n, 0 < m n)
        (hdense : ∀ ξ : ℝ, Irrational ξ →
          Dense (Set.range fun n => (↑(ξ * m n) : AddCircle (1 : ℝ)))) :
        ¬ IsLacunary m := by
    …

    Mentions: Bugeaud06.pollington_de_mathan, IsLacunary

  15. theorem Bugeaud06.problem_10_6_variant_1 Problem 10.6 sorry line 248 source

    Source documentation

    Problem 10.6. Find a very rapidly increasing sequence $(m_n)_{n \ge 1}$ of positive integers such that $(\{\xi m_n\})_{n \ge 1}$ is dense modulo one for every irrational number $\xi$. Note: Furstenberg's $2^m3^n$ is sublacunary but requires two parameters.

    This is the reading of "very rapidly increasing" as a lower bound on the consecutive ratios, and it is the one that remains open. It is not answered by runs of consecutive integers, since inside a run $m_{n+1} - m_n = 1$; and by not_isLacunary_of_dense any answer is pinched between a decaying ratio floor and the failure of lacunarity. [Kat16, Cor. 4.9] gives a universally densifying sequence of the multiplicative shape $\{2^n 3^e\}$, for which the ratio condition reduces to a Diophantine statement about the differences of the exponents $e$ times $\log_2 3$ modulo one.

    depends on sorry what this means

    Statement uses: Exists, Nat, And, StrictMono, Bugeaud06.IsGenuinelySublacunary, Real, Irrational, Dense, HasQuotient.Quotient, AddSubgroup, AddSubgroup.zmultiples, OfNat.ofNat, Set.range, HMul.hMul

    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 problem_10_6_variant_1 :
        ∃ m : ℕ → ℕ,
        StrictMono m ∧
        IsGenuinelySublacunary m ∧
        ∀ ξ : ℝ, Irrational ξ →
          Dense (Set.range fun n => (↑(ξ * m n) : AddCircle (1 : ℝ))) := by
    …

    Mentions: Bugeaud06.IsGenuinelySublacunary

  16. theorem Bugeaud06.problem_10_6_variant_2 Problem 10.6, intermediate-growth variant line 266 source

    Source documentation

    Problem 10.6, intermediate-growth variant. This asks only for a lower bound on the size of the terms, and under that reading the problem is not open: runs of consecutive integers answer it, by exists_dense_of_growth applied to $f(n) = \lceil e^n \rceil$. The witness below is exhibited at $\alpha = 1/2$; the same sequence works for every $\alpha < 1$, since $\exp(n^\alpha) \le \exp(n) \le f(n)$ there.

    The result is not new: [Bos83, Thm. 1.5] gives a sequence of any prescribed subexponential growth that is uniformly distributed — not merely dense — modulo one for every irrational dilate.

    depends on sorry what this means

    Statement uses: Exists, Nat, And, StrictMono, Real, LT.lt, OfNat.ofNat, Bugeaud06.HasIntermediateGrowth, Irrational, Dense, HasQuotient.Quotient, AddSubgroup, AddSubgroup.zmultiples, Set.range, HMul.hMul

    Proof uses: LE.le, Nat.ceil, Real.exp, Bugeaud06.exists_dense_of_growth, Exists.intro, And.intro, HDiv.hDiv, Mathlib.Meta.NormNum.isNNRat_lt_true, Mathlib.Meta.NormNum.IsNat.to_isNNRat, Mathlib.Meta.NormNum.isNat_ofNat, Nat.cast_zero, Mathlib.Meta.NormNum.isNNRat_div, Mathlib.Meta.NormNum.isNNRat_mul, Inv.inv, Eq.refl, Nat.cast_one, Mathlib.Meta.NormNum.isNNRat_inv_pos, Mathlib.Meta.NormNum.instAtLeastTwo, Nat.mul, Bool and 26 more

    86 instances, coercions and auxiliary constants left out.

    Tactic trace: 11 steps

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

    theorem problem_10_6_variant_2 :
        ∃ m : ℕ → ℕ,
        StrictMono m ∧
        (∃ α : ℝ, 0 < α ∧ α < 1 ∧ HasIntermediateGrowth α m) ∧
        ∀ ξ : ℝ, Irrational ξ →
          Dense (Set.range fun n => (↑(ξ * m n) : AddCircle (1 : ℝ))) := by
    …

    Mentions: Bugeaud06.HasIntermediateGrowth