MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  ablfac1eu Structured version   Unicode version

Theorem ablfac1eu 15631
Description: The factorization of ablfac1b 15628 is unique, in that any other factorization into prime power factors (even if the exponents are different) must be equal to 
S. (Contributed by Mario Carneiro, 21-Apr-2016.)
Hypotheses
Ref Expression
ablfac1.b  |-  B  =  ( Base `  G
)
ablfac1.o  |-  O  =  ( od `  G
)
ablfac1.s  |-  S  =  ( p  e.  A  |->  { x  e.  B  |  ( O `  x )  ||  (
p ^ ( p 
pCnt  ( # `  B
) ) ) } )
ablfac1.g  |-  ( ph  ->  G  e.  Abel )
ablfac1.f  |-  ( ph  ->  B  e.  Fin )
ablfac1.1  |-  ( ph  ->  A  C_  Prime )
ablfac1c.d  |-  D  =  { w  e.  Prime  |  w  ||  ( # `  B ) }
ablfac1.2  |-  ( ph  ->  D  C_  A )
ablfac1eu.1  |-  ( ph  ->  ( G dom DProd  T  /\  ( G DProd  T )  =  B ) )
ablfac1eu.2  |-  ( ph  ->  dom  T  =  A )
ablfac1eu.3  |-  ( (
ph  /\  q  e.  A )  ->  C  e.  NN0 )
ablfac1eu.4  |-  ( (
ph  /\  q  e.  A )  ->  ( # `
 ( T `  q ) )  =  ( q ^ C
) )
Assertion
Ref Expression
ablfac1eu  |-  ( ph  ->  T  =  S )
Distinct variable groups:    q, p, w, x, B    D, p, q, x    ph, p, q, w, x    S, q    A, p, q, x    O, p, q, x    T, q, x    G, p, q, x
Allowed substitution hints:    A( w)    C( x, w, q, p)    D( w)    S( x, w, p)    T( w, p)    G( w)    O( w)

Proof of Theorem ablfac1eu
Dummy variable  y is distinct from all other variables.
StepHypRef Expression
1 ablfac1eu.1 . . . . 5  |-  ( ph  ->  ( G dom DProd  T  /\  ( G DProd  T )  =  B ) )
21simpld 446 . . . 4  |-  ( ph  ->  G dom DProd  T )
3 ablfac1eu.2 . . . 4  |-  ( ph  ->  dom  T  =  A )
42, 3dprdf2 15565 . . 3  |-  ( ph  ->  T : A --> (SubGrp `  G ) )
5 ffn 5591 . . 3  |-  ( T : A --> (SubGrp `  G )  ->  T  Fn  A )
64, 5syl 16 . 2  |-  ( ph  ->  T  Fn  A )
7 ablfac1.b . . . . 5  |-  B  =  ( Base `  G
)
8 ablfac1.o . . . . 5  |-  O  =  ( od `  G
)
9 ablfac1.s . . . . 5  |-  S  =  ( p  e.  A  |->  { x  e.  B  |  ( O `  x )  ||  (
p ^ ( p 
pCnt  ( # `  B
) ) ) } )
10 ablfac1.g . . . . 5  |-  ( ph  ->  G  e.  Abel )
11 ablfac1.f . . . . 5  |-  ( ph  ->  B  e.  Fin )
12 ablfac1.1 . . . . 5  |-  ( ph  ->  A  C_  Prime )
137, 8, 9, 10, 11, 12ablfac1b 15628 . . . 4  |-  ( ph  ->  G dom DProd  S )
14 fvex 5742 . . . . . . . 8  |-  ( Base `  G )  e.  _V
157, 14eqeltri 2506 . . . . . . 7  |-  B  e. 
_V
1615rabex 4354 . . . . . 6  |-  { x  e.  B  |  ( O `  x )  ||  ( p ^ (
p  pCnt  ( # `  B
) ) ) }  e.  _V
1716, 9dmmpti 5574 . . . . 5  |-  dom  S  =  A
1817a1i 11 . . . 4  |-  ( ph  ->  dom  S  =  A )
1913, 18dprdf2 15565 . . 3  |-  ( ph  ->  S : A --> (SubGrp `  G ) )
20 ffn 5591 . . 3  |-  ( S : A --> (SubGrp `  G )  ->  S  Fn  A )
2119, 20syl 16 . 2  |-  ( ph  ->  S  Fn  A )
2211adantr 452 . . . 4  |-  ( (
ph  /\  q  e.  A )  ->  B  e.  Fin )
2319ffvelrnda 5870 . . . . 5  |-  ( (
ph  /\  q  e.  A )  ->  ( S `  q )  e.  (SubGrp `  G )
)
247subgss 14945 . . . . 5  |-  ( ( S `  q )  e.  (SubGrp `  G
)  ->  ( S `  q )  C_  B
)
2523, 24syl 16 . . . 4  |-  ( (
ph  /\  q  e.  A )  ->  ( S `  q )  C_  B )
26 ssfi 7329 . . . 4  |-  ( ( B  e.  Fin  /\  ( S `  q ) 
C_  B )  -> 
( S `  q
)  e.  Fin )
2722, 25, 26syl2anc 643 . . 3  |-  ( (
ph  /\  q  e.  A )  ->  ( S `  q )  e.  Fin )
284ffvelrnda 5870 . . . . . 6  |-  ( (
ph  /\  q  e.  A )  ->  ( T `  q )  e.  (SubGrp `  G )
)
297subgss 14945 . . . . . 6  |-  ( ( T `  q )  e.  (SubGrp `  G
)  ->  ( T `  q )  C_  B
)
3028, 29syl 16 . . . . 5  |-  ( (
ph  /\  q  e.  A )  ->  ( T `  q )  C_  B )
3128adantr 452 . . . . . . 7  |-  ( ( ( ph  /\  q  e.  A )  /\  x  e.  ( T `  q
) )  ->  ( T `  q )  e.  (SubGrp `  G )
)
32 ssfi 7329 . . . . . . . . 9  |-  ( ( B  e.  Fin  /\  ( T `  q ) 
C_  B )  -> 
( T `  q
)  e.  Fin )
3322, 30, 32syl2anc 643 . . . . . . . 8  |-  ( (
ph  /\  q  e.  A )  ->  ( T `  q )  e.  Fin )
3433adantr 452 . . . . . . 7  |-  ( ( ( ph  /\  q  e.  A )  /\  x  e.  ( T `  q
) )  ->  ( T `  q )  e.  Fin )
35 simpr 448 . . . . . . 7  |-  ( ( ( ph  /\  q  e.  A )  /\  x  e.  ( T `  q
) )  ->  x  e.  ( T `  q
) )
368odsubdvds 15205 . . . . . . 7  |-  ( ( ( T `  q
)  e.  (SubGrp `  G )  /\  ( T `  q )  e.  Fin  /\  x  e.  ( T `  q
) )  ->  ( O `  x )  ||  ( # `  ( T `  q )
) )
3731, 34, 35, 36syl3anc 1184 . . . . . 6  |-  ( ( ( ph  /\  q  e.  A )  /\  x  e.  ( T `  q
) )  ->  ( O `  x )  ||  ( # `  ( T `  q )
) )
38 ablfac1eu.4 . . . . . . . 8  |-  ( (
ph  /\  q  e.  A )  ->  ( # `
 ( T `  q ) )  =  ( q ^ C
) )
3912sselda 3348 . . . . . . . . . 10  |-  ( (
ph  /\  q  e.  A )  ->  q  e.  Prime )
40 prmz 13083 . . . . . . . . . 10  |-  ( q  e.  Prime  ->  q  e.  ZZ )
4139, 40syl 16 . . . . . . . . 9  |-  ( (
ph  /\  q  e.  A )  ->  q  e.  ZZ )
42 ablfac1eu.3 . . . . . . . . 9  |-  ( (
ph  /\  q  e.  A )  ->  C  e.  NN0 )
4342nn0zd 10373 . . . . . . . . . 10  |-  ( (
ph  /\  q  e.  A )  ->  C  e.  ZZ )
44 ablgrp 15417 . . . . . . . . . . . . . . . 16  |-  ( G  e.  Abel  ->  G  e. 
Grp )
4510, 44syl 16 . . . . . . . . . . . . . . 15  |-  ( ph  ->  G  e.  Grp )
467grpbn0 14834 . . . . . . . . . . . . . . 15  |-  ( G  e.  Grp  ->  B  =/=  (/) )
4745, 46syl 16 . . . . . . . . . . . . . 14  |-  ( ph  ->  B  =/=  (/) )
48 hashnncl 11645 . . . . . . . . . . . . . . 15  |-  ( B  e.  Fin  ->  (
( # `  B )  e.  NN  <->  B  =/=  (/) ) )
4911, 48syl 16 . . . . . . . . . . . . . 14  |-  ( ph  ->  ( ( # `  B
)  e.  NN  <->  B  =/=  (/) ) )
5047, 49mpbird 224 . . . . . . . . . . . . 13  |-  ( ph  ->  ( # `  B
)  e.  NN )
5150adantr 452 . . . . . . . . . . . 12  |-  ( (
ph  /\  q  e.  A )  ->  ( # `
 B )  e.  NN )
5239, 51pccld 13224 . . . . . . . . . . 11  |-  ( (
ph  /\  q  e.  A )  ->  (
q  pCnt  ( # `  B
) )  e.  NN0 )
5352nn0zd 10373 . . . . . . . . . 10  |-  ( (
ph  /\  q  e.  A )  ->  (
q  pCnt  ( # `  B
) )  e.  ZZ )
547lagsubg 15002 . . . . . . . . . . . . 13  |-  ( ( ( T `  q
)  e.  (SubGrp `  G )  /\  B  e.  Fin )  ->  ( # `
 ( T `  q ) )  ||  ( # `  B ) )
5528, 22, 54syl2anc 643 . . . . . . . . . . . 12  |-  ( (
ph  /\  q  e.  A )  ->  ( # `
 ( T `  q ) )  ||  ( # `  B ) )
5638, 55eqbrtrrd 4234 . . . . . . . . . . 11  |-  ( (
ph  /\  q  e.  A )  ->  (
q ^ C ) 
||  ( # `  B
) )
5751nnzd 10374 . . . . . . . . . . . 12  |-  ( (
ph  /\  q  e.  A )  ->  ( # `
 B )  e.  ZZ )
58 pcdvdsb 13242 . . . . . . . . . . . 12  |-  ( ( q  e.  Prime  /\  ( # `
 B )  e.  ZZ  /\  C  e. 
NN0 )  ->  ( C  <_  ( q  pCnt  (
# `  B )
)  <->  ( q ^ C )  ||  ( # `
 B ) ) )
5939, 57, 42, 58syl3anc 1184 . . . . . . . . . . 11  |-  ( (
ph  /\  q  e.  A )  ->  ( C  <_  ( q  pCnt  (
# `  B )
)  <->  ( q ^ C )  ||  ( # `
 B ) ) )
6056, 59mpbird 224 . . . . . . . . . 10  |-  ( (
ph  /\  q  e.  A )  ->  C  <_  ( q  pCnt  ( # `
 B ) ) )
61 eluz2 10494 . . . . . . . . . 10  |-  ( ( q  pCnt  ( # `  B
) )  e.  (
ZZ>= `  C )  <->  ( C  e.  ZZ  /\  ( q 
pCnt  ( # `  B
) )  e.  ZZ  /\  C  <_  ( q  pCnt  ( # `  B
) ) ) )
6243, 53, 60, 61syl3anbrc 1138 . . . . . . . . 9  |-  ( (
ph  /\  q  e.  A )  ->  (
q  pCnt  ( # `  B
) )  e.  (
ZZ>= `  C ) )
63 dvdsexp 12905 . . . . . . . . 9  |-  ( ( q  e.  ZZ  /\  C  e.  NN0  /\  (
q  pCnt  ( # `  B
) )  e.  (
ZZ>= `  C ) )  ->  ( q ^ C )  ||  (
q ^ ( q 
pCnt  ( # `  B
) ) ) )
6441, 42, 62, 63syl3anc 1184 . . . . . . . 8  |-  ( (
ph  /\  q  e.  A )  ->  (
q ^ C ) 
||  ( q ^
( q  pCnt  ( # `
 B ) ) ) )
6538, 64eqbrtrd 4232 . . . . . . 7  |-  ( (
ph  /\  q  e.  A )  ->  ( # `
 ( T `  q ) )  ||  ( q ^ (
q  pCnt  ( # `  B
) ) ) )
6665adantr 452 . . . . . 6  |-  ( ( ( ph  /\  q  e.  A )  /\  x  e.  ( T `  q
) )  ->  ( # `
 ( T `  q ) )  ||  ( q ^ (
q  pCnt  ( # `  B
) ) ) )
6730sselda 3348 . . . . . . . . 9  |-  ( ( ( ph  /\  q  e.  A )  /\  x  e.  ( T `  q
) )  ->  x  e.  B )
687, 8odcl 15174 . . . . . . . . 9  |-  ( x  e.  B  ->  ( O `  x )  e.  NN0 )
6967, 68syl 16 . . . . . . . 8  |-  ( ( ( ph  /\  q  e.  A )  /\  x  e.  ( T `  q
) )  ->  ( O `  x )  e.  NN0 )
7069nn0zd 10373 . . . . . . 7  |-  ( ( ( ph  /\  q  e.  A )  /\  x  e.  ( T `  q
) )  ->  ( O `  x )  e.  ZZ )
71 hashcl 11639 . . . . . . . . . 10  |-  ( ( T `  q )  e.  Fin  ->  ( # `
 ( T `  q ) )  e. 
NN0 )
7233, 71syl 16 . . . . . . . . 9  |-  ( (
ph  /\  q  e.  A )  ->  ( # `
 ( T `  q ) )  e. 
NN0 )
7372nn0zd 10373 . . . . . . . 8  |-  ( (
ph  /\  q  e.  A )  ->  ( # `
 ( T `  q ) )  e.  ZZ )
7473adantr 452 . . . . . . 7  |-  ( ( ( ph  /\  q  e.  A )  /\  x  e.  ( T `  q
) )  ->  ( # `
 ( T `  q ) )  e.  ZZ )
75 prmnn 13082 . . . . . . . . . . 11  |-  ( q  e.  Prime  ->  q  e.  NN )
7639, 75syl 16 . . . . . . . . . 10  |-  ( (
ph  /\  q  e.  A )  ->  q  e.  NN )
7776, 52nnexpcld 11544 . . . . . . . . 9  |-  ( (
ph  /\  q  e.  A )  ->  (
q ^ ( q 
pCnt  ( # `  B
) ) )  e.  NN )
7877nnzd 10374 . . . . . . . 8  |-  ( (
ph  /\  q  e.  A )  ->  (
q ^ ( q 
pCnt  ( # `  B
) ) )  e.  ZZ )
7978adantr 452 . . . . . . 7  |-  ( ( ( ph  /\  q  e.  A )  /\  x  e.  ( T `  q
) )  ->  (
q ^ ( q 
pCnt  ( # `  B
) ) )  e.  ZZ )
80 dvdstr 12883 . . . . . . 7  |-  ( ( ( O `  x
)  e.  ZZ  /\  ( # `  ( T `
 q ) )  e.  ZZ  /\  (
q ^ ( q 
pCnt  ( # `  B
) ) )  e.  ZZ )  ->  (
( ( O `  x )  ||  ( # `
 ( T `  q ) )  /\  ( # `  ( T `
 q ) ) 
||  ( q ^
( q  pCnt  ( # `
 B ) ) ) )  ->  ( O `  x )  ||  ( q ^ (
q  pCnt  ( # `  B
) ) ) ) )
8170, 74, 79, 80syl3anc 1184 . . . . . 6  |-  ( ( ( ph  /\  q  e.  A )  /\  x  e.  ( T `  q
) )  ->  (
( ( O `  x )  ||  ( # `
 ( T `  q ) )  /\  ( # `  ( T `
 q ) ) 
||  ( q ^
( q  pCnt  ( # `
 B ) ) ) )  ->  ( O `  x )  ||  ( q ^ (
q  pCnt  ( # `  B
) ) ) ) )
8237, 66, 81mp2and 661 . . . . 5  |-  ( ( ( ph  /\  q  e.  A )  /\  x  e.  ( T `  q
) )  ->  ( O `  x )  ||  ( q ^ (
q  pCnt  ( # `  B
) ) ) )
8330, 82ssrabdv 3422 . . . 4  |-  ( (
ph  /\  q  e.  A )  ->  ( T `  q )  C_ 
{ x  e.  B  |  ( O `  x )  ||  (
q ^ ( q 
pCnt  ( # `  B
) ) ) } )
84 id 20 . . . . . . . . 9  |-  ( p  =  q  ->  p  =  q )
85 oveq1 6088 . . . . . . . . 9  |-  ( p  =  q  ->  (
p  pCnt  ( # `  B
) )  =  ( q  pCnt  ( # `  B
) ) )
8684, 85oveq12d 6099 . . . . . . . 8  |-  ( p  =  q  ->  (
p ^ ( p 
pCnt  ( # `  B
) ) )  =  ( q ^ (
q  pCnt  ( # `  B
) ) ) )
8786breq2d 4224 . . . . . . 7  |-  ( p  =  q  ->  (
( O `  x
)  ||  ( p ^ ( p  pCnt  (
# `  B )
) )  <->  ( O `  x )  ||  (
q ^ ( q 
pCnt  ( # `  B
) ) ) ) )
8887rabbidv 2948 . . . . . 6  |-  ( p  =  q  ->  { x  e.  B  |  ( O `  x )  ||  ( p ^ (
p  pCnt  ( # `  B
) ) ) }  =  { x  e.  B  |  ( O `
 x )  ||  ( q ^ (
q  pCnt  ( # `  B
) ) ) } )
8988, 9, 16fvmpt3i 5809 . . . . 5  |-  ( q  e.  A  ->  ( S `  q )  =  { x  e.  B  |  ( O `  x )  ||  (
q ^ ( q 
pCnt  ( # `  B
) ) ) } )
9089adantl 453 . . . 4  |-  ( (
ph  /\  q  e.  A )  ->  ( S `  q )  =  { x  e.  B  |  ( O `  x )  ||  (
q ^ ( q 
pCnt  ( # `  B
) ) ) } )
9183, 90sseqtr4d 3385 . . 3  |-  ( (
ph  /\  q  e.  A )  ->  ( T `  q )  C_  ( S `  q
) )
9277nnnn0d 10274 . . . . . 6  |-  ( (
ph  /\  q  e.  A )  ->  (
q ^ ( q 
pCnt  ( # `  B
) ) )  e. 
NN0 )
93 pcdvds 13237 . . . . . . . . . 10  |-  ( ( q  e.  Prime  /\  ( # `
 B )  e.  NN )  ->  (
q ^ ( q 
pCnt  ( # `  B
) ) )  ||  ( # `  B ) )
9439, 51, 93syl2anc 643 . . . . . . . . 9  |-  ( (
ph  /\  q  e.  A )  ->  (
q ^ ( q 
pCnt  ( # `  B
) ) )  ||  ( # `  B ) )
952adantr 452 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  q  e.  A )  ->  G dom DProd  T )
963adantr 452 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  q  e.  A )  ->  dom  T  =  A )
97 ablfac1.2 . . . . . . . . . . . . . . . 16  |-  ( ph  ->  D  C_  A )
9897adantr 452 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  q  e.  A )  ->  D  C_  A )
9995, 96, 98dprdres 15586 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  q  e.  A )  ->  ( G dom DProd  ( T  |`  D )  /\  ( G DProd  ( T  |`  D ) )  C_  ( G DProd  T ) ) )
10099simpld 446 . . . . . . . . . . . . 13  |-  ( (
ph  /\  q  e.  A )  ->  G dom DProd  ( T  |`  D ) )
1014adantr 452 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  q  e.  A )  ->  T : A --> (SubGrp `  G )
)
102 fssres 5610 . . . . . . . . . . . . . . 15  |-  ( ( T : A --> (SubGrp `  G )  /\  D  C_  A )  ->  ( T  |`  D ) : D --> (SubGrp `  G )
)
103101, 98, 102syl2anc 643 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  q  e.  A )  ->  ( T  |`  D ) : D --> (SubGrp `  G )
)
104 fdm 5595 . . . . . . . . . . . . . 14  |-  ( ( T  |`  D ) : D --> (SubGrp `  G )  ->  dom  ( T  |`  D )  =  D )
105103, 104syl 16 . . . . . . . . . . . . 13  |-  ( (
ph  /\  q  e.  A )  ->  dom  ( T  |`  D )  =  D )
106 difssd 3475 . . . . . . . . . . . . 13  |-  ( (
ph  /\  q  e.  A )  ->  ( D  \  { q } )  C_  D )
107100, 105, 106dprdres 15586 . . . . . . . . . . . 12  |-  ( (
ph  /\  q  e.  A )  ->  ( G dom DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) )  /\  ( G DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) ) )  C_  ( G DProd  ( T  |`  D ) ) ) )
108107simpld 446 . . . . . . . . . . 11  |-  ( (
ph  /\  q  e.  A )  ->  G dom DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) ) )
109 dprdsubg 15582 . . . . . . . . . . 11  |-  ( G dom DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) )  ->  ( G DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) ) )  e.  (SubGrp `  G )
)
110108, 109syl 16 . . . . . . . . . 10  |-  ( (
ph  /\  q  e.  A )  ->  ( G DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) ) )  e.  (SubGrp `  G )
)
1117lagsubg 15002 . . . . . . . . . 10  |-  ( ( ( G DProd  ( ( T  |`  D )  |`  ( D  \  {
q } ) ) )  e.  (SubGrp `  G )  /\  B  e.  Fin )  ->  ( # `
 ( G DProd  (
( T  |`  D )  |`  ( D  \  {
q } ) ) ) )  ||  ( # `
 B ) )
112110, 22, 111syl2anc 643 . . . . . . . . 9  |-  ( (
ph  /\  q  e.  A )  ->  ( # `
 ( G DProd  (
( T  |`  D )  |`  ( D  \  {
q } ) ) ) )  ||  ( # `
 B ) )
113 eqid 2436 . . . . . . . . . . . . . . 15  |-  ( 0g
`  G )  =  ( 0g `  G
)
114113subg0cl 14952 . . . . . . . . . . . . . 14  |-  ( ( G DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) ) )  e.  (SubGrp `  G )  ->  ( 0g `  G
)  e.  ( G DProd 
( ( T  |`  D )  |`  ( D  \  { q } ) ) ) )
115110, 114syl 16 . . . . . . . . . . . . 13  |-  ( (
ph  /\  q  e.  A )  ->  ( 0g `  G )  e.  ( G DProd  ( ( T  |`  D )  |`  ( D  \  {
q } ) ) ) )
116 ne0i 3634 . . . . . . . . . . . . 13  |-  ( ( 0g `  G )  e.  ( G DProd  (
( T  |`  D )  |`  ( D  \  {
q } ) ) )  ->  ( G DProd  ( ( T  |`  D )  |`  ( D  \  {
q } ) ) )  =/=  (/) )
117115, 116syl 16 . . . . . . . . . . . 12  |-  ( (
ph  /\  q  e.  A )  ->  ( G DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) ) )  =/=  (/) )
1187dprdssv 15574 . . . . . . . . . . . . . 14  |-  ( G DProd 
( ( T  |`  D )  |`  ( D  \  { q } ) ) )  C_  B
119 ssfi 7329 . . . . . . . . . . . . . 14  |-  ( ( B  e.  Fin  /\  ( G DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) ) ) 
C_  B )  -> 
( G DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) ) )  e.  Fin )
12022, 118, 119sylancl 644 . . . . . . . . . . . . 13  |-  ( (
ph  /\  q  e.  A )  ->  ( G DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) ) )  e. 
Fin )
121 hashnncl 11645 . . . . . . . . . . . . 13  |-  ( ( G DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) ) )  e. 
Fin  ->  ( ( # `  ( G DProd  ( ( T  |`  D )  |`  ( D  \  {
q } ) ) ) )  e.  NN  <->  ( G DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) ) )  =/=  (/) ) )
122120, 121syl 16 . . . . . . . . . . . 12  |-  ( (
ph  /\  q  e.  A )  ->  (
( # `  ( G DProd 
( ( T  |`  D )  |`  ( D  \  { q } ) ) ) )  e.  NN  <->  ( G DProd  ( ( T  |`  D )  |`  ( D  \  {
q } ) ) )  =/=  (/) ) )
123117, 122mpbird 224 . . . . . . . . . . 11  |-  ( (
ph  /\  q  e.  A )  ->  ( # `
 ( G DProd  (
( T  |`  D )  |`  ( D  \  {
q } ) ) ) )  e.  NN )
124123nnzd 10374 . . . . . . . . . 10  |-  ( (
ph  /\  q  e.  A )  ->  ( # `
 ( G DProd  (
( T  |`  D )  |`  ( D  \  {
q } ) ) ) )  e.  ZZ )
125 eqid 2436 . . . . . . . . . . . . . . . 16  |-  ( p  e.  D  |->  { y  e.  B  |  ( O `  y ) 
||  ( p ^
( p  pCnt  ( # `
 B ) ) ) } )  =  ( p  e.  D  |->  { y  e.  B  |  ( O `  y )  ||  (
p ^ ( p 
pCnt  ( # `  B
) ) ) } )
12610adantr 452 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  x  e.  Prime )  ->  G  e.  Abel )
12711adantr 452 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  x  e.  Prime )  ->  B  e.  Fin )
128 ablfac1c.d . . . . . . . . . . . . . . . . . 18  |-  D  =  { w  e.  Prime  |  w  ||  ( # `  B ) }
129 ssrab2 3428 . . . . . . . . . . . . . . . . . 18  |-  { w  e.  Prime  |  w  ||  ( # `  B ) }  C_  Prime
130128, 129eqsstri 3378 . . . . . . . . . . . . . . . . 17  |-  D  C_  Prime
131130a1i 11 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  x  e.  Prime )  ->  D  C_  Prime )
132 ssid 3367 . . . . . . . . . . . . . . . . 17  |-  D  C_  D
133132a1i 11 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  x  e.  Prime )  ->  D  C_  D
)
1342, 3, 97dprdres 15586 . . . . . . . . . . . . . . . . . . 19  |-  ( ph  ->  ( G dom DProd  ( T  |`  D )  /\  ( G DProd  ( T  |`  D ) )  C_  ( G DProd  T ) ) )
135134simpld 446 . . . . . . . . . . . . . . . . . 18  |-  ( ph  ->  G dom DProd  ( T  |`  D ) )
136 dprdsubg 15582 . . . . . . . . . . . . . . . . . . . . 21  |-  ( G dom DProd  ( T  |`  D )  ->  ( G DProd  ( T  |`  D ) )  e.  (SubGrp `  G ) )
137135, 136syl 16 . . . . . . . . . . . . . . . . . . . 20  |-  ( ph  ->  ( G DProd  ( T  |`  D ) )  e.  (SubGrp `  G )
)
138 difssd 3475 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ph  ->  ( A  \  D
)  C_  A )
1392, 3, 138dprdres 15586 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ph  ->  ( G dom DProd  ( T  |`  ( A  \  D
) )  /\  ( G DProd  ( T  |`  ( A  \  D ) ) )  C_  ( G DProd  T ) ) )
140139simpld 446 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ph  ->  G dom DProd  ( T  |`  ( A  \  D
) ) )
141 dprdsubg 15582 . . . . . . . . . . . . . . . . . . . . 21  |-  ( G dom DProd  ( T  |`  ( A  \  D ) )  ->  ( G DProd  ( T  |`  ( A  \  D ) ) )  e.  (SubGrp `  G
) )
142140, 141syl 16 . . . . . . . . . . . . . . . . . . . 20  |-  ( ph  ->  ( G DProd  ( T  |`  ( A  \  D
) ) )  e.  (SubGrp `  G )
)
143 difss 3474 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( A 
\  D )  C_  A
144 fssres 5610 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( T : A --> (SubGrp `  G )  /\  ( A  \  D )  C_  A )  ->  ( T  |`  ( A  \  D ) ) : ( A  \  D
) --> (SubGrp `  G )
)
1454, 143, 144sylancl 644 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ph  ->  ( T  |`  ( A  \  D ) ) : ( A  \  D ) --> (SubGrp `  G ) )
146 fdm 5595 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( T  |`  ( A  \  D ) ) : ( A  \  D
) --> (SubGrp `  G )  ->  dom  ( T  |`  ( A  \  D ) )  =  ( A 
\  D ) )
147145, 146syl 16 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ph  ->  dom  ( T  |`  ( A  \  D ) )  =  ( A 
\  D ) )
148 fvres 5745 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( q  e.  ( A  \  D )  ->  (
( T  |`  ( A  \  D ) ) `
 q )  =  ( T `  q
) )
149148adantl 453 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( (
ph  /\  q  e.  ( A  \  D ) )  ->  ( ( T  |`  ( A  \  D ) ) `  q )  =  ( T `  q ) )
150 eldif 3330 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( q  e.  ( A  \  D )  <->  ( q  e.  A  /\  -.  q  e.  D ) )
15133adantrr 698 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  -> 
( T `  q
)  e.  Fin )
152113subg0cl 14952 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( T `  q )  e.  (SubGrp `  G
)  ->  ( 0g `  G )  e.  ( T `  q ) )
15328, 152syl 16 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( (
ph  /\  q  e.  A )  ->  ( 0g `  G )  e.  ( T `  q
) )
154153snssd 3943 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( (
ph  /\  q  e.  A )  ->  { ( 0g `  G ) }  C_  ( T `  q ) )
155154adantrr 698 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  ->  { ( 0g `  G ) }  C_  ( T `  q ) )
15638adantrr 698 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  -> 
( # `  ( T `
 q ) )  =  ( q ^ C ) )
15739adantr 452 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34  |-  ( ( ( ph  /\  q  e.  A )  /\  C  e.  NN )  ->  q  e.  Prime )
158 iddvdsexp 12873 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36  |-  ( ( q  e.  ZZ  /\  C  e.  NN )  ->  q  ||  ( q ^ C ) )
15941, 158sylan 458 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35  |-  ( ( ( ph  /\  q  e.  A )  /\  C  e.  NN )  ->  q  ||  ( q ^ C
) )
16056adantr 452 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35  |-  ( ( ( ph  /\  q  e.  A )  /\  C  e.  NN )  ->  (
q ^ C ) 
||  ( # `  B
) )
16138, 73eqeltrrd 2511 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37  |-  ( (
ph  /\  q  e.  A )  ->  (
q ^ C )  e.  ZZ )
162 dvdstr 12883 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37  |-  ( ( q  e.  ZZ  /\  ( q ^ C
)  e.  ZZ  /\  ( # `  B )  e.  ZZ )  -> 
( ( q  ||  ( q ^ C
)  /\  ( q ^ C )  ||  ( # `
 B ) )  ->  q  ||  ( # `
 B ) ) )
16341, 161, 57, 162syl3anc 1184 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36  |-  ( (
ph  /\  q  e.  A )  ->  (
( q  ||  (
q ^ C )  /\  ( q ^ C )  ||  ( # `
 B ) )  ->  q  ||  ( # `
 B ) ) )
164163adantr 452 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35  |-  ( ( ( ph  /\  q  e.  A )  /\  C  e.  NN )  ->  (
( q  ||  (
q ^ C )  /\  ( q ^ C )  ||  ( # `
 B ) )  ->  q  ||  ( # `
 B ) ) )
165159, 160, 164mp2and 661 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34  |-  ( ( ( ph  /\  q  e.  A )  /\  C  e.  NN )  ->  q  ||  ( # `  B
) )
166 breq1 4215 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35  |-  ( w  =  q  ->  (
w  ||  ( # `  B
)  <->  q  ||  ( # `
 B ) ) )
167166, 128elrab2 3094 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34  |-  ( q  e.  D  <->  ( q  e.  Prime  /\  q  ||  ( # `  B ) ) )
168157, 165, 167sylanbrc 646 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33  |-  ( ( ( ph  /\  q  e.  A )  /\  C  e.  NN )  ->  q  e.  D )
169168ex 424 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  ( (
ph  /\  q  e.  A )  ->  ( C  e.  NN  ->  q  e.  D ) )
170169con3d 127 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( (
ph  /\  q  e.  A )  ->  ( -.  q  e.  D  ->  -.  C  e.  NN ) )
171170impr 603 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  ->  -.  C  e.  NN )
17242adantrr 698 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  ->  C  e.  NN0 )
173 elnn0 10223 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  ( C  e.  NN0  <->  ( C  e.  NN  \/  C  =  0 ) )
174172, 173sylib 189 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  -> 
( C  e.  NN  \/  C  =  0
) )
175174ord 367 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  -> 
( -.  C  e.  NN  ->  C  = 
0 ) )
176171, 175mpd 15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  ->  C  =  0 )
177176oveq2d 6097 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  -> 
( q ^ C
)  =  ( q ^ 0 ) )
17876adantrr 698 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  -> 
q  e.  NN )
179178nncnd 10016 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  -> 
q  e.  CC )
180179exp0d 11517 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  -> 
( q ^ 0 )  =  1 )
181156, 177, 1803eqtrd 2472 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  -> 
( # `  ( T `
 q ) )  =  1 )
182 fvex 5742 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( 0g
`  G )  e. 
_V
183 hashsng 11647 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( 0g `  G )  e.  _V  ->  ( # `
 { ( 0g
`  G ) } )  =  1 )
184182, 183ax-mp 8 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( # `  { ( 0g `  G ) } )  =  1
185181, 184syl6reqr 2487 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  -> 
( # `  { ( 0g `  G ) } )  =  (
# `  ( T `  q ) ) )
186 snfi 7187 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  { ( 0g `  G ) }  e.  Fin
187 hashen 11631 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( { ( 0g `  G ) }  e.  Fin  /\  ( T `  q )  e.  Fin )  ->  ( ( # `  { ( 0g `  G ) } )  =  ( # `  ( T `  q )
)  <->  { ( 0g `  G ) }  ~~  ( T `  q ) ) )
188186, 151, 187sylancr 645 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  -> 
( ( # `  {
( 0g `  G
) } )  =  ( # `  ( T `  q )
)  <->  { ( 0g `  G ) }  ~~  ( T `  q ) ) )
189185, 188mpbid 202 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  ->  { ( 0g `  G ) }  ~~  ( T `  q ) )
190 fisseneq 7320 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ( ( T `  q
)  e.  Fin  /\  { ( 0g `  G
) }  C_  ( T `  q )  /\  { ( 0g `  G ) }  ~~  ( T `  q ) )  ->  { ( 0g `  G ) }  =  ( T `  q ) )
191151, 155, 189, 190syl3anc 1184 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  ->  { ( 0g `  G ) }  =  ( T `  q ) )
192113subg0cl 14952 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( G DProd  ( T  |`  D ) )  e.  (SubGrp `  G )  ->  ( 0g `  G
)  e.  ( G DProd 
( T  |`  D ) ) )
193137, 192syl 16 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ph  ->  ( 0g `  G
)  e.  ( G DProd 
( T  |`  D ) ) )
194193adantr 452 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  -> 
( 0g `  G
)  e.  ( G DProd 
( T  |`  D ) ) )
195194snssd 3943 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  ->  { ( 0g `  G ) }  C_  ( G DProd  ( T  |`  D ) ) )
196191, 195eqsstr3d 3383 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  -> 
( T `  q
)  C_  ( G DProd  ( T  |`  D )
) )
197150, 196sylan2b 462 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( (
ph  /\  q  e.  ( A  \  D ) )  ->  ( T `  q )  C_  ( G DProd  ( T  |`  D ) ) )
198149, 197eqsstrd 3382 . . . . . . . . . . . . . . . . . . . . 21  |-  ( (
ph  /\  q  e.  ( A  \  D ) )  ->  ( ( T  |`  ( A  \  D ) ) `  q )  C_  ( G DProd  ( T  |`  D ) ) )
199140, 147, 137, 198dprdlub 15584 . . . . . . . . . . . . . . . . . . . 20  |-  ( ph  ->  ( G DProd  ( T  |`  ( A  \  D
) ) )  C_  ( G DProd  ( T  |`  D ) ) )
200 eqid 2436 . . . . . . . . . . . . . . . . . . . . 21  |-  ( LSSum `  G )  =  (
LSSum `  G )
201200lsmss2 15300 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( ( G DProd  ( T  |`  D ) )  e.  (SubGrp `  G )  /\  ( G DProd  ( T  |`  ( A  \  D
) ) )  e.  (SubGrp `  G )  /\  ( G DProd  ( T  |`  ( A  \  D
) ) )  C_  ( G DProd  ( T  |`  D ) ) )  ->  ( ( G DProd 
( T  |`  D ) ) ( LSSum `  G
) ( G DProd  ( T  |`  ( A  \  D ) ) ) )  =  ( G DProd 
( T  |`  D ) ) )
202137, 142, 199, 201syl3anc 1184 . . . . . . . . . . . . . . . . . . 19  |-  ( ph  ->  ( ( G DProd  ( T  |`  D ) ) ( LSSum `  G )
( G DProd  ( T  |`  ( A  \  D
) ) ) )  =  ( G DProd  ( T  |`  D ) ) )
203 disjdif 3700 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( D  i^i  ( A  \  D ) )  =  (/)
204203a1i 11 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ph  ->  ( D  i^i  ( A  \  D ) )  =  (/) )
205 undif2 3704 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( D  u.  ( A  \  D ) )  =  ( D  u.  A
)
206 ssequn1 3517 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( D 
C_  A  <->  ( D  u.  A )  =  A )
20797, 206sylib 189 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ph  ->  ( D  u.  A
)  =  A )
208205, 207syl5req 2481 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ph  ->  A  =  ( D  u.  ( A  \  D ) ) )
2094, 204, 208, 200, 2dprdsplit 15606 . . . . . . . . . . . . . . . . . . . 20  |-  ( ph  ->  ( G DProd  T )  =  ( ( G DProd 
( T  |`  D ) ) ( LSSum `  G
) ( G DProd  ( T  |`  ( A  \  D ) ) ) ) )
2101simprd 450 . . . . . . . . . . . . . . . . . . . 20  |-  ( ph  ->  ( G DProd  T )  =  B )
211209, 210eqtr3d 2470 . . . . . . . . . . . . . . . . . . 19  |-  ( ph  ->  ( ( G DProd  ( T  |`  D ) ) ( LSSum `  G )
( G DProd  ( T  |`  ( A  \  D
) ) ) )  =  B )
212202, 211eqtr3d 2470 . . . . . . . . . . . . . . . . . 18  |-  ( ph  ->  ( G DProd  ( T  |`  D ) )  =  B )
213135, 212jca 519 . . . . . . . . . . . . . . . . 17  |-  ( ph  ->  ( G dom DProd  ( T  |`  D )  /\  ( G DProd  ( T  |`  D ) )  =  B ) )
214213adantr 452 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  x  e.  Prime )  ->  ( G dom DProd  ( T  |`  D )  /\  ( G DProd  ( T  |`  D ) )  =  B ) )
2154, 97, 102syl2anc 643 . . . . . . . . . . . . . . . . . 18  |-  ( ph  ->  ( T  |`  D ) : D --> (SubGrp `  G ) )
216215, 104syl 16 . . . . . . . . . . . . . . . . 17  |-  ( ph  ->  dom  ( T  |`  D )  =  D )
217216adantr 452 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  x  e.  Prime )  ->  dom  ( T  |`  D )  =  D )
21897sselda 3348 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  q  e.  D )  ->  q  e.  A )
219218, 42syldan 457 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  q  e.  D )  ->  C  e.  NN0 )
220219adantlr 696 . . . . . . . . . . . . . . . 16  |-  ( ( ( ph  /\  x  e.  Prime )  /\  q  e.  D )  ->  C  e.  NN0 )
221 fvres 5745 . . . . . . . . . . . . . . . . . . . 20  |-  ( q  e.  D  ->  (
( T  |`  D ) `
 q )  =  ( T `  q
) )
222221adantl 453 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  q  e.  D )  ->  (
( T  |`  D ) `
 q )  =  ( T `  q
) )
223222fveq2d 5732 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  q  e.  D )  ->  ( # `
 ( ( T  |`  D ) `  q
) )  =  (
# `  ( T `  q ) ) )
224218, 38syldan 457 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  q  e.  D )  ->  ( # `
 ( T `  q ) )  =  ( q ^ C
) )
225223, 224eqtrd 2468 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  q  e.  D )  ->  ( # `
 ( ( T  |`  D ) `  q
) )  =  ( q ^ C ) )
226225adantlr 696 . . . . . . . . . . . . . . . 16  |-  ( ( ( ph  /\  x  e.  Prime )  /\  q  e.  D )  ->  ( # `
 ( ( T  |`  D ) `  q
) )  =  ( q ^ C ) )
227 simpr 448 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  x  e.  Prime )  ->  x  e.  Prime )
228 fzfid 11312 . . . . . . . . . . . . . . . . . 18  |-  ( ph  ->  ( 1 ... ( # `
 B ) )  e.  Fin )
229 prmnn 13082 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( w  e.  Prime  ->  w  e.  NN )
2302293ad2ant2 979 . . . . . . . . . . . . . . . . . . . . 21  |-  ( (
ph  /\  w  e.  Prime  /\  w  ||  ( # `
 B ) )  ->  w  e.  NN )
231 prmz 13083 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( w  e.  Prime  ->  w  e.  ZZ )
232 dvdsle 12895 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( w  e.  ZZ  /\  ( # `  B )  e.  NN )  -> 
( w  ||  ( # `
 B )  ->  w  <_  ( # `  B
) ) )
233231, 50, 232syl2anr 465 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( (
ph  /\  w  e.  Prime )  ->  ( w  ||  ( # `  B
)  ->  w  <_  (
# `  B )
) )
2342333impia 1150 . . . . . . . . . . . . . . . . . . . . 21  |-  ( (
ph  /\  w  e.  Prime  /\  w  ||  ( # `
 B ) )  ->  w  <_  ( # `
 B ) )
23550nnzd 10374 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ph  ->  ( # `  B
)  e.  ZZ )
2362353ad2ant1 978 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( (
ph  /\  w  e.  Prime  /\  w  ||  ( # `
 B ) )  ->  ( # `  B
)  e.  ZZ )
237 fznn 11115 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( (
# `  B )  e.  ZZ  ->  ( w  e.  ( 1 ... ( # `
 B ) )  <-> 
( w  e.  NN  /\  w  <_  ( # `  B
) ) ) )
238236, 237syl 16 . . . . . . . . . . . . . . . . . . . . 21  |-  ( (
ph  /\  w  e.  Prime  /\  w  ||  ( # `
 B ) )  ->  ( w  e.  ( 1 ... ( # `
 B ) )  <-> 
( w  e.  NN  /\  w  <_  ( # `  B
) ) ) )
239230, 234, 238mpbir2and 889 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
ph  /\  w  e.  Prime  /\  w  ||  ( # `
 B ) )  ->  w  e.  ( 1 ... ( # `  B ) ) )
240239rabssdv 3423 . . . . . . . . . . . . . . . . . . 19  |-  ( ph  ->  { w  e.  Prime  |  w  ||  ( # `  B ) }  C_  ( 1 ... ( # `
 B ) ) )
241128, 240syl5eqss 3392 . . . . . . . . . . . . . . . . . 18  |-  ( ph  ->  D  C_  ( 1 ... ( # `  B
) ) )
242 ssfi 7329 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( 1 ... ( # `
 B ) )  e.  Fin  /\  D  C_  ( 1 ... ( # `
 B ) ) )  ->  D  e.  Fin )
243228, 241, 242syl2anc 643 . . . . . . . . . . . . . . . . 17  |-  ( ph  ->  D  e.  Fin )
244243adantr 452 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  x  e.  Prime )  ->  D  e.  Fin )
2457, 8, 125, 126, 127, 131, 128, 133, 214, 217, 220, 226, 227, 244ablfac1eulem 15630 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  x  e.  Prime )  ->  -.  x  ||  ( # `  ( G DProd  ( ( T  |`  D )  |`  ( D  \  { x }
) ) ) ) )
246245ralrimiva 2789 . . . . . . . . . . . . . 14  |-  ( ph  ->  A. x  e.  Prime  -.  x  ||  ( # `  ( G DProd  ( ( T  |`  D )  |`  ( D  \  {
x } ) ) ) ) )
247246adantr 452 . . . . . . . . . . . . 13  |-  ( (
ph  /\  q  e.  A )  ->  A. x  e.  Prime  -.  x  ||  ( # `
 ( G DProd  (
( T  |`  D )  |`  ( D  \  {
x } ) ) ) ) )
248 id 20 . . . . . . . . . . . . . . . 16  |-  ( x  =  q  ->  x  =  q )
249 sneq 3825 . . . . . . . . . . . . . . . . . . . 20  |-  ( x  =  q  ->  { x }  =  { q } )
250249difeq2d 3465 . . . . . . . . . . . . . . . . . . 19  |-  ( x  =  q  ->  ( D  \  { x }
)  =  ( D 
\  { q } ) )
251250reseq2d 5146 . . . . . . . . . . . . . . . . . 18  |-  ( x  =  q  ->  (
( T  |`  D )  |`  ( D  \  {
x } ) )  =  ( ( T  |`  D )  |`  ( D  \  { q } ) ) )
252251oveq2d 6097 . . . . . . . . . . . . . . . . 17  |-  ( x  =  q  ->  ( G DProd  ( ( T  |`  D )  |`  ( D  \  { x }
) ) )  =  ( G DProd  ( ( T  |`  D )  |`  ( D  \  {
q } ) ) ) )
253252fveq2d 5732 . . . . . . . . . . . . . . . 16  |-  ( x  =  q  ->  ( # `
 ( G DProd  (
( T  |`  D )  |`  ( D  \  {
x } ) ) ) )  =  (
# `  ( G DProd  ( ( T  |`  D )  |`  ( D  \  {
q } ) ) ) ) )
254248, 253breq12d 4225 . . . . . . . . . . . . . . 15  |-  ( x  =  q  ->  (
x  ||  ( # `  ( G DProd  ( ( T  |`  D )  |`  ( D  \  { x }
) ) ) )  <-> 
q  ||  ( # `  ( G DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) ) ) ) ) )
255254notbid 286 . . . . . . . . . . . . . 14  |-  ( x  =  q  ->  ( -.  x  ||  ( # `  ( G DProd  ( ( T  |`  D )  |`  ( D  \  {
x } ) ) ) )  <->  -.  q  ||  ( # `  ( G DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) ) ) ) ) )
256255rspcv 3048 . . . . . . . . . . . . 13  |-  ( q  e.  Prime  ->  ( A. x  e.  Prime  -.  x  ||  ( # `  ( G DProd  ( ( T  |`  D )  |`  ( D  \  { x }
) ) ) )  ->  -.  q  ||  ( # `  ( G DProd 
( ( T  |`  D )  |`  ( D  \  { q } ) ) ) ) ) )
25739, 247, 256sylc 58 . . . . . . . . . . . 12  |-  ( (
ph  /\  q  e.  A )  ->  -.  q  ||  ( # `  ( G DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) ) ) ) )
258 coprm 13100 . . . . . . . . . . . . 13  |-  ( ( q  e.  Prime  /\  ( # `
 ( G DProd  (
( T  |`  D )  |`  ( D  \  {
q } ) ) ) )  e.  ZZ )  ->  ( -.  q  ||  ( # `  ( G DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) ) ) )  <-> 
( q  gcd  ( # `
 ( G DProd  (
( T  |`  D )  |`  ( D  \  {
q } ) ) ) ) )  =  1 ) )
25939, 124, 258syl2anc 643 . . . . . . . . . . . 12  |-  ( (
ph  /\  q  e.  A )  ->  ( -.  q  ||  ( # `  ( G DProd  ( ( T  |`  D )  |`  ( D  \  {
q } ) ) ) )  <->  ( q  gcd  ( # `  ( G DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) ) ) ) )  =  1 ) )
260257, 259mpbid 202 . . . . . . . . . . 11  |-  ( (
ph  /\  q  e.  A )  ->  (
q  gcd  ( # `  ( G DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) ) ) ) )  =  1 )
261 rpexp1i 13121 . . . . . . . . . . . 12  |-  ( ( q  e.  ZZ  /\  ( # `  ( G DProd 
( ( T  |`  D )  |`  ( D  \  { q } ) ) ) )  e.  ZZ  /\  (
q  pCnt  ( # `  B
) )  e.  NN0 )  ->  ( ( q  gcd  ( # `  ( G DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) ) ) ) )  =  1  -> 
( ( q ^
( q  pCnt  ( # `
 B ) ) )  gcd  ( # `  ( G DProd  ( ( T  |`  D )  |`  ( D  \  {
q } ) ) ) ) )  =  1 ) )
26241, 124, 52, 261syl3anc 1184 . . . . . . . . . . 11  |-  ( (
ph  /\  q  e.  A )  ->  (
( q  gcd  ( # `
 ( G DProd  (
( T  |`  D )  |`  ( D  \  {
q } ) ) ) ) )  =  1  ->  ( (
q ^ ( q 
pCnt  ( # `  B
) ) )  gcd  ( # `  ( G DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) ) ) ) )  =  1 ) )
263260, 262mpd 15 . . . . . . . . . 10  |-  ( (
ph  /\  q  e.  A )  ->  (
( q ^ (
q  pCnt  ( # `  B
) ) )  gcd  ( # `  ( G DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) ) ) ) )  =  1 )
264 coprmdvds2 13103 . . . . . . . . . 10  |-  ( ( ( ( q ^
( q  pCnt  ( # `
 B ) ) )  e.  ZZ  /\  ( # `  ( G DProd 
( ( T  |`  D )  |`  ( D  \  { q } ) ) ) )  e.  ZZ  /\  ( # `
 B )  e.  ZZ )  /\  (
( q ^ (
q  pCnt  ( # `  B
) ) )  gcd  ( # `  ( G DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) ) ) ) )  =  1 )  ->  ( ( ( q ^ ( q 
pCnt  ( # `  B
) ) )  ||  ( # `  B )  /\  ( # `  ( G DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) ) ) ) 
||  ( # `  B
) )  ->  (
( q ^ (
q  pCnt  ( # `  B
) ) )  x.  ( # `  ( G DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) ) ) ) )  ||  ( # `  B ) ) )
26578, 124, 57, 263, 264syl31anc 1187 . . . . . . . . 9  |-  ( (
ph  /\  q  e.  A )  ->  (
( ( q ^
( q  pCnt  ( # `
 B ) ) )  ||  ( # `  B )  /\  ( # `
 ( G DProd  (
( T  |`  D )  |`  ( D  \  {
q } ) ) ) )  ||  ( # `
 B ) )  ->  ( ( q ^ ( q  pCnt  (
# `  B )
) )  x.  ( # `
 ( G DProd  (
( T  |`  D )  |`  ( D  \  {
q } ) ) ) ) )  ||  ( # `  B ) ) )
26694, 112, 265mp2and 661 . . . . . . . 8  |-  ( (
ph  /\  q  e.  A )  ->  (
( q ^ (
q  pCnt  ( # `  B
) ) )  x.  ( # `  ( G DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) ) ) ) )  ||  ( # `  B ) )
267 eqid 2436 . . . . . . . . . 10  |-  (Cntz `  G )  =  (Cntz `  G )
268 inss1 3561 . . . . . . . . . . . . . 14  |-  ( D  i^i  { q } )  C_  D
269268a1i 11 . . . . . . . . . . . . 13  |-  ( (
ph  /\  q  e.  A )  ->  ( D  i^i  { q } )  C_  D )
270100, 105, 269dprdres 15586 . . . . . . . . . . . 12  |-  ( (
ph  /\  q  e.  A )  ->  ( G dom DProd  ( ( T  |`  D )  |`  ( D  i^i  { q } ) )  /\  ( G DProd  ( ( T  |`  D )  |`  ( D  i^i  { q } ) ) )  C_  ( G DProd  ( T  |`  D ) ) ) )
271270simpld 446 . . . . . . . . . . 11  |-  ( (
ph  /\  q  e.  A )  ->  G dom DProd  ( ( T  |`  D )  |`  ( D  i^i  { q } ) ) )
272 dprdsubg 15582 . . . . . . . . . . 11  |-  ( G dom DProd  ( ( T  |`  D )  |`  ( D  i^i  { q } ) )  ->  ( G DProd  ( ( T  |`  D )  |`  ( D  i^i  { q } ) ) )  e.  (SubGrp `  G )
)
273271, 272syl 16 . . . . . . . . . 10  |-  ( (
ph  /\  q  e.  A )  ->  ( G DProd  ( ( T  |`  D )  |`  ( D  i^i  { q } ) ) )  e.  (SubGrp `  G )
)
274 inass 3551 . . . . . . . . . . . . 13  |-  ( ( D  i^i  { q } )  i^i  ( D  \  { q } ) )  =  ( D  i^i  ( { q }  i^i  ( D  \  { q } ) ) )
275 disjdif 3700 . . . . . . . . . . . . . 14  |-  ( { q }  i^i  ( D  \  { q } ) )  =  (/)
276275ineq2i 3539 . . . . . . . . . . . . 13  |-  ( D  i^i  ( { q }  i^i  ( D 
\  { q } ) ) )  =  ( D  i^i  (/) )
277 in0 3653 . . . . . . . . . . . . 13  |-  ( D  i^i  (/) )  =  (/)
278274, 276, 2773eqtri 2460 . . . . . . . . . . . 12  |-  ( ( D  i^i  { q } )  i^i  ( D  \  { q } ) )  =  (/)
279278a1i 11 . . . . . . . . . . 11  |-  ( (
ph  /\  q  e.  A )  ->  (
( D  i^i  {
q } )  i^i  ( D  \  {
q } ) )  =  (/) )
280100, 105, 269, 106, 279, 113dprddisj2 15597 . . . . . . . . . 10  |-  ( (
ph  /\  q  e.  A )  ->  (
( G DProd  ( ( T  |`  D )  |`  ( D  i^i  { q } ) ) )  i^i  ( G DProd  (
( T  |`  D )  |`  ( D  \  {
q } ) ) ) )  =  {
( 0g `  G
) } )
281100, 105, 269, 106, 279, 267dprdcntz2 15596 . . . . . . . . . 10  |-  ( (
ph  /\  q  e.  A )  ->  ( G DProd  ( ( T  |`  D )  |`  ( D  i^i  { q } ) ) )  C_  ( (Cntz `  G ) `  ( G DProd  ( ( T  |`  D )  |`  ( D  \  {
q } ) ) ) ) )
2827dprdssv 15574 . . . . . . . . . . 11  |-  ( G DProd 
( ( T  |`  D )  |`  ( D  i^i  { q } ) ) )  C_  B
283 ssfi 7329 . . . . . . . . . . 11  |-  ( ( B  e.  Fin  /\  ( G DProd  ( ( T  |`  D )  |`  ( D  i^i  { q } ) ) ) 
C_  B )  -> 
( G DProd  ( ( T  |`  D )  |`  ( D  i^i  { q } ) ) )  e.  Fin )
28422, 282, 283sylancl 644 . . . . . . . . . 10  |-  ( (
ph  /\  q  e.  A )  ->  ( G DProd  ( ( T  |`  D )  |`  ( D  i^i  { q } ) ) )  e. 
Fin )
285200, 113, 267, 273, 110, 280, 281, 284, 120lsmhash 15337 . . . . . . . . 9  |-  ( (
ph  /\  q  e.  A )  ->  ( # `
 ( ( G DProd 
( ( T  |`  D )  |`  ( D  i^i  { q } ) ) ) (
LSSum `  G ) ( G DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) ) ) ) )  =  ( (
# `  ( G DProd  ( ( T  |`  D )  |`  ( D  i^i  {
q } ) ) ) )  x.  ( # `
 ( G DProd  (
( T  |`  D )  |`  ( D  \  {
q } ) ) ) ) ) )
286 inundif 3706 . . . . . . . . . . . . . 14  |-  ( ( D  i^i  { q } )  u.  ( D  \  { q } ) )  =  D
287286eqcomi 2440 . . . . . . . . . . . . 13  |-  D  =  ( ( D  i^i  { q } )  u.  ( D  \  {
q } ) )
288287a1i 11 . . . . . . . . . . . 12  |-  ( (
ph  /\  q  e.  A )  ->  D  =  ( ( D  i^i  { q } )  u.  ( D 
\  { q } ) ) )
289103, 279, 288, 200, 100dprdsplit 15606 . . . . . . . . . . 11  |-  ( (
ph  /\  q  e.  A )  ->  ( G DProd  ( T  |`  D ) )  =  ( ( G DProd  ( ( T  |`  D )  |`  ( D  i^i  { q } ) ) ) (
LSSum `  G ) ( G DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) ) ) ) )
290212adantr 452 . . . . . . . . . . 11  |-  ( (
ph  /\  q  e.  A )  ->  ( G DProd  ( T  |`  D ) )  =  B )
291289, 290eqtr3d 2470 . . . . . . . . . 10  |-  ( (
ph  /\  q  e.  A )  ->  (
( G DProd  ( ( T  |`  D )  |`  ( D  i^i  { q } ) ) ) ( LSSum `  G )
( G DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) ) ) )  =  B )
292291fveq2d 5732 . . . . . . . . 9  |-  ( (
ph  /\  q  e.  A )  ->  ( # `
 ( ( G DProd 
( ( T  |`  D )  |`  ( D  i^i  { q } ) ) ) (
LSSum `  G ) ( G DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) ) ) ) )  =  ( # `  B ) )
293 snssi 3942 . . . . . . . . . . . . . . . . 17  |-  ( q  e.  D  ->  { q }  C_  D )
294293adantl 453 . . . . . . . . . . . . . . . 16  |-  ( ( ( ph  /\  q  e.  A )  /\  q  e.  D )  ->  { q }  C_  D )
295 dfss1 3545 . . . . . . . . . . . . . . . 16  |-  ( { q }  C_  D  <->  ( D  i^i  { q } )  =  {
q } )
296294, 295sylib 189 . . . . . . . . . . . . . . 15  |-  ( ( ( ph  /\  q  e.  A )  /\  q  e.  D )  ->  ( D  i^i  { q } )  =  { q } )
297296reseq2d 5146 . . . . . . . . . . . . . 14  |-  ( ( ( ph  /\  q  e.  A )  /\  q  e.  D )  ->  (
( T  |`  D )  |`  ( D  i^i  {
q } ) )  =  ( ( T  |`  D )  |`  { q } ) )
298297oveq2d 6097 . . . . . . . . . . . . 13  |-  ( ( ( ph  /\  q  e.  A )  /\  q  e.  D )  ->  ( G DProd  ( ( T  |`  D )  |`  ( D  i^i  { q } ) ) )  =  ( G DProd  ( ( T  |`  D )  |` 
{ q } ) ) )
299100adantr 452 . . . . . . . . . . . . . 14  |-  ( ( ( ph  /\  q  e.  A )  /\  q  e.  D )  ->  G dom DProd  ( T  |`  D ) )
300216ad2antrr 707 . . . . . . . . . . . . . 14  |-  ( ( ( ph  /\  q  e.  A )  /\  q  e.  D )  ->  dom  ( T  |`  D )  =  D )
301 simpr 448 . . . . . . . . . . . . . 14  |-  ( ( ( ph  /\  q  e.  A )  /\  q  e.  D )  ->  q  e.  D )
302299, 300, 301dpjlem 15609 . . . . . . . . . . . . 13  |-  ( ( ( ph  /\  q  e.  A )  /\  q  e.  D )  ->  ( G DProd  ( ( T  |`  D )  |`  { q } ) )  =  ( ( T  |`  D ) `  q
) )
303221adantl 453 . . . . . . . . . . . . 13  |-  ( ( ( ph  /\  q  e.  A )  /\  q  e.  D )  ->  (
( T  |`  D ) `
 q )  =  ( T `  q
) )
304298, 302, 3033eqtrd 2472 . . . . . . . . . . . 12  |-  ( ( ( ph  /\  q  e.  A )  /\  q  e.  D )  ->  ( G DProd  ( ( T  |`  D )  |`  ( D  i^i  { q } ) ) )  =  ( T `  q
) )
305 simprr 734 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  ->  -.  q  e.  D
)
306 disjsn 3868 . . . . . . . . . . . . . . . . . 18  |-  ( ( D  i^i  { q } )  =  (/)  <->  -.  q  e.  D )
307305, 306sylibr 204 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  -> 
( D  i^i  {
q } )  =  (/) )
308307reseq2d 5146 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  -> 
( ( T  |`  D )  |`  ( D  i^i  { q } ) )  =  ( ( T  |`  D )  |`  (/) ) )
309 res0 5150 . . . . . . . . . . . . . . . 16  |-  ( ( T  |`  D )  |`  (/) )  =  (/)
310308, 309syl6eq 2484 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  -> 
( ( T  |`  D )  |`  ( D  i^i  { q } ) )  =  (/) )
311310oveq2d 6097 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  -> 
( G DProd  ( ( T  |`  D )  |`  ( D  i^i  { q } ) ) )  =  ( G DProd  (/) ) )
312113dprd0 15589 . . . . . . . . . . . . . . . . 17  |-  ( G  e.  Grp  ->  ( G dom DProd  (/)  /\  ( G DProd  (/) )  =  { ( 0g `  G ) } ) )
31345, 312syl 16 . . . . . . . . . . . . . . . 16  |-  ( ph  ->  ( G dom DProd  (/)  /\  ( G DProd 
(/) )  =  {
( 0g `  G
) } ) )
314313simprd 450 . . . . . . . . . . . . . . 15  |-  ( ph  ->  ( G DProd  (/) )  =  { ( 0g `  G ) } )
315314adantr 452 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  -> 
( G DProd  (/) )  =  { ( 0g `  G ) } )
316311, 315, 1913eqtrd 2472 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  -> 
( G DProd  ( ( T  |`  D )  |`  ( D  i^i  { q } ) ) )  =  ( T `  q ) )
317316anassrs 630 . . . . . . . . . . . 12  |-  ( ( ( ph  /\  q  e.  A )  /\  -.  q  e.  D )  ->  ( G DProd  ( ( T  |`  D )  |`  ( D  i^i  {
q } ) ) )  =  ( T `
 q ) )
318304, 317pm2.61dan 767 . . . . . . . . . . 11  |-  ( (
ph  /\  q  e.  A )  ->  ( G DProd  ( ( T  |`  D )  |`  ( D  i^i  { q } ) ) )  =  ( T `  q
) )
319318fveq2d 5732 . . . . . . . . . 10  |-  ( (
ph  /\  q  e.  A )  ->  ( # `
 ( G DProd  (
( T  |`  D )  |`  ( D  i^i  {
q } ) ) ) )  =  (
# `  ( T `  q ) ) )
320319oveq1d 6096 . . . . . . . . 9  |-  ( (
ph  /\  q  e.  A )  ->  (
( # `  ( G DProd 
( ( T  |`  D )  |`  ( D  i^i  { q } ) ) ) )  x.  ( # `  ( G DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) ) ) ) )  =  ( (
# `  ( T `  q ) )  x.  ( # `  ( G DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) ) ) ) ) )
321285, 292, 3203eqtr3d 2476 . . . . . . . 8  |-  ( (
ph  /\  q  e.  A )  ->  ( # `
 B )  =  ( ( # `  ( T `  q )
)  x.  ( # `  ( G DProd  ( ( T  |`  D )  |`  ( D  \  {
q } ) ) ) ) ) )
322266, 321breqtrd 4236 . . . . . . 7  |-  ( (
ph  /\  q  e.  A )  ->  (
( q ^ (
q  pCnt  ( # `  B
) ) )  x.  ( # `  ( G DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) ) ) ) )  ||  ( (
# `  ( T `  q ) )  x.  ( # `  ( G DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) ) ) ) ) )
323123nnne0d 10044 . . . . . . . 8  |-  ( (
ph  /\  q  e.  A )  ->  ( # `
 ( G DProd  (
( T  |`  D )  |`  ( D  \  {
q } ) ) ) )  =/=  0
)
324 dvdsmulcr 12879 . . . . . . . 8  |-  ( ( ( q ^ (
q  pCnt  ( # `  B
) ) )  e.  ZZ  /\  ( # `  ( T `  q
) )  e.  ZZ  /\  ( ( # `  ( G DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) ) ) )  e.  ZZ  /\  ( # `
 ( G DProd  (
( T  |`  D )  |`  ( D  \  {
q } ) ) ) )  =/=  0
) )  ->  (
( ( q ^
( q  pCnt  ( # `
 B ) ) )  x.  ( # `  ( G DProd  ( ( T  |`  D )  |`  ( D  \  {
q } ) ) ) ) )  ||  ( ( # `  ( T `  q )
)  x.  ( # `  ( G DProd  ( ( T  |`  D )  |`  ( D  \  {
q } ) ) ) ) )  <->  ( q ^ ( q  pCnt  (
# `  B )
) )  ||  ( # `
 ( T `  q ) ) ) )
32578, 73, 124, 323, 324syl112anc 1188 . . . . . . 7  |-  ( (
ph  /\  q  e.  A )  ->  (
( ( q ^
( q  pCnt  ( # `
 B ) ) )  x.  ( # `  ( G DProd  ( ( T  |`  D )  |`  ( D  \  {
q } ) ) ) ) )  ||  ( ( # `  ( T `  q )
)  x.  ( # `  ( G DProd  ( ( T  |`  D )  |`  ( D  \  {
q } ) ) ) ) )  <->  ( q ^ ( q  pCnt  (
# `  B )
) )  ||  ( # `
 ( T `  q ) ) ) )
326322, 325mpbid 202 . . . . . 6  |-  ( (
ph  /\  q  e.  A )  ->  (
q ^ ( q 
pCnt  ( # `  B
) ) )  ||  ( # `  ( T `
 q ) ) )
327 dvdseq 12897 . . . . . 6  |-  ( ( ( ( # `  ( T `  q )
)  e.  NN0  /\  ( q ^ (
q  pCnt  ( # `  B
) ) )  e. 
NN0 )  /\  (
( # `  ( T `
 q ) ) 
||  ( q ^
( q  pCnt  ( # `
 B ) ) )  /\  ( q ^ ( q  pCnt  (
# `  B )
) )  ||  ( # `
 ( T `  q ) ) ) )  ->  ( # `  ( T `  q )
)  =  ( q ^ ( q  pCnt  (
# `  B )
) ) )
32872, 92, 65, 326, 327syl22anc 1185 . . . . 5  |-  ( (
ph  /\  q  e.  A )  ->  ( # `
 ( T `  q ) )  =  ( q ^ (
q  pCnt  ( # `  B
) ) ) )
3297, 8, 9, 10, 11, 12ablfac1a 15627 . . . . 5  |-  ( (
ph  /\  q  e.  A )  ->  ( # `
 ( S `  q ) )  =  ( q ^ (
q  pCnt  ( # `  B
) ) ) )
330328, 329eqtr4d 2471 . . . 4  |-  ( (
ph  /\  q  e.  A )  ->  ( # `
 ( T `  q ) )  =  ( # `  ( S `  q )
) )
331 hashen 11631 . . . . 5  |-  ( ( ( T `  q
)  e.  Fin  /\  ( S `  q )  e.  Fin )  -> 
( ( # `  ( T `  q )
)  =  ( # `  ( S `  q
) )  <->  ( T `  q )  ~~  ( S `  q )
) )
33233, 27, 331syl2anc 643 . . . 4  |-  ( (
ph  /\  q  e.  A )  ->  (
( # `  ( T `
 q ) )  =  ( # `  ( S `  q )
)  <->  ( T `  q )  ~~  ( S `  q )
) )
333330, 332mpbid 202 . . 3  |-  ( (
ph  /\  q  e.  A )  ->  ( T `  q )  ~~  ( S `  q
) )
334 fisseneq 7320 . . 3  |-  ( ( ( S `  q
)  e.  Fin  /\  ( T `  q ) 
C_  ( S `  q )  /\  ( T `  q )  ~~  ( S `  q
) )  ->  ( T `  q )  =  ( S `  q ) )
33527, 91, 333, 334syl3anc 1184 . 2  |-  ( (
ph  /\  q  e.  A )  ->  ( T `  q )  =  ( S `  q ) )
3366, 21, 335eqfnfvd 5830 1  |-  ( ph  ->  T  =  S )
Colors of variables: wff set class
Syntax hints:   -. wn 3    -> wi 4    <-> wb 177    \/ wo 358    /\ wa 359    /\ w3a 936    = wceq 1652    e. wcel 1725    =/= wne 2599   A.wral 2705   {crab 2709   _Vcvv 2956    \ cdif 3317    u. cun 3318    i^i cin 3319    C_ wss 3320   (/)c0 3628   {csn 3814   class class class wbr 4212    e. cmpt 4266   dom cdm 4878    |` cres 4880    Fn wfn 5449   -->wf 5450   ` cfv 5454  (class class class)co 6081    ~~ cen 7106   Fincfn 7109   0cc0 8990   1c1 8991    x. cmul 8995    <_ cle 9121   NNcn 10000   NN0cn0 10221   ZZcz 10282   ZZ>=cuz 10488   ...cfz 11043   ^cexp 11382   #chash 11618    || cdivides 12852    gcd cgcd 13006   Primecprime 13079    pCnt cpc 13210   Basecbs 13469   0gc0g 13723   Grpcgrp 14685  SubGrpcsubg 14938  Cntzccntz 15114   odcod 15163   LSSumclsm 15268   Abelcabel 15413   DProd cdprd 15554
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1555  ax-5 1566  ax-17 1626  ax-9 1666  ax-8 1687  ax-13 1727  ax-14 1729  ax-6 1744  ax-7 1749  ax-11 1761  ax-12 1950  ax-ext 2417  ax-rep 4320  ax-sep 4330  ax-nul 4338  ax-pow 4377  ax-pr 4403  ax-un 4701  ax-inf2 7596  ax-cnex 9046  ax-resscn 9047  ax-1cn 9048  ax-icn 9049  ax-addcl 9050  ax-addrcl 9051  ax-mulcl 9052  ax-mulrcl 9053  ax-mulcom 9054  ax-addass 9055  ax-mulass 9056  ax-distr 9057  ax-i2m1 9058  ax-1ne0 9059  ax-1rid 9060  ax-rnegex 9061  ax-rrecex 9062  ax-cnre 9063  ax-pre-lttri 9064  ax-pre-lttrn 9065  ax-pre-ltadd 9066  ax-pre-mulgt0 9067  ax-pre-sup 9068
This theorem depends on definitions:  df-bi 178  df-or 360  df-an 361  df-3or 937  df-3an 938  df-tru 1328  df-ex 1551  df-nf 1554  df-sb 1659  df-eu 2285  df-mo 2286  df-clab 2423  df-cleq 2429  df-clel 2432  df-nfc 2561  df-ne 2601  df-nel 2602  df-ral 2710  df-rex 2711  df-reu 2712  df-rmo 2713  df-rab 2714  df-v 2958  df-sbc 3162  df-csb 3252  df-dif 3323  df-un 3325  df-in 3327  df-ss 3334  df-pss 3336  df-nul 3629  df-if 3740  df-pw 3801  df-sn 3820  df-pr 3821  df-tp 3822  df-op 3823  df-uni 4016  df-int 4051  df-iun 4095  df-iin 4096  df-disj 4183  df-br 4213  df-opab 4267  df-mpt 4268  df-tr 4303  df-eprel 4494  df-id 4498  df-po 4503  df-so 4504  df-fr 4541  df-se 4542  df-we 4543  df-ord 4584  df-on 4585  df-lim 4586  df-suc 4587  df-om 4846  df-xp 4884  df-rel 4885  df-cnv 4886  df-co 4887  df-dm 4888  df-rn 4889  df-res 4890  df-ima 4891  df-iota 5418  df-fun 5456  df-fn 5457  df-f 5458  df-f1 5459  df-fo 5460  df-f1o 5461  df-fv 5462  df-isom 5463  df-ov 6084  df-oprab 6085  df-mpt2 6086  df-of 6305  df-1st 6349  df-2nd 6350  df-tpos 6479  df-riota 6549  df-recs 6633  df-rdg 6668  df-1o 6724  df-2o 6725  df-oadd 6728  df-omul 6729  df-er 6905  df-ec 6907  df-qs 6911  df-map 7020  df-ixp 7064  df-en 7110  df-dom 7111  df-sdom 7112  df-fin 7113  df-sup 7446  df-oi 7479  df-card 7826  df-acn 7829  df-cda 8048  df-pnf 9122  df-mnf 9123  df-xr 9124  df-ltxr 9125  df-le 9126  df-sub 9293  df-neg 9294  df-div 9678  df-nn 10001  df-2 10058  df-3 10059  df-n0 10222  df-z 10283  df-uz 10489  df-q 10575  df-rp 10613  df-fz 11044  df-fzo 11136  df-fl 11202  df-mod 11251  df-seq 11324  df-exp 11383  df-fac 11567  df-bc 11594  df-hash 11619  df-cj 11904  df-re 11905  df-im 11906  df-sqr 12040  df-abs 12041  df-clim 12282  df-sum 12480  df-dvds 12853  df-gcd 13007  df-prm 13080  df-pc 13211  df-ndx 13472  df-slot 13473  df-base 13474  df-sets 13475  df-ress 13476  df-plusg 13542  df-0g 13727  df-gsum 13728  df-mre 13811  df-mrc 13812  df-acs 13814  df-mnd 14690  df-mhm 14738  df-submnd 14739  df-grp 14812  df-minusg 14813  df-sbg 14814  df-mulg 14815  df-subg 14941  df-eqg 14943  df-ghm 15004  df-gim 15046  df-ga 15067  df-cntz 15116  df-oppg 15142  df-od 15167  df-lsm 15270  df-pj1 15271  df-cmn 15414  df-abl 15415  df-dprd 15556
  Copyright terms: Public domain W3C validator