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

Theorem ablfac1eu 15586
Description: The factorization of ablfac1b 15583 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 15520 . . 3  |-  ( ph  ->  T : A --> (SubGrp `  G ) )
5 ffn 5550 . . 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 15583 . . . 4  |-  ( ph  ->  G dom DProd  S )
14 fvex 5701 . . . . . . . 8  |-  ( Base `  G )  e.  _V
157, 14eqeltri 2474 . . . . . . 7  |-  B  e. 
_V
1615rabex 4314 . . . . . 6  |-  { x  e.  B  |  ( O `  x )  ||  ( p ^ (
p  pCnt  ( # `  B
) ) ) }  e.  _V
1716, 9dmmpti 5533 . . . . 5  |-  dom  S  =  A
1817a1i 11 . . . 4  |-  ( ph  ->  dom  S  =  A )
1913, 18dprdf2 15520 . . 3  |-  ( ph  ->  S : A --> (SubGrp `  G ) )
20 ffn 5550 . . 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 5829 . . . . 5  |-  ( (
ph  /\  q  e.  A )  ->  ( S `  q )  e.  (SubGrp `  G )
)
247subgss 14900 . . . . 5  |-  ( ( S `  q )  e.  (SubGrp `  G
)  ->  ( S `  q )  C_  B
)
2523, 24syl 16 . . . 4  |-  ( (
ph  /\  q  e.  A )  ->  ( S `  q )  C_  B )
26 ssfi 7288 . . . 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 5829 . . . . . 6  |-  ( (
ph  /\  q  e.  A )  ->  ( T `  q )  e.  (SubGrp `  G )
)
297subgss 14900 . . . . . 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 7288 . . . . . . . . 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 15160 . . . . . . 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 3308 . . . . . . . . . 10  |-  ( (
ph  /\  q  e.  A )  ->  q  e.  Prime )
40 prmz 13038 . . . . . . . . . 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 10329 . . . . . . . . . 10  |-  ( (
ph  /\  q  e.  A )  ->  C  e.  ZZ )
44 ablgrp 15372 . . . . . . . . . . . . . . . 16  |-  ( G  e.  Abel  ->  G  e. 
Grp )
4510, 44syl 16 . . . . . . . . . . . . . . 15  |-  ( ph  ->  G  e.  Grp )
467grpbn0 14789 . . . . . . . . . . . . . . 15  |-  ( G  e.  Grp  ->  B  =/=  (/) )
4745, 46syl 16 . . . . . . . . . . . . . 14  |-  ( ph  ->  B  =/=  (/) )
48 hashnncl 11600 . . . . . . . . . . . . . . 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 13179 . . . . . . . . . . 11  |-  ( (
ph  /\  q  e.  A )  ->  (
q  pCnt  ( # `  B
) )  e.  NN0 )
5352nn0zd 10329 . . . . . . . . . 10  |-  ( (
ph  /\  q  e.  A )  ->  (
q  pCnt  ( # `  B
) )  e.  ZZ )
547lagsubg 14957 . . . . . . . . . . . . 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 4194 . . . . . . . . . . 11  |-  ( (
ph  /\  q  e.  A )  ->  (
q ^ C ) 
||  ( # `  B
) )
5751nnzd 10330 . . . . . . . . . . . 12  |-  ( (
ph  /\  q  e.  A )  ->  ( # `
 B )  e.  ZZ )
58 pcdvdsb 13197 . . . . . . . . . . . 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 10450 . . . . . . . . . 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 12860 . . . . . . . . 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 4192 . . . . . . 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 3308 . . . . . . . . 9  |-  ( ( ( ph  /\  q  e.  A )  /\  x  e.  ( T `  q
) )  ->  x  e.  B )
687, 8odcl 15129 . . . . . . . . 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 10329 . . . . . . 7  |-  ( ( ( ph  /\  q  e.  A )  /\  x  e.  ( T `  q
) )  ->  ( O `  x )  e.  ZZ )
71 hashcl 11594 . . . . . . . . . 10  |-  ( ( T `  q )  e.  Fin  ->  ( # `
 ( T `  q ) )  e. 
NN0 )
7233, 71syl 16 . . . . . . . . 9  |-  ( (
ph  /\  q  e.  A )  ->  ( # `
 ( T `  q ) )  e. 
NN0 )
7372nn0zd 10329 . . . . . . . 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 13037 . . . . . . . . . . 11  |-  ( q  e.  Prime  ->  q  e.  NN )
7639, 75syl 16 . . . . . . . . . 10  |-  ( (
ph  /\  q  e.  A )  ->  q  e.  NN )
7776, 52nnexpcld 11499 . . . . . . . . 9  |-  ( (
ph  /\  q  e.  A )  ->  (
q ^ ( q 
pCnt  ( # `  B
) ) )  e.  NN )
7877nnzd 10330 . . . . . . . 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 12838 . . . . . . 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 3382 . . . 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 6047 . . . . . . . . 9  |-  ( p  =  q  ->  (
p  pCnt  ( # `  B
) )  =  ( q  pCnt  ( # `  B
) ) )
8684, 85oveq12d 6058 . . . . . . . 8  |-  ( p  =  q  ->  (
p ^ ( p 
pCnt  ( # `  B
) ) )  =  ( q ^ (
q  pCnt  ( # `  B
) ) ) )
8786breq2d 4184 . . . . . . 7  |-  ( p  =  q  ->  (
( O `  x
)  ||  ( p ^ ( p  pCnt  (
# `  B )
) )  <->  ( O `  x )  ||  (
q ^ ( q 
pCnt  ( # `  B
) ) ) ) )
8887rabbidv 2908 . . . . . 6  |-  ( p  =  q  ->  { x  e.  B  |  ( O `  x )  ||  ( p ^ (
p  pCnt  ( # `  B
) ) ) }  =  { x  e.  B  |  ( O `
 x )  ||  ( q ^ (
q  pCnt  ( # `  B
) ) ) } )
8988, 9, 16fvmpt3i 5768 . . . . 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 3345 . . 3  |-  ( (
ph  /\  q  e.  A )  ->  ( T `  q )  C_  ( S `  q
) )
9277nnnn0d 10230 . . . . . 6  |-  ( (
ph  /\  q  e.  A )  ->  (
q ^ ( q 
pCnt  ( # `  B
) ) )  e. 
NN0 )
93 pcdvds 13192 . . . . . . . . . 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 15541 . . . . . . . . . . . . . 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 5569 . . . . . . . . . . . . . . 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 5554 . . . . . . . . . . . . . 14  |-  ( ( T  |`  D ) : D --> (SubGrp `  G )  ->  dom  ( T  |`  D )  =  D )
105103, 104syl 16 . . . . . . . . . . . . 13  |-  ( (
ph  /\  q  e.  A )  ->  dom  ( T  |`  D )  =  D )
106 difssd 3435 . . . . . . . . . . . . 13  |-  ( (
ph  /\  q  e.  A )  ->  ( D  \  { q } )  C_  D )
107100, 105, 106dprdres 15541 . . . . . . . . . . . 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 15537 . . . . . . . . . . 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 14957 . . . . . . . . . 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 2404 . . . . . . . . . . . . . . 15  |-  ( 0g
`  G )  =  ( 0g `  G
)
114113subg0cl 14907 . . . . . . . . . . . . . 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 3594 . . . . . . . . . . . . 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 15529 . . . . . . . . . . . . . 14  |-  ( G DProd 
( ( T  |`  D )  |`  ( D  \  { q } ) ) )  C_  B
119 ssfi 7288 . . . . . . . . . . . . . 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 11600 . . . . . . . . . . . . 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 10330 . . . . . . . . . 10  |-  ( (
ph  /\  q  e.  A )  ->  ( # `
 ( G DProd  (
( T  |`  D )  |`  ( D  \  {
q } ) ) ) )  e.  ZZ )
125 eqid 2404 . . . . . . . . . . . . . . . 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 3388 . . . . . . . . . . . . . . . . . 18  |-  { w  e.  Prime  |  w  ||  ( # `  B ) }  C_  Prime
130128, 129eqsstri 3338 . . . . . . . . . . . . . . . . 17  |-  D  C_  Prime
131130a1i 11 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  x  e.  Prime )  ->  D  C_  Prime )
132 ssid 3327 . . . . . . . . . . . . . . . . 17  |-  D  C_  D
133132a1i 11 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  x  e.  Prime )  ->  D  C_  D
)
1342, 3, 97dprdres 15541 . . . . . . . . . . . . . . . . . . 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 15537 . . . . . . . . . . . . . . . . . . . . 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 3435 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ph  ->  ( A  \  D
)  C_  A )
1392, 3, 138dprdres 15541 . . . . . . . . . . . . . . . . . . . . . 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 15537 . . . . . . . . . . . . . . . . . . . . 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 3434 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( A 
\  D )  C_  A
144 fssres 5569 . . . . . . . . . . . . . . . . . . . . . . 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 5554 . . . . . . . . . . . . . . . . . . . . . 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 5704 . . . . . . . . . . . . . . . . . . . . . . 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 3290 . . . . . . . . . . . . . . . . . . . . . . 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 14907 . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 3903 . . . . . . . . . . . . . . . . . . . . . . . . . 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 12828 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 2479 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37  |-  ( (
ph  /\  q  e.  A )  ->  (
q ^ C )  e.  ZZ )
162 dvdstr 12838 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 4175 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35  |-  ( w  =  q  ->  (
w  ||  ( # `  B
)  <->  q  ||  ( # `
 B ) ) )
167166, 128elrab2 3054 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 10179 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 6056 . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 9972 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  -> 
q  e.  CC )
180179exp0d 11472 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  -> 
( q ^ 0 )  =  1 )
181156, 177, 1803eqtrd 2440 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  -> 
( # `  ( T `
 q ) )  =  1 )
182 fvex 5701 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( 0g
`  G )  e. 
_V
183 hashsng 11602 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( 0g `  G )  e.  _V  ->  ( # `
 { ( 0g
`  G ) } )  =  1 )
184182, 183ax-mp 8 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( # `  { ( 0g `  G ) } )  =  1
185181, 184syl6reqr 2455 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  -> 
( # `  { ( 0g `  G ) } )  =  (
# `  ( T `  q ) ) )
186 snfi 7146 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  { ( 0g `  G ) }  e.  Fin
187 hashen 11586 . . . . . . . . . . . . . . . . . . . . . . . . . . 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 7279 . . . . . . . . . . . . . . . . . . . . . . . . 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 14907 . . . . . . . . . . . . . . . . . . . . . . . . . . 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 3903 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  ->  { ( 0g `  G ) }  C_  ( G DProd  ( T  |`  D ) ) )
196191, 195eqsstr3d 3343 . . . . . . . . . . . . . . . . . . . . . . 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 3342 . . . . . . . . . . . . . . . . . . . . 21  |-  ( (
ph  /\  q  e.  ( A  \  D ) )  ->  ( ( T  |`  ( A  \  D ) ) `  q )  C_  ( G DProd  ( T  |`  D ) ) )
199140, 147, 137, 198dprdlub 15539 . . . . . . . . . . . . . . . . . . . 20  |-  ( ph  ->  ( G DProd  ( T  |`  ( A  \  D
) ) )  C_  ( G DProd  ( T  |`  D ) ) )
200 eqid 2404 . . . . . . . . . . . . . . . . . . . . 21  |-  ( LSSum `  G )  =  (
LSSum `  G )
201200lsmss2 15255 . . . . . . . . . . . . . . . . . . . 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 3660 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( D  i^i  ( A  \  D ) )  =  (/)
204203a1i 11 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ph  ->  ( D  i^i  ( A  \  D ) )  =  (/) )
205 undif2 3664 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( D  u.  ( A  \  D ) )  =  ( D  u.  A
)
206 ssequn1 3477 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( D 
C_  A  <->  ( D  u.  A )  =  A )
20797, 206sylib 189 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ph  ->  ( D  u.  A
)  =  A )
208205, 207syl5req 2449 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ph  ->  A  =  ( D  u.  ( A  \  D ) ) )
2094, 204, 208, 200, 2dprdsplit 15561 . . . . . . . . . . . . . . . . . . . 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 2438 . . . . . . . . . . . . . . . . . . 19  |-  ( ph  ->  ( ( G DProd  ( T  |`  D ) ) ( LSSum `  G )
( G DProd  ( T  |`  ( A  \  D
) ) ) )  =  B )
212202, 211eqtr3d 2438 . . . . . . . . . . . . . . . . . 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 3308 . . . . . . . . . . . . . . . . . 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 5704 . . . . . . . . . . . . . . . . . . . 20  |-  ( q  e.  D  ->  (
( T  |`  D ) `
 q )  =  ( T `  q
) )
222221adantl 453 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  q  e.  D )  ->  (
( T  |`  D ) `
 q )  =  ( T `  q
) )
223222fveq2d 5691 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  q  e.  D )  ->  ( # `
 ( ( T  |`  D ) `  q
) )  =  (
# `  ( T `  q ) ) )
224218, 38syldan 457 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  q  e.  D )  ->  ( # `
 ( T `  q ) )  =  ( q ^ C
) )
225223, 224eqtrd 2436 . . . . . . . . . . . . . . . . 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 11267 . . . . . . . . . . . . . . . . . 18  |-  ( ph  ->  ( 1 ... ( # `
 B ) )  e.  Fin )
229 prmnn 13037 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( w  e.  Prime  ->  w  e.  NN )
2302293ad2ant2 979 . . . . . . . . . . . . . . . . . . . . 21  |-  ( (
ph  /\  w  e.  Prime  /\  w  ||  ( # `
 B ) )  ->  w  e.  NN )
231 prmz 13038 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( w  e.  Prime  ->  w  e.  ZZ )
232 dvdsle 12850 . . . . . . . . . . . . . . . . . . . . . . 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 10330 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ph  ->  ( # `  B
)  e.  ZZ )
2362353ad2ant1 978 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( (
ph  /\  w  e.  Prime  /\  w  ||  ( # `
 B ) )  ->  ( # `  B
)  e.  ZZ )
237 fznn 11070 . . . . . . . . . . . . . . . . . . . . . 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 3383 . . . . . . . . . . . . . . . . . . 19  |-  ( ph  ->  { w  e.  Prime  |  w  ||  ( # `  B ) }  C_  ( 1 ... ( # `
 B ) ) )
241128, 240syl5eqss 3352 . . . . . . . . . . . . . . . . . 18  |-  ( ph  ->  D  C_  ( 1 ... ( # `  B
) ) )
242 ssfi 7288 . . . . . . . . . . . . . . . . . 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 15585 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  x  e.  Prime )  ->  -.  x  ||  ( # `  ( G DProd  ( ( T  |`  D )  |`  ( D  \  { x }
) ) ) ) )
246245ralrimiva 2749 . . . . . . . . . . . . . 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 3785 . . . . . . . . . . . . . . . . . . . 20  |-  ( x  =  q  ->  { x }  =  { q } )
250249difeq2d 3425 . . . . . . . . . . . . . . . . . . 19  |-  ( x  =  q  ->  ( D  \  { x }
)  =  ( D 
\  { q } ) )
251250reseq2d 5105 . . . . . . . . . . . . . . . . . 18  |-  ( x  =  q  ->  (
( T  |`  D )  |`  ( D  \  {
x } ) )  =  ( ( T  |`  D )  |`  ( D  \  { q } ) ) )
252251oveq2d 6056 . . . . . . . . . . . . . . . . 17  |-  ( x  =  q  ->  ( G DProd  ( ( T  |`  D )  |`  ( D  \  { x }
) ) )  =  ( G DProd  ( ( T  |`  D )  |`  ( D  \  {
q } ) ) ) )
253252fveq2d 5691 . . . . . . . . . . . . . . . 16  |-  ( x  =  q  ->  ( # `
 ( G DProd  (
( T  |`  D )  |`  ( D  \  {
x } ) ) ) )  =  (
# `  ( G DProd  ( ( T  |`  D )  |`  ( D  \  {
q } ) ) ) ) )
254248, 253breq12d 4185 . . . . . . . . . . . . . . 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 3008 . . . . . . . . . . . . 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 13055 . . . . . . . . . . . . 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 13076 . . . . . . . . . . . 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 13058 . . . . . . . . . 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 2404 . . . . . . . . . 10  |-  (Cntz `  G )  =  (Cntz `  G )
268 inss1 3521 . . . . . . . . . . . . . 14  |-  ( D  i^i  { q } )  C_  D
269268a1i 11 . . . . . . . . . . . . 13  |-  ( (
ph  /\  q  e.  A )  ->  ( D  i^i  { q } )  C_  D )
270100, 105, 269dprdres 15541 . . . . . . . . . . . 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 15537 . . . . . . . . . . 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 3511 . . . . . . . . . . . . 13  |-  ( ( D  i^i  { q } )  i^i  ( D  \  { q } ) )  =  ( D  i^i  ( { q }  i^i  ( D  \  { q } ) ) )
275 disjdif 3660 . . . . . . . . . . . . . 14  |-  ( { q }  i^i  ( D  \  { q } ) )  =  (/)
276275ineq2i 3499 . . . . . . . . . . . . 13  |-  ( D  i^i  ( { q }  i^i  ( D 
\  { q } ) ) )  =  ( D  i^i  (/) )
277 in0 3613 . . . . . . . . . . . . 13  |-  ( D  i^i  (/) )  =  (/)
278274, 276, 2773eqtri 2428 . . . . . . . . . . . 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 15552 . . . . . . . . . 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 15551 . . . . . . . . . 10  |-  ( (
ph  /\  q  e.  A )  ->  ( G DProd  ( ( T  |`  D )  |`  ( D  i^i  { q } ) ) )  C_  ( (Cntz `  G ) `  ( G DProd  ( ( T  |`  D )  |`  ( D  \  {
q } ) ) ) ) )
2827dprdssv 15529 . . . . . . . . . . 11  |-  ( G DProd 
( ( T  |`  D )  |`  ( D  i^i  { q } ) ) )  C_  B
283 ssfi 7288 . . . . . . . . . . 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 15292 . . . . . . . . 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 3666 . . . . . . . . . . . . . 14  |-  ( ( D  i^i  { q } )  u.  ( D  \  { q } ) )  =  D
287286eqcomi 2408 . . . . . . . . . . . . 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 15561 . . . . . . . . . . 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 2438 . . . . . . . . . 10  |-  ( (
ph  /\  q  e.  A )  ->  (
( G DProd  ( ( T  |`  D )  |`  ( D  i^i  { q } ) ) ) ( LSSum `  G )
( G DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) ) ) )  =  B )
292291fveq2d 5691 . . . . . . . . 9  |-  ( (
ph  /\  q  e.  A )  ->  ( # `
 ( ( G DProd 
( ( T  |`  D )  |`  ( D  i^i  { q } ) ) ) (
LSSum `  G ) ( G DProd  ( ( T  |`  D )  |`  ( D  \  { q } ) ) ) ) )  =  ( # `  B ) )
293 snssi 3902 . . . . . . . . . . . . . . . . 17  |-  ( q  e.  D  ->  { q }  C_  D )
294293adantl 453 . . . . . . . . . . . . . . . 16  |-  ( ( ( ph  /\  q  e.  A )  /\  q  e.  D )  ->  { q }  C_  D )
295 dfss1 3505 . . . . . . . . . . . . . . . 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 5105 . . . . . . . . . . . . . 14  |-  ( ( ( ph  /\  q  e.  A )  /\  q  e.  D )  ->  (
( T  |`  D )  |`  ( D  i^i  {
q } ) )  =  ( ( T  |`  D )  |`  { q } ) )
298297oveq2d 6056 . . . . . . . . . . . . 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 15564 . . . . . . . . . . . . 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 2440 . . . . . . . . . . . 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 3828 . . . . . . . . . . . . . . . . . 18  |-  ( ( D  i^i  { q } )  =  (/)  <->  -.  q  e.  D )
307305, 306sylibr 204 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  -> 
( D  i^i  {
q } )  =  (/) )
308307reseq2d 5105 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  -> 
( ( T  |`  D )  |`  ( D  i^i  { q } ) )  =  ( ( T  |`  D )  |`  (/) ) )
309 res0 5109 . . . . . . . . . . . . . . . 16  |-  ( ( T  |`  D )  |`  (/) )  =  (/)
310308, 309syl6eq 2452 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  -> 
( ( T  |`  D )  |`  ( D  i^i  { q } ) )  =  (/) )
311310oveq2d 6056 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( q  e.  A  /\  -.  q  e.  D ) )  -> 
( G DProd  ( ( T  |`  D )  |`  ( D  i^i  { q } ) ) )  =  ( G DProd  (/) ) )
312113dprd0 15544 . . . . . . . . . . . . . . . . 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 2440 . . . . . . . . . . . . 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 5691 . . . . . . . . . 10  |-  ( (
ph  /\  q  e.  A )  ->  ( # `
 ( G DProd  (
( T  |`  D )  |`  ( D  i^i  {
q } ) ) ) )  =  (
# `  ( T `  q ) ) )
320319oveq1d 6055 . . . . . . . . 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 2444 . . . . . . . 8  |-  ( (
ph  /\  q  e.  A )  ->  ( # `
 B )  =  ( ( # `  ( T `  q )
)  x.  ( # `  ( G DProd  ( ( T  |`  D )  |`  ( D  \  {
q } ) ) ) ) ) )
322266, 321breqtrd 4196 . . . . . . 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 10000 . . . . . . . 8  |-  ( (
ph  /\  q  e.  A )  ->  ( # `
 ( G DProd  (
( T  |`  D )  |`  ( D  \  {
q } ) ) ) )  =/=  0
)
324 dvdsmulcr 12834 . . . . . . . 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 12852 . . . . . 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 15582 . . . . 5  |-  ( (
ph  /\  q  e.  A )  ->  ( # `
 ( S `  q ) )  =  ( q ^ (
q  pCnt  ( # `  B
) ) ) )
330328, 329eqtr4d 2439 . . . 4  |-  ( (
ph  /\  q  e.  A )  ->  ( # `
 ( T `  q ) )  =  ( # `  ( S `  q )
) )
331 hashen 11586 . . . . 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 7279 . . 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 5789 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 1649    e. wcel 1721    =/= wne 2567   A.wral 2666   {crab 2670   _Vcvv 2916    \ cdif 3277    u. cun 3278    i^i cin 3279    C_ wss 3280   (/)c0 3588   {csn 3774   class class class wbr 4172    e. cmpt 4226   dom cdm 4837    |` cres 4839    Fn wfn 5408   -->wf 5409   ` cfv 5413  (class class class)co 6040    ~~ cen 7065   Fincfn 7068   0cc0 8946   1c1 8947    x. cmul 8951    <_ cle 9077   NNcn 9956   NN0cn0 10177   ZZcz 10238   ZZ>=cuz 10444   ...cfz 10999   ^cexp 11337   #chash 11573    || cdivides 12807    gcd cgcd 12961   Primecprime 13034    pCnt cpc 13165   Basecbs 13424   0gc0g 13678   Grpcgrp 14640  SubGrpcsubg 14893  Cntzccntz 15069   odcod 15118   LSSumclsm 15223   Abelcabel 15368   DProd cdprd 15509
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1552  ax-5 1563  ax-17 1623  ax-9 1662  ax-8 1683  ax-13 1723  ax-14 1725  ax-6 1740  ax-7 1745  ax-11 1757  ax-12 1946  ax-ext 2385  ax-rep 4280  ax-sep 4290  ax-nul 4298  ax-pow 4337  ax-pr 4363  ax-un 4660  ax-inf2 7552  ax-cnex 9002  ax-resscn 9003  ax-1cn 9004  ax-icn 9005  ax-addcl 9006  ax-addrcl 9007  ax-mulcl 9008  ax-mulrcl 9009  ax-mulcom 9010  ax-addass 9011  ax-mulass 9012  ax-distr 9013  ax-i2m1 9014  ax-1ne0 9015  ax-1rid 9016  ax-rnegex 9017  ax-rrecex 9018  ax-cnre 9019  ax-pre-lttri 9020  ax-pre-lttrn 9021  ax-pre-ltadd 9022  ax-pre-mulgt0 9023  ax-pre-sup 9024
This theorem depends on definitions:  df-bi 178  df-or 360  df-an 361  df-3or 937  df-3an 938  df-tru 1325  df-ex 1548  df-nf 1551  df-sb 1656  df-eu 2258  df-mo 2259  df-clab 2391  df-cleq 2397  df-clel 2400  df-nfc 2529  df-ne 2569  df-nel 2570  df-ral 2671  df-rex 2672  df-reu 2673  df-rmo 2674  df-rab 2675  df-v 2918  df-sbc 3122  df-csb 3212  df-dif 3283  df-un 3285  df-in 3287  df-ss 3294  df-pss 3296  df-nul 3589  df-if 3700  df-pw 3761  df-sn 3780  df-pr 3781  df-tp 3782  df-op 3783  df-uni 3976  df-int 4011  df-iun 4055  df-iin 4056  df-disj 4143  df-br 4173  df-opab 4227  df-mpt 4228  df-tr 4263  df-eprel 4454  df-id 4458  df-po 4463  df-so 4464  df-fr 4501  df-se 4502  df-we 4503  df-ord 4544  df-on 4545  df-lim 4546  df-suc 4547  df-om 4805  df-xp 4843  df-rel 4844  df-cnv 4845  df-co 4846  df-dm 4847  df-rn 4848  df-res 4849  df-ima 4850  df-iota 5377  df-fun 5415  df-fn 5416  df-f 5417  df-f1 5418  df-fo 5419  df-f1o 5420  df-fv 5421  df-isom 5422  df-ov 6043  df-oprab 6044  df-mpt2 6045  df-of 6264  df-1st 6308  df-2nd 6309  df-tpos 6438  df-riota 6508  df-recs 6592  df-rdg 6627  df-1o 6683  df-2o 6684  df-oadd 6687  df-omul 6688  df-er 6864  df-ec 6866  df-qs 6870  df-map 6979  df-ixp 7023  df-en 7069  df-dom 7070  df-sdom 7071  df-fin 7072  df-sup 7404  df-oi 7435  df-card 7782  df-acn 7785  df-cda 8004  df-pnf 9078  df-mnf 9079  df-xr 9080  df-ltxr 9081  df-le 9082  df-sub 9249  df-neg 9250  df-div 9634  df-nn 9957  df-2 10014  df-3 10015  df-n0 10178  df-z 10239  df-uz 10445  df-q 10531  df-rp 10569  df-fz 11000  df-fzo 11091  df-fl 11157  df-mod 11206  df-seq 11279  df-exp 11338  df-fac 11522  df-bc 11549  df-hash 11574  df-cj 11859  df-re 11860  df-im 11861  df-sqr 11995  df-abs 11996  df-clim 12237  df-sum 12435  df-dvds 12808  df-gcd 12962  df-prm 13035  df-pc 13166  df-ndx 13427  df-slot 13428  df-base 13429  df-sets 13430  df-ress 13431  df-plusg 13497  df-0g 13682  df-gsum 13683  df-mre 13766  df-mrc 13767  df-acs 13769  df-mnd 14645  df-mhm 14693  df-submnd 14694  df-grp 14767  df-minusg 14768  df-sbg 14769  df-mulg 14770  df-subg 14896  df-eqg 14898  df-ghm 14959  df-gim 15001  df-ga 15022  df-cntz 15071  df-oppg 15097  df-od 15122  df-lsm 15225  df-pj1 15226  df-cmn 15369  df-abl 15370  df-dprd 15511
  Copyright terms: Public domain W3C validator