Paper XI · Lean source
HeisenbergTrace108.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.
PaperXI/HeisenbergTrace108.lean47 lines
Original source path
formalization/PaperXI/HeisenbergTrace108.leanSkip declarations and read code
1 import Mathlib.RepresentationTheory.Character
2 import Mathlib.Analysis.Complex.Basic
3
4 /-! The finite Heisenberg character formula, derived from scalar restriction
5 and detection by actual commutators. No trace-support hypothesis is supplied. -/
6 set_option autoImplicit false
7 noncomputable section
8 namespace PaperXI.HeisenbergTrace108
9 open Representation
10 variable {K W : Type*} [Group K] [AddCommGroup W] [Module ℂ W]
11 [FiniteDimensional ℂ W]
12 (H : Subgroup K) (θ : H →* ℂˣ) (ρ : Representation ℂ K W)
13 (hscalar : ∀ h : H, ρ h = (θ h : ℂ) • LinearMap.id)
14
15 include hscalar in
16 theorem character_on_subgroup (h : H) :
17 ρ.character h = (Module.finrank ℂ W : ℂ) * (θ h : ℂ) := by
18 simp [Representation.character, hscalar, mul_comm]
19
20 omit [FiniteDimensional ℂ W] in
21 include hscalar in
22 /-- A commutator with nontrivial central character forces trace zero. -/
23 theorem character_zero_of_commutator (x y : K) (z : H)
24 (he : y * x * y⁻¹ = (z : K) * x) (hz : θ z ≠ 1) : ρ.character x = 0 := by
25 have ht := ρ.char_conj x y
26 rw [he] at ht
27 have hs : ρ.character ((z : K) * x) = (θ z : ℂ) * ρ.character x := by
28 simp [Representation.character, map_mul, hscalar, Module.End.mul_eq_comp]
29 rw [hs] at ht
30 have hc : (θ z : ℂ) - 1 ≠ 0 := by
31 intro h
32 apply hz
33 apply Units.ext
34 exact sub_eq_zero.mp h
35 apply (mul_eq_zero.mp (show ((θ z : ℂ) - 1) * ρ.character x = 0 by
36 rw [sub_mul, one_mul, ht, sub_self])).resolve_left hc
37
38 omit [FiniteDimensional ℂ W] in
39 include hscalar in
40 theorem character_off_subgroup
41 (hdetect : ∀ x : K, x ∉ H → ∃ y : K, ∃ z : H,
42 y * x * y⁻¹ = (z : K) * x ∧ θ z ≠ 1)
43 (x : K) (hx : x ∉ H) : ρ.character x = 0 := by
44 obtain ⟨y, z, he, hz⟩ := hdetect x hx
45 exact character_zero_of_commutator H θ ρ hscalar x y z he hz
46
47 end PaperXI.HeisenbergTrace108
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: 045edb4a7a7672920cc0a4fdfc44e0b7b64d78563fe3cf3c625335b1e09240c8
Back to Paper XI: Packets, Arithmetic Realization, and Conditional Comparison