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

Theorem lgsquadlem3 21101
Description: Lemma for lgsquad 21102. (Contributed by Mario Carneiro, 18-Jun-2015.)
Hypotheses
Ref Expression
lgseisen.1  |-  ( ph  ->  P  e.  ( Prime  \  { 2 } ) )
lgseisen.2  |-  ( ph  ->  Q  e.  ( Prime  \  { 2 } ) )
lgseisen.3  |-  ( ph  ->  P  =/=  Q )
lgsquad.4  |-  M  =  ( ( P  - 
1 )  /  2
)
lgsquad.5  |-  N  =  ( ( Q  - 
1 )  /  2
)
lgsquad.6  |-  S  =  { <. x ,  y
>.  |  ( (
x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) )  /\  ( y  x.  P )  <  (
x  x.  Q ) ) }
Assertion
Ref Expression
lgsquadlem3  |-  ( ph  ->  ( ( P  / L Q )  x.  ( Q  / L P ) )  =  ( -u
1 ^ ( M  x.  N ) ) )
Distinct variable groups:    x, y, P    ph, x, y    y, M    x, N, y    x, Q, y    x, S    x, M    y, S

Proof of Theorem lgsquadlem3
Dummy variables  w  z are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 lgseisen.2 . . . . 5  |-  ( ph  ->  Q  e.  ( Prime  \  { 2 } ) )
2 lgseisen.1 . . . . 5  |-  ( ph  ->  P  e.  ( Prime  \  { 2 } ) )
3 lgseisen.3 . . . . . 6  |-  ( ph  ->  P  =/=  Q )
43necomd 2658 . . . . 5  |-  ( ph  ->  Q  =/=  P )
5 lgsquad.5 . . . . 5  |-  N  =  ( ( Q  - 
1 )  /  2
)
6 lgsquad.4 . . . . 5  |-  M  =  ( ( P  - 
1 )  /  2
)
7 eleq1 2472 . . . . . . . . . 10  |-  ( x  =  z  ->  (
x  e.  ( 1 ... M )  <->  z  e.  ( 1 ... M
) ) )
8 eleq1 2472 . . . . . . . . . 10  |-  ( y  =  w  ->  (
y  e.  ( 1 ... N )  <->  w  e.  ( 1 ... N
) ) )
97, 8bi2anan9 844 . . . . . . . . 9  |-  ( ( x  =  z  /\  y  =  w )  ->  ( ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) )  <->  ( z  e.  ( 1 ... M
)  /\  w  e.  ( 1 ... N
) ) ) )
10 ancom 438 . . . . . . . . 9  |-  ( ( z  e.  ( 1 ... M )  /\  w  e.  ( 1 ... N ) )  <-> 
( w  e.  ( 1 ... N )  /\  z  e.  ( 1 ... M ) ) )
119, 10syl6bb 253 . . . . . . . 8  |-  ( ( x  =  z  /\  y  =  w )  ->  ( ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) )  <->  ( w  e.  ( 1 ... N
)  /\  z  e.  ( 1 ... M
) ) ) )
12 oveq1 6055 . . . . . . . . 9  |-  ( x  =  z  ->  (
x  x.  Q )  =  ( z  x.  Q ) )
13 oveq1 6055 . . . . . . . . 9  |-  ( y  =  w  ->  (
y  x.  P )  =  ( w  x.  P ) )
1412, 13breqan12d 4195 . . . . . . . 8  |-  ( ( x  =  z  /\  y  =  w )  ->  ( ( x  x.  Q )  <  (
y  x.  P )  <-> 
( z  x.  Q
)  <  ( w  x.  P ) ) )
1511, 14anbi12d 692 . . . . . . 7  |-  ( ( x  =  z  /\  y  =  w )  ->  ( ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N
) )  /\  (
x  x.  Q )  <  ( y  x.  P ) )  <->  ( (
w  e.  ( 1 ... N )  /\  z  e.  ( 1 ... M ) )  /\  ( z  x.  Q )  <  (
w  x.  P ) ) ) )
1615ancoms 440 . . . . . 6  |-  ( ( y  =  w  /\  x  =  z )  ->  ( ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N
) )  /\  (
x  x.  Q )  <  ( y  x.  P ) )  <->  ( (
w  e.  ( 1 ... N )  /\  z  e.  ( 1 ... M ) )  /\  ( z  x.  Q )  <  (
w  x.  P ) ) ) )
1716cbvopabv 4245 . . . . 5  |-  { <. y ,  x >.  |  ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) )  /\  ( x  x.  Q )  < 
( y  x.  P
) ) }  =  { <. w ,  z
>.  |  ( (
w  e.  ( 1 ... N )  /\  z  e.  ( 1 ... M ) )  /\  ( z  x.  Q )  <  (
w  x.  P ) ) }
181, 2, 4, 5, 6, 17lgsquadlem2 21100 . . . 4  |-  ( ph  ->  ( P  / L Q )  =  (
-u 1 ^ ( # `
 { <. y ,  x >.  |  (
( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) )  /\  ( x  x.  Q )  < 
( y  x.  P
) ) } ) ) )
19 relopab 4968 . . . . . . . 8  |-  Rel  { <. x ,  y >.  |  ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N
) )  /\  (
x  x.  Q )  <  ( y  x.  P ) ) }
20 fzfid 11275 . . . . . . . . . 10  |-  ( ph  ->  ( 1 ... M
)  e.  Fin )
21 fzfid 11275 . . . . . . . . . 10  |-  ( ph  ->  ( 1 ... N
)  e.  Fin )
22 xpfi 7345 . . . . . . . . . 10  |-  ( ( ( 1 ... M
)  e.  Fin  /\  ( 1 ... N
)  e.  Fin )  ->  ( ( 1 ... M )  X.  (
1 ... N ) )  e.  Fin )
2320, 21, 22syl2anc 643 . . . . . . . . 9  |-  ( ph  ->  ( ( 1 ... M )  X.  (
1 ... N ) )  e.  Fin )
24 opabssxp 4917 . . . . . . . . 9  |-  { <. x ,  y >.  |  ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) )  /\  ( x  x.  Q )  < 
( y  x.  P
) ) }  C_  ( ( 1 ... M )  X.  (
1 ... N ) )
25 ssfi 7296 . . . . . . . . 9  |-  ( ( ( ( 1 ... M )  X.  (
1 ... N ) )  e.  Fin  /\  { <. x ,  y >.  |  ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N
) )  /\  (
x  x.  Q )  <  ( y  x.  P ) ) } 
C_  ( ( 1 ... M )  X.  ( 1 ... N
) ) )  ->  { <. x ,  y
>.  |  ( (
x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) )  /\  ( x  x.  Q )  <  (
y  x.  P ) ) }  e.  Fin )
2623, 24, 25sylancl 644 . . . . . . . 8  |-  ( ph  ->  { <. x ,  y
>.  |  ( (
x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) )  /\  ( x  x.  Q )  <  (
y  x.  P ) ) }  e.  Fin )
27 cnven 7149 . . . . . . . 8  |-  ( ( Rel  { <. x ,  y >.  |  ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) )  /\  ( x  x.  Q )  < 
( y  x.  P
) ) }  /\  {
<. x ,  y >.  |  ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N
) )  /\  (
x  x.  Q )  <  ( y  x.  P ) ) }  e.  Fin )  ->  { <. x ,  y
>.  |  ( (
x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) )  /\  ( x  x.  Q )  <  (
y  x.  P ) ) }  ~~  `' { <. x ,  y
>.  |  ( (
x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) )  /\  ( x  x.  Q )  <  (
y  x.  P ) ) } )
2819, 26, 27sylancr 645 . . . . . . 7  |-  ( ph  ->  { <. x ,  y
>.  |  ( (
x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) )  /\  ( x  x.  Q )  <  (
y  x.  P ) ) }  ~~  `' { <. x ,  y
>.  |  ( (
x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) )  /\  ( x  x.  Q )  <  (
y  x.  P ) ) } )
29 cnvopab 5241 . . . . . . 7  |-  `' { <. x ,  y >.  |  ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N
) )  /\  (
x  x.  Q )  <  ( y  x.  P ) ) }  =  { <. y ,  x >.  |  (
( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) )  /\  ( x  x.  Q )  < 
( y  x.  P
) ) }
3028, 29syl6breq 4219 . . . . . 6  |-  ( ph  ->  { <. x ,  y
>.  |  ( (
x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) )  /\  ( x  x.  Q )  <  (
y  x.  P ) ) }  ~~  { <. y ,  x >.  |  ( ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) )  /\  (
x  x.  Q )  <  ( y  x.  P ) ) } )
31 hasheni 11595 . . . . . 6  |-  ( {
<. x ,  y >.  |  ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N
) )  /\  (
x  x.  Q )  <  ( y  x.  P ) ) } 
~~  { <. y ,  x >.  |  (
( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) )  /\  ( x  x.  Q )  < 
( y  x.  P
) ) }  ->  (
# `  { <. x ,  y >.  |  ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) )  /\  ( x  x.  Q )  < 
( y  x.  P
) ) } )  =  ( # `  { <. y ,  x >.  |  ( ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) )  /\  (
x  x.  Q )  <  ( y  x.  P ) ) } ) )
3230, 31syl 16 . . . . 5  |-  ( ph  ->  ( # `  { <. x ,  y >.  |  ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N
) )  /\  (
x  x.  Q )  <  ( y  x.  P ) ) } )  =  ( # `  { <. y ,  x >.  |  ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N
) )  /\  (
x  x.  Q )  <  ( y  x.  P ) ) } ) )
3332oveq2d 6064 . . . 4  |-  ( ph  ->  ( -u 1 ^ ( # `  { <. x ,  y >.  |  ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N
) )  /\  (
x  x.  Q )  <  ( y  x.  P ) ) } ) )  =  (
-u 1 ^ ( # `
 { <. y ,  x >.  |  (
( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) )  /\  ( x  x.  Q )  < 
( y  x.  P
) ) } ) ) )
3418, 33eqtr4d 2447 . . 3  |-  ( ph  ->  ( P  / L Q )  =  (
-u 1 ^ ( # `
 { <. x ,  y >.  |  ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) )  /\  ( x  x.  Q )  < 
( y  x.  P
) ) } ) ) )
35 lgsquad.6 . . . 4  |-  S  =  { <. x ,  y
>.  |  ( (
x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) )  /\  ( y  x.  P )  <  (
x  x.  Q ) ) }
362, 1, 3, 6, 5, 35lgsquadlem2 21100 . . 3  |-  ( ph  ->  ( Q  / L P )  =  (
-u 1 ^ ( # `
 S ) ) )
3734, 36oveq12d 6066 . 2  |-  ( ph  ->  ( ( P  / L Q )  x.  ( Q  / L P ) )  =  ( (
-u 1 ^ ( # `
 { <. x ,  y >.  |  ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) )  /\  ( x  x.  Q )  < 
( y  x.  P
) ) } ) )  x.  ( -u
1 ^ ( # `  S ) ) ) )
38 neg1cn 10031 . . . 4  |-  -u 1  e.  CC
3938a1i 11 . . 3  |-  ( ph  -> 
-u 1  e.  CC )
40 opabssxp 4917 . . . . . 6  |-  { <. x ,  y >.  |  ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) )  /\  ( y  x.  P )  < 
( x  x.  Q
) ) }  C_  ( ( 1 ... M )  X.  (
1 ... N ) )
4135, 40eqsstri 3346 . . . . 5  |-  S  C_  ( ( 1 ... M )  X.  (
1 ... N ) )
42 ssfi 7296 . . . . 5  |-  ( ( ( ( 1 ... M )  X.  (
1 ... N ) )  e.  Fin  /\  S  C_  ( ( 1 ... M )  X.  (
1 ... N ) ) )  ->  S  e.  Fin )
4323, 41, 42sylancl 644 . . . 4  |-  ( ph  ->  S  e.  Fin )
44 hashcl 11602 . . . 4  |-  ( S  e.  Fin  ->  ( # `
 S )  e. 
NN0 )
4543, 44syl 16 . . 3  |-  ( ph  ->  ( # `  S
)  e.  NN0 )
46 hashcl 11602 . . . 4  |-  ( {
<. x ,  y >.  |  ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N
) )  /\  (
x  x.  Q )  <  ( y  x.  P ) ) }  e.  Fin  ->  ( # `
 { <. x ,  y >.  |  ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) )  /\  ( x  x.  Q )  < 
( y  x.  P
) ) } )  e.  NN0 )
4726, 46syl 16 . . 3  |-  ( ph  ->  ( # `  { <. x ,  y >.  |  ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N
) )  /\  (
x  x.  Q )  <  ( y  x.  P ) ) } )  e.  NN0 )
4839, 45, 47expaddd 11488 . 2  |-  ( ph  ->  ( -u 1 ^ ( ( # `  { <. x ,  y >.  |  ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N
) )  /\  (
x  x.  Q )  <  ( y  x.  P ) ) } )  +  ( # `  S ) ) )  =  ( ( -u
1 ^ ( # `  { <. x ,  y
>.  |  ( (
x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) )  /\  ( x  x.  Q )  <  (
y  x.  P ) ) } ) )  x.  ( -u 1 ^ ( # `  S
) ) ) )
491eldifad 3300 . . . . . . . . . . . . . . . . 17  |-  ( ph  ->  Q  e.  Prime )
5049adantr 452 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  Q  e.  Prime )
51 prmnn 13045 . . . . . . . . . . . . . . . 16  |-  ( Q  e.  Prime  ->  Q  e.  NN )
5250, 51syl 16 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  Q  e.  NN )
53 oddprm 13152 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( Q  e.  ( Prime  \  {
2 } )  -> 
( ( Q  - 
1 )  /  2
)  e.  NN )
541, 53syl 16 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ph  ->  ( ( Q  - 
1 )  /  2
)  e.  NN )
555, 54syl5eqel 2496 . . . . . . . . . . . . . . . . . . . 20  |-  ( ph  ->  N  e.  NN )
5655adantr 452 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  N  e.  NN )
5756nnzd 10338 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  N  e.  ZZ )
58 prmz 13046 . . . . . . . . . . . . . . . . . . . 20  |-  ( Q  e.  Prime  ->  Q  e.  ZZ )
5950, 58syl 16 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  Q  e.  ZZ )
60 peano2zm 10284 . . . . . . . . . . . . . . . . . . 19  |-  ( Q  e.  ZZ  ->  ( Q  -  1 )  e.  ZZ )
6159, 60syl 16 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( Q  -  1 )  e.  ZZ )
6256nnred 9979 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  N  e.  RR )
6361zred 10339 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( Q  -  1 )  e.  RR )
64 prmuz2 13060 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( Q  e.  Prime  ->  Q  e.  ( ZZ>= `  2 )
)
6550, 64syl 16 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  Q  e.  ( ZZ>= ` 
2 ) )
66 uz2m1nn 10514 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( Q  e.  ( ZZ>= `  2
)  ->  ( Q  -  1 )  e.  NN )
6765, 66syl 16 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( Q  -  1 )  e.  NN )
6867nnrpd 10611 . . . . . . . . . . . . . . . . . . . . 21  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( Q  -  1 )  e.  RR+ )
69 rphalflt 10602 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( Q  -  1 )  e.  RR+  ->  ( ( Q  -  1 )  /  2 )  < 
( Q  -  1 ) )
7068, 69syl 16 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( ( Q  - 
1 )  /  2
)  <  ( Q  -  1 ) )
715, 70syl5eqbr 4213 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  N  <  ( Q  - 
1 ) )
7262, 63, 71ltled 9185 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  N  <_  ( Q  - 
1 ) )
73 eluz2 10458 . . . . . . . . . . . . . . . . . 18  |-  ( ( Q  -  1 )  e.  ( ZZ>= `  N
)  <->  ( N  e.  ZZ  /\  ( Q  -  1 )  e.  ZZ  /\  N  <_ 
( Q  -  1 ) ) )
7457, 61, 72, 73syl3anbrc 1138 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( Q  -  1 )  e.  ( ZZ>= `  N ) )
75 fzss2 11056 . . . . . . . . . . . . . . . . 17  |-  ( ( Q  -  1 )  e.  ( ZZ>= `  N
)  ->  ( 1 ... N )  C_  ( 1 ... ( Q  -  1 ) ) )
7674, 75syl 16 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( 1 ... N
)  C_  ( 1 ... ( Q  - 
1 ) ) )
77 simprr 734 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
y  e.  ( 1 ... N ) )
7876, 77sseldd 3317 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
y  e.  ( 1 ... ( Q  - 
1 ) ) )
79 fzm1ndvds 12864 . . . . . . . . . . . . . . 15  |-  ( ( Q  e.  NN  /\  y  e.  ( 1 ... ( Q  - 
1 ) ) )  ->  -.  Q  ||  y
)
8052, 78, 79syl2anc 643 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  -.  Q  ||  y )
814adantr 452 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  Q  =/=  P )
822eldifad 3300 . . . . . . . . . . . . . . . . . 18  |-  ( ph  ->  P  e.  Prime )
8382adantr 452 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  P  e.  Prime )
84 prmrp 13064 . . . . . . . . . . . . . . . . 17  |-  ( ( Q  e.  Prime  /\  P  e.  Prime )  ->  (
( Q  gcd  P
)  =  1  <->  Q  =/=  P ) )
8550, 83, 84syl2anc 643 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( ( Q  gcd  P )  =  1  <->  Q  =/=  P ) )
8681, 85mpbird 224 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( Q  gcd  P
)  =  1 )
87 prmz 13046 . . . . . . . . . . . . . . . . 17  |-  ( P  e.  Prime  ->  P  e.  ZZ )
8883, 87syl 16 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  P  e.  ZZ )
89 elfzelz 11023 . . . . . . . . . . . . . . . . 17  |-  ( y  e.  ( 1 ... N )  ->  y  e.  ZZ )
9089ad2antll 710 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
y  e.  ZZ )
91 coprmdvds 13065 . . . . . . . . . . . . . . . 16  |-  ( ( Q  e.  ZZ  /\  P  e.  ZZ  /\  y  e.  ZZ )  ->  (
( Q  ||  ( P  x.  y )  /\  ( Q  gcd  P
)  =  1 )  ->  Q  ||  y
) )
9259, 88, 90, 91syl3anc 1184 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( ( Q  ||  ( P  x.  y
)  /\  ( Q  gcd  P )  =  1 )  ->  Q  ||  y
) )
9386, 92mpan2d 656 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( Q  ||  ( P  x.  y )  ->  Q  ||  y ) )
9480, 93mtod 170 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  -.  Q  ||  ( P  x.  y ) )
95 prmnn 13045 . . . . . . . . . . . . . . . . 17  |-  ( P  e.  Prime  ->  P  e.  NN )
9683, 95syl 16 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  P  e.  NN )
9796nncnd 9980 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  P  e.  CC )
98 elfznn 11044 . . . . . . . . . . . . . . . . 17  |-  ( y  e.  ( 1 ... N )  ->  y  e.  NN )
9998ad2antll 710 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
y  e.  NN )
10099nncnd 9980 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
y  e.  CC )
10197, 100mulcomd 9073 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( P  x.  y
)  =  ( y  x.  P ) )
102101breq2d 4192 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( Q  ||  ( P  x.  y )  <->  Q 
||  ( y  x.  P ) ) )
10394, 102mtbid 292 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  -.  Q  ||  ( y  x.  P ) )
104 elfzelz 11023 . . . . . . . . . . . . . . . 16  |-  ( x  e.  ( 1 ... M )  ->  x  e.  ZZ )
105104ad2antrl 709 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  x  e.  ZZ )
106 dvdsmul2 12835 . . . . . . . . . . . . . . 15  |-  ( ( x  e.  ZZ  /\  Q  e.  ZZ )  ->  Q  ||  ( x  x.  Q ) )
107105, 59, 106syl2anc 643 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  Q  ||  ( x  x.  Q ) )
108 breq2 4184 . . . . . . . . . . . . . 14  |-  ( ( x  x.  Q )  =  ( y  x.  P )  ->  ( Q  ||  ( x  x.  Q )  <->  Q  ||  (
y  x.  P ) ) )
109107, 108syl5ibcom 212 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( ( x  x.  Q )  =  ( y  x.  P )  ->  Q  ||  (
y  x.  P ) ) )
110109necon3bd 2612 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( -.  Q  ||  ( y  x.  P
)  ->  ( x  x.  Q )  =/=  (
y  x.  P ) ) )
111103, 110mpd 15 . . . . . . . . . . 11  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( x  x.  Q
)  =/=  ( y  x.  P ) )
112 elfznn 11044 . . . . . . . . . . . . . . 15  |-  ( x  e.  ( 1 ... M )  ->  x  e.  NN )
113112ad2antrl 709 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  x  e.  NN )
114113, 52nnmulcld 10011 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( x  x.  Q
)  e.  NN )
115114nnred 9979 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( x  x.  Q
)  e.  RR )
11699, 96nnmulcld 10011 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( y  x.  P
)  e.  NN )
117116nnred 9979 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( y  x.  P
)  e.  RR )
118115, 117lttri2d 9176 . . . . . . . . . . 11  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( ( x  x.  Q )  =/=  (
y  x.  P )  <-> 
( ( x  x.  Q )  <  (
y  x.  P )  \/  ( y  x.  P )  <  (
x  x.  Q ) ) ) )
119111, 118mpbid 202 . . . . . . . . . 10  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( ( x  x.  Q )  <  (
y  x.  P )  \/  ( y  x.  P )  <  (
x  x.  Q ) ) )
120119ex 424 . . . . . . . . 9  |-  ( ph  ->  ( ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) )  ->  (
( x  x.  Q
)  <  ( y  x.  P )  \/  (
y  x.  P )  <  ( x  x.  Q ) ) ) )
121120pm4.71rd 617 . . . . . . . 8  |-  ( ph  ->  ( ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) )  <->  ( (
( x  x.  Q
)  <  ( y  x.  P )  \/  (
y  x.  P )  <  ( x  x.  Q ) )  /\  ( x  e.  (
1 ... M )  /\  y  e.  ( 1 ... N ) ) ) ) )
122 ancom 438 . . . . . . . 8  |-  ( ( ( ( x  x.  Q )  <  (
y  x.  P )  \/  ( y  x.  P )  <  (
x  x.  Q ) )  /\  ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N
) ) )  <->  ( (
x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) )  /\  ( ( x  x.  Q )  < 
( y  x.  P
)  \/  ( y  x.  P )  < 
( x  x.  Q
) ) ) )
123121, 122syl6rbb 254 . . . . . . 7  |-  ( ph  ->  ( ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N
) )  /\  (
( x  x.  Q
)  <  ( y  x.  P )  \/  (
y  x.  P )  <  ( x  x.  Q ) ) )  <-> 
( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) ) ) )
124123opabbidv 4239 . . . . . 6  |-  ( ph  ->  { <. x ,  y
>.  |  ( (
x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) )  /\  ( ( x  x.  Q )  < 
( y  x.  P
)  \/  ( y  x.  P )  < 
( x  x.  Q
) ) ) }  =  { <. x ,  y >.  |  ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) ) } )
125 unopab 4252 . . . . . . 7  |-  ( {
<. x ,  y >.  |  ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N
) )  /\  (
x  x.  Q )  <  ( y  x.  P ) ) }  u.  { <. x ,  y >.  |  ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) )  /\  ( y  x.  P )  < 
( x  x.  Q
) ) } )  =  { <. x ,  y >.  |  ( ( ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) )  /\  (
x  x.  Q )  <  ( y  x.  P ) )  \/  ( ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) )  /\  (
y  x.  P )  <  ( x  x.  Q ) ) ) }
12635uneq2i 3466 . . . . . . 7  |-  ( {
<. x ,  y >.  |  ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N
) )  /\  (
x  x.  Q )  <  ( y  x.  P ) ) }  u.  S )  =  ( { <. x ,  y >.  |  ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) )  /\  ( x  x.  Q )  < 
( y  x.  P
) ) }  u.  {
<. x ,  y >.  |  ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N
) )  /\  (
y  x.  P )  <  ( x  x.  Q ) ) } )
127 andi 838 . . . . . . . 8  |-  ( ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) )  /\  ( ( x  x.  Q )  <  ( y  x.  P )  \/  (
y  x.  P )  <  ( x  x.  Q ) ) )  <-> 
( ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N
) )  /\  (
x  x.  Q )  <  ( y  x.  P ) )  \/  ( ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) )  /\  (
y  x.  P )  <  ( x  x.  Q ) ) ) )
128127opabbii 4240 . . . . . . 7  |-  { <. x ,  y >.  |  ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) )  /\  ( ( x  x.  Q )  <  ( y  x.  P )  \/  (
y  x.  P )  <  ( x  x.  Q ) ) ) }  =  { <. x ,  y >.  |  ( ( ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) )  /\  (
x  x.  Q )  <  ( y  x.  P ) )  \/  ( ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) )  /\  (
y  x.  P )  <  ( x  x.  Q ) ) ) }
129125, 126, 1283eqtr4i 2442 . . . . . 6  |-  ( {
<. x ,  y >.  |  ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N
) )  /\  (
x  x.  Q )  <  ( y  x.  P ) ) }  u.  S )  =  { <. x ,  y
>.  |  ( (
x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) )  /\  ( ( x  x.  Q )  < 
( y  x.  P
)  \/  ( y  x.  P )  < 
( x  x.  Q
) ) ) }
130 df-xp 4851 . . . . . 6  |-  ( ( 1 ... M )  X.  ( 1 ... N ) )  =  { <. x ,  y
>.  |  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) }
131124, 129, 1303eqtr4g 2469 . . . . 5  |-  ( ph  ->  ( { <. x ,  y >.  |  ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) )  /\  ( x  x.  Q )  < 
( y  x.  P
) ) }  u.  S )  =  ( ( 1 ... M
)  X.  ( 1 ... N ) ) )
132131fveq2d 5699 . . . 4  |-  ( ph  ->  ( # `  ( { <. x ,  y
>.  |  ( (
x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) )  /\  ( x  x.  Q )  <  (
y  x.  P ) ) }  u.  S
) )  =  (
# `  ( (
1 ... M )  X.  ( 1 ... N
) ) ) )
133 inopab 4972 . . . . . . 7  |-  ( {
<. x ,  y >.  |  ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N
) )  /\  (
x  x.  Q )  <  ( y  x.  P ) ) }  i^i  { <. x ,  y >.  |  ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) )  /\  ( y  x.  P )  < 
( x  x.  Q
) ) } )  =  { <. x ,  y >.  |  ( ( ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) )  /\  (
x  x.  Q )  <  ( y  x.  P ) )  /\  ( ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) )  /\  (
y  x.  P )  <  ( x  x.  Q ) ) ) }
13435ineq2i 3507 . . . . . . 7  |-  ( {
<. x ,  y >.  |  ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N
) )  /\  (
x  x.  Q )  <  ( y  x.  P ) ) }  i^i  S )  =  ( { <. x ,  y >.  |  ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) )  /\  ( x  x.  Q )  < 
( y  x.  P
) ) }  i^i  {
<. x ,  y >.  |  ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N
) )  /\  (
y  x.  P )  <  ( x  x.  Q ) ) } )
135 anandi 802 . . . . . . . 8  |-  ( ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) )  /\  ( ( x  x.  Q )  <  ( y  x.  P )  /\  (
y  x.  P )  <  ( x  x.  Q ) ) )  <-> 
( ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N
) )  /\  (
x  x.  Q )  <  ( y  x.  P ) )  /\  ( ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) )  /\  (
y  x.  P )  <  ( x  x.  Q ) ) ) )
136135opabbii 4240 . . . . . . 7  |-  { <. x ,  y >.  |  ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) )  /\  ( ( x  x.  Q )  <  ( y  x.  P )  /\  (
y  x.  P )  <  ( x  x.  Q ) ) ) }  =  { <. x ,  y >.  |  ( ( ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) )  /\  (
x  x.  Q )  <  ( y  x.  P ) )  /\  ( ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) )  /\  (
y  x.  P )  <  ( x  x.  Q ) ) ) }
137133, 134, 1363eqtr4i 2442 . . . . . 6  |-  ( {
<. x ,  y >.  |  ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N
) )  /\  (
x  x.  Q )  <  ( y  x.  P ) ) }  i^i  S )  =  { <. x ,  y
>.  |  ( (
x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) )  /\  ( ( x  x.  Q )  < 
( y  x.  P
)  /\  ( y  x.  P )  <  (
x  x.  Q ) ) ) }
138 ltnsym2 9137 . . . . . . . . . . . 12  |-  ( ( ( x  x.  Q
)  e.  RR  /\  ( y  x.  P
)  e.  RR )  ->  -.  ( (
x  x.  Q )  <  ( y  x.  P )  /\  (
y  x.  P )  <  ( x  x.  Q ) ) )
139115, 117, 138syl2anc 643 . . . . . . . . . . 11  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  -.  ( ( x  x.  Q )  <  (
y  x.  P )  /\  ( y  x.  P )  <  (
x  x.  Q ) ) )
140139ex 424 . . . . . . . . . 10  |-  ( ph  ->  ( ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) )  ->  -.  ( ( x  x.  Q )  <  (
y  x.  P )  /\  ( y  x.  P )  <  (
x  x.  Q ) ) ) )
141 imnan 412 . . . . . . . . . 10  |-  ( ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) )  ->  -.  (
( x  x.  Q
)  <  ( y  x.  P )  /\  (
y  x.  P )  <  ( x  x.  Q ) ) )  <->  -.  ( ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) )  /\  (
( x  x.  Q
)  <  ( y  x.  P )  /\  (
y  x.  P )  <  ( x  x.  Q ) ) ) )
142140, 141sylib 189 . . . . . . . . 9  |-  ( ph  ->  -.  ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N
) )  /\  (
( x  x.  Q
)  <  ( y  x.  P )  /\  (
y  x.  P )  <  ( x  x.  Q ) ) ) )
143142nexdv 1937 . . . . . . . 8  |-  ( ph  ->  -.  E. y ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) )  /\  ( ( x  x.  Q )  <  ( y  x.  P )  /\  (
y  x.  P )  <  ( x  x.  Q ) ) ) )
144143nexdv 1937 . . . . . . 7  |-  ( ph  ->  -.  E. x E. y ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N
) )  /\  (
( x  x.  Q
)  <  ( y  x.  P )  /\  (
y  x.  P )  <  ( x  x.  Q ) ) ) )
145 opabn0 4453 . . . . . . . 8  |-  ( {
<. x ,  y >.  |  ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N
) )  /\  (
( x  x.  Q
)  <  ( y  x.  P )  /\  (
y  x.  P )  <  ( x  x.  Q ) ) ) }  =/=  (/)  <->  E. x E. y ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N
) )  /\  (
( x  x.  Q
)  <  ( y  x.  P )  /\  (
y  x.  P )  <  ( x  x.  Q ) ) ) )
146145necon1bbii 2627 . . . . . . 7  |-  ( -. 
E. x E. y
( ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) )  /\  (
( x  x.  Q
)  <  ( y  x.  P )  /\  (
y  x.  P )  <  ( x  x.  Q ) ) )  <->  { <. x ,  y
>.  |  ( (
x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) )  /\  ( ( x  x.  Q )  < 
( y  x.  P
)  /\  ( y  x.  P )  <  (
x  x.  Q ) ) ) }  =  (/) )
147144, 146sylib 189 . . . . . 6  |-  ( ph  ->  { <. x ,  y
>.  |  ( (
x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) )  /\  ( ( x  x.  Q )  < 
( y  x.  P
)  /\  ( y  x.  P )  <  (
x  x.  Q ) ) ) }  =  (/) )
148137, 147syl5eq 2456 . . . . 5  |-  ( ph  ->  ( { <. x ,  y >.  |  ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) )  /\  ( x  x.  Q )  < 
( y  x.  P
) ) }  i^i  S )  =  (/) )
149 hashun 11619 . . . . 5  |-  ( ( { <. x ,  y
>.  |  ( (
x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) )  /\  ( x  x.  Q )  <  (
y  x.  P ) ) }  e.  Fin  /\  S  e.  Fin  /\  ( { <. x ,  y
>.  |  ( (
x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) )  /\  ( x  x.  Q )  <  (
y  x.  P ) ) }  i^i  S
)  =  (/) )  -> 
( # `  ( {
<. x ,  y >.  |  ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N
) )  /\  (
x  x.  Q )  <  ( y  x.  P ) ) }  u.  S ) )  =  ( ( # `  { <. x ,  y
>.  |  ( (
x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) )  /\  ( x  x.  Q )  <  (
y  x.  P ) ) } )  +  ( # `  S
) ) )
15026, 43, 148, 149syl3anc 1184 . . . 4  |-  ( ph  ->  ( # `  ( { <. x ,  y
>.  |  ( (
x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) )  /\  ( x  x.  Q )  <  (
y  x.  P ) ) }  u.  S
) )  =  ( ( # `  { <. x ,  y >.  |  ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N
) )  /\  (
x  x.  Q )  <  ( y  x.  P ) ) } )  +  ( # `  S ) ) )
151 hashxp 11660 . . . . . 6  |-  ( ( ( 1 ... M
)  e.  Fin  /\  ( 1 ... N
)  e.  Fin )  ->  ( # `  (
( 1 ... M
)  X.  ( 1 ... N ) ) )  =  ( (
# `  ( 1 ... M ) )  x.  ( # `  (
1 ... N ) ) ) )
15220, 21, 151syl2anc 643 . . . . 5  |-  ( ph  ->  ( # `  (
( 1 ... M
)  X.  ( 1 ... N ) ) )  =  ( (
# `  ( 1 ... M ) )  x.  ( # `  (
1 ... N ) ) ) )
153 oddprm 13152 . . . . . . . . . 10  |-  ( P  e.  ( Prime  \  {
2 } )  -> 
( ( P  - 
1 )  /  2
)  e.  NN )
1542, 153syl 16 . . . . . . . . 9  |-  ( ph  ->  ( ( P  - 
1 )  /  2
)  e.  NN )
1556, 154syl5eqel 2496 . . . . . . . 8  |-  ( ph  ->  M  e.  NN )
156155nnnn0d 10238 . . . . . . 7  |-  ( ph  ->  M  e.  NN0 )
157 hashfz1 11593 . . . . . . 7  |-  ( M  e.  NN0  ->  ( # `  ( 1 ... M
) )  =  M )
158156, 157syl 16 . . . . . 6  |-  ( ph  ->  ( # `  (
1 ... M ) )  =  M )
15955nnnn0d 10238 . . . . . . 7  |-  ( ph  ->  N  e.  NN0 )
160 hashfz1 11593 . . . . . . 7  |-  ( N  e.  NN0  ->  ( # `  ( 1 ... N
) )  =  N )
161159, 160syl 16 . . . . . 6  |-  ( ph  ->  ( # `  (
1 ... N ) )  =  N )
162158, 161oveq12d 6066 . . . . 5  |-  ( ph  ->  ( ( # `  (
1 ... M ) )  x.  ( # `  (
1 ... N ) ) )  =  ( M  x.  N ) )
163152, 162eqtrd 2444 . . . 4  |-  ( ph  ->  ( # `  (
( 1 ... M
)  X.  ( 1 ... N ) ) )  =  ( M  x.  N ) )
164132, 150, 1633eqtr3d 2452 . . 3  |-  ( ph  ->  ( ( # `  { <. x ,  y >.  |  ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N
) )  /\  (
x  x.  Q )  <  ( y  x.  P ) ) } )  +  ( # `  S ) )  =  ( M  x.  N
) )
165164oveq2d 6064 . 2  |-  ( ph  ->  ( -u 1 ^ ( ( # `  { <. x ,  y >.  |  ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N
) )  /\  (
x  x.  Q )  <  ( y  x.  P ) ) } )  +  ( # `  S ) ) )  =  ( -u 1 ^ ( M  x.  N ) ) )
16637, 48, 1653eqtr2d 2450 1  |-  ( ph  ->  ( ( P  / L Q )  x.  ( Q  / L P ) )  =  ( -u
1 ^ ( M  x.  N ) ) )
Colors of variables: wff set class
Syntax hints:   -. wn 3    -> wi 4    <-> wb 177    \/ wo 358    /\ wa 359   E.wex 1547    = wceq 1649    e. wcel 1721    =/= wne 2575    \ cdif 3285    u. cun 3286    i^i cin 3287    C_ wss 3288   (/)c0 3596   {csn 3782   class class class wbr 4180   {copab 4233    X. cxp 4843   `'ccnv 4844   Rel wrel 4850   ` cfv 5421  (class class class)co 6048    ~~ cen 7073   Fincfn 7076   CCcc 8952   RRcr 8953   1c1 8955    + caddc 8957    x. cmul 8959    < clt 9084    <_ cle 9085    - cmin 9255   -ucneg 9256    / cdiv 9641   NNcn 9964   2c2 10013   NN0cn0 10185   ZZcz 10246   ZZ>=cuz 10452   RR+crp 10576   ...cfz 11007   ^cexp 11345   #chash 11581    || cdivides 12815    gcd cgcd 12969   Primecprime 13042    / Lclgs 21039
This theorem is referenced by:  lgsquad  21102
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 2393  ax-rep 4288  ax-sep 4298  ax-nul 4306  ax-pow 4345  ax-pr 4371  ax-un 4668  ax-inf2 7560  ax-cnex 9010  ax-resscn 9011  ax-1cn 9012  ax-icn 9013  ax-addcl 9014  ax-addrcl 9015  ax-mulcl 9016  ax-mulrcl 9017  ax-mulcom 9018  ax-addass 9019  ax-mulass 9020  ax-distr 9021  ax-i2m1 9022  ax-1ne0 9023  ax-1rid 9024  ax-rnegex 9025  ax-rrecex 9026  ax-cnre 9027  ax-pre-lttri 9028  ax-pre-lttrn 9029  ax-pre-ltadd 9030  ax-pre-mulgt0 9031  ax-pre-sup 9032  ax-addf 9033  ax-mulf 9034
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 2266  df-mo 2267  df-clab 2399  df-cleq 2405  df-clel 2408  df-nfc 2537  df-ne 2577  df-nel 2578  df-ral 2679  df-rex 2680  df-reu 2681  df-rmo 2682  df-rab 2683  df-v 2926  df-sbc 3130  df-csb 3220  df-dif 3291  df-un 3293  df-in 3295  df-ss 3302  df-pss 3304  df-nul 3597  df-if 3708  df-pw 3769  df-sn 3788  df-pr 3789  df-tp 3790  df-op 3791  df-uni 3984  df-int 4019  df-iun 4063  df-disj 4151  df-br 4181  df-opab 4235  df-mpt 4236  df-tr 4271  df-eprel 4462  df-id 4466  df-po 4471  df-so 4472  df-fr 4509  df-se 4510  df-we 4511  df-ord 4552  df-on 4553  df-lim 4554  df-suc 4555  df-om 4813  df-xp 4851  df-rel 4852  df-cnv 4853  df-co 4854  df-dm 4855  df-rn 4856  df-res 4857  df-ima 4858  df-iota 5385  df-fun 5423  df-fn 5424  df-f 5425  df-f1 5426  df-fo 5427  df-f1o 5428  df-fv 5429  df-isom 5430  df-ov 6051  df-oprab 6052  df-mpt2 6053  df-of 6272  df-1st 6316  df-2nd 6317  df-tpos 6446  df-riota 6516  df-recs 6600  df-rdg 6635  df-1o 6691  df-2o 6692  df-oadd 6695  df-er 6872  df-ec 6874  df-qs 6878  df-map 6987  df-en 7077  df-dom 7078  df-sdom 7079  df-fin 7080  df-sup 7412  df-oi 7443  df-card 7790  df-cda 8012  df-pnf 9086  df-mnf 9087  df-xr 9088  df-ltxr 9089  df-le 9090  df-sub 9257  df-neg 9258  df-div 9642  df-nn 9965  df-2 10022  df-3 10023  df-4 10024  df-5 10025  df-6 10026  df-7 10027  df-8 10028  df-9 10029  df-10 10030  df-n0 10186  df-z 10247  df-dec 10347  df-uz 10453  df-q 10539  df-rp 10577  df-fz 11008  df-fzo 11099  df-fl 11165  df-mod 11214  df-seq 11287  df-exp 11346  df-hash 11582  df-cj 11867  df-re 11868  df-im 11869  df-sqr 12003  df-abs 12004  df-clim 12245  df-sum 12443  df-dvds 12816  df-gcd 12970  df-prm 13043  df-phi 13118  df-pc 13174  df-struct 13434  df-ndx 13435  df-slot 13436  df-base 13437  df-sets 13438  df-ress 13439  df-plusg 13505  df-mulr 13506  df-starv 13507  df-sca 13508  df-vsca 13509  df-tset 13511  df-ple 13512  df-ds 13514  df-unif 13515  df-0g 13690  df-gsum 13691  df-imas 13697  df-divs 13698  df-mnd 14653  df-mhm 14701  df-submnd 14702  df-grp 14775  df-minusg 14776  df-sbg 14777  df-mulg 14778  df-subg 14904  df-nsg 14905  df-eqg 14906  df-ghm 14967  df-cntz 15079  df-cmn 15377  df-abl 15378  df-mgp 15612  df-rng 15626  df-cring 15627  df-ur 15628  df-oppr 15691  df-dvdsr 15709  df-unit 15710  df-invr 15740  df-dvr 15751  df-rnghom 15782  df-drng 15800  df-field 15801  df-subrg 15829  df-lmod 15915  df-lss 15972  df-lsp 16011  df-sra 16207  df-rgmod 16208  df-lidl 16209  df-rsp 16210  df-2idl 16266  df-nzr 16292  df-rlreg 16306  df-domn 16307  df-idom 16308  df-cnfld 16667  df-zrh 16745  df-zn 16748  df-lgs 21040
  Copyright terms: Public domain W3C validator