Paper XI · Lean source
ScalarRepresentation112.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 (3)
PaperXI/ScalarRepresentation112.lean373 lines
Original source path
formalization/PaperXI/ScalarRepresentation112.leanSkip declarations and read code
1 import PaperXI.GlobalHeisenbergBridge112
2 import PaperXI.RepresentationStability
3 import PaperXI.ScalarCocycle112
4
5 /-! Construct an action of the actual group from labelled packet operators
6 and an explicit scalar cochain. The section multiplication and original theta
7 restriction are derived from the literal quotient kernel, not supplied as
8 representation or lambda hypotheses. Existence of a compatible quotient map
9 and preservation of any required dyadic lift remain separate obligations. -/
10 set_option autoImplicit false
11 noncomputable section
12 namespace PaperXI.ScalarRepresentation112
13 open Representation
14
15 section ActualSection
16 variable {G A : Type*} [Group G] [Group A]
17 (D : Subgroup G) [D.Normal] (θ : D →* ℂˣ)
18 (hinv : TypeSideDescent.Invariant D θ)
19 (q : G →* A) (hker : q.ker = D)
20 (t : A → G) (ht : ∀ a, q (t a) = a) (ht1 : t 1 = 1)
21
22 /-- The literal normal-subgroup remainder of an actual group element. -/
23 def sectionResidue (g : G) : D :=
24 ⟨g * (t (q g))⁻¹, by
25 rw [← hker]
26 change q (g * (t (q g))⁻¹) = 1
27 simp only [map_mul, map_inv, ht, mul_inv_cancel]⟩
28
29 /-- The scalar retained from the original theta on the actual remainder. -/
30 def sectionScalar (g : G) : ℂˣ := θ (sectionResidue D q hker t ht g)
31
32 /-- The theta-valued factor set of the actual normalized quotient section. -/
33 def sectionCocycle (a b : A) : ℂˣ :=
34 sectionScalar D θ q hker t ht (t a * t b)
35
36 theorem sectionResidue_mul (g h : G) :
37 sectionResidue D q hker t ht (g * h) =
38 sectionResidue D q hker t ht g *
39 TypeSideDescent.conjugate D (t (q g)) (sectionResidue D q hker t ht h) *
40 sectionResidue D q hker t ht (t (q g) * t (q h)) := by
41 apply Subtype.ext
42 simp only [sectionResidue, TypeSideDescent.conjugate, Subgroup.coe_mul,
43 map_mul, ht]
44 group
45
46 include hinv in
47 theorem sectionScalar_mul (g h : G) :
48 sectionScalar D θ q hker t ht (g * h) =
49 sectionScalar D θ q hker t ht g * sectionScalar D θ q hker t ht h *
50 sectionCocycle D θ q hker t ht (q g) (q h) := by
51 change θ (sectionResidue D q hker t ht (g * h)) = _
52 rw [sectionResidue_mul, map_mul, map_mul, hinv]
53 rfl
54
55 omit [D.Normal] in
56 theorem sectionResidue_section (a : A) : sectionResidue D q hker t ht (t a) = 1 := by
57 apply Subtype.ext
58 simp only [sectionResidue, ht, mul_inv_cancel, Subgroup.coe_one]
59
60 omit [D.Normal] in
61 theorem sectionScalar_section (a : A) : sectionScalar D θ q hker t ht (t a) = 1 := by
62 rw [sectionScalar, sectionResidue_section, map_one]
63
64 omit [D.Normal] in
65 include ht1 in
66 theorem sectionScalar_one : sectionScalar D θ q hker t ht 1 = 1 := by
67 simpa only [ht1] using sectionScalar_section D θ q hker t ht 1
68
69 omit [D.Normal] in
70 include ht1 in
71 theorem sectionCocycle_one_left (a : A) : sectionCocycle D θ q hker t ht 1 a = 1 := by
72 simpa only [sectionCocycle, ht1, one_mul] using sectionScalar_section D θ q hker t ht a
73
74 omit [D.Normal] in
75 include ht1 in
76 theorem sectionCocycle_one_right (a : A) : sectionCocycle D θ q hker t ht a 1 = 1 := by
77 simpa only [sectionCocycle, ht1, mul_one] using sectionScalar_section D θ q hker t ht a
78
79 include hinv in
80 /-- Associativity of the scalar factor set is derived from actual group
81 associativity and invariance of the same original theta. -/
82 theorem sectionCocycle_assoc (a b c : A) :
83 sectionCocycle D θ q hker t ht a b * sectionCocycle D θ q hker t ht (a * b) c =
84 sectionCocycle D θ q hker t ht b c * sectionCocycle D θ q hker t ht a (b * c) := by
85 have h := congrArg (sectionScalar D θ q hker t ht) (mul_assoc (t a) (t b) (t c))
86 simpa only [sectionScalar_mul D θ hinv, sectionScalar_section, ht, map_mul,
87 one_mul, mul_one] using h
88
89 omit [D.Normal] in
90 include ht1 in
91 theorem sectionScalar_on_subgroup (d : D) :
92 sectionScalar D θ q hker t ht (d : G) = θ d := by
93 have hd : q (d : G) = 1 := by
94 change (d : G) ∈ q.ker
95 rw [hker]
96 exact d.property
97 apply congrArg θ
98 apply Subtype.ext
99 simp only [sectionResidue, hd, ht1, inv_one, mul_one]
100
101 end ActualSection
102
103 section PacketOperators
104 variable {P A V : Type*} [Group P] [Group A] [AddCommGroup V] [Module ℂ V]
105 (H : Subgroup P) [H.Normal] (χ : H →* ℂˣ)
106 (q : P →* A) (hker : q.ker = H) (t : A → P) (ht : ∀ a, q (t a) = a)
107 (ρ : Representation ℂ P V)
108 (hρ : ∀ h : H, ρ h = (χ h : ℂ) • LinearMap.id)
109
110 /-- The packet's operators retain their quotient labels. -/
111 def packetOperator (a : A) : Module.End ℂ V := ρ (t a)
112
113 omit [H.Normal] in
114 include hρ in
115 /-- The projective multiplication coefficient is the literal scalar
116 character of the actual section remainder. -/
117 theorem packetOperator_mul (a b : A) :
118 packetOperator t ρ a * packetOperator t ρ b =
119 (sectionCocycle H χ q hker t ht a b : ℂ) • packetOperator t ρ (a * b) := by
120 have hg : t a * t b =
121 (sectionResidue H q hker t ht (t a * t b) : P) * t (a * b) := by
122 simp only [sectionResidue, map_mul, ht]
123 group
124 change ρ (t a) * ρ (t b) = _
125 rw [← map_mul, hg, map_mul, hρ]
126 ext v
127 simp only [Module.End.mul_apply, LinearMap.smul_apply, LinearMap.id_apply,
128 sectionCocycle, sectionScalar, packetOperator]
129
130 end PacketOperators
131
132 section ScalarTransport
133 variable {G P A V : Type*} [Group G] [Group P] [Group A]
134 [AddCommGroup V] [Module ℂ V]
135 (D : Subgroup G) [D.Normal] (θ : D →* ℂˣ)
136 (hinv : TypeSideDescent.Invariant D θ)
137 (q : G →* A) (hker : q.ker = D)
138 (t : A → G) (ht : ∀ a, q (t a) = a) (ht1 : t 1 = 1)
139 (H : Subgroup P) [H.Normal] (χ : H →* ℂˣ)
140 (r : P →* A) (hkerP : r.ker = H)
141 (u : A → P) (hu : ∀ a, r (u a) = a) (hu1 : u 1 = 1)
142 (ρ : Representation ℂ P V)
143 (hρ : ∀ h : H, ρ h = (χ h : ℂ) • LinearMap.id)
144 (s : A → ℂˣ) (hs1 : s 1 = 1)
145 (hc : ∀ a b, sectionCocycle D θ q hker t ht a b =
146 (s a * s b / s (a * b)) * sectionCocycle H χ r hkerP u hu a b)
147
148 /-- A scalar cochain constructs an honest representation of the actual group,
149 even when the packet center and actual center have different orders. -/
150 def scalarTransport : Representation ℂ G V where
151 toFun g := ((sectionScalar D θ q hker t ht g * s (q g) : ℂˣ) : ℂ) • ρ (u (q g))
152 map_one' := by
153 simp only [map_one, sectionScalar_one D θ q hker t ht ht1, hs1,
154 hu1, mul_one, Units.val_one, one_smul]
155 map_mul' g h := by
156 have hcoeff :
157 sectionScalar D θ q hker t ht (g * h) * s (q (g * h)) =
158 (sectionScalar D θ q hker t ht g * s (q g)) *
159 (sectionScalar D θ q hker t ht h * s (q h)) *
160 sectionCocycle H χ r hkerP u hu (q g) (q h) := by
161 rw [sectionScalar_mul D θ hinv, hc, map_mul]
162 simp only [div_eq_mul_inv]
163 simp [mul_assoc, mul_comm, mul_left_comm]
164 ext v
165 rw [hcoeff, map_mul]
166 have hp := LinearMap.congr_fun (packetOperator_mul H χ r hkerP u hu ρ hρ (q g) (q h)) v
167 change ρ (u (q g)) (ρ (u (q h)) v) = _ at hp
168 simp only [LinearMap.smul_apply, Units.val_mul, Module.End.mul_apply,
169 map_smul, smul_smul]
170 rw [hp]
171 simp only [LinearMap.smul_apply, packetOperator, smul_smul]
172 congr 1
173 ring
174
175 omit [H.Normal] in
176 /-- The constructed actual action contains precisely the original theta on
177 the original subgroup, rather than a replacement central character. -/
178 theorem scalarTransport_on_subgroup (d : D) :
179 scalarTransport D θ hinv q hker t ht ht1 H χ r hkerP u hu hu1 ρ hρ s hs1 hc (d : G) =
180 (θ d : ℂ) • LinearMap.id := by
181 have hd : q (d : G) = 1 := by
182 change (d : G) ∈ q.ker
183 rw [hker]
184 exact d.property
185 change ((sectionScalar D θ q hker t ht (d : G) * s (q (d : G)) : ℂˣ) : ℂ) •
186 ρ (u (q (d : G))) = _
187 rw [sectionScalar_on_subgroup D θ q hker t ht ht1, hd, hs1, hu1, map_one, mul_one]
188 rfl
189
190 omit [H.Normal] in
191 /-- On each actual quotient-section element the representation is the packet
192 operator with exactly its derived scalar-cochain correction. -/
193 theorem scalarTransport_section (a : A) :
194 scalarTransport D θ hinv q hker t ht ht1 H χ r hkerP u hu hu1 ρ hρ s hs1 hc (t a) =
195 (s a : ℂ) • ρ (u a) := by
196 change ((sectionScalar D θ q hker t ht (t a) * s (q (t a)) : ℂˣ) : ℂ) •
197 ρ (u (q (t a))) = _
198 rw [sectionScalar_section, ht, one_mul]
199
200 omit [H.Normal] in
201 include hρ in
202 /-- Every packet operator is its section-labelled operator times its original
203 scalar remainder. This is an actual group identity, not a dimension argument. -/
204 theorem packet_normalForm (p : P) :
205 ρ p = (sectionScalar H χ r hkerP u hu p : ℂ) • ρ (u (r p)) := by
206 have hp : p = (sectionResidue H r hkerP u hu p : P) * u (r p) := by
207 simp only [sectionResidue]
208 group
209 calc
210 ρ p = ρ ((sectionResidue H r hkerP u hu p : P) * u (r p)) := congrArg ρ hp
211 _ = _ := by
212 rw [map_mul, hρ]
213 ext v
214 simp only [Module.End.mul_apply, LinearMap.smul_apply, LinearMap.id_apply, sectionScalar]
215
216 omit [H.Normal] in
217 /-- The rescaled actual action is irreducible because every original packet
218 operator preserves each of its stable subspaces. No target eta iso is used. -/
219 theorem scalarTransport_irreducible [IsIrreducible ρ] :
220 IsIrreducible (scalarTransport D θ hinv q hker t ht ht1 H χ r hkerP u hu hu1 ρ hρ s hs1 hc) := by
221 let : Nontrivial V := GeneratedIrreducibility.nontrivial_space ρ
222 apply RepresentationStability.irreducible_of_stable
223 intro S hS
224 apply RepresentationStability.eq_bot_or_top ρ S
225 intro p v hv
226 have hRv : ρ (u (r p)) v ∈ S := by
227 have hx := hS (t (r p)) v hv
228 have hs := S.smul_mem (((s (r p))⁻¹ : ℂˣ) : ℂ) hx
229 rw [scalarTransport_section D θ hinv q hker t ht ht1 H χ r hkerP u hu hu1 ρ hρ s hs1 hc] at hs
230 simpa only [LinearMap.smul_apply, smul_smul, ← Units.val_mul,
231 inv_mul_cancel, Units.val_one, one_smul] using hs
232 rw [packet_normalForm H χ r hkerP u hu ρ hρ]
233 exact S.smul_mem _ hRv
234
235 omit [H.Normal] in
236 /-- The actual theta occurrence is a conclusion of the transport on the
237 nonzero original packet carrier. -/
238 theorem scalarTransport_contains [Nontrivial V] :
239 TypeSideDescent.Contains D θ
240 (scalarTransport D θ hinv q hker t ht ht1 H χ r hkerP u hu hu1 ρ hρ s hs1 hc) := by
241 obtain ⟨v, hv⟩ := exists_ne (0 : V)
242 refine ⟨v, hv, fun d => ?_⟩
243 rw [scalarTransport_on_subgroup D θ hinv q hker t ht ht1 H χ r hkerP u hu hu1 ρ hρ s hs1 hc]
244 rfl
245
246 end ScalarTransport
247
248 section CochainExistence
249 variable {G P A V : Type*} [Group G] [Group P] [CommGroup A]
250 [AddCommGroup V] [Module ℂ V]
251
252 /-- The scalar cocycle is constructed from the original character and actual
253 section, with all cocycle laws proved above. -/
254 def actualScalarCocycle
255 (D : Subgroup G) [D.Normal] (θ : D →* ℂˣ)
256 (hinv : TypeSideDescent.Invariant D θ)
257 (q : G →* A) (hker : q.ker = D)
258 (t : A → G) (ht : ∀ a, q (t a) = a) (ht1 : t 1 = 1) :
259 ScalarCocycle112.Cocycle A ℂˣ where
260 coeff := sectionCocycle D θ q hker t ht
261 assoc := sectionCocycle_assoc D θ hinv q hker t ht
262 one_left := sectionCocycle_one_left D θ q hker t ht ht1
263 one_right := sectionCocycle_one_right D θ q hker t ht ht1
264
265 /-- The actual character commutator with the quotient label retained. -/
266 def sectionCommutator
267 (D : Subgroup G) (q : G →* A) (hker : q.ker = D)
268 (t : A → G) (ht : ∀ a, q (t a) = a) (a b : A) : D :=
269 ⟨t a * t b * (t a)⁻¹ * (t b)⁻¹, by
270 rw [← hker]
271 change q (t a * t b * (t a)⁻¹ * (t b)⁻¹) = 1
272 simp only [map_mul, map_inv, ht]
273 simp [mul_assoc]⟩
274
275 /-- The scalar cocycle commutator is the original theta of the literal group
276 commutator. This translates quotient-form matching into the cochain theorem. -/
277 theorem sectionCocycle_commutator
278 (D : Subgroup G) (θ : D →* ℂˣ)
279 (q : G →* A) (hker : q.ker = D)
280 (t : A → G) (ht : ∀ a, q (t a) = a) (a b : A) :
281 sectionCocycle D θ q hker t ht a b / sectionCocycle D θ q hker t ht b a =
282 θ (sectionCommutator D q hker t ht a b) := by
283 have hz : sectionResidue D q hker t ht (t a * t b) /
284 sectionResidue D q hker t ht (t b * t a) = sectionCommutator D q hker t ht a b := by
285 apply Subtype.ext
286 simp only [sectionResidue, sectionCommutator, Subgroup.coe_div, map_mul, ht]
287 rw [mul_comm b a]
288 simp only [div_eq_mul_inv]
289 group
290 change θ (sectionResidue D q hker t ht (t a * t b)) /
291 θ (sectionResidue D q hker t ht (t b * t a)) = _
292 rw [← map_div, hz]
293
294 /-- Equal labelled scalar commutators construct an honest irreducible actual
295 group action containing the literal original theta. The packet and actual
296 central subgroups need not be isomorphic. -/
297 theorem exists_actual_action_of_equal_scalar_commutators
298 (D : Subgroup G) [D.Normal] (θ : D →* ℂˣ)
299 (hinv : TypeSideDescent.Invariant D θ)
300 (q : G →* A) (hker : q.ker = D)
301 (t : A → G) (ht : ∀ a, q (t a) = a) (ht1 : t 1 = 1)
302 (H : Subgroup P) [H.Normal] (χ : H →* ℂˣ)
303 (hχ : TypeSideDescent.Invariant H χ)
304 (r : P →* A) (hkerP : r.ker = H)
305 (u : A → P) (hu : ∀ a, r (u a) = a) (hu1 : u 1 = 1)
306 (ρ : Representation ℂ P V) [IsIrreducible ρ]
307 (hρ : ∀ h : H, ρ h = (χ h : ℂ) • LinearMap.id)
308 (hcomm : ∀ a b,
309 sectionCocycle D θ q hker t ht a b / sectionCocycle D θ q hker t ht b a =
310 sectionCocycle H χ r hkerP u hu a b / sectionCocycle H χ r hkerP u hu b a) :
311 ∃ Ξ : Representation ℂ G V,
312 IsIrreducible Ξ ∧ TypeSideDescent.Contains D θ Ξ ∧
313 (∀ d : D, Ξ d = (θ d : ℂ) • LinearMap.id) := by
314 let cθ := actualScalarCocycle D θ hinv q hker t ht ht1
315 let cP := actualScalarCocycle H χ hχ r hkerP u hu hu1
316 obtain ⟨s, hs1, hc⟩ := ScalarCocycle112.same_commutator_exists_cochain cθ cP hcomm
317 let Ξ := scalarTransport D θ hinv q hker t ht ht1 H χ r hkerP u hu hu1 ρ hρ s hs1 hc
318 let : Nontrivial V := GeneratedIrreducibility.nontrivial_space ρ
319 exact ⟨Ξ, scalarTransport_irreducible D θ hinv q hker t ht ht1 H χ r hkerP u hu hu1 ρ hρ s hs1 hc,
320 scalarTransport_contains D θ hinv q hker t ht ht1 H χ r hkerP u hu hu1 ρ hρ s hs1 hc,
321 scalarTransport_on_subgroup D θ hinv q hker t ht ht1 H χ r hkerP u hu hu1 ρ hρ s hs1 hc⟩
322
323 end CochainExistence
324
325 section PrescribedEta
326 variable {G P A V W k X : Type*} [Group G] [Finite G] [Group P] [CommGroup A]
327 [AddCommGroup V] [Module ℂ V] [AddCommGroup W] [Module ℂ W]
328 [Field k] [AddCommGroup X] [Module k X]
329
330 /-- The constructed packet realization is identified with the prescribed
331 actual eta using nondegenerate original quotient data. Equality of commutator
332 characters replaces a literal central-extension group isomorphism. For an
333 infinite J¹ this theorem is used on its actual finite J¹/ker(theta) quotient. -/
334 theorem bridge_to_prescribed_eta_of_equal_commutators
335 (D : Subgroup G) [D.Normal] (θ : D →* ℂˣ)
336 (hinv : TypeSideDescent.Invariant D θ)
337 (q : G →* A) (hker : q.ker = D)
338 (t : A → G) (ht : ∀ a, q (t a) = a) (ht1 : t 1 = 1)
339 (H : Subgroup P) [H.Normal] (χ : H →* ℂˣ)
340 (hχ : TypeSideDescent.Invariant H χ)
341 (r : P →* A) (hkerP : r.ker = H)
342 (u : A → P) (hu : ∀ a, r (u a) = a) (hu1 : u 1 = 1)
343 (ρ : Representation ℂ P V) [IsIrreducible ρ]
344 (hρ : ∀ h : H, ρ h = (χ h : ℂ) • LinearMap.id)
345 (hcomm : ∀ a b, θ (sectionCommutator D q hker t ht a b) =
346 χ (sectionCommutator H r hkerP u hu a b))
347 (η : Representation ℂ G W) [IsIrreducible η]
348 (hcontains : TypeSideDescent.Contains D θ η)
349 (τ : (G ⧸ D) ≃* Multiplicative X)
350 (B : X →ₗ[k] X →ₗ[k] k) (ψ : AddChar k ℂˣ) (hψ : ψ ≠ 1)
351 (hnd : ∀ v : X, (∀ z : X, B z v = 0) → v = 0)
352 (hform : ∀ g h : G, ψ (B (HeisenbergCharacterProfile111.coordinate D τ g)
353 (HeisenbergCharacterProfile111.coordinate D τ h)) =
354 HeisenbergCharacterProfile111.characterCommutator D τ θ g h) :
355 ∃ Ξ : Representation ℂ G V,
356 IsIrreducible Ξ ∧ TypeSideDescent.Contains D θ Ξ ∧
357 Nonempty (Representation.Equiv Ξ η) := by
358 have hc : ∀ a b,
359 sectionCocycle D θ q hker t ht a b / sectionCocycle D θ q hker t ht b a =
360 sectionCocycle H χ r hkerP u hu a b / sectionCocycle H χ r hkerP u hu b a := by
361 intro a b
362 rw [sectionCocycle_commutator, sectionCocycle_commutator, hcomm]
363 obtain ⟨Ξ, hΞ, hcontainsΞ, hscalarΞ⟩ :=
364 exists_actual_action_of_equal_scalar_commutators D θ hinv q hker t ht ht1
365 H χ hχ r hkerP u hu hu1 ρ hρ hc
366 let : IsIrreducible Ξ := hΞ
367 exact ⟨Ξ, hΞ, hcontainsΞ,
368 GlobalHeisenbergBridge112.equiv_of_common_quotient_form D θ τ B ψ hψ hnd hform
369 Ξ η hscalarΞ (TypeSideDescent.scalar_restriction D θ hinv η hcontains)⟩
370
371 end PrescribedEta
372
373 end PaperXI.ScalarRepresentation112
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: f8bad889bfb84cf03242cd2fd13dbd620d15080c126ade4b5f9bbfdb2ae7807c
Back to Paper XI: Packets, Arithmetic Realization, and Conditional Comparison