Paper XI · Lean source

MoritaRadicalDictionary110.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/MoritaRadicalDictionary110.lean132 lines

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

Skip source text

1 import PaperXI.MoritaActualCartan110
2 import Mathlib.Data.Matrix.Basic
3 
4 /-! The literal additive product with the actual mapped maximal-order radical.
5 Only mapped coefficient matrices commute with its scalar; no centrality in the
6 whole endomorphism ring is asserted. -/
7 set_option autoImplicit false
8 noncomputable section
9 namespace PaperXI.MoritaRadicalDictionary110
10 open Matrix PaperXI.MoritaLattice110 PaperXI.MoritaCornerRank110
11 open PaperXI.MoritaActualCartan110
12 
13 section Product
14 variable {A : Type*} [Ring A]
15 
16 /-- The additive subgroup generated by literal products of its two factors. -/
17 def additiveProduct (P L : AddSubgroup A) : AddSubgroup A :=
18   AddSubgroup.closure {z | ∃ q ∈ P, ∃ x ∈ L, q * x = z}
19 
20 theorem mul_mem_additiveProduct (P L : AddSubgroup A) {q x : A}
21     (hq : q ∈ P) (hx : x ∈ L) : q * x ∈ additiveProduct P L :=
22   AddSubgroup.subset_closure ⟨q, hq, x, hx, rfl⟩
23 
24 end Product
25 
26 section MappedMaximalOrder
27 variable {R D m : Type*} [CommRing R] [Ring D] [Fintype m] [DecidableEq m]
28 
29 /-- The literal image of `π M_m(R)` in the ambient coefficient matrix ring. -/
30 def maximalOrderRadical (φ : R →+* D) (π : R) : AddSubgroup (Matrix m m D) :=
31   (⊤ : AddSubgroup (Matrix m m R)).map
32     ((AddMonoidHom.mulLeft (Matrix.scalar m (φ π))).comp φ.mapMatrix.toAddMonoidHom)
33 
34 theorem scalar_mem_maximalOrderRadical (φ : R →+* D) (π : R) :
35     Matrix.scalar m (φ π) ∈ maximalOrderRadical φ π := by
36   refine ⟨1, AddSubgroup.mem_top _, ?_⟩
37   change Matrix.scalar m (φ π) * (1 : Matrix m m R).map φ = _
38   simp
39 
40 /-- The radical scalar commutes with actual mapped integral matrices, even
41 though it need not commute with arbitrary ambient coefficient matrices. -/
42 theorem scalar_commutes_mapped (φ : R →+* D) (π : R) (b : Matrix m m R) :
43     Matrix.scalar m (φ π) * b.map φ = b.map φ * Matrix.scalar m (φ π) := by
44   apply Matrix.scalar_comm_iff.mpr
45   ext i j
46   exact (Commute.all π (b i j)).map φ
47 
48 /-- The actual left radical product is the scalar-uniformizer image. -/
49 theorem radical_product_eq_left_image (φ : R →+* D) (π : R)
50     (L : AddSubgroup (Matrix m m D)) (hL : IsMatrixBimodule φ L) :
51     additiveProduct (maximalOrderRadical φ π) L =
52       L.map (AddMonoidHom.mulLeft (Matrix.scalar m (φ π))) := by
53   apply le_antisymm
54   · apply (AddSubgroup.closure_le _).mpr
55     rintro z ⟨q, hq, x, hx, rfl⟩
56     obtain ⟨b, _, hb⟩ := hq
57     change Matrix.scalar m (φ π) * b.map φ = q at hb
58     subst q
59     refine ⟨b.map φ * x, hL.1 b x hx, ?_⟩
60     change Matrix.scalar m (φ π) * (b.map φ * x) = _
61     exact (mul_assoc _ _ _).symm
62   · rintro z ⟨x, hx, rfl⟩
63     change Matrix.scalar m (φ π) * x ∈ additiveProduct (maximalOrderRadical φ π) L
64     exact mul_mem_additiveProduct (q := Matrix.scalar m (φ π)) (x := x)
65       (maximalOrderRadical φ π) L
66       (scalar_mem_maximalOrderRadical (m := m) φ π) hx
67 
68 /-- The actual right radical product is the right scalar-uniformizer image. -/
69 theorem product_radical_eq_right_image (φ : R →+* D) (π : R)
70     (L : AddSubgroup (Matrix m m D)) (hL : IsMatrixBimodule φ L) :
71     additiveProduct L (maximalOrderRadical φ π) =
72       L.map (AddMonoidHom.mulRight (Matrix.scalar m (φ π))) := by
73   apply le_antisymm
74   · apply (AddSubgroup.closure_le _).mpr
75     rintro z ⟨x, hx, q, hq, rfl⟩
76     obtain ⟨b, _, hb⟩ := hq
77     change Matrix.scalar m (φ π) * b.map φ = q at hb
78     subst q
79     refine ⟨x * b.map φ, hL.2 b x hx, ?_⟩
80     change (x * b.map φ) * Matrix.scalar m (φ π) = _
81     rw [mul_assoc, ← scalar_commutes_mapped φ π b]
82   · rintro z ⟨x, hx, rfl⟩
83     change x * Matrix.scalar m (φ π) ∈ additiveProduct L (maximalOrderRadical φ π)
84     exact mul_mem_additiveProduct (q := x) (x := Matrix.scalar m (φ π))
85       L (maximalOrderRadical φ π) hx
86       (scalar_mem_maximalOrderRadical (m := m) φ π)
87 
88 /-- Literal source-style radical-product commutation implies scalar-image
89 commutation; the desired scalar equality is a conclusion, not a premise. -/
90 theorem scalar_images_eq_of_radical_products_eq (φ : R →+* D) (π : R)
91     (L : AddSubgroup (Matrix m m D)) (hL : IsMatrixBimodule φ L)
92     (hcomm : additiveProduct (maximalOrderRadical φ π) L =
93       additiveProduct L (maximalOrderRadical φ π)) :
94     L.map (AddMonoidHom.mulLeft (Matrix.scalar m (φ π))) =
95       L.map (AddMonoidHom.mulRight (Matrix.scalar m (φ π))) := by
96   rw [← radical_product_eq_left_image φ π L hL,
97     ← product_radical_eq_right_image φ π L hL]
98   exact hcomm
99 
100 end MappedMaximalOrder
101 
102 section ActualEndomorphismRing
103 open Module ValuativeRel
104 variable (F E : Type*) [Field F] [Field E] [Algebra F E]
105   [ValuativeRel E] [TopologicalSpace E] [IsNonarchimedeanLocalField E]
106 variable (m : Type*) [Fintype m] [DecidableEq m]
107 
108 /-- The actual maximal centralizer-order radical in `M_m(End_F(E))`. -/
109 def actualRadical : AddSubgroup (Matrix m m (Module.End F E)) :=
110   maximalOrderRadical (coefficientMap F E) (PaperXI.ActualLocalUnitDecomposition.uniformizer E)
111 
112 /-- The literal actual-radical product equality supplies the named input of the
113 checked Cartan arithmetic theorem. Canonical order/basis identification remains
114 a separate source attachment. -/
115 theorem RadicalCommutes_of_actual_radical_products
116     (L : AddSubgroup (Matrix m m (Module.End F E)))
117     (hL : IsMatrixBimodule (coefficientMap F E) L)
118     (hcomm : additiveProduct (actualRadical F E m) L =
119       additiveProduct L (actualRadical F E m)) : RadicalCommutes F E m L := by
120   have h := scalar_images_eq_of_radical_products_eq (coefficientMap F E)
121     (PaperXI.ActualLocalUnitDecomposition.uniformizer E) L hL hcomm
122   have he : Matrix.scalar m ((coefficientMap F E)
123       (PaperXI.ActualLocalUnitDecomposition.uniformizer E)) =
124       ((diagonalUnit (fun _ : m => uniformizerEndUnit F E) :
125         (Matrix m m (Module.End F E))ˣ) : Matrix m m (Module.End F E)) := by
126     rfl
127   unfold RadicalCommutes
128   rw [← he]
129   exact h
130 
131 end ActualEndomorphismRing
132 end PaperXI.MoritaRadicalDictionary110

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: caf45f046cafea555ed4871a05c2baece3d153318b1fced87d701d20622f781f

Original source on GitHub

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