End IrrConstt.
Arguments irr_constt {gT B%g} phi%CF.
Section Kernel.
Variable (gT : finGroupType) (G : {group gT}).
Implicit Types (phi chi xi : 'CF(G)) (H : {group gT}).

(* Specifications: *)
Lemma cfker_repr n (rG : mx_representation algCF G n) :
cfker (cfRepr rG) = rker rG.
Lemma cfkerEchar chi :
chi \is a character -> cfker chi = [set x in G | chi x == chi 1%g].
Lemma cfker_nzcharE chi :
chi \is a character -> chi != 0 -> cfker chi = [set x | chi x == chi 1%g].
Lemma cfkerEirr i : cfker 'chi[G]_i = [set x | 'chi_i x == 'chi_i 1%g].
Lemma cfkerE chi :
chi \is a character ->
cfker chi = G :&: \bigcap_(i in irr_constt chi) cfker 'chi_i.
Lemma TI_cfker_irr : \bigcap_i cfker 'chi[G]_i = [1].
Lemma cfker_constt i chi :
chi \is a character -> i \in irr_constt chi ->
cfker chi \subset cfker 'chi[G]_i.
Lemma cforder_lin_char : #[xi]%CF = exponent (G / cfker xi)%g.
Lemma cforder_lin_char_dvdG : #[xi]%CF %| #|G|.
Lemma cforder_lin_char_gt0 : (0 < #[xi]%CF)%N.
Lemma cfRes_char chi : chi \is a character -> 'Res[H, G] chi \is a character.
Lemma cfRes_eq0 phi : phi \is a character -> ('Res[H, G] phi == 0) = (phi == 0).
Definition Res_Iirr (A B : {set gT}) i := cfIirr ('Res[B, A] 'chi_i).
Lemma Res_Iirr0 : Res_Iirr H (0 : Iirr G) = 0.
End Restrict.