FormalConjectures/Books/BugeaudDistributionModuloOne/Problem10_6.lean
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:
- a lower bound on the size of the terms, $m_n \ge f(n)$;
- an upper bound on the counting function of $\{m_n\}$;
- a lower bound on the consecutive ratios, $m_{n+1}/m_n \ge 1 + c/\log n$.
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:
- [Bos83] Boshernitzan, Michael D. "Homogeneously distributed sequences and Poincaré sequences of integers of sublacunary growth." Monatshefte für Mathematik 96.3 (1983): 173-181.
- [Bos94] Boshernitzan, Michael D. "Density modulo 1 of dilations of sublacunary sequences." Advances in Mathematics 108.1 (1994): 104-117.
- [Bug12] Bugeaud, Yann. "Distribution modulo one and Diophantine approximation." Vol. 193. Cambridge University Press, 2012. Chapter 10.
- [Fur67] Furstenberg, H. "Disjointness in ergodic theory, minimal sets, and a problem in diophantine approximation". Math. Systems Theory 1, 1–49 (1967).
- [Kat16] Katz, Asaf. "Generalizations of Furstenberg's Diophantine result." arXiv:1607.00670 (2016).
- [Mat80] de Mathan, Bernard. "Numbers contravening a condition in density modulo 1." Acta Mathematica Hungarica 36.3-4 (1980): 237-241.
- [Pol79] Pollington, Andrew Douglas. "On the density of sequence $\{n_ {k}\xi\} $." Illinois Journal of Mathematics 23.4 (1979): 511-515.
Imports (1)
- theorem
Bugeaud06.pollington_de_mathanThe Pollington–de Mathan theorem [Pol79][Mat80] sorry line 81 sourceSource 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.hMulProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous38 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
- theorem
Bugeaud06.furstenberg_two_threeFurstenberg's theorem [Fur67] (the $\times 2, \times 3$ case) sorry line 89 sourceSource 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.hPowProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous40 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 … - theorem
Bugeaud06.boshernitzanBoshernitzan's theorem [Bos94] sorry line 98 sourceSource 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.zmultiplesand 1 moreProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous52 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 … - def
Bugeaud06.countingFnThe counting function $\pi_A(N) = \#(A \cap [0, N])$ of the range $A$ ofmline 107 sourceSource documentation
The counting function $\pi_A(N) = \#(A \cap [0, N])$ of the range $A$ of
m. The outerFinset.range (N + 1)is harmless for a strictly increasingm, since then $n \le m_n$.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NatProof uses:
Finset.card,Finset.filter,LE.le,Finset.range,HAdd.hAdd,OfNat.ofNat5 instances, coercions and auxiliary constants left out.
def countingFn (m : ℕ → ℕ) (N : ℕ) : ℕ := …
- theorem
Bugeaud06.exists_dense_of_growthsorry line 122 sourcedepends 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.hMulProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous33 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- theorem
Bugeaud06.exists_dense_of_growth_and_sparsitysorry line 136 sourcedepends 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.hMulProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous44 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- def
Bugeaud06.mSeqThe sequence defined by $m_0 = 2$ and $m_{n+1} = \lceil m_n (1 + 1/\log n) \rceil$ line 146 sourceSource 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:
Nat2 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. -/
- def
Bugeaud06.IsGenuinelySublacunaryThe sequence $m$ eventually grows at least geometrically with a logarithmic correction line 151 sourceSource 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:
NatProof uses:
Exists,Real,And,GT.gt,OfNat.ofNat,Filter.Eventually,LE.le,HAdd.hAdd,HDiv.hDiv,Real.log,Filter.atTop16 instances, coercions and auxiliary constants left out.
def IsGenuinelySublacunary (m : ℕ → ℕ) : Prop := …
- lemma
Bugeaud06.example_isGenuineSublacunaryDocumented declaration: example_isGenuineSublacunary line 158 sourceSource 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 more89 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
- theorem
Bugeaud06.isGenuinelySublacunary_of_isLacunaryA 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 sourceSource 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
IsGenuinelySublacunaryis 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.IsGenuinelySublacunaryProof 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.rawCastand 120 more145 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
- def
Bugeaud06.HasIntermediateGrowthThe 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 sourceSource 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,NatProof uses:
Filter.Eventually,LE.le,Real.exp,HPow.hPow,Filter.atTop6 instances, coercions and auxiliary constants left out.
def HasIntermediateGrowth (α : ℝ) (m : ℕ → ℕ) : Prop := …
- theorem
Bugeaud06.hasIntermediateGrowth_of_isGenuinelySublacunarysorry line 199 sourcedepends on sorry what this means
Statement uses:
Nat, Bugeaud06.IsGenuinelySublacunary,Real,LT.lt,OfNat.ofNat, Bugeaud06.HasIntermediateGrowthProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous11 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
Bugeaud06.example_hasIntermediateGrowthmSeqhas intermediate (subexponential but super-polynomial) growth: for every0 < α < 1its terms eventually dominate $\exp(n^\alpha)$ line 209 sourceSource documentation
mSeqhas intermediate (subexponential but super-polynomial) growth: for every0 < α < 1its terms eventually dominate $\exp(n^\alpha)$. This is the ratio floor ofexample_isGenuineSublacunaryfed intohasIntermediateGrowth_of_isGenuinelySublacunary.depends on sorry what this means
Statement uses:
Real,LT.lt,OfNat.ofNat, Bugeaud06.HasIntermediateGrowth, Bugeaud06.mSeqProof 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
- theorem
Bugeaud06.not_isLacunary_of_denseA sequence that is dense modulo one for every irrational line 220 sourceSource 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_mathangives 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,IrrationalProof uses:
Set.Countable,Set.Countable.mono,Rat,Membership.mem,Set,Classical.byContradiction,Set.countable_range,zero_ne_one,Eq.rec,Set.Countable.dimH_zero49 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
- theorem
Bugeaud06.problem_10_6_variant_1Problem 10.6 sorry line 248 sourceSource 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_denseany 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.hMulProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous31 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
- theorem
Bugeaud06.problem_10_6_variant_2Problem 10.6, intermediate-growth variant line 266 sourceSource 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_growthapplied 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.hMulProof 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,Booland 26 more86 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