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

Theorem lgsquadlem3 24147
Description: Lemma for lgsquad 24148. (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 2702 . . . . 5  |-  ( ph  ->  Q  =/=  P )
5 lgsquad.5 . . . . 5  |-  N  =  ( ( Q  - 
1 )  /  2
)
6 lgsquad.4 . . . . 5  |-  M  =  ( ( P  - 
1 )  /  2
)
7 eleq1 2501 . . . . . . . . . 10  |-  ( x  =  z  ->  (
x  e.  ( 1 ... M )  <->  z  e.  ( 1 ... M
) ) )
8 eleq1 2501 . . . . . . . . . 10  |-  ( y  =  w  ->  (
y  e.  ( 1 ... N )  <->  w  e.  ( 1 ... N
) ) )
97, 8bi2anan9 881 . . . . . . . . 9  |-  ( ( x  =  z  /\  y  =  w )  ->  ( ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) )  <->  ( z  e.  ( 1 ... M
)  /\  w  e.  ( 1 ... N
) ) ) )
10 ancom 451 . . . . . . . . 9  |-  ( ( z  e.  ( 1 ... M )  /\  w  e.  ( 1 ... N ) )  <-> 
( w  e.  ( 1 ... N )  /\  z  e.  ( 1 ... M ) ) )
119, 10syl6bb 264 . . . . . . . 8  |-  ( ( x  =  z  /\  y  =  w )  ->  ( ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) )  <->  ( w  e.  ( 1 ... N
)  /\  z  e.  ( 1 ... M
) ) ) )
12 oveq1 6312 . . . . . . . . 9  |-  ( x  =  z  ->  (
x  x.  Q )  =  ( z  x.  Q ) )
13 oveq1 6312 . . . . . . . . 9  |-  ( y  =  w  ->  (
y  x.  P )  =  ( w  x.  P ) )
1412, 13breqan12d 4441 . . . . . . . 8  |-  ( ( x  =  z  /\  y  =  w )  ->  ( ( x  x.  Q )  <  (
y  x.  P )  <-> 
( z  x.  Q
)  <  ( w  x.  P ) ) )
1511, 14anbi12d 715 . . . . . . 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 454 . . . . . 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 4495 . . . . 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 24146 . . . 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 4980 . . . . . . . 8  |-  Rel  { <. x ,  y >.  |  ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N
) )  /\  (
x  x.  Q )  <  ( y  x.  P ) ) }
20 fzfid 12183 . . . . . . . . . 10  |-  ( ph  ->  ( 1 ... M
)  e.  Fin )
21 fzfid 12183 . . . . . . . . . 10  |-  ( ph  ->  ( 1 ... N
)  e.  Fin )
22 xpfi 7848 . . . . . . . . . 10  |-  ( ( ( 1 ... M
)  e.  Fin  /\  ( 1 ... N
)  e.  Fin )  ->  ( ( 1 ... M )  X.  (
1 ... N ) )  e.  Fin )
2320, 21, 22syl2anc 665 . . . . . . . . 9  |-  ( ph  ->  ( ( 1 ... M )  X.  (
1 ... N ) )  e.  Fin )
24 opabssxp 4929 . . . . . . . . 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 7798 . . . . . . . . 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 666 . . . . . . . 8  |-  ( ph  ->  { <. x ,  y
>.  |  ( (
x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) )  /\  ( x  x.  Q )  <  (
y  x.  P ) ) }  e.  Fin )
27 cnven 7652 . . . . . . . 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 667 . . . . . . 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 5257 . . . . . . 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 4465 . . . . . 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 12528 . . . . . 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 17 . . . . 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 6321 . . . 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 24146 . . 3  |-  ( ph  ->  ( Q  /L
P )  =  (
-u 1 ^ ( # `
 S ) ) )
3734, 36oveq12d 6323 . 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 10713 . . . 4  |-  -u 1  e.  CC
3938a1i 11 . . 3  |-  ( ph  -> 
-u 1  e.  CC )
40 opabssxp 4929 . . . . . 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 3500 . . . . 5  |-  S  C_  ( ( 1 ... M )  X.  (
1 ... N ) )
42 ssfi 7798 . . . . 5  |-  ( ( ( ( 1 ... M )  X.  (
1 ... N ) )  e.  Fin  /\  S  C_  ( ( 1 ... M )  X.  (
1 ... N ) ) )  ->  S  e.  Fin )
4323, 41, 42sylancl 666 . . . 4  |-  ( ph  ->  S  e.  Fin )
44 hashcl 12535 . . . 4  |-  ( S  e.  Fin  ->  ( # `
 S )  e. 
NN0 )
4543, 44syl 17 . . 3  |-  ( ph  ->  ( # `  S
)  e.  NN0 )
46 hashcl 12535 . . . 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 17 . . 3  |-  ( ph  ->  ( # `  { <. x ,  y >.  |  ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N
) )  /\  (
x  x.  Q )  <  ( y  x.  P ) ) } )  e.  NN0 )
4839, 45, 47expaddd 12415 . 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 3454 . . . . . . . . . . . . . . . . 17  |-  ( ph  ->  Q  e.  Prime )
5049adantr 466 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  Q  e.  Prime )
51 prmnn 14596 . . . . . . . . . . . . . . . 16  |-  ( Q  e.  Prime  ->  Q  e.  NN )
5250, 51syl 17 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  Q  e.  NN )
53 oddprm 14728 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( Q  e.  ( Prime  \  {
2 } )  -> 
( ( Q  - 
1 )  /  2
)  e.  NN )
541, 53syl 17 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ph  ->  ( ( Q  - 
1 )  /  2
)  e.  NN )
555, 54syl5eqel 2521 . . . . . . . . . . . . . . . . . . . 20  |-  ( ph  ->  N  e.  NN )
5655adantr 466 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  N  e.  NN )
5756nnzd 11039 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  N  e.  ZZ )
58 prmz 14597 . . . . . . . . . . . . . . . . . . . 20  |-  ( Q  e.  Prime  ->  Q  e.  ZZ )
5950, 58syl 17 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  Q  e.  ZZ )
60 peano2zm 10980 . . . . . . . . . . . . . . . . . . 19  |-  ( Q  e.  ZZ  ->  ( Q  -  1 )  e.  ZZ )
6159, 60syl 17 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( Q  -  1 )  e.  ZZ )
6256nnred 10624 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  N  e.  RR )
6361zred 11040 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( Q  -  1 )  e.  RR )
64 prmuz2 14613 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( Q  e.  Prime  ->  Q  e.  ( ZZ>= `  2 )
)
6550, 64syl 17 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  Q  e.  ( ZZ>= ` 
2 ) )
66 uz2m1nn 11233 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( Q  e.  ( ZZ>= `  2
)  ->  ( Q  -  1 )  e.  NN )
6765, 66syl 17 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( Q  -  1 )  e.  NN )
6867nnrpd 11339 . . . . . . . . . . . . . . . . . . . . 21  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( Q  -  1 )  e.  RR+ )
69 rphalflt 11329 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( Q  -  1 )  e.  RR+  ->  ( ( Q  -  1 )  /  2 )  < 
( Q  -  1 ) )
7068, 69syl 17 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( ( Q  - 
1 )  /  2
)  <  ( Q  -  1 ) )
715, 70syl5eqbr 4459 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  N  <  ( Q  - 
1 ) )
7262, 63, 71ltled 9782 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  N  <_  ( Q  - 
1 ) )
73 eluz2 11165 . . . . . . . . . . . . . . . . . 18  |-  ( ( Q  -  1 )  e.  ( ZZ>= `  N
)  <->  ( N  e.  ZZ  /\  ( Q  -  1 )  e.  ZZ  /\  N  <_ 
( Q  -  1 ) ) )
7457, 61, 72, 73syl3anbrc 1189 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( Q  -  1 )  e.  ( ZZ>= `  N ) )
75 fzss2 11836 . . . . . . . . . . . . . . . . 17  |-  ( ( Q  -  1 )  e.  ( ZZ>= `  N
)  ->  ( 1 ... N )  C_  ( 1 ... ( Q  -  1 ) ) )
7674, 75syl 17 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( 1 ... N
)  C_  ( 1 ... ( Q  - 
1 ) ) )
77 simprr 764 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
y  e.  ( 1 ... N ) )
7876, 77sseldd 3471 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
y  e.  ( 1 ... ( Q  - 
1 ) ) )
79 fzm1ndvds 14335 . . . . . . . . . . . . . . 15  |-  ( ( Q  e.  NN  /\  y  e.  ( 1 ... ( Q  - 
1 ) ) )  ->  -.  Q  ||  y
)
8052, 78, 79syl2anc 665 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  -.  Q  ||  y )
814adantr 466 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  Q  =/=  P )
822eldifad 3454 . . . . . . . . . . . . . . . . . 18  |-  ( ph  ->  P  e.  Prime )
8382adantr 466 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  P  e.  Prime )
84 prmrp 14629 . . . . . . . . . . . . . . . . 17  |-  ( ( Q  e.  Prime  /\  P  e.  Prime )  ->  (
( Q  gcd  P
)  =  1  <->  Q  =/=  P ) )
8550, 83, 84syl2anc 665 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( ( Q  gcd  P )  =  1  <->  Q  =/=  P ) )
8681, 85mpbird 235 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( Q  gcd  P
)  =  1 )
87 prmz 14597 . . . . . . . . . . . . . . . . 17  |-  ( P  e.  Prime  ->  P  e.  ZZ )
8883, 87syl 17 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  P  e.  ZZ )
89 elfzelz 11798 . . . . . . . . . . . . . . . . 17  |-  ( y  e.  ( 1 ... N )  ->  y  e.  ZZ )
9089ad2antll 733 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
y  e.  ZZ )
91 coprmdvds 14630 . . . . . . . . . . . . . . . 16  |-  ( ( Q  e.  ZZ  /\  P  e.  ZZ  /\  y  e.  ZZ )  ->  (
( Q  ||  ( P  x.  y )  /\  ( Q  gcd  P
)  =  1 )  ->  Q  ||  y
) )
9259, 88, 90, 91syl3anc 1264 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( ( Q  ||  ( P  x.  y
)  /\  ( Q  gcd  P )  =  1 )  ->  Q  ||  y
) )
9386, 92mpan2d 678 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( Q  ||  ( P  x.  y )  ->  Q  ||  y ) )
9480, 93mtod 180 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  -.  Q  ||  ( P  x.  y ) )
95 prmnn 14596 . . . . . . . . . . . . . . . . 17  |-  ( P  e.  Prime  ->  P  e.  NN )
9683, 95syl 17 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  P  e.  NN )
9796nncnd 10625 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  P  e.  CC )
98 elfznn 11826 . . . . . . . . . . . . . . . . 17  |-  ( y  e.  ( 1 ... N )  ->  y  e.  NN )
9998ad2antll 733 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
y  e.  NN )
10099nncnd 10625 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
y  e.  CC )
10197, 100mulcomd 9663 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( P  x.  y
)  =  ( y  x.  P ) )
102101breq2d 4438 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( Q  ||  ( P  x.  y )  <->  Q 
||  ( y  x.  P ) ) )
10394, 102mtbid 301 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  -.  Q  ||  ( y  x.  P ) )
104 elfzelz 11798 . . . . . . . . . . . . . . . 16  |-  ( x  e.  ( 1 ... M )  ->  x  e.  ZZ )
105104ad2antrl 732 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  x  e.  ZZ )
106 dvdsmul2 14303 . . . . . . . . . . . . . . 15  |-  ( ( x  e.  ZZ  /\  Q  e.  ZZ )  ->  Q  ||  ( x  x.  Q ) )
107105, 59, 106syl2anc 665 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  Q  ||  ( x  x.  Q ) )
108 breq2 4430 . . . . . . . . . . . . . 14  |-  ( ( x  x.  Q )  =  ( y  x.  P )  ->  ( Q  ||  ( x  x.  Q )  <->  Q  ||  (
y  x.  P ) ) )
109107, 108syl5ibcom 223 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( ( x  x.  Q )  =  ( y  x.  P )  ->  Q  ||  (
y  x.  P ) ) )
110109necon3bd 2643 . . . . . . . . . . . 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 11826 . . . . . . . . . . . . . . 15  |-  ( x  e.  ( 1 ... M )  ->  x  e.  NN )
113112ad2antrl 732 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  x  e.  NN )
114113, 52nnmulcld 10657 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( x  x.  Q
)  e.  NN )
115114nnred 10624 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( x  x.  Q
)  e.  RR )
11699, 96nnmulcld 10657 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( y  x.  P
)  e.  NN )
117116nnred 10624 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( y  x.  P
)  e.  RR )
118115, 117lttri2d 9773 . . . . . . . . . . 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 213 . . . . . . . . . 10  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  -> 
( ( x  x.  Q )  <  (
y  x.  P )  \/  ( y  x.  P )  <  (
x  x.  Q ) ) )
120119ex 435 . . . . . . . . 9  |-  ( ph  ->  ( ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) )  ->  (
( x  x.  Q
)  <  ( y  x.  P )  \/  (
y  x.  P )  <  ( x  x.  Q ) ) ) )
121120pm4.71rd 639 . . . . . . . 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 451 . . . . . . . 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 265 . . . . . . 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 4489 . . . . . 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 4501 . . . . . . 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 3623 . . . . . . 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 875 . . . . . . . 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 4490 . . . . . . 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 4860 . . . . . 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 5885 . . . 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 4985 . . . . . . 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 3667 . . . . . . 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 835 . . . . . . . 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 4490 . . . . . . 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 9732 . . . . . . . . . . . 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 665 . . . . . . . . . . 11  |-  ( (
ph  /\  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) )  ->  -.  ( ( x  x.  Q )  <  (
y  x.  P )  /\  ( y  x.  P )  <  (
x  x.  Q ) ) )
140139ex 435 . . . . . . . . . 10  |-  ( ph  ->  ( ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) )  ->  -.  ( ( x  x.  Q )  <  (
y  x.  P )  /\  ( y  x.  P )  <  (
x  x.  Q ) ) ) )
141 imnan 423 . . . . . . . . . 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 199 . . . . . . . . 9  |-  ( ph  ->  -.  ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N
) )  /\  (
( x  x.  Q
)  <  ( y  x.  P )  /\  (
y  x.  P )  <  ( x  x.  Q ) ) ) )
143142nexdv 1774 . . . . . . . 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 1774 . . . . . . 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 4752 . . . . . . . 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 2695 . . . . . . 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 199 . . . . . 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 12558 . . . . 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 1264 . . . 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 12601 . . . . . 6  |-  ( ( ( 1 ... M
)  e.  Fin  /\  ( 1 ... N
)  e.  Fin )  ->  ( # `  (
( 1 ... M
)  X.  ( 1 ... N ) ) )  =  ( (
# `  ( 1 ... M ) )  x.  ( # `  (
1 ... N ) ) ) )
15220, 21, 151syl2anc 665 . . . . 5  |-  ( ph  ->  ( # `  (
( 1 ... M
)  X.  ( 1 ... N ) ) )  =  ( (
# `  ( 1 ... M ) )  x.  ( # `  (
1 ... N ) ) ) )
153 oddprm 14728 . . . . . . . . . 10  |-  ( P  e.  ( Prime  \  {
2 } )  -> 
( ( P  - 
1 )  /  2
)  e.  NN )
1542, 153syl 17 . . . . . . . . 9  |-  ( ph  ->  ( ( P  - 
1 )  /  2
)  e.  NN )
1556, 154syl5eqel 2521 . . . . . . . 8  |-  ( ph  ->  M  e.  NN )
156155nnnn0d 10925 . . . . . . 7  |-  ( ph  ->  M  e.  NN0 )
157 hashfz1 12526 . . . . . . 7  |-  ( M  e.  NN0  ->  ( # `  ( 1 ... M
) )  =  M )
158156, 157syl 17 . . . . . 6  |-  ( ph  ->  ( # `  (
1 ... M ) )  =  M )
15955nnnn0d 10925 . . . . . . 7  |-  ( ph  ->  N  e.  NN0 )
160 hashfz1 12526 . . . . . . 7  |-  ( N  e.  NN0  ->  ( # `  ( 1 ... N
) )  =  N )
161159, 160syl 17 . . . . . 6  |-  ( ph  ->  ( # `  (
1 ... N ) )  =  N )
162158, 161oveq12d 6323 . . . . 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 6321 . 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 187    \/ wo 369    /\ wa 370    = wceq 1437   E.wex 1659    e. wcel 1870    =/= wne 2625    \ cdif 3439    u. cun 3440    i^i cin 3441    C_ wss 3442   (/)c0 3767   {csn 4002   class class class wbr 4426   {copab 4483    X. cxp 4852   `'ccnv 4853   Rel wrel 4859   ` cfv 5601  (class class class)co 6305    ~~ cen 7574   Fincfn 7577   CCcc 9536   RRcr 9537   1c1 9539    + caddc 9541    x. cmul 9543    < clt 9674    <_ cle 9675    - cmin 9859   -ucneg 9860    / cdiv 10268   NNcn 10609   2c2 10659   NN0cn0 10869   ZZcz 10937   ZZ>=cuz 11159   RR+crp 11302   ...cfz 11782   ^cexp 12269   #chash 12512    || cdvds 14283    gcd cgcd 14442   Primecprime 14593    /Lclgs 24085
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1665  ax-4 1678  ax-5 1751  ax-6 1797  ax-7 1841  ax-8 1872  ax-9 1874  ax-10 1889  ax-11 1894  ax-12 1907  ax-13 2055  ax-ext 2407  ax-rep 4538  ax-sep 4548  ax-nul 4556  ax-pow 4603  ax-pr 4661  ax-un 6597  ax-inf2 8146  ax-cnex 9594  ax-resscn 9595  ax-1cn 9596  ax-icn 9597  ax-addcl 9598  ax-addrcl 9599  ax-mulcl 9600  ax-mulrcl 9601  ax-mulcom 9602  ax-addass 9603  ax-mulass 9604  ax-distr 9605  ax-i2m1 9606  ax-1ne0 9607  ax-1rid 9608  ax-rnegex 9609  ax-rrecex 9610  ax-cnre 9611  ax-pre-lttri 9612  ax-pre-lttrn 9613  ax-pre-ltadd 9614  ax-pre-mulgt0 9615  ax-pre-sup 9616  ax-addf 9617  ax-mulf 9618
This theorem depends on definitions:  df-bi 188  df-or 371  df-an 372  df-3or 983  df-3an 984  df-tru 1440  df-fal 1443  df-ex 1660  df-nf 1664  df-sb 1790  df-eu 2270  df-mo 2271  df-clab 2415  df-cleq 2421  df-clel 2424  df-nfc 2579  df-ne 2627  df-nel 2628  df-ral 2787  df-rex 2788  df-reu 2789  df-rmo 2790  df-rab 2791  df-v 3089  df-sbc 3306  df-csb 3402  df-dif 3445  df-un 3447  df-in 3449  df-ss 3456  df-pss 3458  df-nul 3768  df-if 3916  df-pw 3987  df-sn 4003  df-pr 4005  df-tp 4007  df-op 4009  df-uni 4223  df-int 4259  df-iun 4304  df-disj 4398  df-br 4427  df-opab 4485  df-mpt 4486  df-tr 4521  df-eprel 4765  df-id 4769  df-po 4775  df-so 4776  df-fr 4813  df-se 4814  df-we 4815  df-xp 4860  df-rel 4861  df-cnv 4862  df-co 4863  df-dm 4864  df-rn 4865  df-res 4866  df-ima 4867  df-pred 5399  df-ord 5445  df-on 5446  df-lim 5447  df-suc 5448  df-iota 5565  df-fun 5603  df-fn 5604  df-f 5605  df-f1 5606  df-fo 5607  df-f1o 5608  df-fv 5609  df-isom 5610  df-riota 6267  df-ov 6308  df-oprab 6309  df-mpt2 6310  df-of 6545  df-om 6707  df-1st 6807  df-2nd 6808  df-supp 6926  df-tpos 6981  df-wrecs 7036  df-recs 7098  df-rdg 7136  df-1o 7190  df-2o 7191  df-oadd 7194  df-er 7371  df-ec 7373  df-qs 7377  df-map 7482  df-en 7578  df-dom 7579  df-sdom 7580  df-fin 7581  df-fsupp 7890  df-sup 7962  df-inf 7963  df-oi 8025  df-card 8372  df-cda 8596  df-pnf 9676  df-mnf 9677  df-xr 9678  df-ltxr 9679  df-le 9680  df-sub 9861  df-neg 9862  df-div 10269  df-nn 10610  df-2 10668  df-3 10669  df-4 10670  df-5 10671  df-6 10672  df-7 10673  df-8 10674  df-9 10675  df-10 10676  df-n0 10870  df-z 10938  df-dec 11052  df-uz 11160  df-q 11265  df-rp 11303  df-fz 11783  df-fzo 11914  df-fl 12025  df-mod 12094  df-seq 12211  df-exp 12270  df-hash 12513  df-cj 13141  df-re 13142  df-im 13143  df-sqrt 13277  df-abs 13278  df-clim 13530  df-sum 13731  df-dvds 14284  df-gcd 14443  df-prm 14594  df-phi 14683  df-pc 14750  df-struct 15086  df-ndx 15087  df-slot 15088  df-base 15089  df-sets 15090  df-ress 15091  df-plusg 15165  df-mulr 15166  df-starv 15167  df-sca 15168  df-vsca 15169  df-ip 15170  df-tset 15171  df-ple 15172  df-ds 15174  df-unif 15175  df-0g 15299  df-gsum 15300  df-imas 15365  df-qus 15366  df-mgm 16439  df-sgrp 16478  df-mnd 16488  df-mhm 16533  df-submnd 16534  df-grp 16624  df-minusg 16625  df-sbg 16626  df-mulg 16627  df-subg 16765  df-nsg 16766  df-eqg 16767  df-ghm 16832  df-cntz 16922  df-cmn 17367  df-abl 17368  df-mgp 17659  df-ur 17671  df-ring 17717  df-cring 17718  df-oppr 17786  df-dvdsr 17804  df-unit 17805  df-invr 17835  df-dvr 17846  df-rnghom 17878  df-drng 17912  df-field 17913  df-subrg 17941  df-lmod 18028  df-lss 18091  df-lsp 18130  df-sra 18330  df-rgmod 18331  df-lidl 18332  df-rsp 18333  df-2idl 18391  df-nzr 18417  df-rlreg 18442  df-domn 18443  df-idom 18444  df-cnfld 18906  df-zring 18974  df-zrh 19006  df-zn 19009  df-lgs 24086
This theorem is referenced by:  lgsquad  24148
  Copyright terms: Public domain W3C validator