Skip to content

Commit 8252b68

Browse files
committed
Update lattice2d.lean
1 parent 1f9c34f commit 8252b68

File tree

1 file changed

+19
-19
lines changed

1 file changed

+19
-19
lines changed

lattice/lattice2d.lean

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,19 @@ import Mathlib
22

33
open Polynomial Classical Filter
44

5+
abbrev R2 : Type := EuclideanSpace ℝ (Fin 2)
6+
57
variable (d : ℕ)
6-
variable (a : EuclideanSpace ℝ (Fin 2)→ ℝ)
8+
variable (a : R2→ ℝ)
79
variable (δ : ℝ) (hδ : δ > 0)
810
variable (c_δ : ℝ) (hc_δ : c_δ > 0)
911
variable {K : ℝ}
1012
variable (M₀ : ℝ) (hM₀ : M₀ > 1)
11-
noncomputable def b (a : EuclideanSpace ℝ (Fin 2)→ ℝ) (δ : ℝ) : (EuclideanSpace ℝ (Fin 2)) → ℝ
13+
noncomputable def b (a : R2→ ℝ) (δ : ℝ) : (R2) → ℝ
1214
:= fun x ↦ Real.exp ((2 + δ) * Real.log (1 + ‖x‖)) * a x
1315

1416
-- -- the orthonormal basis on R^d
15-
-- noncomputable def R2Basis {d : ℕ} := stdOrthonormalBasis ℝ (EuclideanSpace ℝ (Fin 2))
17+
-- noncomputable def R2Basis {d : ℕ} := stdOrthonormalBasis ℝ (R2)
1618
-- the orthonormal basis on R^2.
1719
-- no implicit variable d
1820
noncomputable def R2Basis := EuclideanSpace.basisFun (Fin 2) ℝ
@@ -39,7 +41,6 @@ noncomputable def Z2 := Submodule.span ℤ (Set.range (R2Basis))
3941
noncomputable def Z2' := Submodule.span ℤ (Set.range (Z2Basis))
4042
noncomputable def Z2'' := AddSubgroup.closure (Set.range (R2Basis))
4143

42-
abbrev R2 : Type := (EuclideanSpace ℝ (Fin 2))
4344
variable (w : R2) (h : w ∈ Z2)
4445

4546

@@ -149,29 +150,29 @@ open MeasureTheory.Measure
149150
open InnerProductSpace.Core
150151

151152
-- -- the counting measure on the lattice Z^d
152-
-- noncomputable def countZ2 : Measure (EuclideanSpace ℝ (Fin 2)) :=
153+
-- noncomputable def countZ2 : Measure (R2) :=
153154
-- sum (fun x ↦ if x ∈ Z2 then dirac x else 0)
154155

155156
-- the counting measure on the lattice Z^2
156-
noncomputable def countZ2 : MeasureTheory.Measure (EuclideanSpace ℝ (Fin 2)) :=
157+
noncomputable def countZ2 : MeasureTheory.Measure (R2) :=
157158
sum (fun x ↦ if x ∈ Z2 then dirac x else 0)
158159

159160
-- -- n-times convolution with itself
160-
-- noncomputable def convolution_self : ℕ → ((EuclideanSpace ℝ (Fin 2) → ℝ) → (EuclideanSpace ℝ (Fin 2) → ℝ))
161+
-- noncomputable def convolution_self : ℕ → ((R2 → ℝ) → (R2 → ℝ))
161162
-- | 0 => fun f ↦ (fun x ↦ 1)
162163
-- | n + 1 => fun f ↦ (convolution f ((convolution_self n) f) (ContinuousLinearMap.lsmul ℝ ℝ) (countZ2 d))
163164

164165
-- n-times convolution with itself on Z2
165-
noncomputable def convolution_self2 : ℕ → ((EuclideanSpace ℝ (Fin 2) → ℝ) → (EuclideanSpace ℝ (Fin 2) → ℝ))
166+
noncomputable def convolution_self2 : ℕ → ((R2 → ℝ) → (R2 → ℝ))
166167
| 0 => fun f ↦ (fun x ↦ 1)
167168
| n + 1 => fun f ↦ (convolution f ((convolution_self2 n) f) (ContinuousLinearMap.lsmul ℝ ℝ) countZ2)
168169

169170

170-
variable (P1 : ∀ (x : EuclideanSpace ℝ (Fin 2)), a x > 0)
171-
variable (P2 : ∀ (x : EuclideanSpace ℝ (Fin 2)), a x ≤ c_δ * Real.exp (-2 * (2 + δ) * Real.log (1 + ‖x‖)))
172-
variable (P3 : ∀ (x y : EuclideanSpace ℝ (Fin 2)) (hP3 : ‖y‖ ≤ 2 * NNReal.sqrt 2), b a δ (x + y) / b a δ x ≤ K)
173-
variable (P4 : ∃ (c ε : ℝ) (hP4 : ε > 0), ∀ (n : ℕ) (x : EuclideanSpace ℝ (Fin 2)), (convolution_self2 n) (b a δ) (x) ≤ c^n * (b a δ (ε • x)))
174-
variable (P5 : ∀ (x x' : EuclideanSpace ℝ (Fin 2)) (hP5 : M₀ ≤ ‖x‖ ∧ ‖x‖ ≤ ‖x'‖), b a δ x ≥ b a δ x')
171+
variable (P1 : ∀ (x : R2), a x > 0)
172+
variable (P2 : ∀ (x : R2), a x ≤ c_δ * Real.exp (-2 * (2 + δ) * Real.log (1 + ‖x‖)))
173+
variable (P3 : ∀ (x y : R2) (hP3 : ‖y‖ ≤ 2 * NNReal.sqrt 2), b a δ (x + y) / b a δ x ≤ K)
174+
variable (P4 : ∃ (c ε : ℝ) (hP4 : ε > 0), ∀ (n : ℕ) (x : R2), (convolution_self2 n) (b a δ) (x) ≤ c^n * (b a δ (ε • x)))
175+
variable (P5 : ∀ (x x' : R2) (hP5 : M₀ ≤ ‖x‖ ∧ ‖x‖ ≤ ‖x'‖), b a δ x ≥ b a δ x')
175176

176177

177178
lemma A2_1 : ∀ (p : ℝ[X]), ∃ (N : ℝ), ∀ (x : ℝ), x ≥ N → |p.eval x| < Real.exp x := by
@@ -258,9 +259,9 @@ lemma IsFiniteBoundedSetIntegers : ∀ (M : ℝ) (hM : 1 ≤ M), Set.Finite {n :
258259

259260

260261

261-
-- lemma A2_2 : ∀ (M : ℝ) (hM : 1 ≤ M), Set.Finite {x : EuclideanSpace ℝ (Fin 2)| x ∈ Z2 ∧ ‖x‖ ≤ M} := by
262+
-- lemma A2_2 : ∀ (M : ℝ) (hM : 1 ≤ M), Set.Finite {x : R2| x ∈ Z2 ∧ ‖x‖ ≤ M} := by
262263
-- intro M hM
263-
-- have hxleMi : {x : EuclideanSpace ℝ (Fin 2)| x ∈ Z2 ∧ ‖x‖ ≤ M} ⊆ {x : EuclideanSpace ℝ (Fin 2)| x ∈ Z2 ∧ ∀ (ι : (Fin 2)), |x ι| ≤ M} := by
264+
-- have hxleMi : {x : R2| x ∈ Z2 ∧ ‖x‖ ≤ M} ⊆ {x : R2| x ∈ Z2 ∧ ∀ (ι : (Fin 2)), |x ι| ≤ M} := by
264265
-- -- this is a subset of all x with |x_i| < M
265266
-- simp
266267
-- intro x hxZ2 hx_M
@@ -278,7 +279,7 @@ lemma IsFiniteBoundedSetIntegers : ∀ (M : ℝ) (hM : 1 ≤ M), Set.Finite {n :
278279
-- exact Finset.single_le_sum hnorm2 (Finset.mem_univ ι)
279280
-- exact le_trans this hx_M
280281

281-
-- have hleMifin : Set.Finite {x : EuclideanSpace ℝ (Fin 2)| x ∈ Z2 ∧ ∀ (ι : (Fin 2)), |x ι| ≤ M} := by
282+
-- have hleMifin : Set.Finite {x : R2| x ∈ Z2 ∧ ∀ (ι : (Fin 2)), |x ι| ≤ M} := by
282283
-- -- the latter is a finite set : M^d
283284
-- simp
284285

@@ -334,9 +335,9 @@ lemma A2_2 (M : ℝ) (hM : M > 0) : Set.Finite {x ∈ Z2 | ‖x‖ ≤ M} := by
334335
· exact hxiconvpi
335336
intro i
336337
exact hpint i
337-
have BallDef : {x : (EuclideanSpace ℝ (Fin 2))| dist x 0 ≤ M} = {x : (EuclideanSpace ℝ (Fin 2))| ‖x‖ ≤ M} := by
338+
have BallDef : {x : (R2)| dist x 0 ≤ M} = {x : (R2)| ‖x‖ ≤ M} := by
338339
simp
339-
have BallClosed : IsClosed {x : (EuclideanSpace ℝ (Fin 2))| ‖x‖ ≤ M} := by
340+
have BallClosed : IsClosed {x : (R2)| ‖x‖ ≤ M} := by
340341
rw [← BallDef]
341342
exact Metric.isClosed_ball
342343
exact IsClosed.inter Z2Closed BallClosed
@@ -474,7 +475,6 @@ lemma A2 : ∃ (M' : ℝ), ∀ (x : R2), x ∈ Z2 → (b a δ (M' • x) ≤ b a
474475
let S' := {x : R2 | x ∈ Z2 ∧ ‖x‖ ≤ M₀}
475476
have hSS' : S ⊆ S' := by
476477
intro x hx
477-
simp
478478
exact And.intro hx.1 hx.2.1
479479
let hS' := A2_2 M₀ (lt_trans zero_lt_one hM₀)
480480
let hS := Set.Finite.subset hS' hSS'

0 commit comments

Comments
 (0)