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

Theorem lgsquadlem3 22670
Description: Lemma for lgsquad 22671. (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 2690 . . . . 5  |-  ( ph  ->  Q  =/=  P )
5 lgsquad.5 . . . . 5  |-  N  =  ( ( Q  - 
1 )  /  2
)
6 lgsquad.4 . . . . 5  |-  M  =  ( ( P  - 
1 )  /  2
)
7 eleq1 2498 . . . . . . . . . 10  |-  ( x  =  z  ->  (
x  e.  ( 1 ... M )  <->  z  e.  ( 1 ... M
) ) )
8 eleq1 2498 . . . . . . . . . 10  |-  ( y  =  w  ->  (
y  e.  ( 1 ... N )  <->  w  e.  ( 1 ... N
) ) )
97, 8bi2anan9 868 . . . . . . . . 9  |-  ( ( x  =  z  /\  y  =  w )  ->  ( ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) )  <->  ( z  e.  ( 1 ... M
)  /\  w  e.  ( 1 ... N
) ) ) )
10 ancom 450 . . . . . . . . 9  |-  ( ( z  e.  ( 1 ... M )  /\  w  e.  ( 1 ... N ) )  <-> 
( w  e.  ( 1 ... N )  /\  z  e.  ( 1 ... M ) ) )
119, 10syl6bb 261 . . . . . . . 8  |-  ( ( x  =  z  /\  y  =  w )  ->  ( ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) )  <->  ( w  e.  ( 1 ... N
)  /\  z  e.  ( 1 ... M
) ) ) )
12 oveq1 6093 . . . . . . . . 9  |-  ( x  =  z  ->  (
x  x.  Q )  =  ( z  x.  Q ) )
13 oveq1 6093 . . . . . . . . 9  |-  ( y  =  w  ->  (
y  x.  P )  =  ( w  x.  P ) )
1412, 13breqan12d 4302 . . . . . . . 8  |-  ( ( x  =  z  /\  y  =  w )  ->  ( ( x  x.  Q )  <  (
y  x.  P )  <-> 
( z  x.  Q
)  <  ( w  x.  P ) ) )
1511, 14anbi12d 710 . . . . . . 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 453 . . . . . 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 4356 . . . . 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 22669 . . . 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 4961 . . . . . . . 8  |-  Rel  { <. x ,  y >.  |  ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N
) )  /\  (
x  x.  Q )  <  ( y  x.  P ) ) }
20 fzfid 11787 . . . . . . . . . 10  |-  ( ph  ->  ( 1 ... M
)  e.  Fin )
21 fzfid 11787 . . . . . . . . . 10  |-  ( ph  ->  ( 1 ... N
)  e.  Fin )
22 xpfi 7575 . . . . . . . . . 10  |-  ( ( ( 1 ... M
)  e.  Fin  /\  ( 1 ... N
)  e.  Fin )  ->  ( ( 1 ... M )  X.  (
1 ... N ) )  e.  Fin )
2320, 21, 22syl2anc 661 . . . . . . . . 9  |-  ( ph  ->  ( ( 1 ... M )  X.  (
1 ... N ) )  e.  Fin )
24 opabssxp 4906 . . . . . . . . 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 7525 . . . . . . . . 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 662 . . . . . . . 8  |-  ( ph  ->  { <. x ,  y
>.  |  ( (
x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) )  /\  ( x  x.  Q )  <  (
y  x.  P ) ) }  e.  Fin )
27 cnven 7377 . . . . . . . 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 663 . . . . . . 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 5233 . . . . . . 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 4326 . . . . . 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 12111 . . . . . 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 6102 . . . 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 2473 . . 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 22669 . . 3  |-  ( ph  ->  ( Q  /L
P )  =  (
-u 1 ^ ( # `
 S ) ) )
3734, 36oveq12d 6104 . 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 10417 . . . 4  |-  -u 1  e.  CC
3938a1i 11 . . 3  |-  ( ph  -> 
-u 1  e.  CC )
40 opabssxp 4906 . . . . . 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 3381 . . . . 5  |-  S  C_  ( ( 1 ... M )  X.  (
1 ... N ) )
42 ssfi 7525 . . . . 5  |-  ( ( ( ( 1 ... M )  X.  (
1 ... N ) )  e.  Fin  /\  S  C_  ( ( 1 ... M )  X.  (
1 ... N ) ) )  ->  S  e.  Fin )
4323, 41, 42sylancl 662 . . . 4  |-  ( ph  ->  S  e.  Fin )
44 hashcl 12118 . . . 4  |-  ( S  e.  Fin  ->  ( # `
 S )  e. 
NN0 )
4543, 44syl 16 . . 3  |-  ( ph  ->  ( # `  S
)  e.  NN0 )
46 hashcl 12118 . . . 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 12002 . 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 3335 . . . . . . . . . . . . . . . . 17  |-  ( ph  ->  Q  e.  Prime )
5049adantr 465 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  Q  e.  Prime )
51 prmnn 13758 . . . . . . . . . . . . . . . 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 13874 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( Q  e.  ( Prime  \  {
2 } )  -> 
( ( Q  - 
1 )  /  2
)  e.  NN )
541, 53syl 16 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ph  ->  ( ( Q  - 
1 )  /  2
)  e.  NN )
555, 54syl5eqel 2522 . . . . . . . . . . . . . . . . . . . 20  |-  ( ph  ->  N  e.  NN )
5655adantr 465 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  N  e.  NN )
5756nnzd 10738 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  N  e.  ZZ )
58 prmz 13759 . . . . . . . . . . . . . . . . . . . 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 10680 . . . . . . . . . . . . . . . . . . 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 10329 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  N  e.  RR )
6361zred 10739 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( Q  -  1 )  e.  RR )
64 prmuz2 13773 . . . . . . . . . . . . . . . . . . . . . . . 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 10921 . . . . . . . . . . . . . . . . . . . . . . 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 11018 . . . . . . . . . . . . . . . . . . . . 21  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( Q  -  1 )  e.  RR+ )
69 rphalflt 11009 . . . . . . . . . . . . . . . . . . . . 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 4320 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  N  <  ( Q  - 
1 ) )
7262, 63, 71ltled 9514 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  N  <_  ( Q  - 
1 ) )
73 eluz2 10859 . . . . . . . . . . . . . . . . . 18  |-  ( ( Q  -  1 )  e.  ( ZZ>= `  N
)  <->  ( N  e.  ZZ  /\  ( Q  -  1 )  e.  ZZ  /\  N  <_ 
( Q  -  1 ) ) )
7457, 61, 72, 73syl3anbrc 1172 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( Q  -  1 )  e.  ( ZZ>= `  N ) )
75 fzss2 11490 . . . . . . . . . . . . . . . . 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 756 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
y  e.  ( 1 ... N ) )
7876, 77sseldd 3352 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
y  e.  ( 1 ... ( Q  - 
1 ) ) )
79 fzm1ndvds 13577 . . . . . . . . . . . . . . 15  |-  ( ( Q  e.  NN  /\  y  e.  ( 1 ... ( Q  - 
1 ) ) )  ->  -.  Q  ||  y
)
8052, 78, 79syl2anc 661 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  -.  Q  ||  y )
814adantr 465 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  Q  =/=  P )
822eldifad 3335 . . . . . . . . . . . . . . . . . 18  |-  ( ph  ->  P  e.  Prime )
8382adantr 465 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  P  e.  Prime )
84 prmrp 13779 . . . . . . . . . . . . . . . . 17  |-  ( ( Q  e.  Prime  /\  P  e.  Prime )  ->  (
( Q  gcd  P
)  =  1  <->  Q  =/=  P ) )
8550, 83, 84syl2anc 661 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( ( Q  gcd  P )  =  1  <->  Q  =/=  P ) )
8681, 85mpbird 232 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( Q  gcd  P
)  =  1 )
87 prmz 13759 . . . . . . . . . . . . . . . . 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 11445 . . . . . . . . . . . . . . . . 17  |-  ( y  e.  ( 1 ... N )  ->  y  e.  ZZ )
9089ad2antll 728 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
y  e.  ZZ )
91 coprmdvds 13780 . . . . . . . . . . . . . . . 16  |-  ( ( Q  e.  ZZ  /\  P  e.  ZZ  /\  y  e.  ZZ )  ->  (
( Q  ||  ( P  x.  y )  /\  ( Q  gcd  P
)  =  1 )  ->  Q  ||  y
) )
9259, 88, 90, 91syl3anc 1218 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( ( Q  ||  ( P  x.  y
)  /\  ( Q  gcd  P )  =  1 )  ->  Q  ||  y
) )
9386, 92mpan2d 674 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( Q  ||  ( P  x.  y )  ->  Q  ||  y ) )
9480, 93mtod 177 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  -.  Q  ||  ( P  x.  y ) )
95 prmnn 13758 . . . . . . . . . . . . . . . . 17  |-  ( P  e.  Prime  ->  P  e.  NN )
9683, 95syl 16 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  P  e.  NN )
9796nncnd 10330 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  P  e.  CC )
98 elfznn 11470 . . . . . . . . . . . . . . . . 17  |-  ( y  e.  ( 1 ... N )  ->  y  e.  NN )
9998ad2antll 728 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
y  e.  NN )
10099nncnd 10330 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
y  e.  CC )
10197, 100mulcomd 9399 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( P  x.  y
)  =  ( y  x.  P ) )
102101breq2d 4299 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( Q  ||  ( P  x.  y )  <->  Q 
||  ( y  x.  P ) ) )
10394, 102mtbid 300 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  -.  Q  ||  ( y  x.  P ) )
104 elfzelz 11445 . . . . . . . . . . . . . . . 16  |-  ( x  e.  ( 1 ... M )  ->  x  e.  ZZ )
105104ad2antrl 727 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  x  e.  ZZ )
106 dvdsmul2 13547 . . . . . . . . . . . . . . 15  |-  ( ( x  e.  ZZ  /\  Q  e.  ZZ )  ->  Q  ||  ( x  x.  Q ) )
107105, 59, 106syl2anc 661 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  Q  ||  ( x  x.  Q ) )
108 breq2 4291 . . . . . . . . . . . . . 14  |-  ( ( x  x.  Q )  =  ( y  x.  P )  ->  ( Q  ||  ( x  x.  Q )  <->  Q  ||  (
y  x.  P ) ) )
109107, 108syl5ibcom 220 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( ( x  x.  Q )  =  ( y  x.  P )  ->  Q  ||  (
y  x.  P ) ) )
110109necon3bd 2640 . . . . . . . . . . . 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 11470 . . . . . . . . . . . . . . 15  |-  ( x  e.  ( 1 ... M )  ->  x  e.  NN )
113112ad2antrl 727 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  x  e.  NN )
114113, 52nnmulcld 10361 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( x  x.  Q
)  e.  NN )
115114nnred 10329 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( x  x.  Q
)  e.  RR )
11699, 96nnmulcld 10361 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( y  x.  P
)  e.  NN )
117116nnred 10329 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( y  x.  P
)  e.  RR )
118115, 117lttri2d 9505 . . . . . . . . . . 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 210 . . . . . . . . . 10  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( ( x  x.  Q )  <  (
y  x.  P )  \/  ( y  x.  P )  <  (
x  x.  Q ) ) )
120119ex 434 . . . . . . . . 9  |-  ( ph  ->  ( ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) )  ->  (
( x  x.  Q
)  <  ( y  x.  P )  \/  (
y  x.  P )  <  ( x  x.  Q ) ) ) )
121120pm4.71rd 635 . . . . . . . 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 450 . . . . . . . 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 262 . . . . . . 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 4350 . . . . . 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 4362 . . . . . . 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 3502 . . . . . . 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 862 . . . . . . . 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 4351 . . . . . . 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 2468 . . . . . 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 4841 . . . . . 6  |-  ( ( 1 ... M )  X.  ( 1 ... N ) )  =  { <. x ,  y
>.  |  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) }
131124, 129, 1303eqtr4g 2495 . . . . 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 5690 . . . 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 4965 . . . . . . 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 3544 . . . . . . 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 824 . . . . . . . 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 4351 . . . . . . 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 2468 . . . . . 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 9466 . . . . . . . . . . . 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 661 . . . . . . . . . . 11  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  -.  ( ( x  x.  Q )  <  (
y  x.  P )  /\  ( y  x.  P )  <  (
x  x.  Q ) ) )
140139ex 434 . . . . . . . . . 10  |-  ( ph  ->  ( ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) )  ->  -.  ( ( x  x.  Q )  <  (
y  x.  P )  /\  ( y  x.  P )  <  (
x  x.  Q ) ) ) )
141 imnan 422 . . . . . . . . . 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 196 . . . . . . . . 9  |-  ( ph  ->  -.  ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N
) )  /\  (
( x  x.  Q
)  <  ( y  x.  P )  /\  (
y  x.  P )  <  ( x  x.  Q ) ) ) )
143142nexdv 1934 . . . . . . . 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 1934 . . . . . . 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 4614 . . . . . . . 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 2658 . . . . . . 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 196 . . . . . 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 2482 . . . . 5  |-  ( ph  ->  ( { <. x ,  y >.  |  ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) )  /\  ( x  x.  Q )  < 
( y  x.  P
) ) }  i^i  S )  =  (/) )
149 hashun 12137 . . . . 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 1218 . . . 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 12188 . . . . . 6  |-  ( ( ( 1 ... M
)  e.  Fin  /\  ( 1 ... N
)  e.  Fin )  ->  ( # `  (
( 1 ... M
)  X.  ( 1 ... N ) ) )  =  ( (
# `  ( 1 ... M ) )  x.  ( # `  (
1 ... N ) ) ) )
15220, 21, 151syl2anc 661 . . . . 5  |-  ( ph  ->  ( # `  (
( 1 ... M
)  X.  ( 1 ... N ) ) )  =  ( (
# `  ( 1 ... M ) )  x.  ( # `  (
1 ... N ) ) ) )
153 oddprm 13874 . . . . . . . . . 10  |-  ( P  e.  ( Prime  \  {
2 } )  -> 
( ( P  - 
1 )  /  2
)  e.  NN )
1542, 153syl 16 . . . . . . . . 9  |-  ( ph  ->  ( ( P  - 
1 )  /  2
)  e.  NN )
1556, 154syl5eqel 2522 . . . . . . . 8  |-  ( ph  ->  M  e.  NN )
156155nnnn0d 10628 . . . . . . 7  |-  ( ph  ->  M  e.  NN0 )
157 hashfz1 12109 . . . . . . 7  |-  ( M  e.  NN0  ->  ( # `  ( 1 ... M
) )  =  M )
158156, 157syl 16 . . . . . 6  |-  ( ph  ->  ( # `  (
1 ... M ) )  =  M )
15955nnnn0d 10628 . . . . . . 7  |-  ( ph  ->  N  e.  NN0 )
160 hashfz1 12109 . . . . . . 7  |-  ( N  e.  NN0  ->  ( # `  ( 1 ... N
) )  =  N )
161159, 160syl 16 . . . . . 6  |-  ( ph  ->  ( # `  (
1 ... N ) )  =  N )
162158, 161oveq12d 6104 . . . . 5  |-  ( ph  ->  ( ( # `  (
1 ... M ) )  x.  ( # `  (
1 ... N ) ) )  =  ( M  x.  N ) )
163152, 162eqtrd 2470 . . . 4  |-  ( ph  ->  ( # `  (
( 1 ... M
)  X.  ( 1 ... N ) ) )  =  ( M  x.  N ) )
164132, 150, 1633eqtr3d 2478 . . 3  |-  ( ph  ->  ( ( # `  { <. x ,  y >.  |  ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N
) )  /\  (
x  x.  Q )  <  ( y  x.  P ) ) } )  +  ( # `  S ) )  =  ( M  x.  N
) )
165164oveq2d 6102 . 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 2476 1  |-  ( ph  ->  ( ( P  /L Q )  x.  ( Q  /L
P ) )  =  ( -u 1 ^ ( M  x.  N
) ) )
Colors of variables: wff setvar class
Syntax hints:   -. wn 3    -> wi 4    <-> wb 184    \/ wo 368    /\ wa 369    = wceq 1369   E.wex 1586    e. wcel 1756    =/= wne 2601    \ cdif 3320    u. cun 3321    i^i cin 3322    C_ wss 3323   (/)c0 3632   {csn 3872   class class class wbr 4287   {copab 4344    X. cxp 4833   `'ccnv 4834   Rel wrel 4840   ` cfv 5413  (class class class)co 6086    ~~ cen 7299   Fincfn 7302   CCcc 9272   RRcr 9273   1c1 9275    + caddc 9277    x. cmul 9279    < clt 9410    <_ cle 9411    - cmin 9587   -ucneg 9588    / cdiv 9985   NNcn 10314   2c2 10363   NN0cn0 10571   ZZcz 10638   ZZ>=cuz 10853   RR+crp 10983   ...cfz 11429   ^cexp 11857   #chash 12095    || cdivides 13527    gcd cgcd 13682   Primecprime 13755    /Lclgs 22608
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1591  ax-4 1602  ax-5 1670  ax-6 1708  ax-7 1728  ax-8 1758  ax-9 1760  ax-10 1775  ax-11 1780  ax-12 1792  ax-13 1943  ax-ext 2419  ax-rep 4398  ax-sep 4408  ax-nul 4416  ax-pow 4465  ax-pr 4526  ax-un 6367  ax-inf2 7839  ax-cnex 9330  ax-resscn 9331  ax-1cn 9332  ax-icn 9333  ax-addcl 9334  ax-addrcl 9335  ax-mulcl 9336  ax-mulrcl 9337  ax-mulcom 9338  ax-addass 9339  ax-mulass 9340  ax-distr 9341  ax-i2m1 9342  ax-1ne0 9343  ax-1rid 9344  ax-rnegex 9345  ax-rrecex 9346  ax-cnre 9347  ax-pre-lttri 9348  ax-pre-lttrn 9349  ax-pre-ltadd 9350  ax-pre-mulgt0 9351  ax-pre-sup 9352  ax-addf 9353  ax-mulf 9354
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3or 966  df-3an 967  df-tru 1372  df-fal 1375  df-ex 1587  df-nf 1590  df-sb 1701  df-eu 2256  df-mo 2257  df-clab 2425  df-cleq 2431  df-clel 2434  df-nfc 2563  df-ne 2603  df-nel 2604  df-ral 2715  df-rex 2716  df-reu 2717  df-rmo 2718  df-rab 2719  df-v 2969  df-sbc 3182  df-csb 3284  df-dif 3326  df-un 3328  df-in 3330  df-ss 3337  df-pss 3339  df-nul 3633  df-if 3787  df-pw 3857  df-sn 3873  df-pr 3875  df-tp 3877  df-op 3879  df-uni 4087  df-int 4124  df-iun 4168  df-disj 4258  df-br 4288  df-opab 4346  df-mpt 4347  df-tr 4381  df-eprel 4627  df-id 4631  df-po 4636  df-so 4637  df-fr 4674  df-se 4675  df-we 4676  df-ord 4717  df-on 4718  df-lim 4719  df-suc 4720  df-xp 4841  df-rel 4842  df-cnv 4843  df-co 4844  df-dm 4845  df-rn 4846  df-res 4847  df-ima 4848  df-iota 5376  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-riota 6047  df-ov 6089  df-oprab 6090  df-mpt2 6091  df-of 6315  df-om 6472  df-1st 6572  df-2nd 6573  df-supp 6686  df-tpos 6740  df-recs 6824  df-rdg 6858  df-1o 6912  df-2o 6913  df-oadd 6916  df-er 7093  df-ec 7095  df-qs 7099  df-map 7208  df-en 7303  df-dom 7304  df-sdom 7305  df-fin 7306  df-fsupp 7613  df-sup 7683  df-oi 7716  df-card 8101  df-cda 8329  df-pnf 9412  df-mnf 9413  df-xr 9414  df-ltxr 9415  df-le 9416  df-sub 9589  df-neg 9590  df-div 9986  df-nn 10315  df-2 10372  df-3 10373  df-4 10374  df-5 10375  df-6 10376  df-7 10377  df-8 10378  df-9 10379  df-10 10380  df-n0 10572  df-z 10639  df-dec 10748  df-uz 10854  df-q 10946  df-rp 10984  df-fz 11430  df-fzo 11541  df-fl 11634  df-mod 11701  df-seq 11799  df-exp 11858  df-hash 12096  df-cj 12580  df-re 12581  df-im 12582  df-sqr 12716  df-abs 12717  df-clim 12958  df-sum 13156  df-dvds 13528  df-gcd 13683  df-prm 13756  df-phi 13833  df-pc 13896  df-struct 14168  df-ndx 14169  df-slot 14170  df-base 14171  df-sets 14172  df-ress 14173  df-plusg 14243  df-mulr 14244  df-starv 14245  df-sca 14246  df-vsca 14247  df-ip 14248  df-tset 14249  df-ple 14250  df-ds 14252  df-unif 14253  df-0g 14372  df-gsum 14373  df-imas 14438  df-divs 14439  df-mnd 15407  df-mhm 15456  df-submnd 15457  df-grp 15536  df-minusg 15537  df-sbg 15538  df-mulg 15539  df-subg 15669  df-nsg 15670  df-eqg 15671  df-ghm 15736  df-cntz 15826  df-cmn 16270  df-abl 16271  df-mgp 16580  df-ur 16592  df-rng 16635  df-cring 16636  df-oppr 16703  df-dvdsr 16721  df-unit 16722  df-invr 16752  df-dvr 16763  df-rnghom 16794  df-drng 16812  df-field 16813  df-subrg 16841  df-lmod 16928  df-lss 16991  df-lsp 17030  df-sra 17230  df-rgmod 17231  df-lidl 17232  df-rsp 17233  df-2idl 17291  df-nzr 17317  df-rlreg 17331  df-domn 17332  df-idom 17333  df-cnfld 17794  df-zring 17859  df-zrh 17910  df-zn 17913  df-lgs 22609
This theorem is referenced by:  lgsquad  22671
  Copyright terms: Public domain W3C validator