FormalConjectures/Books/UniformDistributionOfSequences/Equidistribution.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
8 declarations, 4 contain sorry, 0 declared as axioms
Equidistributed Sequences
Corollary 4.2 of Chapter 1 states that the sequence $(x^n), n = 1, 2, ... ,$ is equidistributed modulo 1 for almost all x > 1. And a little bit further down: "one does not know whether sequences such as $(e^n)$, $(π^n)$, or even $((\frac 3 2)^n)$" are equidistributed modulo 1 or not.
References:
- Uniform Distribution of Sequences by L. Kuipers and H. Niederreiter, 1974
- Wikipedia
- [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)
Imported by 1 file
- def
Equidistribution.IsAccumulationPointA pointxis an accumulation point of a sequences_0, s_1, ...if any neighbourhood ofxcontains a point of the sequence distinct fromxline 48 sourceSource documentation
A point
xis an accumulation point of a sequences_0, s_1, ...if any neighbourhood ofxcontains a point of the sequence distinct fromx.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Real,NatProof uses:
Membership.mem,Set,closure,SDiff.sdiff,Set.range,Singleton.singleton6 instances, coercions and auxiliary constants left out.
def IsAccumulationPoint (x : ℝ) (s : ℕ → ℝ) : Prop := …
- theorem
Equidistribution.isAccumulationPoint_exists_subsequence_tendstoIf a pointxis an accumulation point of a sequences_0, s_1, ...then there is a subsequence ofsthat tends toxline 56 sourceSource documentation
If a point
xis an accumulation point of a sequences_0, s_1, ...then there is a subsequence ofsthat tends toxstandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Real,Nat, Equidistribution.IsAccumulationPoint,Exists,And,StrictMono,Filter.Tendsto,Function.comp,Filter.atTop,nhdsProof uses:
MapClusterPt.tendsto_subseq,Iff.mpr,MapClusterPt,Set,Membership.mem,Filter,Filter.Frequently,mapClusterPt_iff_frequently,Eq.mpr,LE.le,id,Eq,congrArg,propext,Filter.frequently_atTop,Classical.byContradiction,Not,Inter.inter,Set.iInter,Finsetand 34 more44 instances, coercions and auxiliary constants left out.
Tactic trace: 19 steps
Open to load the checked before-and-after goal states.
theorem isAccumulationPoint_exists_subsequence_tendsto (x : ℝ) (s : ℕ → ℝ) (hx : IsAccumulationPoint x s) : ∃ (u : ℕ → ℕ), StrictMono u ∧ Filter.atTop.Tendsto (s ∘ u) (𝓝 x) := by …Mentions: Equidistribution.IsAccumulationPoint
- theorem
Equidistribution.isEquidistributedModuloOne_three_halves_powThe sequence(3/2)^nis equidistributed modulo1sorry line 81 sourceSource documentation
The sequence
(3/2)^nis equidistributed modulo1.depends on sorry what this means
Statement uses: IsEquidistributedModuloOne,
Nat,HPow.hPow,Real,HDiv.hDiv,OfNat.ofNatProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous24 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem isEquidistributedModuloOne_three_halves_pow : IsEquidistributedModuloOne (fun n => (3 / 2 : ℝ)^n) := by …Mentions: IsEquidistributedModuloOne
- theorem
Equidistribution.isEquidistributedModuloOne_transcendental_three_halves_powIt is not true that for every transcendental numberxthe sequencex * (3 / 2) ^ nis equidistributed modulo1sorry line 95 sourceSource documentation
It is not true that for every transcendental number
xthe sequencex * (3 / 2) ^ nis equidistributed modulo1. The sequence(3 / 2) ^ nis lacunary, so by the theorem of Pollington [Pol79] and de Mathan [Mat80] the set of real numbersxfor whichx * (3 / 2) ^ nis not even dense modulo1has Hausdorff dimension1. This set is uncountable, so it contains transcendental numbers. Alternatively, an elementary nested-interval construction (see issue #5003) gives a Cantor set ofxwithInt.fract (x * (3 / 2) ^ (8 * j)) ∈ [0, 1 / 10]for allj, which already rules out equidistribution for uncountably many, hence some transcendental,x. By Koksma's metric theorem (Kuipers–Niederreiter, Chapter 1, Section 4), the sequencex * (3 / 2) ^ nis equidistributed modulo1for almost allx.depends on sorry what this means
Statement uses:
Not,Real,Transcendental,Rat, IsEquidistributedModuloOne,Nat,HMul.hMul,HPow.hPow,HDiv.hDiv,OfNat.ofNatProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous50 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem isEquidistributedModuloOne_transcendental_three_halves_pow : ¬ ∀ x : ℝ, Transcendental ℚ x → IsEquidistributedModuloOne (fun n ↦ x * (3 / 2 : ℝ) ^ n) := by …Mentions: IsEquidistributedModuloOne
- theorem
Equidistribution.isAccumulationPoint_three_halves_pow_infiniteThe sequence(3/2)^nhas infinitely many accumulation points modulo1sorry line 104 sourceSource documentation
The sequence
(3/2)^nhas infinitely many accumulation points modulo1.depends on sorry what this means
Statement uses:
Set.Infinite,Real,Set.ofPred, Equidistribution.IsAccumulationPoint,Nat,Int.fract,HPow.hPow,HDiv.hDiv,OfNat.ofNatProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous30 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem isAccumulationPoint_three_halves_pow_infinite : {x | IsAccumulationPoint x (fun n => Int.fract <| (3 / 2 : ℝ)^n)}.Infinite := by …Mentions: Equidistribution.IsAccumulationPoint
- theorem
Equidistribution.isAccumulationPoint_three_halves_powFind an accumulation point of the sequence(3/2)^nmodulo1sorry line 112 sourceSource documentation
Find an accumulation point of the sequence
(3/2)^nmodulo1.depends on sorry what this means
Statement uses: Equidistribution.IsAccumulationPoint,
sorryAx,Real,Bool.false,Nat,Int.fract,HPow.hPow,HDiv.hDiv,OfNat.ofNatProof uses:
Lean.Name,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous30 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem isAccumulationPoint_three_halves_pow : IsAccumulationPoint answer(sorry) (fun n => Int.fract <| (3 / 2 : ℝ)^n) := by …Mentions: Equidistribution.IsAccumulationPoint
- theorem
Equidistribution.fract_three_halves_pow_injectiveThe values of(3/2)^nmodulo1are pairwise distinct: if(3/2)^n - (3/2)^mwere an integer form < n, then3^n - 3^m * 2^(n - m)would be even line 119 sourceSource documentation
The values of
(3/2)^nmodulo1are pairwise distinct: if(3/2)^n - (3/2)^mwere an integer form < n, then3^n - 3^m * 2^(n - m)would be even.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Function.Injective,Nat,Real,Int.fract,HPow.hPow,HDiv.hDiv,OfNat.ofNatProof uses:
Eq,Decidable.byContradiction,Not,LT.lt,Or,False,Classical.em,Int,HSub.hSub,Exists,Iff.mp,Int.fract_eq_fract,Ne,ne_of_gt,pow_pos,Mathlib.Meta.Positivity.pos_of_isNat,Mathlib.Meta.NormNum.isNat_ofNat,Eq.refl,Mathlib.Meta.NormNum.instAtLeastTwo,Booland 36 more145 instances, coercions and auxiliary constants left out.
Tactic trace: 25 steps
Open to load the checked before-and-after goal states.
theorem fract_three_halves_pow_injective : Function.Injective fun n : ℕ => Int.fract ((3 / 2 : ℝ) ^ n) := by … - theorem
Equidistribution.isAccumulationPoint_three_halves_pow_existsThere is an accumulation point of the sequence(3/2)^nmodulo1: its values are pairwise distinct and lie in[0, 1], so they have an accumulation point by compactness line 148 sourceSource documentation
There is an accumulation point of the sequence
(3/2)^nmodulo1: its values are pairwise distinct and lie in[0, 1], so they have an accumulation point by compactness.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Exists,Real, Equidistribution.IsAccumulationPoint,Nat,Int.fract,HPow.hPow,HDiv.hDiv,OfNat.ofNatProof uses:
Set.Infinite,Set.range,Set.infinite_range_of_injective, Equidistribution.fract_three_halves_pow_injective,LE.le,Set,Set.Icc,Membership.mem,Eq,And.intro,Int.fract_nonneg,LT.lt.le,Int.fract_lt_one,And,AccPt,Filter.principal,Set.Infinite.exists_accPt_of_subset_isCompact,CompactIccSpace.isCompact_Icc,Exists.intro,Iff.mprand 7 more63 instances, coercions and auxiliary constants left out.
Tactic trace: 6 steps
Open to load the checked before-and-after goal states.
theorem isAccumulationPoint_three_halves_pow_exists : ∃ p, (IsAccumulationPoint p (fun n => Int.fract <| (3 / 2 : ℝ)^n)) := by …Mentions: Equidistribution.IsAccumulationPoint