Paper XI · Lean source

ActualELatticeTopology60.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 (2)

PaperXI/ActualELatticeTopology60.lean170 lines

Original source pathformalization/PaperXI/ActualELatticeTopology60.lean
Skip declarations and read code

Skip source text

1 import PaperXI.LatticeCongruenceTopology60
2 import PaperXI.ActualELatticeScalarPeriod60
3 
4 /-!
5 # Compact open topology for the literal extension-field lattice type group
6 
7 The exact Block59 lattice groups are realized in actual `GL_d(K)` through
8 finite continuous coordinates on `E^n`. Compactness, openness, and the open
9 kernel of actual residue reduction are proved. No identification with the
10 simple-character group of an arbitrary stratum is asserted.
11 -/
12 set_option autoImplicit false
13 noncomputable section
14 namespace PaperXI.ActualELatticeTopology60
15 open Matrix ValuativeRel Topology
16 open ActualELatticeResidue59 ActualELatticeTypeGroup59 ActualELatticeNormalizer59
17 open ActualELatticeFreeness59 ActualELatticeQuotient59 ActualELatticeScalarPeriod60
18 open LatticeMatrixTopology60 LatticeCongruenceTopology60
19 
20 variable (K E : Type*) [Field K] [ValuativeRel K] [TopologicalSpace K]
21   [IsNonarchimedeanLocalField K] [Field E] [ValuativeRel E] [TopologicalSpace E]
22   [IsNonarchimedeanLocalField E] [Algebra K E]
23 variable (n d : Type*) [Fintype n] [DecidableEq n] [Fintype d] [DecidableEq d]
24 
25 local instance : T2Space K := ActualIntegralGeneralLinear.field_t2Space K
26 local instance : T2Space E := ActualIntegralGeneralLinear.field_t2Space E
27 
28 /-- A local field has nontrivial punctured neighborhoods at zero. -/
29 theorem field_nhdsNE_neBot : Filter.NeBot (nhdsWithin (0 : K) {0}ᶜ) := by
30   let := IsTopologicalAddGroup.rightUniformSpace K
31   have := isUniformAddGroup_of_addCommGroup (G := K)
32   let : (Valued.v (R := K)).RankOne :=
33     { hom' := ValuativeRel.IsRankLeOne.nonempty.some.emb (R := K).comp
34         MonoidWithZeroHom.ValueGroup₀.embedding
35       strictMono' := ValuativeRel.IsRankLeOne.nonempty.some.strictMono.comp
36         MonoidWithZeroHom.ValueGroup₀.embedding_strictMono }
37   open scoped Valued in
38     infer_instance
39 
40 /-- Every actual finite basis gives continuous coordinates under the compatible extension topology. -/
41 def coordinatesOfBasis (hK : Continuous (algebraMap K E)) (b : Module.Basis d K (n → E)) :
42     (n → E) ≃L[K] (d → K) := by
43   let := IsTopologicalAddGroup.rightUniformSpace K
44   have := isUniformAddGroup_of_addCommGroup (G := K)
45   let : (Valued.v (R := K)).RankOne :=
46     { hom' := ValuativeRel.IsRankLeOne.nonempty.some.emb (R := K).comp
47         MonoidWithZeroHom.ValueGroup₀.embedding
48       strictMono' := ValuativeRel.IsRankLeOne.nonempty.some.strictMono.comp
49         MonoidWithZeroHom.ValueGroup₀.embedding_strictMono }
50   let : ContinuousSMul K E := continuousSMul_of_algebraMap K E hK
51   let : FiniteDimensional K (n → E) := Module.Finite.of_basis b
52   open scoped Valued in
53     exact b.equivFun.toContinuousLinearEquiv
54 
55 /-- Scalar multiplication gives a literal algebra embedding into actual matrices. -/
56 def scalarMatrixEmbedding (e : (n → E) ≃L[K] (d → K)) : E →ₐ[K] Matrix d d K :=
57   LinearMap.toMatrixAlgEquiv'.toAlgHom.comp
58     ((e.toLinearEquiv.conjAlgEquiv K).toAlgHom.comp (Algebra.lsmul K K (n → E)))
59 
60 omit [Fintype n] [DecidableEq n] in
61 /-- The literal integral extension-field lattice is compact. -/
62 theorem integralLattice_compact : IsCompact (integralLattice E n : Set (n → E)) :=
63   isCompact_pi_infinite (fun _ => IsNonarchimedeanLocalField.isCompact_closedBall E 1)
64 
65 omit [DecidableEq n] in
66 /-- The literal integral extension-field lattice is open. -/
67 theorem integralLattice_open : IsOpen (integralLattice E n : Set (n → E)) := by
68   change IsOpen {v : n → E | ∀ i, v i ∈ (valuation E).integer}
69   simp only [Set.ofPred_forall]
70   exact isOpen_iInter_of_finite fun i => (valuation E).isOpen_integer.preimage (continuous_apply i)
71 
72 omit [ValuativeRel K] [TopologicalSpace K] [IsNonarchimedeanLocalField K] [Fintype n] [DecidableEq n] in
73 /-- Every integer translate in the actual chain is compact. -/
74 theorem latticeChain_compact (i : ℤ) : IsCompact (latticeChain K E n i : Set (n → E)) := by
75   let a : E := (ActualLocalUnitDecomposition.uniformizer E : E) ^ (-i)
76   have ha : a ≠ 0 := zpow_ne_zero _ (ActualLocalUnitDecomposition.uniformizer_ne_zero E)
77   have h := (Homeomorph.smulOfNeZero a ha : (n → E) ≃ₜ (n → E)).isCompact_preimage.mpr
78     (integralLattice_compact E n)
79   convert h using 1
80   ext v
81   exact Iff.of_eq (congrArg (fun w => w ∈ integralLattice E n)
82     (uniformizerAction_zpow_apply K E n (-i) v))
83 
84 omit [ValuativeRel K] [TopologicalSpace K] [IsNonarchimedeanLocalField K] [DecidableEq n] in
85 /-- Every integer translate in the actual chain is open. -/
86 theorem latticeChain_open (i : ℤ) : IsOpen (latticeChain K E n i : Set (n → E)) := by
87   have h := (integralLattice_open E n).preimage
88     (continuous_const_smul ((ActualLocalUnitDecomposition.uniformizer E : E) ^ (-i)))
89   convert h using 1
90   ext v
91   exact Iff.of_eq (congrArg (fun w => w ∈ integralLattice E n)
92     (uniformizerAction_zpow_apply K E n (-i) v))
93 
94 /-- The exact Block59 type group in actual finite `K`-matrix coordinates. -/
95 def matrixType (e : (n → E) ≃L[K] (d → K)) : Subgroup (GeneralLinearGroup d K) :=
96   (typeGroup K E n).comap (coordinateAut e).toMonoidHom
97 
98 /-- The exact Block59 first congruence group in the same coordinates. -/
99 def matrixCongruence (e : (n → E) ≃L[K] (d → K)) : Subgroup (GeneralLinearGroup d K) :=
100   LatticeCongruenceTopology60.congruence e (latticeChain K E n)
101 
102 variable [Nonempty d]
103 
104 /-- Openness uses a proved base-field scalar period, not a supplied period or ramification index. -/
105 theorem matrixCongruence_open (e : (n → E) ≃L[K] (d → K))
106     (hK : Continuous (algebraMap K E)) :
107     IsOpen (matrixCongruence K E n d e : Set (GeneralLinearGroup d K)) := by
108   let ι := scalarMatrixEmbedding K E n d e
109   have hι := ActualEmbeddedUniformizer58.algebraEmbedding_continuous K E d ι hK
110   obtain ⟨c, r, hr, hp⟩ := exists_chain_period K E n ι hι
111   exact LatticeCongruenceTopology60.congruence_open e (latticeChain K E n)
112     (latticeChain_compact K E n) (latticeChain_open K E n) c r hr hp
113 
114 /-- The actual type group is open because it contains the proved open first congruence group. -/
115 theorem matrixType_open (e : (n → E) ≃L[K] (d → K))
116     (hK : Continuous (algebraMap K E)) :
117     IsOpen (matrixType K E n d e : Set (GeneralLinearGroup d K)) := by
118   apply Subgroup.isOpen_mono (H₁ := matrixCongruence K E n d e)
119   · intro g hg
120     exact (show ActualELatticeTypeGroup59.congruence K E n ≤ typeGroup K E n from le_sup_right) hg
121   · exact matrixCongruence_open K E n d e hK
122 
123 /-- Compactness follows inside the actual compact integral-lattice stabilizer. -/
124 theorem matrixType_compact (e : (n → E) ≃L[K] (d → K))
125     (hK : Continuous (algebraMap K E)) :
126     IsCompact (matrixType K E n d e : Set (GeneralLinearGroup d K)) := by
127   let : ContinuousSMul K E := continuousSMul_of_algebraMap K E hK
128   let : Filter.NeBot (nhdsWithin (0 : K) {0}ᶜ) := field_nhdsNE_neBot K
129   have hc := stabilizer_compact_of_open e (integralLattice E n)
130     (integralLattice_compact E n) (integralLattice_open E n)
131   apply hc.of_isClosed_subset ((matrixType K E n d e).isClosed_of_isOpen (matrixType_open K E n d e hK))
132   intro g hg
133   apply (mem_stabilizer_iff e (integralLattice E n) g).mpr
134   have h : coordinateAut e g ∈ chainStabilizer (latticeChain K E n) :=
135     typeGroup_le_stabilizer K E n hg
136   simpa only [latticeChain_zero] using h 0
137 
138 /-- The exact first congruence group is compact as a closed subgroup of the compact type group. -/
139 theorem matrixCongruence_compact (e : (n → E) ≃L[K] (d → K))
140     (hK : Continuous (algebraMap K E)) :
141     IsCompact (matrixCongruence K E n d e : Set (GeneralLinearGroup d K)) := by
142   apply (matrixType_compact K E n d e hK).of_isClosed_subset
143     ((matrixCongruence K E n d e).isClosed_of_isOpen (matrixCongruence_open K E n d e hK))
144   intro g hg
145   exact (show ActualELatticeTypeGroup59.congruence K E n ≤ typeGroup K E n from le_sup_right) hg
146 
147 /-- The compact/open result for any actual finite basis, with coordinate continuity derived. -/
148 theorem compact_open_of_basis (hK : Continuous (algebraMap K E))
149     (b : Module.Basis d K (n → E)) :
150     IsCompact (matrixType K E n d (coordinatesOfBasis K E n d hK b) : Set (GeneralLinearGroup d K)) ∧
151     IsOpen (matrixType K E n d (coordinatesOfBasis K E n d hK b) : Set (GeneralLinearGroup d K)) :=
152   ⟨matrixType_compact K E n d _ hK, matrixType_open K E n d _ hK⟩
153 
154 /-- Finite-extension coordinates require no supplied basis or continuity of coordinates. -/
155 def finiteExtensionCoordinates [FiniteDimensional K E] (hK : Continuous (algebraMap K E)) :
156     (n → E) ≃L[K] (Fin (Module.finrank K (n → E)) → K) :=
157   coordinatesOfBasis K E n _ hK (Module.finBasis K (n → E))
158 
159 omit [Fintype d] [DecidableEq d] [Nonempty d] in
160 /-- Every genuine finite continuous extension realizes the literal type group compact openly. -/
161 theorem finiteExtension_compact_open [FiniteDimensional K E] [Nonempty n]
162     (hK : Continuous (algebraMap K E)) :
163     IsCompact (matrixType K E n (Fin (Module.finrank K (n → E)))
164       (finiteExtensionCoordinates K E n hK) : Set (GeneralLinearGroup (Fin (Module.finrank K (n → E))) K)) ∧
165     IsOpen (matrixType K E n (Fin (Module.finrank K (n → E)))
166       (finiteExtensionCoordinates K E n hK) : Set (GeneralLinearGroup (Fin (Module.finrank K (n → E))) K)) := by
167   let : Nonempty (Fin (Module.finrank K (n → E))) := ⟨⟨0, Module.finrank_pos⟩⟩
168   exact ⟨matrixType_compact K E n _ _ hK, matrixType_open K E n _ _ hK⟩
169 
170 end PaperXI.ActualELatticeTopology60

Back to source controls

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: 4936918f1210fcc205c45cc2b2e787c6dfa51e1d1399c1c9e3988e6d9e791981

Original source on GitHub

Back to Paper XI: Packets, Arithmetic Realization, and Conditional Comparison