Paper XI · Lean source
PeriodicLatticeReduction60.lean
Selected results recorded Coverage and evidence
Compiler/replay evidence is reported for a subset or bounded block. No whole-work coverage is implied.
This viewer reads the retained source; it does not run Lean or assign new claim mappings.
Local imports (1)
PaperXI/PeriodicLatticeReduction60.lean86 lines
Original source path
formalization/PaperXI/PeriodicLatticeReduction60.leanSkip declarations and read code
1 import PaperXI.ActualELatticeNormalizer59
2 import Mathlib.Algebra.Ring.Periodic
3
4 /-!
5 # Finite reduction of the literal lattice-chain conditions
6
7 A positive period given by a base-field scalar reduces the entire integer
8 chain to finitely many levels for every base-field linear automorphism.
9 -/
10 set_option autoImplicit false
11 noncomputable section
12 namespace PaperXI.PeriodicLatticeReduction60
13 open ActualELatticeNormalizer59
14 variable {K V : Type*} [Field K] [AddCommGroup V] [Module K V]
15
16 /-- The exact preservation and adjacent-congruence test at one chain level. -/
17 def levelCondition (L : ℤ → AddSubgroup V) (g : V ≃ₗ[K] V) (i : ℤ) : Prop :=
18 (∀ v, g v ∈ L i ↔ v ∈ L i) ∧ (∀ v ∈ L i, g v - v ∈ L (i + 1))
19
20 /-- Multiplication by a base-field unit transfers each one-level condition. -/
21 theorem levelCondition_shift (L : ℤ → AddSubgroup V) (c : Kˣ) (r : ℤ)
22 (hperiod : ∀ i v, (c : K) • v ∈ L (i + r) ↔ v ∈ L i)
23 (g : V ≃ₗ[K] V) (i : ℤ) :
24 levelCondition L g (i + r) ↔ levelCondition L g i := by
25 have hmap (v : V) : g ((c : K) • v) = (c : K) • g v := g.map_smul _ _
26 have hdiff (v : V) : g ((c : K) • v) - (c : K) • v = (c : K) • (g v - v) := by
27 rw [hmap, smul_sub]
28 constructor
29 · rintro ⟨hg, hd⟩
30 constructor
31 · intro v
32 have h := hg ((c : K) • v)
33 rwa [hmap, hperiod, hperiod] at h
34 · intro v hv
35 have h := hd ((c : K) • v) ((hperiod i v).mpr hv)
36 rw [hdiff, show i + r + 1 = (i + 1) + r by omega, hperiod] at h
37 exact h
38 · rintro ⟨hg, hd⟩
39 constructor
40 · intro v
41 obtain ⟨w, rfl⟩ := (LinearEquiv.smulOfNeZero K V (c : K) c.ne_zero).surjective v
42 change g ((c : K) • w) ∈ L (i + r) ↔ (c : K) • w ∈ L (i + r)
43 rw [hmap, hperiod, hperiod]
44 exact hg w
45 · intro v hv
46 obtain ⟨w, rfl⟩ := (LinearEquiv.smulOfNeZero K V (c : K) c.ne_zero).surjective v
47 change (c : K) • w ∈ L (i + r) at hv
48 change g ((c : K) • w) - (c : K) • w ∈ L (i + r + 1)
49 rw [hdiff, show i + r + 1 = (i + 1) + r by omega, hperiod]
50 exact hd w ((hperiod i w).mp hv)
51
52 /-- The level predicate is literally periodic as a `Prop`-valued function. -/
53 theorem levelCondition_periodic (L : ℤ → AddSubgroup V) (c : Kˣ) (r : ℤ)
54 (hperiod : ∀ i v, (c : K) • v ∈ L (i + r) ↔ v ∈ L i)
55 (g : V ≃ₗ[K] V) : Function.Periodic (levelCondition L g) r := by
56 intro i
57 exact propext (levelCondition_shift L c r hperiod g i)
58
59 /-- All infinitely many congruence conditions reduce to one positive period. -/
60 theorem mem_firstCongruence_iff_fin (L : ℤ → AddSubgroup V) (c : Kˣ) (r : ℕ)
61 (hr : 0 < r)
62 (hperiod : ∀ i v, (c : K) • v ∈ L (i + (r : ℤ)) ↔ v ∈ L i)
63 (g : V ≃ₗ[K] V) :
64 g ∈ firstCongruence L ↔ ∀ j : Fin r, levelCondition L g (j.val : ℤ) := by
65 constructor
66 · intro h j
67 exact ⟨h.1 j.val, h.2 j.val⟩
68 · intro h
69 have hall : ∀ i : ℤ, levelCondition L g i := by
70 intro i
71 have hp := levelCondition_periodic L c (r : ℤ) hperiod g
72 have hm := hp.sub_zsmul_eq (x := i) (i / (r : ℤ))
73 have he : i - (i / (r : ℤ)) • (r : ℤ) = i % (r : ℤ) := by
74 simp only [zsmul_eq_mul, Int.cast_id, Int.emod_def, mul_comm]
75 rw [he] at hm
76 rw [← hm]
77 have hn : 0 ≤ i % (r : ℤ) := Int.emod_nonneg i (by omega)
78 have hl : i % (r : ℤ) < (r : ℤ) := Int.emod_lt_of_pos i (by omega)
79 let j : Fin r := ⟨(i % (r : ℤ)).toNat, by omega⟩
80 have hj : (j.val : ℤ) = i % (r : ℤ) := by
81 dsimp [j]
82 exact Int.toNat_of_nonneg hn
83 simpa only [hj] using h j
84 exact ⟨fun i => (hall i).1, fun i => (hall i).2⟩
85
86 end PaperXI.PeriodicLatticeReduction60
Original file and source record
This copy matches the recorded source file. Its publication here does not change the work’s review status.
SHA-256: f70d40f2ca38dfa0635a4232d830d16dbbdc2f58c4472d1c82c4a25950e93a02
Back to Paper XI: Packets, Arithmetic Realization, and Conditional Comparison