Library mathcomp.character.integral_char
- -
-(* (c) Copyright 2006-2016 Microsoft Corporation and Inria.
- Distributed under the terms of CeCILL-B. *)
- -
-
-
-- Distributed under the terms of CeCILL-B. *)
- -
-
- This file provides some standard results based on integrality properties
- of characters, such as theorem asserting that the degree of an irreducible
- character of G divides the order of G (Isaacs 3.11), or the famous p^a.q^b
- solvability theorem of Burnside.
- Defined here:
- 'K_k == the kth class sum in gring F G, where k : 'I#|classes G|, and
- F is inferred from the context.
- := gset_mx F G (enum_val k) (see mxrepresentation.v).
- --> The 'K_k form a basis of 'Z(group_ring F G)%%MS.
- gring_classM_coef i j k == the coordinate of 'K_i *m 'K_j on 'K_k; this
- is usually abbreviated as a i j k.
- gring_classM_coef_set A B z == the set of all (x, y) in setX A B such
- that x * y = z; if A and B are respectively the ith and jth
- conjugacy class of G, and z is in the kth conjugacy class, then
- gring_classM_coef i j k is exactly the cardinal of this set.
- 'omega_i#A# == the mode of 'chi#G##i on (A \in 'Z(group_ring algC G))%MS,
- i.e., the z such that gring_op 'Chi_i A = z%:M.
-
-
-
-
-Set Implicit Arguments.
- -
-Import GroupScope GRing.Theory Num.Theory.
-Local Open Scope ring_scope.
- -
-Lemma group_num_field_exists (gT : finGroupType) (G : {group gT}) :
- {Qn : splittingFieldType rat & galois 1 {:Qn} &
- {QnC : {rmorphism Qn → algC}
- & ∀ nuQn : argumentType (mem ('Gal({:Qn}%VS / 1%VS))),
- {nu : {rmorphism algC → algC} |
- {morph QnC: a / nuQn a >-> nu a}}
- & {w : Qn & #|G|.-primitive_root w ∧ <<1; w>>%VS = fullv
- & ∀ (hT : finGroupType) (H : {group hT}) (phi : 'CF(H)),
- phi \is a character →
- ∀ x, (#[x] %| #|G|)%N → {a | QnC a = phi x}}}}.
- -
-Section GenericClassSums.
- -
-
-
--Set Implicit Arguments.
- -
-Import GroupScope GRing.Theory Num.Theory.
-Local Open Scope ring_scope.
- -
-Lemma group_num_field_exists (gT : finGroupType) (G : {group gT}) :
- {Qn : splittingFieldType rat & galois 1 {:Qn} &
- {QnC : {rmorphism Qn → algC}
- & ∀ nuQn : argumentType (mem ('Gal({:Qn}%VS / 1%VS))),
- {nu : {rmorphism algC → algC} |
- {morph QnC: a / nuQn a >-> nu a}}
- & {w : Qn & #|G|.-primitive_root w ∧ <<1; w>>%VS = fullv
- & ∀ (hT : finGroupType) (H : {group hT}) (phi : 'CF(H)),
- phi \is a character →
- ∀ x, (#[x] %| #|G|)%N → {a | QnC a = phi x}}}}.
- -
-Section GenericClassSums.
- -
-
- This is Isaacs, Theorem (2.4), generalized to an arbitrary field, and with
- the combinatorial definition of the coeficients exposed.
- This part could move to mxrepresentation.
-
-
-
-
-Variable (gT : finGroupType) (G : {group gT}) (F : fieldType).
- -
-Definition gring_classM_coef_set (Ki Kj : {set gT}) g :=
- [set xy in [predX Ki & Kj] | let: (x, y) := xy in x × y == g]%g.
- -
-Definition gring_classM_coef (i j k : 'I_#|classes G|) :=
- #|gring_classM_coef_set (enum_val i) (enum_val j) (repr (enum_val k))|.
- -
-Definition gring_class_sum (i : 'I_#|classes G|) := gset_mx F G (enum_val i).
- -
- -
-Lemma gring_class_sum_central i : ('K_i \in 'Z(group_ring F G))%MS.
- -
-Lemma set_gring_classM_coef (i j k : 'I_#|classes G|) g :
- g \in enum_val k →
- a i j k = #|gring_classM_coef_set (enum_val i) (enum_val j) g|.
- -
-Theorem gring_classM_expansion i j : 'K_i ×m 'K_j = \sum_k (a i j k)%:R *: 'K_k.
- -
-Fact gring_irr_mode_key : unit.
-Definition gring_irr_mode_def (i : Iirr G) := ('chi_i 1%g)^-1 *: 'chi_i.
-Definition gring_irr_mode := locked_with gring_irr_mode_key gring_irr_mode_def.
-Canonical gring_irr_mode_unlockable := [unlockable fun gring_irr_mode].
- -
-End GenericClassSums.
- -
- -
-Notation "''K_' i" := (gring_class_sum _ i)
- (at level 8, i at level 2, format "''K_' i") : ring_scope.
- -
-Notation "''omega_' i [ A ]" := (xcfun (gring_irr_mode i) A)
- (at level 8, i at level 2, format "''omega_' i [ A ]") : ring_scope.
- -
-Section IntegralChar.
- -
-Variables (gT : finGroupType) (G : {group gT}).
- -
-
-
--Variable (gT : finGroupType) (G : {group gT}) (F : fieldType).
- -
-Definition gring_classM_coef_set (Ki Kj : {set gT}) g :=
- [set xy in [predX Ki & Kj] | let: (x, y) := xy in x × y == g]%g.
- -
-Definition gring_classM_coef (i j k : 'I_#|classes G|) :=
- #|gring_classM_coef_set (enum_val i) (enum_val j) (repr (enum_val k))|.
- -
-Definition gring_class_sum (i : 'I_#|classes G|) := gset_mx F G (enum_val i).
- -
- -
-Lemma gring_class_sum_central i : ('K_i \in 'Z(group_ring F G))%MS.
- -
-Lemma set_gring_classM_coef (i j k : 'I_#|classes G|) g :
- g \in enum_val k →
- a i j k = #|gring_classM_coef_set (enum_val i) (enum_val j) g|.
- -
-Theorem gring_classM_expansion i j : 'K_i ×m 'K_j = \sum_k (a i j k)%:R *: 'K_k.
- -
-Fact gring_irr_mode_key : unit.
-Definition gring_irr_mode_def (i : Iirr G) := ('chi_i 1%g)^-1 *: 'chi_i.
-Definition gring_irr_mode := locked_with gring_irr_mode_key gring_irr_mode_def.
-Canonical gring_irr_mode_unlockable := [unlockable fun gring_irr_mode].
- -
-End GenericClassSums.
- -
- -
-Notation "''K_' i" := (gring_class_sum _ i)
- (at level 8, i at level 2, format "''K_' i") : ring_scope.
- -
-Notation "''omega_' i [ A ]" := (xcfun (gring_irr_mode i) A)
- (at level 8, i at level 2, format "''omega_' i [ A ]") : ring_scope.
- -
-Section IntegralChar.
- -
-Variables (gT : finGroupType) (G : {group gT}).
- -
-
- This is Isaacs, Corollary (3.6).
-
-
-Lemma Aint_char (chi : 'CF(G)) x : chi \is a character → chi x \in Aint.
- -
-Lemma Aint_irr i x : 'chi[G]_i x \in Aint.
- -
- -
-
-
-- -
-Lemma Aint_irr i x : 'chi[G]_i x \in Aint.
- -
- -
-
- This is Isaacs (2.25).
-
-
-Lemma mx_irr_gring_op_center_scalar n (rG : mx_representation algCfield G n) A :
- mx_irreducible rG → (A \in 'Z(R_G))%MS → is_scalar_mx (gring_op rG A).
- -
-Section GringIrrMode.
- -
-Variable i : Iirr G.
- -
-Let n := irr_degree (socle_of_Iirr i).
-Let mxZn_inj: injective (@scalar_mx algCfield n).
- -
-Lemma cfRepr_gring_center n1 (rG : mx_representation algCfield G n1) A :
- cfRepr rG = 'chi_i → (A \in 'Z(R_G))%MS → gring_op rG A = 'omega_i[A]%:M.
- -
-Lemma irr_gring_center A :
- (A \in 'Z(R_G))%MS → gring_op 'Chi_i A = 'omega_i[A]%:M.
- -
-Lemma gring_irr_modeM A B :
- (A \in 'Z(R_G))%MS → (B \in 'Z(R_G))%MS →
- 'omega_i[A ×m B] = 'omega_i[A] × 'omega_i[B].
- -
-Lemma gring_mode_class_sum_eq (k : 'I_#|classes G|) g :
- g \in enum_val k → 'omega_i['K_k] = #|g ^: G|%:R × 'chi_i g / 'chi_i 1%g.
- -
-
-
-- mx_irreducible rG → (A \in 'Z(R_G))%MS → is_scalar_mx (gring_op rG A).
- -
-Section GringIrrMode.
- -
-Variable i : Iirr G.
- -
-Let n := irr_degree (socle_of_Iirr i).
-Let mxZn_inj: injective (@scalar_mx algCfield n).
- -
-Lemma cfRepr_gring_center n1 (rG : mx_representation algCfield G n1) A :
- cfRepr rG = 'chi_i → (A \in 'Z(R_G))%MS → gring_op rG A = 'omega_i[A]%:M.
- -
-Lemma irr_gring_center A :
- (A \in 'Z(R_G))%MS → gring_op 'Chi_i A = 'omega_i[A]%:M.
- -
-Lemma gring_irr_modeM A B :
- (A \in 'Z(R_G))%MS → (B \in 'Z(R_G))%MS →
- 'omega_i[A ×m B] = 'omega_i[A] × 'omega_i[B].
- -
-Lemma gring_mode_class_sum_eq (k : 'I_#|classes G|) g :
- g \in enum_val k → 'omega_i['K_k] = #|g ^: G|%:R × 'chi_i g / 'chi_i 1%g.
- -
-
- This is Isaacs, Theorem (3.7).
-
-
-
-
- A more usable reformulation that does not involve the class sums.
-
-
-
-
- This is Isaacs, Theorem (3.8).
-
-
-Theorem coprime_degree_support_cfcenter g :
- coprime (truncC ('chi_i 1%g)) #|g ^: G| → g \notin ('Z('chi_i))%CF →
- 'chi_i g = 0.
- -
-End GringIrrMode.
- -
-
-
-- coprime (truncC ('chi_i 1%g)) #|g ^: G| → g \notin ('Z('chi_i))%CF →
- 'chi_i g = 0.
- -
-End GringIrrMode.
- -
-
- This is Isaacs, Theorem (3.9).
-
-
-Theorem primes_class_simple_gt1 C :
- simple G → ~~ abelian G → C \in (classes G)^# → (size (primes #|C|) > 1)%N.
- -
-End IntegralChar.
- -
-Section MoreIntegralChar.
- -
-Implicit Type gT : finGroupType.
- -
-
-
-- simple G → ~~ abelian G → C \in (classes G)^# → (size (primes #|C|) > 1)%N.
- -
-End IntegralChar.
- -
-Section MoreIntegralChar.
- -
-Implicit Type gT : finGroupType.
- -
-
- This is Burnside's famous p^a.q^b theorem (Isaacs, Theorem (3.10)).
-
-
-
-
- This is Isaacs, Theorem (3.11).
-
-
-
-
- This is Isaacs, Theorem (3.12).
-
-
-Theorem dvd_irr1_index_center gT (G : {group gT}) i :
- ('chi[G]_i 1%g %| #|G : 'Z('chi_i)%CF|)%C.
- -
-
-
-- ('chi[G]_i 1%g %| #|G : 'Z('chi_i)%CF|)%C.
- -
-
- This is Isaacs, Problem (3.7).
-
-
-Lemma gring_classM_coef_sum_eq gT (G : {group gT}) j1 j2 k g1 g2 g :
- let a := @gring_classM_coef gT G j1 j2 in let a_k := a k in
- g1 \in enum_val j1 → g2 \in enum_val j2 → g \in enum_val k →
- let sum12g := \sum_i 'chi[G]_i g1 × 'chi_i g2 × ('chi_i g)^* / 'chi_i 1%g in
- a_k%:R = (#|enum_val j1| × #|enum_val j2|)%:R / #|G|%:R × sum12g.
- -
-
-
-- let a := @gring_classM_coef gT G j1 j2 in let a_k := a k in
- g1 \in enum_val j1 → g2 \in enum_val j2 → g \in enum_val k →
- let sum12g := \sum_i 'chi[G]_i g1 × 'chi_i g2 × ('chi_i g)^* / 'chi_i 1%g in
- a_k%:R = (#|enum_val j1| × #|enum_val j2|)%:R / #|G|%:R × sum12g.
- -
-
- This is Isaacs, Problem (2.16).
-
-
-Lemma index_support_dvd_degree gT (G H : {group gT}) chi :
- H \subset G → chi \is a character → chi \in 'CF(G, H) →
- (H :==: 1%g) || abelian G →
- (#|G : H| %| chi 1%g)%C.
- -
-
-
-- H \subset G → chi \is a character → chi \in 'CF(G, H) →
- (H :==: 1%g) || abelian G →
- (#|G : H| %| chi 1%g)%C.
- -
-
- This is Isaacs, Theorem (3.13).
-
-
-Theorem faithful_degree_p_part gT (p : nat) (G P : {group gT}) i :
- cfaithful 'chi[G]_i → p.-nat (truncC ('chi_i 1%g)) →
- p.-Sylow(G) P → abelian P →
- 'chi_i 1%g = (#|G : 'Z(G)|`_p)%:R.
- -
-
-
-- cfaithful 'chi[G]_i → p.-nat (truncC ('chi_i 1%g)) →
- p.-Sylow(G) P → abelian P →
- 'chi_i 1%g = (#|G : 'Z(G)|`_p)%:R.
- -
-
- This is Isaacs, Lemma (3.14).
- Note that the assumption that G be cyclic is unnecessary, as S will be
- empty if this is not the case.
-
-
-Lemma sum_norm2_char_generators gT (G : {group gT}) (chi : 'CF(G)) :
- let S := [pred s | generator G s] in
- chi \is a character → {in S, ∀ s, chi s != 0} →
- \sum_(s in S) `|chi s| ^+ 2 ≥ #|S|%:R.
- -
-
-
-- let S := [pred s | generator G s] in
- chi \is a character → {in S, ∀ s, chi s != 0} →
- \sum_(s in S) `|chi s| ^+ 2 ≥ #|S|%:R.
- -
-
- This is Burnside's vanishing theorem (Isaacs, Theorem (3.15)).
-
-
-