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

Theorem ablfac1eu 17251
Description: The factorization of ablfac1b 17248 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 459 . . . 4  |-  ( ph  ->  G dom DProd  T )
3 ablfac1eu.2 . . . 4  |-  ( ph  ->  dom  T  =  A )
42, 3dprdf2 17167 . . 3  |-  ( ph  ->  T : A --> (SubGrp `  G ) )
5 ffn 5737 . . 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 17248 . . . 4  |-  ( ph  ->  G dom DProd  S )
14 fvex 5882 . . . . . . . 8  |-  ( Base `  G )  e.  _V
157, 14eqeltri 2541 . . . . . . 7  |-  B  e. 
_V
1615rabex 4607 . . . . . 6  |-  { x  e.  B  |  ( O `  x )  ||  ( p ^ (
p  pCnt  ( # `  B
) ) ) }  e.  _V
1716, 9dmmpti 5716 . . . . 5  |-  dom  S  =  A
1817a1i 11 . . . 4  |-  ( ph  ->  dom  S  =  A )
1913, 18dprdf2 17167 . . 3  |-  ( ph  ->  S : A --> (SubGrp `  G ) )
20 ffn 5737 . . 3  |-  ( S : A --> (SubGrp `  G )  ->  S  Fn  A )
2119, 20syl 16 . 2  |-  ( ph  ->  S  Fn  A )
2211adantr 465 . . . 4  |-  ( (
ph  /\  q  e.  A )  ->  B  e.  Fin )
2319ffvelrnda 6032 . . . . 5  |-  ( (
ph  /\  q  e.  A )  ->  ( S `  q )  e.  (SubGrp `  G )
)
247subgss 16329 . . . . 5  |-  ( ( S `  q )  e.  (SubGrp `  G
)  ->  ( S `  q )  C_  B
)
2523, 24syl 16 . . . 4  |-  ( (
ph  /\  q  e.  A )  ->  ( S `  q )  C_  B )
26 ssfi 7759 . . . 4  |-  ( ( B  e.  Fin  /\  ( S `  q ) 
C_  B )  -> 
( S `  q
)  e.  Fin )
2722, 25, 26syl2anc 661 . . 3  |-  ( (
ph  /\  q  e.  A )  ->  ( S `  q )  e.  Fin )
284ffvelrnda 6032 . . . . . 6  |-  ( (
ph  /\  q  e.  A )  ->  ( T `  q )  e.  (SubGrp `  G )
)
297subgss 16329 . . . . . 6  |-  ( ( T `  q )  e.  (SubGrp `  G
)  ->  ( T `  q )  C_  B
)
3028, 29syl 16 . . . . 5  |-  ( (
ph  /\  q  e.  A )  ->  ( T `  q )  C_  B )
3128adantr 465 . . . . . . 7  |-  ( ( ( ph  /\  q  e.  A )  /\  x  e.  ( T `  q
) )  ->  ( T `  q )  e.  (SubGrp `  G )
)
32 ssfi 7759 . . . . . . . . 9  |-  ( ( B  e.  Fin  /\  ( T `  q ) 
C_  B )  -> 
( T `  q
)  e.  Fin )
3322, 30, 32syl2anc 661 . . . . . . . 8  |-  ( (
ph  /\  q  e.  A )  ->  ( T `  q )  e.  Fin )
3433adantr 465 . . . . . . 7  |-  ( ( ( ph  /\  q  e.  A )  /\  x  e.  ( T `  q
) )  ->  ( T `  q )  e.  Fin )
35 simpr 461 . . . . . . 7  |-  ( ( ( ph  /\  q  e.  A )  /\  x  e.  ( T `  q
) )  ->  x  e.  ( T `  q
) )
368odsubdvds 16718 . . . . . . 7  |-  ( ( ( T `  q
)  e.  (SubGrp `  G )  /\  ( T `  q )  e.  Fin  /\  x  e.  ( T `  q
) )  ->  ( O `  x )  ||  ( # `  ( T `  q )
) )
3731, 34, 35, 36syl3anc 1228 . . . . . 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 3499 . . . . . . . . . 10  |-  ( (
ph  /\  q  e.  A )  ->  q  e.  Prime )
40 prmz 14233 . . . . . . . . . 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 10988 . . . . . . . . . 10  |-  ( (
ph  /\  q  e.  A )  ->  C  e.  ZZ )
44 ablgrp 16930 . . . . . . . . . . . . . . . 16  |-  ( G  e.  Abel  ->  G  e. 
Grp )
4510, 44syl 16 . . . . . . . . . . . . . . 15  |-  ( ph  ->  G  e.  Grp )
467grpbn0 16206 . . . . . . . . . . . . . . 15  |-  ( G  e.  Grp  ->  B  =/=  (/) )
4745, 46syl 16 . . . . . . . . . . . . . 14  |-  ( ph  ->  B  =/=  (/) )
48 hashnncl 12439 . . . . . . . . . . . . . . 15  |-  ( B  e.  Fin  ->  (
( # `  B )  e.  NN  <->  B  =/=  (/) ) )
4911, 48syl 16 . . . . . . . . . . . . . 14  |-  ( ph  ->  ( ( # `  B
)  e.  NN  <->  B  =/=  (/) ) )
5047, 49mpbird 232 . . . . . . . . . . . . 13  |-  ( ph  ->  ( # `  B
)  e.  NN )
5150adantr 465 . . . . . . . . . . . 12  |-  ( (
ph  /\  q  e.  A )  ->  ( # `
 B )  e.  NN )
5239, 51pccld 14386 . . . . . . . . . . 11  |-  ( (
ph  /\  q  e.  A )  ->  (
q  pCnt  ( # `  B
) )  e.  NN0 )
5352nn0zd 10988 . . . . . . . . . 10  |-  ( (
ph  /\  q  e.  A )  ->  (
q  pCnt  ( # `  B
) )  e.  ZZ )
547lagsubg 16390 . . . . . . . . . . . . 13  |-  ( ( ( T `  q
)  e.  (SubGrp `  G )  /\  B  e.  Fin )  ->  ( # `
 ( T `  q ) )  ||  ( # `  B ) )
5528, 22, 54syl2anc 661 . . . . . . . . . . . 12  |-  ( (
ph  /\  q  e.  A )  ->  ( # `
 ( T `  q ) )  ||  ( # `  B ) )
5638, 55eqbrtrrd 4478 . . . . . . . . . . 11  |-  ( (
ph  /\  q  e.  A )  ->  (
q ^ C ) 
||  ( # `  B
) )
5751nnzd 10989 . . . . . . . . . . . 12  |-  ( (
ph  /\  q  e.  A )  ->  ( # `
 B )  e.  ZZ )
58 pcdvdsb 14404 . . . . . . . . . . . 12  |-  ( ( q  e.  Prime  /\  ( # `
 B )  e.  ZZ  /\  C  e. 
NN0 )  ->  ( C  <_  ( q  pCnt  (
# `  B )
)  <->  ( q ^ C )  ||  ( # `
 B ) ) )
5939, 57, 42, 58syl3anc 1228 . . . . . . . . . . 11  |-  ( (
ph  /\  q  e.  A )  ->  ( C  <_  ( q  pCnt  (
# `  B )
)  <->  ( q ^ C )  ||  ( # `
 B ) ) )
6056, 59mpbird 232 . . . . . . . . . 10  |-  ( (
ph  /\  q  e.  A )  ->  C  <_  ( q  pCnt  ( # `
 B ) ) )
61 eluz2 11112 . . . . . . . . . 10  |-  ( ( q  pCnt  ( # `  B
) )  e.  (
ZZ>= `  C )  <->  ( C  e.  ZZ  /\  ( q 
pCnt  ( # `  B
) )  e.  ZZ  /\  C  <_  ( q  pCnt  ( # `  B
) ) ) )
6243, 53, 60, 61syl3anbrc 1180 . . . . . . . . 9  |-  ( (
ph  /\  q  e.  A )  ->  (
q  pCnt  ( # `  B
) )  e.  (
ZZ>= `  C ) )
63 dvdsexp 14054 . . . . . . . . 9  |-  ( ( q  e.  ZZ  /\  C  e.  NN0  /\  (
q  pCnt  ( # `  B
) )  e.  (
ZZ>= `  C ) )  ->  ( q ^ C )  ||  (
q ^ ( q 
pCnt  ( # `  B
) ) ) )
6441, 42, 62, 63syl3anc 1228 . . . . . . . 8  |-  ( (
ph  /\  q  e.  A )  ->  (
q ^ C ) 
||  ( q ^
( q  pCnt  ( # `
 B ) ) ) )
6538, 64eqbrtrd 4476 . . . . . . 7  |-  ( (
ph  /\  q  e.  A )  ->  ( # `
 ( T `  q ) )  ||  ( q ^ (
q  pCnt  ( # `  B
) ) ) )
6665adantr 465 . . . . . 6  |-  ( ( ( ph  /\  q  e.  A )  /\  x  e.  ( T `  q
) )  ->  ( # `
 ( T `  q ) )  ||  ( q ^ (
q  pCnt  ( # `  B
) ) ) )
6730sselda 3499 . . . . . . . . 9  |-  ( ( ( ph  /\  q  e.  A )  /\  x  e.  ( T `  q
) )  ->  x  e.  B )
687, 8odcl 16687 . . . . . . . . 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 10988 . . . . . . 7  |-  ( ( ( ph  /\  q  e.  A )  /\  x  e.  ( T `  q
) )  ->  ( O `  x )  e.  ZZ )
71 hashcl 12431 . . . . . . . . . 10  |-  ( ( T `  q )  e.  Fin  ->  ( # `
 ( T `  q ) )  e. 
NN0 )
7233, 71syl 16 . . . . . . . . 9  |-  ( (
ph  /\  q  e.  A )  ->  ( # `
 ( T `  q ) )  e. 
NN0 )
7372nn0zd 10988 . . . . . . . 8  |-  ( (
ph  /\  q  e.  A )  ->  ( # `
 ( T `  q ) )  e.  ZZ )
7473adantr 465 . . . . . . 7  |-  ( ( ( ph  /\  q  e.  A )  /\  x  e.  ( T `  q
) )  ->  ( # `
 ( T `  q ) )  e.  ZZ )
75 prmnn 14232 . . . . . . . . . . 11  |-  ( q  e.  Prime  ->  q  e.  NN )
7639, 75syl 16 . . . . . . . . . 10  |-  ( (
ph  /\  q  e.  A )  ->  q  e.  NN )
7776, 52nnexpcld 12334 . . . . . . . . 9  |-  ( (
ph  /\  q  e.  A )  ->  (
q ^ ( q 
pCnt  ( # `  B
) ) )  e.  NN )
7877nnzd 10989 . . . . . . . 8  |-  ( (
ph  /\  q  e.  A )  ->  (
q ^ ( q 
pCnt  ( # `  B
) ) )  e.  ZZ )
7978adantr 465 . . . . . . 7  |-  ( ( ( ph  /\  q  e.  A )  /\  x  e.  ( T `  q
) )  ->  (
q ^ ( q 
pCnt  ( # `  B
) ) )  e.  ZZ )
80 dvdstr 14030 . . . . . . 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 1228 . . . . . 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 679 . . . . 5  |-  ( ( ( ph  /\  q  e.  A )  /\  x  e.  ( T `  q
) )  ->  ( O `  x )  ||  ( q ^ (
q  pCnt  ( # `  B
) ) ) )
8330, 82ssrabdv 3575 . . . 4  |-  ( (
ph  /\  q  e.  A )  ->  ( T `  q )  C_ 
{ x  e.  B  |  ( O `  x )  ||  (
q ^ ( q 
pCnt  ( # `  B
) ) ) } )
84 id 22 . . . . . . . . 9  |-  ( p  =  q  ->  p  =  q )
85 oveq1 6303 . . . . . . . . 9  |-  ( p  =  q  ->  (
p  pCnt  ( # `  B
) )  =  ( q  pCnt  ( # `  B
) ) )
8684, 85oveq12d 6314 . . . . . . . 8  |-  ( p  =  q  ->  (
p ^ ( p 
pCnt  ( # `  B
) ) )  =  ( q ^ (
q  pCnt  ( # `  B
) ) ) )
8786breq2d 4468 . . . . . . 7  |-  ( p  =  q  ->  (
( O `  x
)  ||  ( p ^ ( p  pCnt  (
# `  B )
) )  <->  ( O `  x )  ||  (
q ^ ( q 
pCnt  ( # `  B
) ) ) ) )
8887rabbidv 3101 . . . . . 6  |-  ( p  =  q  ->  { x  e.  B  |  ( O `  x )  ||  ( p ^ (
p  pCnt  ( # `  B
) ) ) }  =  { x  e.  B  |  ( O `
 x )  ||  ( q ^ (
q  pCnt  ( # `  B
) ) ) } )
8988, 9, 16fvmpt3i 5960 . . . . 5  |-  ( q  e.  A  ->  ( S `  q )  =  { x  e.  B  |  ( O `  x )  ||  (
q ^ ( q 
pCnt  ( # `  B
) ) ) } )
9089adantl 466 . . . 4  |-  ( (
ph  /\  q  e.  A )  ->  ( S `  q )  =  { x  e.  B  |  ( O `  x )  ||  (
q ^ ( q 
pCnt  ( # `  B
) ) ) } )
9183, 90sseqtr4d 3536 . . 3  |-  ( (
ph  /\  q  e.  A )  ->  ( T `  q )  C_  ( S `  q
) )
9277nnnn0d 10873 . . . . . 6  |-  ( (
ph  /\  q  e.  A )  ->  (
q ^ ( q 
pCnt  ( # `  B
) ) )  e. 
NN0 )
93 pcdvds 14399 . . . . . . . . . 10  |-  ( ( q  e.  Prime  /\  ( # `
 B )  e.  NN )  ->  (
q ^ ( q 
pCnt  ( # `  B
) ) )  ||  ( # `  B ) )
9439, 51, 93syl2anc 661 . . . . . . . . 9  |-  ( (
ph  /\  q  e.  A )  ->  (
q ^ ( q 
pCnt  ( # `  B
) ) )  ||  ( # `  B ) )
952adantr 465 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  q  e.  A )  ->  G dom DProd  T )
963adantr 465 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  q  e.  A )  ->  dom  T  =  A )
97 ablfac1.2 . . . . . . . . . . . . . . . 16  |-  ( ph  ->  D  C_  A )
9897adantr 465 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  q  e.  A )  ->  D  C_  A )
9995, 96, 98dprdres 17202 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  q  e.  A )  ->  ( G dom DProd  ( T  |`  D )  /\  ( G DProd  ( T  |`  D ) )  C_  ( G DProd  T ) ) )
10099simpld 459 . . . . . . . . . . . . 13  |-  ( (
ph  /\  q  e.  A )  ->  G dom DProd  ( T  |`  D ) )
1014adantr 465 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  q  e.  A )  ->  T : A --> (SubGrp `  G )
)
102101, 98fssresd 5758 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  q  e.  A )  ->  ( T  |`  D ) : D --> (SubGrp `  G )
)
103 fdm 5741 . . . . . . . . . . . . . 14  |-  ( ( T  |`  D ) : D --> (SubGrp `  G )  ->  dom  ( T  |`  D )  =  D )
104102, 103syl 16 . . . . . . . . . . . . 13  |-  ( (
ph  /\  q  e.  A )  ->  dom  ( T  |`  D )  =  D )
105 difssd 3628 . . . . . . . . . . . . 13  |-  ( (
ph  /\  q  e.  A )  ->  ( D  \  { q } )  C_  D )
106100, 104, 105dprdres 17202 . . . . . . . . . . . 12  |-  ( (
ph  /\  q  e.  A )  ->  ( G dom DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) )  /\  ( G DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) ) )  C_  ( G DProd  ( T  |`  D ) ) ) )
107106simpld 459 . . . . . . . . . . 11  |-  ( (
ph  /\  q  e.  A )  ->  G dom DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) ) )
108 dprdsubg 17198 . . . . . . . . . . 11  |-  ( G dom DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) )  ->  ( G DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) ) )  e.  (SubGrp `  G )
)
109107, 108syl 16 . . . . . . . . . 10  |-  ( (
ph  /\  q  e.  A )  ->  ( G DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) ) )  e.  (SubGrp `  G )
)
1107lagsubg 16390 . . . . . . . . . 10  |-  ( ( ( G DProd  ( ( T  |`  D )  |`  ( D  \  {
q } ) ) )  e.  (SubGrp `  G )  /\  B  e.  Fin )  ->  ( # `
 ( G DProd  (
( T  |`  D )  |`  ( D  \  {
q } ) ) ) )  ||  ( # `
 B ) )
111109, 22, 110syl2anc 661 . . . . . . . . 9  |-  ( (
ph  /\  q  e.  A )  ->  ( # `
 ( G DProd  (
( T  |`  D )  |`  ( D  \  {
q } ) ) ) )  ||  ( # `
 B ) )
112 eqid 2457 . . . . . . . . . . . . . . 15  |-  ( 0g
`  G )  =  ( 0g `  G
)
113112subg0cl 16336 . . . . . . . . . . . . . 14  |-  ( ( G DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) ) )  e.  (SubGrp `  G )  ->  ( 0g `  G
)  e.  ( G DProd 
( ( T  |`  D )  |`  ( D  \  { q } ) ) ) )
114109, 113syl 16 . . . . . . . . . . . . 13  |-  ( (
ph  /\  q  e.  A )  ->  ( 0g `  G )  e.  ( G DProd  ( ( T  |`  D )  |`  ( D  \  {
q } ) ) ) )
115 ne0i 3799 . . . . . . . . . . . . 13  |-  ( ( 0g `  G )  e.  ( G DProd  (
( T  |`  D )  |`  ( D  \  {
q } ) ) )  ->  ( G DProd  ( ( T  |`  D )  |`  ( D  \  {
q } ) ) )  =/=  (/) )
116114, 115syl 16 . . . . . . . . . . . 12  |-  ( (
ph  /\  q  e.  A )  ->  ( G DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) ) )  =/=  (/) )
1177dprdssv 17183 . . . . . . . . . . . . . 14  |-  ( G DProd 
( ( T  |`  D )  |`  ( D  \  { q } ) ) )  C_  B
118 ssfi 7759 . . . . . . . . . . . . . 14  |-  ( ( B  e.  Fin  /\  ( G DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) ) ) 
C_  B )  -> 
( G DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) ) )  e.  Fin )
11922, 117, 118sylancl 662 . . . . . . . . . . . . 13  |-  ( (
ph  /\  q  e.  A )  ->  ( G DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) ) )  e. 
Fin )
120 hashnncl 12439 . . . . . . . . . . . . 13  |-  ( ( G DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) ) )  e. 
Fin  ->  ( ( # `  ( G DProd  ( ( T  |`  D )  |`  ( D  \  {
q } ) ) ) )  e.  NN  <->  ( G DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) ) )  =/=  (/) ) )
121119, 120syl 16 . . . . . . . . . . . 12  |-  ( (
ph  /\  q  e.  A )  ->  (
( # `  ( G DProd 
( ( T  |`  D )  |`  ( D  \  { q } ) ) ) )  e.  NN  <->  ( G DProd  ( ( T  |`  D )  |`  ( D  \  {
q } ) ) )  =/=  (/) ) )
122116, 121mpbird 232 . . . . . . . . . . 11  |-  ( (
ph  /\  q  e.  A )  ->  ( # `
 ( G DProd  (
( T  |`  D )  |`  ( D  \  {
q } ) ) ) )  e.  NN )
123122nnzd 10989 . . . . . . . . . 10  |-  ( (
ph  /\  q  e.  A )  ->  ( # `
 ( G DProd  (
( T  |`  D )  |`  ( D  \  {
q } ) ) ) )  e.  ZZ )
124 eqid 2457 . . . . . . . . . . . . . . . 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
) ) ) } )
12510adantr 465 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  x  e.  Prime )  ->  G  e.  Abel )
12611adantr 465 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  x  e.  Prime )  ->  B  e.  Fin )
127 ablfac1c.d . . . . . . . . . . . . . . . . . 18  |-  D  =  { w  e.  Prime  |  w  ||  ( # `  B ) }
128 ssrab2 3581 . . . . . . . . . . . . . . . . . 18  |-  { w  e.  Prime  |  w  ||  ( # `  B ) }  C_  Prime
129127, 128eqsstri 3529 . . . . . . . . . . . . . . . . 17  |-  D  C_  Prime
130129a1i 11 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  x  e.  Prime )  ->  D  C_  Prime )
131 ssid 3518 . . . . . . . . . . . . . . . . 17  |-  D  C_  D
132131a1i 11 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  x  e.  Prime )  ->  D  C_  D
)
1332, 3, 97dprdres 17202 . . . . . . . . . . . . . . . . . . 19  |-  ( ph  ->  ( G dom DProd  ( T  |`  D )  /\  ( G DProd  ( T  |`  D ) )  C_  ( G DProd  T ) ) )
134133simpld 459 . . . . . . . . . . . . . . . . . 18  |-  ( ph  ->  G dom DProd  ( T  |`  D ) )
135 dprdsubg 17198 . . . . . . . . . . . . . . . . . . . . 21  |-  ( G dom DProd  ( T  |`  D )  ->  ( G DProd  ( T  |`  D ) )  e.  (SubGrp `  G ) )
136134, 135syl 16 . . . . . . . . . . . . . . . . . . . 20  |-  ( ph  ->  ( G DProd  ( T  |`  D ) )  e.  (SubGrp `  G )
)
137 difssd 3628 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ph  ->  ( A  \  D
)  C_  A )
1382, 3, 137dprdres 17202 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ph  ->  ( G dom DProd  ( T  |`  ( A  \  D
) )  /\  ( G DProd  ( T  |`  ( A  \  D ) ) )  C_  ( G DProd  T ) ) )
139138simpld 459 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ph  ->  G dom DProd  ( T  |`  ( A  \  D
) ) )
140 dprdsubg 17198 . . . . . . . . . . . . . . . . . . . . 21  |-  ( G dom DProd  ( T  |`  ( A  \  D ) )  ->  ( G DProd  ( T  |`  ( A  \  D ) ) )  e.  (SubGrp `  G
) )
141139, 140syl 16 . . . . . . . . . . . . . . . . . . . 20  |-  ( ph  ->  ( G DProd  ( T  |`  ( A  \  D
) ) )  e.  (SubGrp `  G )
)
142 difss 3627 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( A 
\  D )  C_  A
143 fssres 5757 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( T : A --> (SubGrp `  G )  /\  ( A  \  D )  C_  A )  ->  ( T  |`  ( A  \  D ) ) : ( A  \  D
) --> (SubGrp `  G )
)
1444, 142, 143sylancl 662 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ph  ->  ( T  |`  ( A  \  D ) ) : ( A  \  D ) --> (SubGrp `  G ) )
145 fdm 5741 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( T  |`  ( A  \  D ) ) : ( A  \  D
) --> (SubGrp `  G )  ->  dom  ( T  |`  ( A  \  D ) )  =  ( A 
\  D ) )
146144, 145syl 16 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ph  ->  dom  ( T  |`  ( A  \  D ) )  =  ( A 
\  D ) )
147 fvres 5886 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( q  e.  ( A  \  D )  ->  (
( T  |`  ( A  \  D ) ) `
 q )  =  ( T `  q
) )
148147adantl 466 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( (
ph  /\  q  e.  ( A  \  D ) )  ->  ( ( T  |`  ( A  \  D ) ) `  q )  =  ( T `  q ) )
149 eldif 3481 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( q  e.  ( A  \  D )  <->  ( q  e.  A  /\  -.  q  e.  D ) )
15033adantrr 716 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  -> 
( T `  q
)  e.  Fin )
151112subg0cl 16336 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( T `  q )  e.  (SubGrp `  G
)  ->  ( 0g `  G )  e.  ( T `  q ) )
15228, 151syl 16 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( (
ph  /\  q  e.  A )  ->  ( 0g `  G )  e.  ( T `  q
) )
153152snssd 4177 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( (
ph  /\  q  e.  A )  ->  { ( 0g `  G ) }  C_  ( T `  q ) )
154153adantrr 716 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  ->  { ( 0g `  G ) }  C_  ( T `  q ) )
15538adantrr 716 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  -> 
( # `  ( T `
 q ) )  =  ( q ^ C ) )
15639adantr 465 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34  |-  ( ( ( ph  /\  q  e.  A )  /\  C  e.  NN )  ->  q  e.  Prime )
157 iddvdsexp 14019 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36  |-  ( ( q  e.  ZZ  /\  C  e.  NN )  ->  q  ||  ( q ^ C ) )
15841, 157sylan 471 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35  |-  ( ( ( ph  /\  q  e.  A )  /\  C  e.  NN )  ->  q  ||  ( q ^ C
) )
15956adantr 465 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35  |-  ( ( ( ph  /\  q  e.  A )  /\  C  e.  NN )  ->  (
q ^ C ) 
||  ( # `  B
) )
16038, 73eqeltrrd 2546 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37  |-  ( (
ph  /\  q  e.  A )  ->  (
q ^ C )  e.  ZZ )
161 dvdstr 14030 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37  |-  ( ( q  e.  ZZ  /\  ( q ^ C
)  e.  ZZ  /\  ( # `  B )  e.  ZZ )  -> 
( ( q  ||  ( q ^ C
)  /\  ( q ^ C )  ||  ( # `
 B ) )  ->  q  ||  ( # `
 B ) ) )
16241, 160, 57, 161syl3anc 1228 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36  |-  ( (
ph  /\  q  e.  A )  ->  (
( q  ||  (
q ^ C )  /\  ( q ^ C )  ||  ( # `
 B ) )  ->  q  ||  ( # `
 B ) ) )
163162adantr 465 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35  |-  ( ( ( ph  /\  q  e.  A )  /\  C  e.  NN )  ->  (
( q  ||  (
q ^ C )  /\  ( q ^ C )  ||  ( # `
 B ) )  ->  q  ||  ( # `
 B ) ) )
164158, 159, 163mp2and 679 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34  |-  ( ( ( ph  /\  q  e.  A )  /\  C  e.  NN )  ->  q  ||  ( # `  B
) )
165 breq1 4459 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35  |-  ( w  =  q  ->  (
w  ||  ( # `  B
)  <->  q  ||  ( # `
 B ) ) )
166165, 127elrab2 3259 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34  |-  ( q  e.  D  <->  ( q  e.  Prime  /\  q  ||  ( # `  B ) ) )
167156, 164, 166sylanbrc 664 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33  |-  ( ( ( ph  /\  q  e.  A )  /\  C  e.  NN )  ->  q  e.  D )
168167ex 434 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  ( (
ph  /\  q  e.  A )  ->  ( C  e.  NN  ->  q  e.  D ) )
169168con3d 133 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( (
ph  /\  q  e.  A )  ->  ( -.  q  e.  D  ->  -.  C  e.  NN ) )
170169impr 619 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  ->  -.  C  e.  NN )
17142adantrr 716 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  ->  C  e.  NN0 )
172 elnn0 10818 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  ( C  e.  NN0  <->  ( C  e.  NN  \/  C  =  0 ) )
173171, 172sylib 196 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  -> 
( C  e.  NN  \/  C  =  0
) )
174173ord 377 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  -> 
( -.  C  e.  NN  ->  C  = 
0 ) )
175170, 174mpd 15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  ->  C  =  0 )
176175oveq2d 6312 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  -> 
( q ^ C
)  =  ( q ^ 0 ) )
17776adantrr 716 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  -> 
q  e.  NN )
178177nncnd 10572 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  -> 
q  e.  CC )
179178exp0d 12307 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  -> 
( q ^ 0 )  =  1 )
180155, 176, 1793eqtrd 2502 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  -> 
( # `  ( T `
 q ) )  =  1 )
181 fvex 5882 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( 0g
`  G )  e. 
_V
182 hashsng 12441 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( 0g `  G )  e.  _V  ->  ( # `
 { ( 0g
`  G ) } )  =  1 )
183181, 182ax-mp 5 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( # `  { ( 0g `  G ) } )  =  1
184180, 183syl6reqr 2517 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  -> 
( # `  { ( 0g `  G ) } )  =  (
# `  ( T `  q ) ) )
185 snfi 7615 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  { ( 0g `  G ) }  e.  Fin
186 hashen 12423 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( { ( 0g `  G ) }  e.  Fin  /\  ( T `  q )  e.  Fin )  ->  ( ( # `  { ( 0g `  G ) } )  =  ( # `  ( T `  q )
)  <->  { ( 0g `  G ) }  ~~  ( T `  q ) ) )
187185, 150, 186sylancr 663 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  -> 
( ( # `  {
( 0g `  G
) } )  =  ( # `  ( T `  q )
)  <->  { ( 0g `  G ) }  ~~  ( T `  q ) ) )
188184, 187mpbid 210 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  ->  { ( 0g `  G ) }  ~~  ( T `  q ) )
189 fisseneq 7750 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ( ( T `  q
)  e.  Fin  /\  { ( 0g `  G
) }  C_  ( T `  q )  /\  { ( 0g `  G ) }  ~~  ( T `  q ) )  ->  { ( 0g `  G ) }  =  ( T `  q ) )
190150, 154, 188, 189syl3anc 1228 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  ->  { ( 0g `  G ) }  =  ( T `  q ) )
191112subg0cl 16336 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( G DProd  ( T  |`  D ) )  e.  (SubGrp `  G )  ->  ( 0g `  G
)  e.  ( G DProd 
( T  |`  D ) ) )
192136, 191syl 16 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ph  ->  ( 0g `  G
)  e.  ( G DProd 
( T  |`  D ) ) )
193192adantr 465 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  -> 
( 0g `  G
)  e.  ( G DProd 
( T  |`  D ) ) )
194193snssd 4177 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  ->  { ( 0g `  G ) }  C_  ( G DProd  ( T  |`  D ) ) )
195190, 194eqsstr3d 3534 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  -> 
( T `  q
)  C_  ( G DProd  ( T  |`  D )
) )
196149, 195sylan2b 475 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( (
ph  /\  q  e.  ( A  \  D ) )  ->  ( T `  q )  C_  ( G DProd  ( T  |`  D ) ) )
197148, 196eqsstrd 3533 . . . . . . . . . . . . . . . . . . . . 21  |-  ( (
ph  /\  q  e.  ( A  \  D ) )  ->  ( ( T  |`  ( A  \  D ) ) `  q )  C_  ( G DProd  ( T  |`  D ) ) )
198139, 146, 136, 197dprdlub 17200 . . . . . . . . . . . . . . . . . . . 20  |-  ( ph  ->  ( G DProd  ( T  |`  ( A  \  D
) ) )  C_  ( G DProd  ( T  |`  D ) ) )
199 eqid 2457 . . . . . . . . . . . . . . . . . . . . 21  |-  ( LSSum `  G )  =  (
LSSum `  G )
200199lsmss2 16813 . . . . . . . . . . . . . . . . . . . 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 ) ) )
201136, 141, 198, 200syl3anc 1228 . . . . . . . . . . . . . . . . . . 19  |-  ( ph  ->  ( ( G DProd  ( T  |`  D ) ) ( LSSum `  G )
( G DProd  ( T  |`  ( A  \  D
) ) ) )  =  ( G DProd  ( T  |`  D ) ) )
202 disjdif 3903 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( D  i^i  ( A  \  D ) )  =  (/)
203202a1i 11 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ph  ->  ( D  i^i  ( A  \  D ) )  =  (/) )
204 undif2 3907 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( D  u.  ( A  \  D ) )  =  ( D  u.  A
)
205 ssequn1 3670 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( D 
C_  A  <->  ( D  u.  A )  =  A )
20697, 205sylib 196 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ph  ->  ( D  u.  A
)  =  A )
207204, 206syl5req 2511 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ph  ->  A  =  ( D  u.  ( A  \  D ) ) )
2084, 203, 207, 199, 2dprdsplit 17224 . . . . . . . . . . . . . . . . . . . 20  |-  ( ph  ->  ( G DProd  T )  =  ( ( G DProd 
( T  |`  D ) ) ( LSSum `  G
) ( G DProd  ( T  |`  ( A  \  D ) ) ) ) )
2091simprd 463 . . . . . . . . . . . . . . . . . . . 20  |-  ( ph  ->  ( G DProd  T )  =  B )
210208, 209eqtr3d 2500 . . . . . . . . . . . . . . . . . . 19  |-  ( ph  ->  ( ( G DProd  ( T  |`  D ) ) ( LSSum `  G )
( G DProd  ( T  |`  ( A  \  D
) ) ) )  =  B )
211201, 210eqtr3d 2500 . . . . . . . . . . . . . . . . . 18  |-  ( ph  ->  ( G DProd  ( T  |`  D ) )  =  B )
212134, 211jca 532 . . . . . . . . . . . . . . . . 17  |-  ( ph  ->  ( G dom DProd  ( T  |`  D )  /\  ( G DProd  ( T  |`  D ) )  =  B ) )
213212adantr 465 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  x  e.  Prime )  ->  ( G dom DProd  ( T  |`  D )  /\  ( G DProd  ( T  |`  D ) )  =  B ) )
2144, 97fssresd 5758 . . . . . . . . . . . . . . . . . 18  |-  ( ph  ->  ( T  |`  D ) : D --> (SubGrp `  G ) )
215214, 103syl 16 . . . . . . . . . . . . . . . . 17  |-  ( ph  ->  dom  ( T  |`  D )  =  D )
216215adantr 465 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  x  e.  Prime )  ->  dom  ( T  |`  D )  =  D )
21797sselda 3499 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  q  e.  D )  ->  q  e.  A )
218217, 42syldan 470 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  q  e.  D )  ->  C  e.  NN0 )
219218adantlr 714 . . . . . . . . . . . . . . . 16  |-  ( ( ( ph  /\  x  e.  Prime )  /\  q  e.  D )  ->  C  e.  NN0 )
220 fvres 5886 . . . . . . . . . . . . . . . . . . . 20  |-  ( q  e.  D  ->  (
( T  |`  D ) `
 q )  =  ( T `  q
) )
221220adantl 466 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  q  e.  D )  ->  (
( T  |`  D ) `
 q )  =  ( T `  q
) )
222221fveq2d 5876 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  q  e.  D )  ->  ( # `
 ( ( T  |`  D ) `  q
) )  =  (
# `  ( T `  q ) ) )
223217, 38syldan 470 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  q  e.  D )  ->  ( # `
 ( T `  q ) )  =  ( q ^ C
) )
224222, 223eqtrd 2498 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  q  e.  D )  ->  ( # `
 ( ( T  |`  D ) `  q
) )  =  ( q ^ C ) )
225224adantlr 714 . . . . . . . . . . . . . . . 16  |-  ( ( ( ph  /\  x  e.  Prime )  /\  q  e.  D )  ->  ( # `
 ( ( T  |`  D ) `  q
) )  =  ( q ^ C ) )
226 simpr 461 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  x  e.  Prime )  ->  x  e.  Prime )
227 fzfid 12086 . . . . . . . . . . . . . . . . . 18  |-  ( ph  ->  ( 1 ... ( # `
 B ) )  e.  Fin )
228 prmnn 14232 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( w  e.  Prime  ->  w  e.  NN )
2292283ad2ant2 1018 . . . . . . . . . . . . . . . . . . . . 21  |-  ( (
ph  /\  w  e.  Prime  /\  w  ||  ( # `
 B ) )  ->  w  e.  NN )
230 prmz 14233 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( w  e.  Prime  ->  w  e.  ZZ )
231 dvdsle 14043 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( w  e.  ZZ  /\  ( # `  B )  e.  NN )  -> 
( w  ||  ( # `
 B )  ->  w  <_  ( # `  B
) ) )
232230, 50, 231syl2anr 478 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( (
ph  /\  w  e.  Prime )  ->  ( w  ||  ( # `  B
)  ->  w  <_  (
# `  B )
) )
2332323impia 1193 . . . . . . . . . . . . . . . . . . . . 21  |-  ( (
ph  /\  w  e.  Prime  /\  w  ||  ( # `
 B ) )  ->  w  <_  ( # `
 B ) )
23450nnzd 10989 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ph  ->  ( # `  B
)  e.  ZZ )
2352343ad2ant1 1017 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( (
ph  /\  w  e.  Prime  /\  w  ||  ( # `
 B ) )  ->  ( # `  B
)  e.  ZZ )
236 fznn 11773 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( (
# `  B )  e.  ZZ  ->  ( w  e.  ( 1 ... ( # `
 B ) )  <-> 
( w  e.  NN  /\  w  <_  ( # `  B
) ) ) )
237235, 236syl 16 . . . . . . . . . . . . . . . . . . . . 21  |-  ( (
ph  /\  w  e.  Prime  /\  w  ||  ( # `
 B ) )  ->  ( w  e.  ( 1 ... ( # `
 B ) )  <-> 
( w  e.  NN  /\  w  <_  ( # `  B
) ) ) )
238229, 233, 237mpbir2and 922 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
ph  /\  w  e.  Prime  /\  w  ||  ( # `
 B ) )  ->  w  e.  ( 1 ... ( # `  B ) ) )
239238rabssdv 3576 . . . . . . . . . . . . . . . . . . 19  |-  ( ph  ->  { w  e.  Prime  |  w  ||  ( # `  B ) }  C_  ( 1 ... ( # `
 B ) ) )
240127, 239syl5eqss 3543 . . . . . . . . . . . . . . . . . 18  |-  ( ph  ->  D  C_  ( 1 ... ( # `  B
) ) )
241 ssfi 7759 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( 1 ... ( # `
 B ) )  e.  Fin  /\  D  C_  ( 1 ... ( # `
 B ) ) )  ->  D  e.  Fin )
242227, 240, 241syl2anc 661 . . . . . . . . . . . . . . . . 17  |-  ( ph  ->  D  e.  Fin )
243242adantr 465 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  x  e.  Prime )  ->  D  e.  Fin )
2447, 8, 124, 125, 126, 130, 127, 132, 213, 216, 219, 225, 226, 243ablfac1eulem 17250 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  x  e.  Prime )  ->  -.  x  ||  ( # `  ( G DProd  ( ( T  |`  D )  |`  ( D  \  { x }
) ) ) ) )
245244ralrimiva 2871 . . . . . . . . . . . . . 14  |-  ( ph  ->  A. x  e.  Prime  -.  x  ||  ( # `  ( G DProd  ( ( T  |`  D )  |`  ( D  \  {
x } ) ) ) ) )
246245adantr 465 . . . . . . . . . . . . 13  |-  ( (
ph  /\  q  e.  A )  ->  A. x  e.  Prime  -.  x  ||  ( # `
 ( G DProd  (
( T  |`  D )  |`  ( D  \  {
x } ) ) ) ) )
247 id 22 . . . . . . . . . . . . . . . 16  |-  ( x  =  q  ->  x  =  q )
248 sneq 4042 . . . . . . . . . . . . . . . . . . . 20  |-  ( x  =  q  ->  { x }  =  { q } )
249248difeq2d 3618 . . . . . . . . . . . . . . . . . . 19  |-  ( x  =  q  ->  ( D  \  { x }
)  =  ( D 
\  { q } ) )
250249reseq2d 5283 . . . . . . . . . . . . . . . . . 18  |-  ( x  =  q  ->  (
( T  |`  D )  |`  ( D  \  {
x } ) )  =  ( ( T  |`  D )  |`  ( D  \  { q } ) ) )
251250oveq2d 6312 . . . . . . . . . . . . . . . . 17  |-  ( x  =  q  ->  ( G DProd  ( ( T  |`  D )  |`  ( D  \  { x }
) ) )  =  ( G DProd  ( ( T  |`  D )  |`  ( D  \  {
q } ) ) ) )
252251fveq2d 5876 . . . . . . . . . . . . . . . 16  |-  ( x  =  q  ->  ( # `
 ( G DProd  (
( T  |`  D )  |`  ( D  \  {
x } ) ) ) )  =  (
# `  ( G DProd  ( ( T  |`  D )  |`  ( D  \  {
q } ) ) ) ) )
253247, 252breq12d 4469 . . . . . . . . . . . . . . 15  |-  ( x  =  q  ->  (
x  ||  ( # `  ( G DProd  ( ( T  |`  D )  |`  ( D  \  { x }
) ) ) )  <-> 
q  ||  ( # `  ( G DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) ) ) ) ) )
254253notbid 294 . . . . . . . . . . . . . 14  |-  ( x  =  q  ->  ( -.  x  ||  ( # `  ( G DProd  ( ( T  |`  D )  |`  ( D  \  {
x } ) ) ) )  <->  -.  q  ||  ( # `  ( G DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) ) ) ) ) )
255254rspcv 3206 . . . . . . . . . . . . 13  |-  ( q  e.  Prime  ->  ( A. x  e.  Prime  -.  x  ||  ( # `  ( G DProd  ( ( T  |`  D )  |`  ( D  \  { x }
) ) ) )  ->  -.  q  ||  ( # `  ( G DProd 
( ( T  |`  D )  |`  ( D  \  { q } ) ) ) ) ) )
25639, 246, 255sylc 60 . . . . . . . . . . . 12  |-  ( (
ph  /\  q  e.  A )  ->  -.  q  ||  ( # `  ( G DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) ) ) ) )
257 coprm 14253 . . . . . . . . . . . . 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 ) )
25839, 123, 257syl2anc 661 . . . . . . . . . . . 12  |-  ( (
ph  /\  q  e.  A )  ->  ( -.  q  ||  ( # `  ( G DProd  ( ( T  |`  D )  |`  ( D  \  {
q } ) ) ) )  <->  ( q  gcd  ( # `  ( G DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) ) ) ) )  =  1 ) )
259256, 258mpbid 210 . . . . . . . . . . 11  |-  ( (
ph  /\  q  e.  A )  ->  (
q  gcd  ( # `  ( G DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) ) ) ) )  =  1 )
260 rpexp1i 14274 . . . . . . . . . . . 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 ) )
26141, 123, 52, 260syl3anc 1228 . . . . . . . . . . 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 ) )
262259, 261mpd 15 . . . . . . . . . 10  |-  ( (
ph  /\  q  e.  A )  ->  (
( q ^ (
q  pCnt  ( # `  B
) ) )  gcd  ( # `  ( G DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) ) ) ) )  =  1 )
263 coprmdvds2 14256 . . . . . . . . . 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 ) ) )
26478, 123, 57, 262, 263syl31anc 1231 . . . . . . . . 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 ) ) )
26594, 111, 264mp2and 679 . . . . . . . 8  |-  ( (
ph  /\  q  e.  A )  ->  (
( q ^ (
q  pCnt  ( # `  B
) ) )  x.  ( # `  ( G DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) ) ) ) )  ||  ( # `  B ) )
266 eqid 2457 . . . . . . . . . 10  |-  (Cntz `  G )  =  (Cntz `  G )
267 inss1 3714 . . . . . . . . . . . . . 14  |-  ( D  i^i  { q } )  C_  D
268267a1i 11 . . . . . . . . . . . . 13  |-  ( (
ph  /\  q  e.  A )  ->  ( D  i^i  { q } )  C_  D )
269100, 104, 268dprdres 17202 . . . . . . . . . . . 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 ) ) ) )
270269simpld 459 . . . . . . . . . . 11  |-  ( (
ph  /\  q  e.  A )  ->  G dom DProd  ( ( T  |`  D )  |`  ( D  i^i  { q } ) ) )
271 dprdsubg 17198 . . . . . . . . . . 11  |-  ( G dom DProd  ( ( T  |`  D )  |`  ( D  i^i  { q } ) )  ->  ( G DProd  ( ( T  |`  D )  |`  ( D  i^i  { q } ) ) )  e.  (SubGrp `  G )
)
272270, 271syl 16 . . . . . . . . . 10  |-  ( (
ph  /\  q  e.  A )  ->  ( G DProd  ( ( T  |`  D )  |`  ( D  i^i  { q } ) ) )  e.  (SubGrp `  G )
)
273 inass 3704 . . . . . . . . . . . . 13  |-  ( ( D  i^i  { q } )  i^i  ( D  \  { q } ) )  =  ( D  i^i  ( { q }  i^i  ( D  \  { q } ) ) )
274 disjdif 3903 . . . . . . . . . . . . . 14  |-  ( { q }  i^i  ( D  \  { q } ) )  =  (/)
275274ineq2i 3693 . . . . . . . . . . . . 13  |-  ( D  i^i  ( { q }  i^i  ( D 
\  { q } ) ) )  =  ( D  i^i  (/) )
276 in0 3820 . . . . . . . . . . . . 13  |-  ( D  i^i  (/) )  =  (/)
277273, 275, 2763eqtri 2490 . . . . . . . . . . . 12  |-  ( ( D  i^i  { q } )  i^i  ( D  \  { q } ) )  =  (/)
278277a1i 11 . . . . . . . . . . 11  |-  ( (
ph  /\  q  e.  A )  ->  (
( D  i^i  {
q } )  i^i  ( D  \  {
q } ) )  =  (/) )
279100, 104, 268, 105, 278, 112dprddisj2 17214 . . . . . . . . . 10  |-  ( (
ph  /\  q  e.  A )  ->  (
( G DProd  ( ( T  |`  D )  |`  ( D  i^i  { q } ) ) )  i^i  ( G DProd  (
( T  |`  D )  |`  ( D  \  {
q } ) ) ) )  =  {
( 0g `  G
) } )
280100, 104, 268, 105, 278, 266dprdcntz2 17213 . . . . . . . . . 10  |-  ( (
ph  /\  q  e.  A )  ->  ( G DProd  ( ( T  |`  D )  |`  ( D  i^i  { q } ) ) )  C_  ( (Cntz `  G ) `  ( G DProd  ( ( T  |`  D )  |`  ( D  \  {
q } ) ) ) ) )
2817dprdssv 17183 . . . . . . . . . . 11  |-  ( G DProd 
( ( T  |`  D )  |`  ( D  i^i  { q } ) ) )  C_  B
282 ssfi 7759 . . . . . . . . . . 11  |-  ( ( B  e.  Fin  /\  ( G DProd  ( ( T  |`  D )  |`  ( D  i^i  { q } ) ) ) 
C_  B )  -> 
( G DProd  ( ( T  |`  D )  |`  ( D  i^i  { q } ) ) )  e.  Fin )
28322, 281, 282sylancl 662 . . . . . . . . . 10  |-  ( (
ph  /\  q  e.  A )  ->  ( G DProd  ( ( T  |`  D )  |`  ( D  i^i  { q } ) ) )  e. 
Fin )
284199, 112, 266, 272, 109, 279, 280, 283, 119lsmhash 16850 . . . . . . . . 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 } ) ) ) ) ) )
285 inundif 3909 . . . . . . . . . . . . . 14  |-  ( ( D  i^i  { q } )  u.  ( D  \  { q } ) )  =  D
286285eqcomi 2470 . . . . . . . . . . . . 13  |-  D  =  ( ( D  i^i  { q } )  u.  ( D  \  {
q } ) )
287286a1i 11 . . . . . . . . . . . 12  |-  ( (
ph  /\  q  e.  A )  ->  D  =  ( ( D  i^i  { q } )  u.  ( D 
\  { q } ) ) )
288102, 278, 287, 199, 100dprdsplit 17224 . . . . . . . . . . 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 } ) ) ) ) )
289211adantr 465 . . . . . . . . . . 11  |-  ( (
ph  /\  q  e.  A )  ->  ( G DProd  ( T  |`  D ) )  =  B )
290288, 289eqtr3d 2500 . . . . . . . . . 10  |-  ( (
ph  /\  q  e.  A )  ->  (
( G DProd  ( ( T  |`  D )  |`  ( D  i^i  { q } ) ) ) ( LSSum `  G )
( G DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) ) ) )  =  B )
291290fveq2d 5876 . . . . . . . . 9  |-  ( (
ph  /\  q  e.  A )  ->  ( # `
 ( ( G DProd 
( ( T  |`  D )  |`  ( D  i^i  { q } ) ) ) (
LSSum `  G ) ( G DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) ) ) ) )  =  ( # `  B ) )
292 snssi 4176 . . . . . . . . . . . . . . . . 17  |-  ( q  e.  D  ->  { q }  C_  D )
293292adantl 466 . . . . . . . . . . . . . . . 16  |-  ( ( ( ph  /\  q  e.  A )  /\  q  e.  D )  ->  { q }  C_  D )
294 dfss1 3699 . . . . . . . . . . . . . . . 16  |-  ( { q }  C_  D  <->  ( D  i^i  { q } )  =  {
q } )
295293, 294sylib 196 . . . . . . . . . . . . . . 15  |-  ( ( ( ph  /\  q  e.  A )  /\  q  e.  D )  ->  ( D  i^i  { q } )  =  { q } )
296295reseq2d 5283 . . . . . . . . . . . . . 14  |-  ( ( ( ph  /\  q  e.  A )  /\  q  e.  D )  ->  (
( T  |`  D )  |`  ( D  i^i  {
q } ) )  =  ( ( T  |`  D )  |`  { q } ) )
297296oveq2d 6312 . . . . . . . . . . . . 13  |-  ( ( ( ph  /\  q  e.  A )  /\  q  e.  D )  ->  ( G DProd  ( ( T  |`  D )  |`  ( D  i^i  { q } ) ) )  =  ( G DProd  ( ( T  |`  D )  |` 
{ q } ) ) )
298100adantr 465 . . . . . . . . . . . . . 14  |-  ( ( ( ph  /\  q  e.  A )  /\  q  e.  D )  ->  G dom DProd  ( T  |`  D ) )
299215ad2antrr 725 . . . . . . . . . . . . . 14  |-  ( ( ( ph  /\  q  e.  A )  /\  q  e.  D )  ->  dom  ( T  |`  D )  =  D )
300 simpr 461 . . . . . . . . . . . . . 14  |-  ( ( ( ph  /\  q  e.  A )  /\  q  e.  D )  ->  q  e.  D )
301298, 299, 300dpjlem 17227 . . . . . . . . . . . . 13  |-  ( ( ( ph  /\  q  e.  A )  /\  q  e.  D )  ->  ( G DProd  ( ( T  |`  D )  |`  { q } ) )  =  ( ( T  |`  D ) `  q
) )
302220adantl 466 . . . . . . . . . . . . 13  |-  ( ( ( ph  /\  q  e.  A )  /\  q  e.  D )  ->  (
( T  |`  D ) `
 q )  =  ( T `  q
) )
303297, 301, 3023eqtrd 2502 . . . . . . . . . . . 12  |-  ( ( ( ph  /\  q  e.  A )  /\  q  e.  D )  ->  ( G DProd  ( ( T  |`  D )  |`  ( D  i^i  { q } ) ) )  =  ( T `  q
) )
304 simprr 757 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  ->  -.  q  e.  D
)
305 disjsn 4092 . . . . . . . . . . . . . . . . . 18  |-  ( ( D  i^i  { q } )  =  (/)  <->  -.  q  e.  D )
306304, 305sylibr 212 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  -> 
( D  i^i  {
q } )  =  (/) )
307306reseq2d 5283 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  -> 
( ( T  |`  D )  |`  ( D  i^i  { q } ) )  =  ( ( T  |`  D )  |`  (/) ) )
308 res0 5288 . . . . . . . . . . . . . . . 16  |-  ( ( T  |`  D )  |`  (/) )  =  (/)
309307, 308syl6eq 2514 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  -> 
( ( T  |`  D )  |`  ( D  i^i  { q } ) )  =  (/) )
310309oveq2d 6312 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  -> 
( G DProd  ( ( T  |`  D )  |`  ( D  i^i  { q } ) ) )  =  ( G DProd  (/) ) )
311112dprd0 17205 . . . . . . . . . . . . . . . . 17  |-  ( G  e.  Grp  ->  ( G dom DProd  (/)  /\  ( G DProd  (/) )  =  { ( 0g `  G ) } ) )
31245, 311syl 16 . . . . . . . . . . . . . . . 16  |-  ( ph  ->  ( G dom DProd  (/)  /\  ( G DProd 
(/) )  =  {
( 0g `  G
) } ) )
313312simprd 463 . . . . . . . . . . . . . . 15  |-  ( ph  ->  ( G DProd  (/) )  =  { ( 0g `  G ) } )
314313adantr 465 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  -> 
( G DProd  (/) )  =  { ( 0g `  G ) } )
315310, 314, 1903eqtrd 2502 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  -> 
( G DProd  ( ( T  |`  D )  |`  ( D  i^i  { q } ) ) )  =  ( T `  q ) )
316315anassrs 648 . . . . . . . . . . . 12  |-  ( ( ( ph  /\  q  e.  A )  /\  -.  q  e.  D )  ->  ( G DProd  ( ( T  |`  D )  |`  ( D  i^i  {
q } ) ) )  =  ( T `
 q ) )
317303, 316pm2.61dan 791 . . . . . . . . . . 11  |-  ( (
ph  /\  q  e.  A )  ->  ( G DProd  ( ( T  |`  D )  |`  ( D  i^i  { q } ) ) )  =  ( T `  q
) )
318317fveq2d 5876 . . . . . . . . . 10  |-  ( (
ph  /\  q  e.  A )  ->  ( # `
 ( G DProd  (
( T  |`  D )  |`  ( D  i^i  {
q } ) ) ) )  =  (
# `  ( T `  q ) ) )
319318oveq1d 6311 . . . . . . . . 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 } ) ) ) ) ) )
320284, 291, 3193eqtr3d 2506 . . . . . . . 8  |-  ( (
ph  /\  q  e.  A )  ->  ( # `
 B )  =  ( ( # `  ( T `  q )
)  x.  ( # `  ( G DProd  ( ( T  |`  D )  |`  ( D  \  {
q } ) ) ) ) ) )
321265, 320breqtrd 4480 . . . . . . 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 } ) ) ) ) ) )
322122nnne0d 10601 . . . . . . . 8  |-  ( (
ph  /\  q  e.  A )  ->  ( # `
 ( G DProd  (
( T  |`  D )  |`  ( D  \  {
q } ) ) ) )  =/=  0
)
323 dvdsmulcr 14025 . . . . . . . 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 ) ) ) )
32478, 73, 123, 322, 323syl112anc 1232 . . . . . . 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 ) ) ) )
325321, 324mpbid 210 . . . . . 6  |-  ( (
ph  /\  q  e.  A )  ->  (
q ^ ( q 
pCnt  ( # `  B
) ) )  ||  ( # `  ( T `
 q ) ) )
326 dvdseq 14045 . . . . . 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 )
) ) )
32772, 92, 65, 325, 326syl22anc 1229 . . . . 5  |-  ( (
ph  /\  q  e.  A )  ->  ( # `
 ( T `  q ) )  =  ( q ^ (
q  pCnt  ( # `  B
) ) ) )
3287, 8, 9, 10, 11, 12ablfac1a 17247 . . . . 5  |-  ( (
ph  /\  q  e.  A )  ->  ( # `
 ( S `  q ) )  =  ( q ^ (
q  pCnt  ( # `  B
) ) ) )
329327, 328eqtr4d 2501 . . . 4  |-  ( (
ph  /\  q  e.  A )  ->  ( # `
 ( T `  q ) )  =  ( # `  ( S `  q )
) )
330 hashen 12423 . . . . 5  |-  ( ( ( T `  q
)  e.  Fin  /\  ( S `  q )  e.  Fin )  -> 
( ( # `  ( T `  q )
)  =  ( # `  ( S `  q
) )  <->  ( T `  q )  ~~  ( S `  q )
) )
33133, 27, 330syl2anc 661 . . . 4  |-  ( (
ph  /\  q  e.  A )  ->  (
( # `  ( T `
 q ) )  =  ( # `  ( S `  q )
)  <->  ( T `  q )  ~~  ( S `  q )
) )
332329, 331mpbid 210 . . 3  |-  ( (
ph  /\  q  e.  A )  ->  ( T `  q )  ~~  ( S `  q
) )
333 fisseneq 7750 . . 3  |-  ( ( ( S `  q
)  e.  Fin  /\  ( T `  q ) 
C_  ( S `  q )  /\  ( T `  q )  ~~  ( S `  q
) )  ->  ( T `  q )  =  ( S `  q ) )
33427, 91, 332, 333syl3anc 1228 . 2  |-  ( (
ph  /\  q  e.  A )  ->  ( T `  q )  =  ( S `  q ) )
3356, 21, 334eqfnfvd 5985 1  |-  ( ph  ->  T  =  S )
Colors of variables: wff setvar class
Syntax hints:   -. wn 3    -> wi 4    <-> wb 184    \/ wo 368    /\ wa 369    /\ w3a 973    = wceq 1395    e. wcel 1819    =/= wne 2652   A.wral 2807   {crab 2811   _Vcvv 3109    \ cdif 3468    u. cun 3469    i^i cin 3470    C_ wss 3471   (/)c0 3793   {csn 4032   class class class wbr 4456    |-> cmpt 4515   dom cdm 5008    |` cres 5010    Fn wfn 5589   -->wf 5590   ` cfv 5594  (class class class)co 6296    ~~ cen 7532   Fincfn 7535   0cc0 9509   1c1 9510    x. cmul 9514    <_ cle 9646   NNcn 10556   NN0cn0 10816   ZZcz 10885   ZZ>=cuz 11106   ...cfz 11697   ^cexp 12169   #chash 12408    || cdvds 13998    gcd cgcd 14156   Primecprime 14229    pCnt cpc 14372   Basecbs 14644   0gc0g 14857   Grpcgrp 16180  SubGrpcsubg 16322  Cntzccntz 16480   odcod 16676   LSSumclsm 16781   Abelcabl 16926   DProd cdprd 17151
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1619  ax-4 1632  ax-5 1705  ax-6 1748  ax-7 1791  ax-8 1821  ax-9 1823  ax-10 1838  ax-11 1843  ax-12 1855  ax-13 2000  ax-ext 2435  ax-rep 4568  ax-sep 4578  ax-nul 4586  ax-pow 4634  ax-pr 4695  ax-un 6591  ax-inf2 8075  ax-cnex 9565  ax-resscn 9566  ax-1cn 9567  ax-icn 9568  ax-addcl 9569  ax-addrcl 9570  ax-mulcl 9571  ax-mulrcl 9572  ax-mulcom 9573  ax-addass 9574  ax-mulass 9575  ax-distr 9576  ax-i2m1 9577  ax-1ne0 9578  ax-1rid 9579  ax-rnegex 9580  ax-rrecex 9581  ax-cnre 9582  ax-pre-lttri 9583  ax-pre-lttrn 9584  ax-pre-ltadd 9585  ax-pre-mulgt0 9586  ax-pre-sup 9587
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3or 974  df-3an 975  df-tru 1398  df-fal 1401  df-ex 1614  df-nf 1618  df-sb 1741  df-eu 2287  df-mo 2288  df-clab 2443  df-cleq 2449  df-clel 2452  df-nfc 2607  df-ne 2654  df-nel 2655  df-ral 2812  df-rex 2813  df-reu 2814  df-rmo 2815  df-rab 2816  df-v 3111  df-sbc 3328  df-csb 3431  df-dif 3474  df-un 3476  df-in 3478  df-ss 3485  df-pss 3487  df-nul 3794  df-if 3945  df-pw 4017  df-sn 4033  df-pr 4035  df-tp 4037  df-op 4039  df-uni 4252  df-int 4289  df-iun 4334  df-iin 4335  df-disj 4428  df-br 4457  df-opab 4516  df-mpt 4517  df-tr 4551  df-eprel 4800  df-id 4804  df-po 4809  df-so 4810  df-fr 4847  df-se 4848  df-we 4849  df-ord 4890  df-on 4891  df-lim 4892  df-suc 4893  df-xp 5014  df-rel 5015  df-cnv 5016  df-co 5017  df-dm 5018  df-rn 5019  df-res 5020  df-ima 5021  df-iota 5557  df-fun 5596  df-fn 5597  df-f 5598  df-f1 5599  df-fo 5600  df-f1o 5601  df-fv 5602  df-isom 5603  df-riota 6258  df-ov 6299  df-oprab 6300  df-mpt2 6301  df-of 6539  df-om 6700  df-1st 6799  df-2nd 6800  df-supp 6918  df-tpos 6973  df-recs 7060  df-rdg 7094  df-1o 7148  df-2o 7149  df-oadd 7152  df-omul 7153  df-er 7329  df-ec 7331  df-qs 7335  df-map 7440  df-ixp 7489  df-en 7536  df-dom 7537  df-sdom 7538  df-fin 7539  df-fsupp 7848  df-sup 7919  df-oi 7953  df-card 8337  df-acn 8340  df-cda 8565  df-pnf 9647  df-mnf 9648  df-xr 9649  df-ltxr 9650  df-le 9651  df-sub 9826  df-neg 9827  df-div 10228  df-nn 10557  df-2 10615  df-3 10616  df-n0 10817  df-z 10886  df-uz 11107  df-q 11208  df-rp 11246  df-fz 11698  df-fzo 11822  df-fl 11932  df-mod 12000  df-seq 12111  df-exp 12170  df-fac 12357  df-bc 12384  df-hash 12409  df-cj 12944  df-re 12945  df-im 12946  df-sqrt 13080  df-abs 13081  df-clim 13323  df-sum 13521  df-dvds 13999  df-gcd 14157  df-prm 14230  df-pc 14373  df-ndx 14647  df-slot 14648  df-base 14649  df-sets 14650  df-ress 14651  df-plusg 14725  df-0g 14859  df-gsum 14860  df-mre 15003  df-mrc 15004  df-acs 15006  df-mgm 15999  df-sgrp 16038  df-mnd 16048  df-mhm 16093  df-submnd 16094  df-grp 16184  df-minusg 16185  df-sbg 16186  df-mulg 16187  df-subg 16325  df-eqg 16327  df-ghm 16392  df-gim 16434  df-ga 16455  df-cntz 16482  df-oppg 16508  df-od 16680  df-lsm 16783  df-pj1 16784  df-cmn 16927  df-abl 16928  df-dprd 17153
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator