Paper XI · Lean source

TameTensorInduction.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/TameTensorInduction.lean111 lines

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

Skip source text

1 import PaperXI.TameTensorPackets
2 import PaperXI.MonomialInductionSubgroup
3 
4 /-! Actual induction of the interaction packets and the tensor decomposition. -/
5 set_option autoImplicit false
6 noncomputable section
7 namespace PaperXI.TameTensorInduction
8 open scoped DirectSum Classical
9 
10 variable {G V W : Type*} [Group G] [AddCommGroup V] [Module ℂ V]
11 variable [AddCommGroup W] [Module ℂ W]
12 variable (ν : G →* Multiplicative ℤ) (n m : ℕ) [NeZero n] [NeZero m]
13 variable (ρ : Representation ℂ G V) (σ : Representation ℂ G W)
14 variable (b : Module.Basis (ZMod n) ℂ V) (d : Module.Basis (ZMod m) ℂ W)
15 variable (a : G → ZMod n → ℂˣ) (w : G → ZMod m → ℂˣ)
16 variable (hρ : ∀ g x, ρ g (b x) = (a g x : ℂ) • b (TameDegree.translationAction ν n g x))
17 variable (hσ : ∀ g y, σ g (d y) = (w g y : ℂ) • d (TameDegree.translationAction ν m g y))
18 
19 /-- The product weight on the interaction line is an actual group character. -/
20 def character (i : Fin (Nat.gcd n m)) :
21     TameDegree.degreeSubgroup ν (Nat.lcm n m) →* ℂˣ where
22   toFun g := a g 0 * w g (i.val : ZMod m)
23   map_one' := by
24     apply Units.ext
25     apply LineCharacter.scalar_unique ((Pi.basisFun ℂ (ZMod (Nat.lcm n m))).ne_zero 0)
26     rw [← TameTensorPackets.packet_zero ν n m ρ σ b d a w hρ hσ i 1]
27     simp
28   map_mul' g h := by
29     apply Units.ext
30     apply LineCharacter.scalar_unique ((Pi.basisFun ℂ (ZMod (Nat.lcm n m))).ne_zero 0)
31     rw [← TameTensorPackets.packet_zero ν n m ρ σ b d a w hρ hσ i (g*h)]
32     change TameTensorPackets.packet ν n m ρ σ b d a w hρ hσ i ((g : G)*(h : G))
33       (Pi.basisFun ℂ (ZMod (Nat.lcm n m)) 0) = _
34     rw [map_mul, Module.End.mul_apply,
35       TameTensorPackets.packet_zero ν n m ρ σ b d a w hρ hσ i h, map_smul,
36       TameTensorPackets.packet_zero ν n m ρ σ b d a w hρ hσ i g]
37     simp [smul_smul, mul_comm]
38 
39 @[simp] theorem character_apply (i : Fin (Nat.gcd n m))
40     (g : TameDegree.degreeSubgroup ν (Nat.lcm n m)) :
41     character ν n m ρ σ b d a w hρ hσ i g = a g 0 * w g (i.val : ZMod m) := rfl
42 
43 variable (φ : G) (hφ : ν φ = Multiplicative.ofAdd (1 : ℤ))
44 
45 omit [NeZero n] [NeZero m] in
46 include hφ in
47 /-- Degree-one powers act transitively on the actual lcm cycle. -/
48 theorem cycle_transitive (x : ZMod (Nat.lcm n m)) :
49     ∃ g : G, TameDegree.translationAction ν (Nat.lcm n m) g 0 = x := by
50   obtain ⟨k, hk⟩ := ZMod.intCast_surjective x
51   refine ⟨φ ^ k, ?_⟩
52   rw [TameDegree.translationAction_phi_zpow ν φ hφ, zero_add, hk]
53 
54 /-- Each packet is the actual induced representation of its interaction character. -/
55 def packetEquivalence (i : Fin (Nat.gcd n m)) : Representation.Equiv
56     (Representation.ind (TameDegree.degreeSubgroup ν (Nat.lcm n m)).subtype
57       (MonomialInduction.scalarRepresentation (character ν n m ρ σ b d a w hρ hσ i)))
58     (TameTensorPackets.packet ν n m ρ σ b d a w hρ hσ i) :=
59   MonomialInduction.transitiveEquivalenceOfSubgroupAction
60     (TameTensorPackets.packet ν n m ρ σ b d a w hρ hσ i)
61     (Pi.basisFun ℂ (ZMod (Nat.lcm n m))) (TameDegree.translationAction ν (Nat.lcm n m))
62     (fun g y => TameTensorPackets.coefficient n m a w g (TameTensorOrbits.orbitEquiv n m (i,y)))
63     (TameTensorPackets.packet_basis ν n m ρ σ b d a w hρ hσ i) 0
64     (cycle_transitive ν n m φ hφ) (TameDegree.degreeSubgroup ν (Nat.lcm n m))
65     (character ν n m ρ σ b d a w hρ hσ i)
66     (fun g => (TameDegree.translationAction_fixed_iff ν (Nat.lcm n m) g 0).symm)
67     (TameTensorPackets.packet_zero ν n m ρ σ b d a w hρ hσ i)
68 
69 /-- Component representation equivalences induce an actual direct sum equivalence. -/
70 def directSumEquiv {I : Type*} {A B : I → Type*}
71     [∀ i, AddCommGroup (A i)] [∀ i, Module ℂ (A i)]
72     [∀ i, AddCommGroup (B i)] [∀ i, Module ℂ (B i)]
73     (α : ∀ i, Representation ℂ G (A i)) (β : ∀ i, Representation ℂ G (B i))
74     (e : ∀ i, Representation.Equiv (α i) (β i)) :
75     Representation.Equiv (Representation.directSum α) (Representation.directSum β) :=
76   Representation.Equiv.mk (DFinsupp.mapRange.linearEquiv (fun i => (e i).toLinearEquiv))
77     (fun g => by
78       apply LinearMap.ext
79       intro x
80       apply DFinsupp.ext
81       intro i
82       change e i (α i g (x i)) = β i g (e i (x i))
83       exact LinearMap.congr_fun ((e i).isIntertwining' g) (x i))
84 
85 /-- The literal tensor decomposes into the actual induced interaction representations. -/
86 def decomposition : Representation.Equiv (ρ.tprod σ)
87     (Representation.directSum (fun i : Fin (Nat.gcd n m) =>
88       Representation.ind (TameDegree.degreeSubgroup ν (Nat.lcm n m)).subtype
89         (MonomialInduction.scalarRepresentation (character ν n m ρ σ b d a w hρ hσ i)))) :=
90   (TameTensorPackets.decomposition ν n m ρ σ b d a w hρ hσ).trans
91     (directSumEquiv _ _ (fun i => (packetEquivalence ν n m ρ σ b d a w hρ hσ φ hφ i).symm))
92 
93 /-- A supplied formula for the actual interaction characters can replace their
94 constructed definitions in the final induced decomposition. -/
95 def decompositionWithCharacters
96     (χ : Fin (Nat.gcd n m) → TameDegree.degreeSubgroup ν (Nat.lcm n m) →* ℂˣ)
97     (hχ : ∀ i g, (χ i g : ℂ) = ((a g 0 * w g (i.val : ZMod m) : ℂˣ) : ℂ)) :
98     Representation.Equiv (ρ.tprod σ)
99       (Representation.directSum (fun i : Fin (Nat.gcd n m) =>
100         Representation.ind (TameDegree.degreeSubgroup ν (Nat.lcm n m)).subtype
101           (MonomialInduction.scalarRepresentation (χ i)))) := by
102   have he : χ = character ν n m ρ σ b d a w hρ hσ := by
103     funext i
104     apply MonoidHom.ext
105     intro g
106     apply Units.ext
107     exact hχ i g
108   subst χ
109   exact decomposition ν n m ρ σ b d a w hρ hσ φ hφ
110 
111 end PaperXI.TameTensorInduction

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: 148b5e2d70afcc38a07c5b9fe8167fd690d2f687def771b465c1a8b81fbb799e

Original source on GitHub

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