ILE Home Intuitionistic Logic Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  ILE Home  >  Th. List  >  lgsquadlem2 Unicode version

Theorem lgsquadlem2 15800
Description: Lemma for lgsquad 15802. Count the members of  S with even coordinates, and combine with lgsquadlem1 15799 to get the total count of lattice points in  S (up to parity). (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
lgsquadlem2  |-  ( ph  ->  ( Q  /L
P )  =  (
-u 1 ^ ( `  S ) ) )
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 lgsquadlem2
Dummy variables  u  v  z are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 lgseisen.1 . . 3  |-  ( ph  ->  P  e.  ( Prime  \  { 2 } ) )
2 lgseisen.2 . . 3  |-  ( ph  ->  Q  e.  ( Prime  \  { 2 } ) )
3 lgseisen.3 . . 3  |-  ( ph  ->  P  =/=  Q )
41, 2, 3lgseisen 15796 . 2  |-  ( ph  ->  ( Q  /L
P )  =  (
-u 1 ^ sum_ u  e.  ( 1 ... ( ( P  - 
1 )  /  2
) ) ( |_
`  ( ( Q  /  P )  x.  ( 2  x.  u
) ) ) ) )
5 lgsquad.4 . . . . . 6  |-  M  =  ( ( P  - 
1 )  /  2
)
65oveq2i 6024 . . . . 5  |-  ( 1 ... M )  =  ( 1 ... (
( P  -  1 )  /  2 ) )
76sumeq1i 11917 . . . 4  |-  sum_ u  e.  ( 1 ... M
) ( |_ `  ( ( Q  /  P )  x.  (
2  x.  u ) ) )  =  sum_ u  e.  ( 1 ... ( ( P  - 
1 )  /  2
) ) ( |_
`  ( ( Q  /  P )  x.  ( 2  x.  u
) ) )
81, 5gausslemma2dlem0b 15772 . . . . . . . . . . 11  |-  ( ph  ->  M  e.  NN )
98nnzd 9594 . . . . . . . . . 10  |-  ( ph  ->  M  e.  ZZ )
10 2nn 9298 . . . . . . . . . 10  |-  2  e.  NN
11 znq 9851 . . . . . . . . . 10  |-  ( ( M  e.  ZZ  /\  2  e.  NN )  ->  ( M  /  2
)  e.  QQ )
129, 10, 11sylancl 413 . . . . . . . . 9  |-  ( ph  ->  ( M  /  2
)  e.  QQ )
1312flqcld 10530 . . . . . . . 8  |-  ( ph  ->  ( |_ `  ( M  /  2 ) )  e.  ZZ )
1413zred 9595 . . . . . . 7  |-  ( ph  ->  ( |_ `  ( M  /  2 ) )  e.  RR )
1514ltp1d 9103 . . . . . 6  |-  ( ph  ->  ( |_ `  ( M  /  2 ) )  <  ( ( |_
`  ( M  / 
2 ) )  +  1 ) )
16 fzdisj 10280 . . . . . 6  |-  ( ( |_ `  ( M  /  2 ) )  <  ( ( |_
`  ( M  / 
2 ) )  +  1 )  ->  (
( 1 ... ( |_ `  ( M  / 
2 ) ) )  i^i  ( ( ( |_ `  ( M  /  2 ) )  +  1 ) ... M ) )  =  (/) )
1715, 16syl 14 . . . . 5  |-  ( ph  ->  ( ( 1 ... ( |_ `  ( M  /  2 ) ) )  i^i  ( ( ( |_ `  ( M  /  2 ) )  +  1 ) ... M ) )  =  (/) )
188nnrpd 9922 . . . . . . . . . . 11  |-  ( ph  ->  M  e.  RR+ )
1918rphalfcld 9937 . . . . . . . . . 10  |-  ( ph  ->  ( M  /  2
)  e.  RR+ )
2019rpge0d 9928 . . . . . . . . 9  |-  ( ph  ->  0  <_  ( M  /  2 ) )
21 flqge0nn0 10546 . . . . . . . . 9  |-  ( ( ( M  /  2
)  e.  QQ  /\  0  <_  ( M  / 
2 ) )  -> 
( |_ `  ( M  /  2 ) )  e.  NN0 )
2212, 20, 21syl2anc 411 . . . . . . . 8  |-  ( ph  ->  ( |_ `  ( M  /  2 ) )  e.  NN0 )
238nnnn0d 9448 . . . . . . . 8  |-  ( ph  ->  M  e.  NN0 )
248nnred 9149 . . . . . . . . 9  |-  ( ph  ->  M  e.  RR )
25 rphalflt 9911 . . . . . . . . . . 11  |-  ( M  e.  RR+  ->  ( M  /  2 )  < 
M )
2618, 25syl 14 . . . . . . . . . 10  |-  ( ph  ->  ( M  /  2
)  <  M )
27 flqlt 10536 . . . . . . . . . . 11  |-  ( ( ( M  /  2
)  e.  QQ  /\  M  e.  ZZ )  ->  ( ( M  / 
2 )  <  M  <->  ( |_ `  ( M  /  2 ) )  <  M ) )
2812, 9, 27syl2anc 411 . . . . . . . . . 10  |-  ( ph  ->  ( ( M  / 
2 )  <  M  <->  ( |_ `  ( M  /  2 ) )  <  M ) )
2926, 28mpbid 147 . . . . . . . . 9  |-  ( ph  ->  ( |_ `  ( M  /  2 ) )  <  M )
3014, 24, 29ltled 8291 . . . . . . . 8  |-  ( ph  ->  ( |_ `  ( M  /  2 ) )  <_  M )
31 elfz2nn0 10340 . . . . . . . 8  |-  ( ( |_ `  ( M  /  2 ) )  e.  ( 0 ... M )  <->  ( ( |_ `  ( M  / 
2 ) )  e. 
NN0  /\  M  e.  NN0 
/\  ( |_ `  ( M  /  2
) )  <_  M
) )
3222, 23, 30, 31syl3anbrc 1205 . . . . . . 7  |-  ( ph  ->  ( |_ `  ( M  /  2 ) )  e.  ( 0 ... M ) )
33 nn0uz 9784 . . . . . . . . 9  |-  NN0  =  ( ZZ>= `  0 )
3423, 33eleqtrdi 2322 . . . . . . . 8  |-  ( ph  ->  M  e.  ( ZZ>= ` 
0 ) )
35 elfzp12 10327 . . . . . . . 8  |-  ( M  e.  ( ZZ>= `  0
)  ->  ( ( |_ `  ( M  / 
2 ) )  e.  ( 0 ... M
)  <->  ( ( |_
`  ( M  / 
2 ) )  =  0  \/  ( |_
`  ( M  / 
2 ) )  e.  ( ( 0  +  1 ) ... M
) ) ) )
3634, 35syl 14 . . . . . . 7  |-  ( ph  ->  ( ( |_ `  ( M  /  2
) )  e.  ( 0 ... M )  <-> 
( ( |_ `  ( M  /  2
) )  =  0  \/  ( |_ `  ( M  /  2
) )  e.  ( ( 0  +  1 ) ... M ) ) ) )
3732, 36mpbid 147 . . . . . 6  |-  ( ph  ->  ( ( |_ `  ( M  /  2
) )  =  0  \/  ( |_ `  ( M  /  2
) )  e.  ( ( 0  +  1 ) ... M ) ) )
38 un0 3526 . . . . . . . . 9  |-  ( ( 1 ... M )  u.  (/) )  =  ( 1 ... M )
39 uncom 3349 . . . . . . . . 9  |-  ( ( 1 ... M )  u.  (/) )  =  (
(/)  u.  ( 1 ... M ) )
4038, 39eqtr3i 2252 . . . . . . . 8  |-  ( 1 ... M )  =  ( (/)  u.  (
1 ... M ) )
41 oveq2 6021 . . . . . . . . . 10  |-  ( ( |_ `  ( M  /  2 ) )  =  0  ->  (
1 ... ( |_ `  ( M  /  2
) ) )  =  ( 1 ... 0
) )
42 fz10 10274 . . . . . . . . . 10  |-  ( 1 ... 0 )  =  (/)
4341, 42eqtrdi 2278 . . . . . . . . 9  |-  ( ( |_ `  ( M  /  2 ) )  =  0  ->  (
1 ... ( |_ `  ( M  /  2
) ) )  =  (/) )
44 oveq1 6020 . . . . . . . . . . 11  |-  ( ( |_ `  ( M  /  2 ) )  =  0  ->  (
( |_ `  ( M  /  2 ) )  +  1 )  =  ( 0  +  1 ) )
45 0p1e1 9250 . . . . . . . . . . 11  |-  ( 0  +  1 )  =  1
4644, 45eqtrdi 2278 . . . . . . . . . 10  |-  ( ( |_ `  ( M  /  2 ) )  =  0  ->  (
( |_ `  ( M  /  2 ) )  +  1 )  =  1 )
4746oveq1d 6028 . . . . . . . . 9  |-  ( ( |_ `  ( M  /  2 ) )  =  0  ->  (
( ( |_ `  ( M  /  2
) )  +  1 ) ... M )  =  ( 1 ... M ) )
4843, 47uneq12d 3360 . . . . . . . 8  |-  ( ( |_ `  ( M  /  2 ) )  =  0  ->  (
( 1 ... ( |_ `  ( M  / 
2 ) ) )  u.  ( ( ( |_ `  ( M  /  2 ) )  +  1 ) ... M ) )  =  ( (/)  u.  (
1 ... M ) ) )
4940, 48eqtr4id 2281 . . . . . . 7  |-  ( ( |_ `  ( M  /  2 ) )  =  0  ->  (
1 ... M )  =  ( ( 1 ... ( |_ `  ( M  /  2 ) ) )  u.  ( ( ( |_ `  ( M  /  2 ) )  +  1 ) ... M ) ) )
50 fzsplit 10279 . . . . . . . 8  |-  ( ( |_ `  ( M  /  2 ) )  e.  ( 1 ... M )  ->  (
1 ... M )  =  ( ( 1 ... ( |_ `  ( M  /  2 ) ) )  u.  ( ( ( |_ `  ( M  /  2 ) )  +  1 ) ... M ) ) )
5145oveq1i 6023 . . . . . . . 8  |-  ( ( 0  +  1 ) ... M )  =  ( 1 ... M
)
5250, 51eleq2s 2324 . . . . . . 7  |-  ( ( |_ `  ( M  /  2 ) )  e.  ( ( 0  +  1 ) ... M )  ->  (
1 ... M )  =  ( ( 1 ... ( |_ `  ( M  /  2 ) ) )  u.  ( ( ( |_ `  ( M  /  2 ) )  +  1 ) ... M ) ) )
5349, 52jaoi 721 . . . . . 6  |-  ( ( ( |_ `  ( M  /  2 ) )  =  0  \/  ( |_ `  ( M  / 
2 ) )  e.  ( ( 0  +  1 ) ... M
) )  ->  (
1 ... M )  =  ( ( 1 ... ( |_ `  ( M  /  2 ) ) )  u.  ( ( ( |_ `  ( M  /  2 ) )  +  1 ) ... M ) ) )
5437, 53syl 14 . . . . 5  |-  ( ph  ->  ( 1 ... M
)  =  ( ( 1 ... ( |_
`  ( M  / 
2 ) ) )  u.  ( ( ( |_ `  ( M  /  2 ) )  +  1 ) ... M ) ) )
55 1zzd 9499 . . . . . 6  |-  ( ph  ->  1  e.  ZZ )
5655, 9fzfigd 10686 . . . . 5  |-  ( ph  ->  ( 1 ... M
)  e.  Fin )
572gausslemma2dlem0a 15771 . . . . . . . . . 10  |-  ( ph  ->  Q  e.  NN )
5857nnzd 9594 . . . . . . . . 9  |-  ( ph  ->  Q  e.  ZZ )
591gausslemma2dlem0a 15771 . . . . . . . . . 10  |-  ( ph  ->  P  e.  NN )
6059adantr 276 . . . . . . . . 9  |-  ( (
ph  /\  u  e.  ( 1 ... M
) )  ->  P  e.  NN )
61 znq 9851 . . . . . . . . 9  |-  ( ( Q  e.  ZZ  /\  P  e.  NN )  ->  ( Q  /  P
)  e.  QQ )
6258, 60, 61syl2an2r 597 . . . . . . . 8  |-  ( (
ph  /\  u  e.  ( 1 ... M
) )  ->  ( Q  /  P )  e.  QQ )
63 elfznn 10282 . . . . . . . . . . . 12  |-  ( u  e.  ( 1 ... M )  ->  u  e.  NN )
6463adantl 277 . . . . . . . . . . 11  |-  ( (
ph  /\  u  e.  ( 1 ... M
) )  ->  u  e.  NN )
65 nnmulcl 9157 . . . . . . . . . . 11  |-  ( ( 2  e.  NN  /\  u  e.  NN )  ->  ( 2  x.  u
)  e.  NN )
6610, 64, 65sylancr 414 . . . . . . . . . 10  |-  ( (
ph  /\  u  e.  ( 1 ... M
) )  ->  (
2  x.  u )  e.  NN )
6766nnzd 9594 . . . . . . . . 9  |-  ( (
ph  /\  u  e.  ( 1 ... M
) )  ->  (
2  x.  u )  e.  ZZ )
68 zq 9853 . . . . . . . . 9  |-  ( ( 2  x.  u )  e.  ZZ  ->  (
2  x.  u )  e.  QQ )
6967, 68syl 14 . . . . . . . 8  |-  ( (
ph  /\  u  e.  ( 1 ... M
) )  ->  (
2  x.  u )  e.  QQ )
70 qmulcl 9864 . . . . . . . 8  |-  ( ( ( Q  /  P
)  e.  QQ  /\  ( 2  x.  u
)  e.  QQ )  ->  ( ( Q  /  P )  x.  ( 2  x.  u
) )  e.  QQ )
7162, 69, 70syl2anc 411 . . . . . . 7  |-  ( (
ph  /\  u  e.  ( 1 ... M
) )  ->  (
( Q  /  P
)  x.  ( 2  x.  u ) )  e.  QQ )
7257nnrpd 9922 . . . . . . . . . . 11  |-  ( ph  ->  Q  e.  RR+ )
7359nnrpd 9922 . . . . . . . . . . 11  |-  ( ph  ->  P  e.  RR+ )
7472, 73rpdivcld 9942 . . . . . . . . . 10  |-  ( ph  ->  ( Q  /  P
)  e.  RR+ )
7574adantr 276 . . . . . . . . 9  |-  ( (
ph  /\  u  e.  ( 1 ... M
) )  ->  ( Q  /  P )  e.  RR+ )
7666nnrpd 9922 . . . . . . . . 9  |-  ( (
ph  /\  u  e.  ( 1 ... M
) )  ->  (
2  x.  u )  e.  RR+ )
7775, 76rpmulcld 9941 . . . . . . . 8  |-  ( (
ph  /\  u  e.  ( 1 ... M
) )  ->  (
( Q  /  P
)  x.  ( 2  x.  u ) )  e.  RR+ )
7877rpge0d 9928 . . . . . . 7  |-  ( (
ph  /\  u  e.  ( 1 ... M
) )  ->  0  <_  ( ( Q  /  P )  x.  (
2  x.  u ) ) )
79 flqge0nn0 10546 . . . . . . 7  |-  ( ( ( ( Q  /  P )  x.  (
2  x.  u ) )  e.  QQ  /\  0  <_  ( ( Q  /  P )  x.  ( 2  x.  u
) ) )  -> 
( |_ `  (
( Q  /  P
)  x.  ( 2  x.  u ) ) )  e.  NN0 )
8071, 78, 79syl2anc 411 . . . . . 6  |-  ( (
ph  /\  u  e.  ( 1 ... M
) )  ->  ( |_ `  ( ( Q  /  P )  x.  ( 2  x.  u
) ) )  e. 
NN0 )
8180nn0cnd 9450 . . . . 5  |-  ( (
ph  /\  u  e.  ( 1 ... M
) )  ->  ( |_ `  ( ( Q  /  P )  x.  ( 2  x.  u
) ) )  e.  CC )
8217, 54, 56, 81fsumsplit 11961 . . . 4  |-  ( ph  -> 
sum_ u  e.  (
1 ... M ) ( |_ `  ( ( Q  /  P )  x.  ( 2  x.  u ) ) )  =  ( sum_ u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) ( |_ `  (
( Q  /  P
)  x.  ( 2  x.  u ) ) )  +  sum_ u  e.  ( ( ( |_
`  ( M  / 
2 ) )  +  1 ) ... M
) ( |_ `  ( ( Q  /  P )  x.  (
2  x.  u ) ) ) ) )
837, 82eqtr3id 2276 . . 3  |-  ( ph  -> 
sum_ u  e.  (
1 ... ( ( P  -  1 )  / 
2 ) ) ( |_ `  ( ( Q  /  P )  x.  ( 2  x.  u ) ) )  =  ( sum_ u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) ( |_ `  (
( Q  /  P
)  x.  ( 2  x.  u ) ) )  +  sum_ u  e.  ( ( ( |_
`  ( M  / 
2 ) )  +  1 ) ... M
) ( |_ `  ( ( Q  /  P )  x.  (
2  x.  u ) ) ) ) )
8483oveq2d 6029 . 2  |-  ( ph  ->  ( -u 1 ^
sum_ u  e.  (
1 ... ( ( P  -  1 )  / 
2 ) ) ( |_ `  ( ( Q  /  P )  x.  ( 2  x.  u ) ) ) )  =  ( -u
1 ^ ( sum_ u  e.  ( 1 ... ( |_ `  ( M  /  2 ) ) ) ( |_ `  ( ( Q  /  P )  x.  (
2  x.  u ) ) )  +  sum_ u  e.  ( ( ( |_ `  ( M  /  2 ) )  +  1 ) ... M ) ( |_
`  ( ( Q  /  P )  x.  ( 2  x.  u
) ) ) ) ) )
85 neg1cn 9241 . . . . 5  |-  -u 1  e.  CC
8685a1i 9 . . . 4  |-  ( ph  -> 
-u 1  e.  CC )
8713peano2zd 9598 . . . . . 6  |-  ( ph  ->  ( ( |_ `  ( M  /  2
) )  +  1 )  e.  ZZ )
8887, 9fzfigd 10686 . . . . 5  |-  ( ph  ->  ( ( ( |_
`  ( M  / 
2 ) )  +  1 ) ... M
)  e.  Fin )
89 ssun2 3369 . . . . . . . 8  |-  ( ( ( |_ `  ( M  /  2 ) )  +  1 ) ... M )  C_  (
( 1 ... ( |_ `  ( M  / 
2 ) ) )  u.  ( ( ( |_ `  ( M  /  2 ) )  +  1 ) ... M ) )
9089, 54sseqtrrid 3276 . . . . . . 7  |-  ( ph  ->  ( ( ( |_
`  ( M  / 
2 ) )  +  1 ) ... M
)  C_  ( 1 ... M ) )
9190sselda 3225 . . . . . 6  |-  ( (
ph  /\  u  e.  ( ( ( |_
`  ( M  / 
2 ) )  +  1 ) ... M
) )  ->  u  e.  ( 1 ... M
) )
9291, 80syldan 282 . . . . 5  |-  ( (
ph  /\  u  e.  ( ( ( |_
`  ( M  / 
2 ) )  +  1 ) ... M
) )  ->  ( |_ `  ( ( Q  /  P )  x.  ( 2  x.  u
) ) )  e. 
NN0 )
9388, 92fsumnn0cl 11957 . . . 4  |-  ( ph  -> 
sum_ u  e.  (
( ( |_ `  ( M  /  2
) )  +  1 ) ... M ) ( |_ `  (
( Q  /  P
)  x.  ( 2  x.  u ) ) )  e.  NN0 )
9455, 13fzfigd 10686 . . . . 5  |-  ( ph  ->  ( 1 ... ( |_ `  ( M  / 
2 ) ) )  e.  Fin )
95 ssun1 3368 . . . . . . . 8  |-  ( 1 ... ( |_ `  ( M  /  2
) ) )  C_  ( ( 1 ... ( |_ `  ( M  /  2 ) ) )  u.  ( ( ( |_ `  ( M  /  2 ) )  +  1 ) ... M ) )
9695, 54sseqtrrid 3276 . . . . . . 7  |-  ( ph  ->  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) 
C_  ( 1 ... M ) )
9796sselda 3225 . . . . . 6  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  u  e.  ( 1 ... M
) )
9897, 80syldan 282 . . . . 5  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  ( |_ `  ( ( Q  /  P )  x.  (
2  x.  u ) ) )  e.  NN0 )
9994, 98fsumnn0cl 11957 . . . 4  |-  ( ph  -> 
sum_ u  e.  (
1 ... ( |_ `  ( M  /  2
) ) ) ( |_ `  ( ( Q  /  P )  x.  ( 2  x.  u ) ) )  e.  NN0 )
10086, 93, 99expaddd 10930 . . 3  |-  ( ph  ->  ( -u 1 ^ ( sum_ u  e.  ( 1 ... ( |_
`  ( M  / 
2 ) ) ) ( |_ `  (
( Q  /  P
)  x.  ( 2  x.  u ) ) )  +  sum_ u  e.  ( ( ( |_
`  ( M  / 
2 ) )  +  1 ) ... M
) ( |_ `  ( ( Q  /  P )  x.  (
2  x.  u ) ) ) ) )  =  ( ( -u
1 ^ sum_ u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) ( |_ `  (
( Q  /  P
)  x.  ( 2  x.  u ) ) ) )  x.  ( -u 1 ^ sum_ u  e.  ( ( ( |_
`  ( M  / 
2 ) )  +  1 ) ... M
) ( |_ `  ( ( Q  /  P )  x.  (
2  x.  u ) ) ) ) ) )
101 lgsquad.5 . . . . . . 7  |-  N  =  ( ( Q  - 
1 )  /  2
)
102 lgsquad.6 . . . . . . 7  |-  S  =  { <. x ,  y
>.  |  ( (
x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) )  /\  ( y  x.  P )  <  (
x  x.  Q ) ) }
1031, 2, 3, 5, 101, 102lgsquadlemofi 15798 . . . . . 6  |-  ( ph  ->  { z  e.  S  |  -.  2  ||  ( 1st `  z ) }  e.  Fin )
104 hashcl 11036 . . . . . 6  |-  ( { z  e.  S  |  -.  2  ||  ( 1st `  z ) }  e.  Fin  ->  ( `  { z  e.  S  |  -.  2  ||  ( 1st `  z
) } )  e. 
NN0 )
105103, 104syl 14 . . . . 5  |-  ( ph  ->  ( `  { z  e.  S  |  -.  2  ||  ( 1st `  z
) } )  e. 
NN0 )
1061, 2, 3, 5, 101, 102lgsquadlemsfi 15797 . . . . . . 7  |-  ( ph  ->  S  e.  Fin )
107 opabssxp 4798 . . . . . . . . . . . . . 14  |-  { <. x ,  y >.  |  ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) )  /\  ( y  x.  P )  < 
( x  x.  Q
) ) }  C_  ( ( 1 ... M )  X.  (
1 ... N ) )
108102, 107eqsstri 3257 . . . . . . . . . . . . 13  |-  S  C_  ( ( 1 ... M )  X.  (
1 ... N ) )
109108sseli 3221 . . . . . . . . . . . 12  |-  ( z  e.  S  ->  z  e.  ( ( 1 ... M )  X.  (
1 ... N ) ) )
110 xp1st 6323 . . . . . . . . . . . 12  |-  ( z  e.  ( ( 1 ... M )  X.  ( 1 ... N
) )  ->  ( 1st `  z )  e.  ( 1 ... M
) )
111109, 110syl 14 . . . . . . . . . . 11  |-  ( z  e.  S  ->  ( 1st `  z )  e.  ( 1 ... M
) )
112111elfzelzd 10254 . . . . . . . . . 10  |-  ( z  e.  S  ->  ( 1st `  z )  e.  ZZ )
113112adantl 277 . . . . . . . . 9  |-  ( (
ph  /\  z  e.  S )  ->  ( 1st `  z )  e.  ZZ )
114 dvdsdc 12352 . . . . . . . . 9  |-  ( ( 2  e.  NN  /\  ( 1st `  z )  e.  ZZ )  -> DECID  2  ||  ( 1st `  z
) )
11510, 113, 114sylancr 414 . . . . . . . 8  |-  ( (
ph  /\  z  e.  S )  -> DECID  2  ||  ( 1st `  z ) )
116115ralrimiva 2603 . . . . . . 7  |-  ( ph  ->  A. z  e.  S DECID  2  ||  ( 1st `  z
) )
117106, 116ssfirab 7123 . . . . . 6  |-  ( ph  ->  { z  e.  S  |  2  ||  ( 1st `  z ) }  e.  Fin )
118 hashcl 11036 . . . . . 6  |-  ( { z  e.  S  | 
2  ||  ( 1st `  z ) }  e.  Fin  ->  ( `  { z  e.  S  |  2  ||  ( 1st `  z
) } )  e. 
NN0 )
119117, 118syl 14 . . . . 5  |-  ( ph  ->  ( `  { z  e.  S  |  2  ||  ( 1st `  z
) } )  e. 
NN0 )
12086, 105, 119expaddd 10930 . . . 4  |-  ( ph  ->  ( -u 1 ^ ( ( `  {
z  e.  S  | 
2  ||  ( 1st `  z ) } )  +  ( `  {
z  e.  S  |  -.  2  ||  ( 1st `  z ) } ) ) )  =  ( ( -u 1 ^ ( `  { z  e.  S  |  2  ||  ( 1st `  z
) } ) )  x.  ( -u 1 ^ ( `  { z  e.  S  |  -.  2  ||  ( 1st `  z
) } ) ) ) )
12197, 66syldan 282 . . . . . . . . . . 11  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  ( 2  x.  u )  e.  NN )
122 1zzd 9499 . . . . . . . . . . . 12  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  1  e.  ZZ )
12398nn0zd 9593 . . . . . . . . . . . 12  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  ( |_ `  ( ( Q  /  P )  x.  (
2  x.  u ) ) )  e.  ZZ )
124122, 123fzfigd 10686 . . . . . . . . . . 11  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  ( 1 ... ( |_ `  ( ( Q  /  P )  x.  (
2  x.  u ) ) ) )  e. 
Fin )
125 xpsnen2g 7008 . . . . . . . . . . 11  |-  ( ( ( 2  x.  u
)  e.  NN  /\  ( 1 ... ( |_ `  ( ( Q  /  P )  x.  ( 2  x.  u
) ) ) )  e.  Fin )  -> 
( { ( 2  x.  u ) }  X.  ( 1 ... ( |_ `  (
( Q  /  P
)  x.  ( 2  x.  u ) ) ) ) )  ~~  ( 1 ... ( |_ `  ( ( Q  /  P )  x.  ( 2  x.  u
) ) ) ) )
126121, 124, 125syl2anc 411 . . . . . . . . . 10  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  ( {
( 2  x.  u
) }  X.  (
1 ... ( |_ `  ( ( Q  /  P )  x.  (
2  x.  u ) ) ) ) ) 
~~  ( 1 ... ( |_ `  (
( Q  /  P
)  x.  ( 2  x.  u ) ) ) ) )
127 snfig 6984 . . . . . . . . . . . . 13  |-  ( ( 2  x.  u )  e.  NN  ->  { ( 2  x.  u ) }  e.  Fin )
128121, 127syl 14 . . . . . . . . . . . 12  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  { (
2  x.  u ) }  e.  Fin )
129 xpfi 7119 . . . . . . . . . . . 12  |-  ( ( { ( 2  x.  u ) }  e.  Fin  /\  ( 1 ... ( |_ `  (
( Q  /  P
)  x.  ( 2  x.  u ) ) ) )  e.  Fin )  ->  ( { ( 2  x.  u ) }  X.  ( 1 ... ( |_ `  ( ( Q  /  P )  x.  (
2  x.  u ) ) ) ) )  e.  Fin )
130128, 124, 129syl2anc 411 . . . . . . . . . . 11  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  ( {
( 2  x.  u
) }  X.  (
1 ... ( |_ `  ( ( Q  /  P )  x.  (
2  x.  u ) ) ) ) )  e.  Fin )
131 hashen 11039 . . . . . . . . . . 11  |-  ( ( ( { ( 2  x.  u ) }  X.  ( 1 ... ( |_ `  (
( Q  /  P
)  x.  ( 2  x.  u ) ) ) ) )  e. 
Fin  /\  ( 1 ... ( |_ `  ( ( Q  /  P )  x.  (
2  x.  u ) ) ) )  e. 
Fin )  ->  (
( `  ( { ( 2  x.  u ) }  X.  ( 1 ... ( |_ `  ( ( Q  /  P )  x.  (
2  x.  u ) ) ) ) ) )  =  ( `  (
1 ... ( |_ `  ( ( Q  /  P )  x.  (
2  x.  u ) ) ) ) )  <-> 
( { ( 2  x.  u ) }  X.  ( 1 ... ( |_ `  (
( Q  /  P
)  x.  ( 2  x.  u ) ) ) ) )  ~~  ( 1 ... ( |_ `  ( ( Q  /  P )  x.  ( 2  x.  u
) ) ) ) ) )
132130, 124, 131syl2anc 411 . . . . . . . . . 10  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  ( ( `  ( { ( 2  x.  u ) }  X.  ( 1 ... ( |_ `  (
( Q  /  P
)  x.  ( 2  x.  u ) ) ) ) ) )  =  ( `  (
1 ... ( |_ `  ( ( Q  /  P )  x.  (
2  x.  u ) ) ) ) )  <-> 
( { ( 2  x.  u ) }  X.  ( 1 ... ( |_ `  (
( Q  /  P
)  x.  ( 2  x.  u ) ) ) ) )  ~~  ( 1 ... ( |_ `  ( ( Q  /  P )  x.  ( 2  x.  u
) ) ) ) ) )
133126, 132mpbird 167 . . . . . . . . 9  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  ( `  ( { ( 2  x.  u ) }  X.  ( 1 ... ( |_ `  ( ( Q  /  P )  x.  ( 2  x.  u
) ) ) ) ) )  =  ( `  ( 1 ... ( |_ `  ( ( Q  /  P )  x.  ( 2  x.  u
) ) ) ) ) )
134 ssrab2 3310 . . . . . . . . . . . . 13  |-  { z  e.  S  |  ( 2  x.  u )  =  ( 1st `  z
) }  C_  S
135102relopabiv 4851 . . . . . . . . . . . . 13  |-  Rel  S
136 relss 4811 . . . . . . . . . . . . 13  |-  ( { z  e.  S  | 
( 2  x.  u
)  =  ( 1st `  z ) }  C_  S  ->  ( Rel  S  ->  Rel  { z  e.  S  |  ( 2  x.  u )  =  ( 1st `  z
) } ) )
137134, 135, 136mp2 16 . . . . . . . . . . . 12  |-  Rel  {
z  e.  S  | 
( 2  x.  u
)  =  ( 1st `  z ) }
138 relxp 4833 . . . . . . . . . . . 12  |-  Rel  ( { ( 2  x.  u ) }  X.  ( 1 ... ( |_ `  ( ( Q  /  P )  x.  ( 2  x.  u
) ) ) ) )
139102eleq2i 2296 . . . . . . . . . . . . . . . 16  |-  ( <.
x ,  y >.  e.  S  <->  <. x ,  y
>.  e.  { <. x ,  y >.  |  ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) )  /\  ( y  x.  P )  < 
( x  x.  Q
) ) } )
140 opabidw 4349 . . . . . . . . . . . . . . . 16  |-  ( <.
x ,  y >.  e.  { <. x ,  y
>.  |  ( (
x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) )  /\  ( y  x.  P )  <  (
x  x.  Q ) ) }  <->  ( (
x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) )  /\  ( y  x.  P )  <  (
x  x.  Q ) ) )
141139, 140bitri 184 . . . . . . . . . . . . . . 15  |-  ( <.
x ,  y >.  e.  S  <->  ( ( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N
) )  /\  (
y  x.  P )  <  ( x  x.  Q ) ) )
142 anass 401 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( y  e.  NN  /\  y  <_  N )  /\  ( y  x.  P
)  <  ( Q  x.  ( 2  x.  u
) ) )  <->  ( y  e.  NN  /\  ( y  <_  N  /\  (
y  x.  P )  <  ( Q  x.  ( 2  x.  u
) ) ) ) )
143121adantr 276 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
2  x.  u )  e.  NN )
144143nnred 9149 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
2  x.  u )  e.  RR )
14559ad2antrr 488 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  P  e.  NN )
146145nnred 9149 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  P  e.  RR )
147146rehalfcld 9384 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  ( P  /  2 )  e.  RR )
14824adantr 276 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  M  e.  RR )
149148adantr 276 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  M  e.  RR )
150 elfzle2 10256 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  ( u  e.  ( 1 ... ( |_ `  ( M  /  2 ) ) )  ->  u  <_  ( |_ `  ( M  /  2 ) ) )
151150adantl 277 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  u  <_  ( |_ `  ( M  /  2 ) ) )
152 elfzelz 10253 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  ( u  e.  ( 1 ... ( |_ `  ( M  /  2 ) ) )  ->  u  e.  ZZ )
153 flqge 10535 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  ( ( ( M  /  2
)  e.  QQ  /\  u  e.  ZZ )  ->  ( u  <_  ( M  /  2 )  <->  u  <_  ( |_ `  ( M  /  2 ) ) ) )
15412, 152, 153syl2an 289 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  ( u  <_  ( M  /  2
)  <->  u  <_  ( |_
`  ( M  / 
2 ) ) ) )
155151, 154mpbird 167 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  u  <_  ( M  /  2 ) )
156 elfznn 10282 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33  |-  ( u  e.  ( 1 ... ( |_ `  ( M  /  2 ) ) )  ->  u  e.  NN )
157156adantl 277 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  u  e.  NN )
158157nnred 9149 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  u  e.  RR )
159 2re 9206 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  2  e.  RR
160159a1i 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  2  e.  RR )
161 2pos 9227 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  0  <  2
162161a1i 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  0  <  2 )
163 lemuldiv2 9055 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( ( u  e.  RR  /\  M  e.  RR  /\  (
2  e.  RR  /\  0  <  2 ) )  ->  ( ( 2  x.  u )  <_  M 
<->  u  <_  ( M  /  2 ) ) )
164158, 148, 160, 162, 163syl112anc 1275 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  ( (
2  x.  u )  <_  M  <->  u  <_  ( M  /  2 ) ) )
165155, 164mpbird 167 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  ( 2  x.  u )  <_  M )
166165adantr 276 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
2  x.  u )  <_  M )
167146ltm1d 9105 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  ( P  -  1 )  <  P )
168 peano2rem 8439 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  ( P  e.  RR  ->  ( P  -  1 )  e.  RR )
169146, 168syl 14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  ( P  -  1 )  e.  RR )
170159a1i 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  2  e.  RR )
171161a1i 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  0  <  2 )
172 ltdiv1 9041 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( ( ( P  -  1 )  e.  RR  /\  P  e.  RR  /\  (
2  e.  RR  /\  0  <  2 ) )  ->  ( ( P  -  1 )  < 
P  <->  ( ( P  -  1 )  / 
2 )  <  ( P  /  2 ) ) )
173169, 146, 170, 171, 172syl112anc 1275 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
( P  -  1 )  <  P  <->  ( ( P  -  1 )  /  2 )  < 
( P  /  2
) ) )
174167, 173mpbid 147 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
( P  -  1 )  /  2 )  <  ( P  / 
2 ) )
1755, 174eqbrtrid 4121 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  M  <  ( P  /  2
) )
176144, 149, 147, 166, 175lelttrd 8297 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
2  x.  u )  <  ( P  / 
2 ) )
177145nnrpd 9922 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  P  e.  RR+ )
178 rphalflt 9911 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( P  e.  RR+  ->  ( P  /  2 )  < 
P )
179177, 178syl 14 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  ( P  /  2 )  < 
P )
180144, 147, 146, 176, 179lttrd 8298 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
2  x.  u )  <  P )
181143nnzd 9594 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
2  x.  u )  e.  ZZ )
182145nnzd 9594 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  P  e.  ZZ )
183 zltnle 9518 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( 2  x.  u
)  e.  ZZ  /\  P  e.  ZZ )  ->  ( ( 2  x.  u )  <  P  <->  -.  P  <_  ( 2  x.  u ) ) )
184181, 182, 183syl2anc 411 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
( 2  x.  u
)  <  P  <->  -.  P  <_  ( 2  x.  u
) ) )
185180, 184mpbid 147 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  -.  P  <_  ( 2  x.  u ) )
1861eldifad 3209 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ph  ->  P  e.  Prime )
187186ad2antrr 488 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  P  e.  Prime )
188 prmz 12676 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( P  e.  Prime  ->  P  e.  ZZ )
189187, 188syl 14 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  P  e.  ZZ )
190 dvdsle 12398 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( P  e.  ZZ  /\  ( 2  x.  u
)  e.  NN )  ->  ( P  ||  ( 2  x.  u
)  ->  P  <_  ( 2  x.  u ) ) )
191189, 143, 190syl2anc 411 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  ( P  ||  ( 2  x.  u )  ->  P  <_  ( 2  x.  u
) ) )
192185, 191mtod 667 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  -.  P  ||  ( 2  x.  u ) )
1932eldifad 3209 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ph  ->  Q  e.  Prime )
194 prmrp 12710 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( P  e.  Prime  /\  Q  e.  Prime )  ->  (
( P  gcd  Q
)  =  1  <->  P  =/=  Q ) )
195186, 193, 194syl2anc 411 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ph  ->  ( ( P  gcd  Q )  =  1  <->  P  =/=  Q ) )
1963, 195mpbird 167 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ph  ->  ( P  gcd  Q
)  =  1 )
197196ad2antrr 488 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  ( P  gcd  Q )  =  1 )
198193ad2antrr 488 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  Q  e.  Prime )
199 prmz 12676 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( Q  e.  Prime  ->  Q  e.  ZZ )
200198, 199syl 14 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  Q  e.  ZZ )
201 coprmdvds 12657 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( P  e.  ZZ  /\  Q  e.  ZZ  /\  (
2  x.  u )  e.  ZZ )  -> 
( ( P  ||  ( Q  x.  (
2  x.  u ) )  /\  ( P  gcd  Q )  =  1 )  ->  P  ||  ( 2  x.  u
) ) )
202189, 200, 181, 201syl3anc 1271 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
( P  ||  ( Q  x.  ( 2  x.  u ) )  /\  ( P  gcd  Q )  =  1 )  ->  P  ||  (
2  x.  u ) ) )
203197, 202mpan2d 428 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  ( P  ||  ( Q  x.  ( 2  x.  u
) )  ->  P  ||  ( 2  x.  u
) ) )
204192, 203mtod 667 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  -.  P  ||  ( Q  x.  ( 2  x.  u
) ) )
205 nnz 9491 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( y  e.  NN  ->  y  e.  ZZ )
206205adantl 277 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  y  e.  ZZ )
207 dvdsmul2 12368 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( y  e.  ZZ  /\  P  e.  ZZ )  ->  P  ||  ( y  x.  P ) )
208206, 189, 207syl2anc 411 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  P  ||  ( y  x.  P
) )
209 breq2 4090 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ( Q  x.  ( 2  x.  u ) )  =  ( y  x.  P )  ->  ( P  ||  ( Q  x.  ( 2  x.  u
) )  <->  P  ||  (
y  x.  P ) ) )
210208, 209syl5ibrcom 157 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
( Q  x.  (
2  x.  u ) )  =  ( y  x.  P )  ->  P  ||  ( Q  x.  ( 2  x.  u
) ) ) )
211210necon3bd 2443 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  ( -.  P  ||  ( Q  x.  ( 2  x.  u ) )  -> 
( Q  x.  (
2  x.  u ) )  =/=  ( y  x.  P ) ) )
212204, 211mpd 13 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  ( Q  x.  ( 2  x.  u ) )  =/=  ( y  x.  P ) )
213 simpr 110 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  y  e.  NN )
214213, 145nnmulcld 9185 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
y  x.  P )  e.  NN )
215214nnzd 9594 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
y  x.  P )  e.  ZZ )
21657adantr 276 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  Q  e.  NN )
217216, 121nnmulcld 9185 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  ( Q  x.  ( 2  x.  u
) )  e.  NN )
218217adantr 276 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  ( Q  x.  ( 2  x.  u ) )  e.  NN )
219218nnzd 9594 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  ( Q  x.  ( 2  x.  u ) )  e.  ZZ )
220 zltlen 9551 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( ( y  x.  P
)  e.  ZZ  /\  ( Q  x.  (
2  x.  u ) )  e.  ZZ )  ->  ( ( y  x.  P )  < 
( Q  x.  (
2  x.  u ) )  <->  ( ( y  x.  P )  <_ 
( Q  x.  (
2  x.  u ) )  /\  ( Q  x.  ( 2  x.  u ) )  =/=  ( y  x.  P
) ) ) )
221215, 219, 220syl2anc 411 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
( y  x.  P
)  <  ( Q  x.  ( 2  x.  u
) )  <->  ( (
y  x.  P )  <_  ( Q  x.  ( 2  x.  u
) )  /\  ( Q  x.  ( 2  x.  u ) )  =/=  ( y  x.  P ) ) ) )
222212, 221mpbiran2d 442 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
( y  x.  P
)  <  ( Q  x.  ( 2  x.  u
) )  <->  ( y  x.  P )  <_  ( Q  x.  ( 2  x.  u ) ) ) )
223 nnre 9143 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( y  e.  NN  ->  y  e.  RR )
224223adantl 277 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  y  e.  RR )
225218nnred 9149 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  ( Q  x.  ( 2  x.  u ) )  e.  RR )
226145nngt0d 9180 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  0  <  P )
227 lemuldiv 9054 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( y  e.  RR  /\  ( Q  x.  (
2  x.  u ) )  e.  RR  /\  ( P  e.  RR  /\  0  <  P ) )  ->  ( (
y  x.  P )  <_  ( Q  x.  ( 2  x.  u
) )  <->  y  <_  ( ( Q  x.  (
2  x.  u ) )  /  P ) ) )
228224, 225, 146, 226, 227syl112anc 1275 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
( y  x.  P
)  <_  ( Q  x.  ( 2  x.  u
) )  <->  y  <_  ( ( Q  x.  (
2  x.  u ) )  /  P ) ) )
229216adantr 276 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  Q  e.  NN )
230229nncnd 9150 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  Q  e.  CC )
231143nncnd 9150 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
2  x.  u )  e.  CC )
232145nncnd 9150 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  P  e.  CC )
233146, 226gt0ap0d 8802 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  P #  0 )
234230, 231, 232, 233div23apd 9001 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
( Q  x.  (
2  x.  u ) )  /  P )  =  ( ( Q  /  P )  x.  ( 2  x.  u
) ) )
235234breq2d 4098 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
y  <_  ( ( Q  x.  ( 2  x.  u ) )  /  P )  <->  y  <_  ( ( Q  /  P
)  x.  ( 2  x.  u ) ) ) )
236222, 228, 2353bitrd 214 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
( y  x.  P
)  <  ( Q  x.  ( 2  x.  u
) )  <->  y  <_  ( ( Q  /  P
)  x.  ( 2  x.  u ) ) ) )
237229nnred 9149 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  Q  e.  RR )
238229nngt0d 9180 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  0  <  Q )
239 ltmul2 9029 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( ( 2  x.  u
)  e.  RR  /\  ( P  /  2
)  e.  RR  /\  ( Q  e.  RR  /\  0  <  Q ) )  ->  ( (
2  x.  u )  <  ( P  / 
2 )  <->  ( Q  x.  ( 2  x.  u
) )  <  ( Q  x.  ( P  /  2 ) ) ) )
240144, 147, 237, 238, 239syl112anc 1275 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
( 2  x.  u
)  <  ( P  /  2 )  <->  ( Q  x.  ( 2  x.  u
) )  <  ( Q  x.  ( P  /  2 ) ) ) )
241176, 240mpbid 147 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  ( Q  x.  ( 2  x.  u ) )  <  ( Q  x.  ( P  /  2
) ) )
242 2cnd 9209 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  2  e.  CC )
243170, 171gt0ap0d 8802 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  2 #  0 )
244 divassap 8863 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( Q  e.  CC  /\  P  e.  CC  /\  (
2  e.  CC  /\  2 #  0 ) )  -> 
( ( Q  x.  P )  /  2
)  =  ( Q  x.  ( P  / 
2 ) ) )
245 div23ap 8864 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( Q  e.  CC  /\  P  e.  CC  /\  (
2  e.  CC  /\  2 #  0 ) )  -> 
( ( Q  x.  P )  /  2
)  =  ( ( Q  /  2 )  x.  P ) )
246244, 245eqtr3d 2264 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( Q  e.  CC  /\  P  e.  CC  /\  (
2  e.  CC  /\  2 #  0 ) )  -> 
( Q  x.  ( P  /  2 ) )  =  ( ( Q  /  2 )  x.  P ) )
247230, 232, 242, 243, 246syl112anc 1275 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  ( Q  x.  ( P  /  2 ) )  =  ( ( Q  /  2 )  x.  P ) )
248241, 247breqtrd 4112 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  ( Q  x.  ( 2  x.  u ) )  <  ( ( Q  /  2 )  x.  P ) )
249214nnred 9149 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
y  x.  P )  e.  RR )
250237rehalfcld 9384 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  ( Q  /  2 )  e.  RR )
251250, 146remulcld 8203 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
( Q  /  2
)  x.  P )  e.  RR )
252 lttr 8246 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( ( y  x.  P
)  e.  RR  /\  ( Q  x.  (
2  x.  u ) )  e.  RR  /\  ( ( Q  / 
2 )  x.  P
)  e.  RR )  ->  ( ( ( y  x.  P )  <  ( Q  x.  ( 2  x.  u
) )  /\  ( Q  x.  ( 2  x.  u ) )  <  ( ( Q  /  2 )  x.  P ) )  -> 
( y  x.  P
)  <  ( ( Q  /  2 )  x.  P ) ) )
253249, 225, 251, 252syl3anc 1271 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
( ( y  x.  P )  <  ( Q  x.  ( 2  x.  u ) )  /\  ( Q  x.  ( 2  x.  u
) )  <  (
( Q  /  2
)  x.  P ) )  ->  ( y  x.  P )  <  (
( Q  /  2
)  x.  P ) ) )
254248, 253mpan2d 428 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
( y  x.  P
)  <  ( Q  x.  ( 2  x.  u
) )  ->  (
y  x.  P )  <  ( ( Q  /  2 )  x.  P ) ) )
255 ltmul1 8765 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ( y  e.  RR  /\  ( Q  /  2
)  e.  RR  /\  ( P  e.  RR  /\  0  <  P ) )  ->  ( y  <  ( Q  /  2
)  <->  ( y  x.  P )  <  (
( Q  /  2
)  x.  P ) ) )
256224, 250, 146, 226, 255syl112anc 1275 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
y  <  ( Q  /  2 )  <->  ( y  x.  P )  <  (
( Q  /  2
)  x.  P ) ) )
257254, 256sylibrd 169 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
( y  x.  P
)  <  ( Q  x.  ( 2  x.  u
) )  ->  y  <  ( Q  /  2
) ) )
258 peano2rem 8439 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( Q  e.  RR  ->  ( Q  -  1 )  e.  RR )
259237, 258syl 14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  ( Q  -  1 )  e.  RR )
260259recnd 8201 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  ( Q  -  1 )  e.  CC )
261230, 260, 242, 243divsubdirapd 9003 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
( Q  -  ( Q  -  1 ) )  /  2 )  =  ( ( Q  /  2 )  -  ( ( Q  - 
1 )  /  2
) ) )
262101oveq2i 6024 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( Q  /  2 )  -  N )  =  ( ( Q  / 
2 )  -  (
( Q  -  1 )  /  2 ) )
263261, 262eqtr4di 2280 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
( Q  -  ( Q  -  1 ) )  /  2 )  =  ( ( Q  /  2 )  -  N ) )
264 ax-1cn 8118 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  1  e.  CC
265 nncan 8401 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( ( Q  e.  CC  /\  1  e.  CC )  ->  ( Q  -  ( Q  -  1 ) )  =  1 )
266230, 264, 265sylancl 413 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  ( Q  -  ( Q  -  1 ) )  =  1 )
267266oveq1d 6028 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
( Q  -  ( Q  -  1 ) )  /  2 )  =  ( 1  / 
2 ) )
268 halflt1 9354 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( 1  /  2 )  <  1
269267, 268eqbrtrdi 4125 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
( Q  -  ( Q  -  1 ) )  /  2 )  <  1 )
270263, 269eqbrtrrd 4110 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
( Q  /  2
)  -  N )  <  1 )
2712, 101gausslemma2dlem0b 15772 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ph  ->  N  e.  NN )
272271ad2antrr 488 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  N  e.  NN )
273272nnred 9149 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  N  e.  RR )
274 1red 8187 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  1  e.  RR )
275250, 273, 274ltsubadd2d 8716 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
( ( Q  / 
2 )  -  N
)  <  1  <->  ( Q  /  2 )  < 
( N  +  1 ) ) )
276270, 275mpbid 147 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  ( Q  /  2 )  < 
( N  +  1 ) )
277 peano2re 8308 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( N  e.  RR  ->  ( N  +  1 )  e.  RR )
278273, 277syl 14 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  ( N  +  1 )  e.  RR )
279 lttr 8246 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ( y  e.  RR  /\  ( Q  /  2
)  e.  RR  /\  ( N  +  1
)  e.  RR )  ->  ( ( y  <  ( Q  / 
2 )  /\  ( Q  /  2 )  < 
( N  +  1 ) )  ->  y  <  ( N  +  1 ) ) )
280224, 250, 278, 279syl3anc 1271 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
( y  <  ( Q  /  2 )  /\  ( Q  /  2
)  <  ( N  +  1 ) )  ->  y  <  ( N  +  1 ) ) )
281276, 280mpan2d 428 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
y  <  ( Q  /  2 )  -> 
y  <  ( N  +  1 ) ) )
282257, 281syld 45 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
( y  x.  P
)  <  ( Q  x.  ( 2  x.  u
) )  ->  y  <  ( N  +  1 ) ) )
283 nnleltp1 9532 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( y  e.  NN  /\  N  e.  NN )  ->  ( y  <_  N  <->  y  <  ( N  + 
1 ) ) )
284213, 272, 283syl2anc 411 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
y  <_  N  <->  y  <  ( N  +  1 ) ) )
285282, 284sylibrd 169 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
( y  x.  P
)  <  ( Q  x.  ( 2  x.  u
) )  ->  y  <_  N ) )
286285pm4.71rd 394 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
( y  x.  P
)  <  ( Q  x.  ( 2  x.  u
) )  <->  ( y  <_  N  /\  ( y  x.  P )  < 
( Q  x.  (
2  x.  u ) ) ) ) )
28797, 71syldan 282 . . . . . . . . . . . . . . . . . . . . 21  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  ( ( Q  /  P )  x.  ( 2  x.  u
) )  e.  QQ )
288 flqge 10535 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( ( ( Q  /  P )  x.  (
2  x.  u ) )  e.  QQ  /\  y  e.  ZZ )  ->  ( y  <_  (
( Q  /  P
)  x.  ( 2  x.  u ) )  <-> 
y  <_  ( |_ `  ( ( Q  /  P )  x.  (
2  x.  u ) ) ) ) )
289287, 205, 288syl2an 289 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
y  <_  ( ( Q  /  P )  x.  ( 2  x.  u
) )  <->  y  <_  ( |_ `  ( ( Q  /  P )  x.  ( 2  x.  u ) ) ) ) )
290236, 286, 2893bitr3d 218 . . . . . . . . . . . . . . . . . . 19  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
( y  <_  N  /\  ( y  x.  P
)  <  ( Q  x.  ( 2  x.  u
) ) )  <->  y  <_  ( |_ `  ( ( Q  /  P )  x.  ( 2  x.  u ) ) ) ) )
291290pm5.32da 452 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  ( (
y  e.  NN  /\  ( y  <_  N  /\  ( y  x.  P
)  <  ( Q  x.  ( 2  x.  u
) ) ) )  <-> 
( y  e.  NN  /\  y  <_  ( |_ `  ( ( Q  /  P )  x.  (
2  x.  u ) ) ) ) ) )
292142, 291bitrid 192 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  ( (
( y  e.  NN  /\  y  <_  N )  /\  ( y  x.  P
)  <  ( Q  x.  ( 2  x.  u
) ) )  <->  ( y  e.  NN  /\  y  <_ 
( |_ `  (
( Q  /  P
)  x.  ( 2  x.  u ) ) ) ) ) )
293292adantr 276 . . . . . . . . . . . . . . . 16  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  x  =  ( 2  x.  u
) )  ->  (
( ( y  e.  NN  /\  y  <_  N )  /\  (
y  x.  P )  <  ( Q  x.  ( 2  x.  u
) ) )  <->  ( y  e.  NN  /\  y  <_ 
( |_ `  (
( Q  /  P
)  x.  ( 2  x.  u ) ) ) ) ) )
294 simpr 110 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  x  =  ( 2  x.  u
) )  ->  x  =  ( 2  x.  u ) )
295 nnuz 9785 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  NN  =  ( ZZ>= `  1 )
296121, 295eleqtrdi 2322 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  ( 2  x.  u )  e.  ( ZZ>= `  1 )
)
2979adantr 276 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  M  e.  ZZ )
298 elfz5 10245 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( ( 2  x.  u
)  e.  ( ZZ>= ` 
1 )  /\  M  e.  ZZ )  ->  (
( 2  x.  u
)  e.  ( 1 ... M )  <->  ( 2  x.  u )  <_  M ) )
299296, 297, 298syl2anc 411 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  ( (
2  x.  u )  e.  ( 1 ... M )  <->  ( 2  x.  u )  <_  M ) )
300165, 299mpbird 167 . . . . . . . . . . . . . . . . . . . . 21  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  ( 2  x.  u )  e.  ( 1 ... M
) )
301300adantr 276 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  x  =  ( 2  x.  u
) )  ->  (
2  x.  u )  e.  ( 1 ... M ) )
302294, 301eqeltrd 2306 . . . . . . . . . . . . . . . . . . 19  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  x  =  ( 2  x.  u
) )  ->  x  e.  ( 1 ... M
) )
303302biantrurd 305 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  x  =  ( 2  x.  u
) )  ->  (
y  e.  ( 1 ... N )  <->  ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) ) ) )
304271nnzd 9594 . . . . . . . . . . . . . . . . . . . 20  |-  ( ph  ->  N  e.  ZZ )
305304ad2antrr 488 . . . . . . . . . . . . . . . . . . 19  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  x  =  ( 2  x.  u
) )  ->  N  e.  ZZ )
306 fznn 10317 . . . . . . . . . . . . . . . . . . 19  |-  ( N  e.  ZZ  ->  (
y  e.  ( 1 ... N )  <->  ( y  e.  NN  /\  y  <_  N ) ) )
307305, 306syl 14 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  x  =  ( 2  x.  u
) )  ->  (
y  e.  ( 1 ... N )  <->  ( y  e.  NN  /\  y  <_  N ) ) )
308303, 307bitr3d 190 . . . . . . . . . . . . . . . . 17  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  x  =  ( 2  x.  u
) )  ->  (
( x  e.  ( 1 ... M )  /\  y  e.  ( 1 ... N ) )  <->  ( y  e.  NN  /\  y  <_  N ) ) )
309 oveq1 6020 . . . . . . . . . . . . . . . . . . 19  |-  ( x  =  ( 2  x.  u )  ->  (
x  x.  Q )  =  ( ( 2  x.  u )  x.  Q ) )
310121nncnd 9150 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  ( 2  x.  u )  e.  CC )
311216nncnd 9150 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  Q  e.  CC )
312310, 311mulcomd 8194 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  ( (
2  x.  u )  x.  Q )  =  ( Q  x.  (
2  x.  u ) ) )
313309, 312sylan9eqr 2284 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  x  =  ( 2  x.  u
) )  ->  (
x  x.  Q )  =  ( Q  x.  ( 2  x.  u
) ) )
314313breq2d 4098 . . . . . . . . . . . . . . . . 17  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  x  =  ( 2  x.  u
) )  ->  (
( y  x.  P
)  <  ( x  x.  Q )  <->  ( y  x.  P )  <  ( Q  x.  ( 2  x.  u ) ) ) )
315308, 314anbi12d 473 . . . . . . . . . . . . . . . 16  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  x  =  ( 2  x.  u
) )  ->  (
( ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) )  /\  (
y  x.  P )  <  ( x  x.  Q ) )  <->  ( (
y  e.  NN  /\  y  <_  N )  /\  ( y  x.  P
)  <  ( Q  x.  ( 2  x.  u
) ) ) ) )
316287flqcld 10530 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  ( |_ `  ( ( Q  /  P )  x.  (
2  x.  u ) ) )  e.  ZZ )
317 fznn 10317 . . . . . . . . . . . . . . . . . 18  |-  ( ( |_ `  ( ( Q  /  P )  x.  ( 2  x.  u ) ) )  e.  ZZ  ->  (
y  e.  ( 1 ... ( |_ `  ( ( Q  /  P )  x.  (
2  x.  u ) ) ) )  <->  ( y  e.  NN  /\  y  <_ 
( |_ `  (
( Q  /  P
)  x.  ( 2  x.  u ) ) ) ) ) )
318316, 317syl 14 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  ( y  e.  ( 1 ... ( |_ `  ( ( Q  /  P )  x.  ( 2  x.  u
) ) ) )  <-> 
( y  e.  NN  /\  y  <_  ( |_ `  ( ( Q  /  P )  x.  (
2  x.  u ) ) ) ) ) )
319318adantr 276 . . . . . . . . . . . . . . . 16  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  x  =  ( 2  x.  u
) )  ->  (
y  e.  ( 1 ... ( |_ `  ( ( Q  /  P )  x.  (
2  x.  u ) ) ) )  <->  ( y  e.  NN  /\  y  <_ 
( |_ `  (
( Q  /  P
)  x.  ( 2  x.  u ) ) ) ) ) )
320293, 315, 3193bitr4d 220 . . . . . . . . . . . . . . 15  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  x  =  ( 2  x.  u
) )  ->  (
( ( x  e.  ( 1 ... M
)  /\  y  e.  ( 1 ... N
) )  /\  (
y  x.  P )  <  ( x  x.  Q ) )  <->  y  e.  ( 1 ... ( |_ `  ( ( Q  /  P )  x.  ( 2  x.  u
) ) ) ) ) )
321141, 320bitrid 192 . . . . . . . . . . . . . 14  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  x  =  ( 2  x.  u
) )  ->  ( <. x ,  y >.  e.  S  <->  y  e.  ( 1 ... ( |_
`  ( ( Q  /  P )  x.  ( 2  x.  u
) ) ) ) ) )
322321pm5.32da 452 . . . . . . . . . . . . 13  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  ( (
x  =  ( 2  x.  u )  /\  <.
x ,  y >.  e.  S )  <->  ( x  =  ( 2  x.  u )  /\  y  e.  ( 1 ... ( |_ `  ( ( Q  /  P )  x.  ( 2  x.  u
) ) ) ) ) ) )
323 vex 2803 . . . . . . . . . . . . . . . . . 18  |-  x  e. 
_V
324 vex 2803 . . . . . . . . . . . . . . . . . 18  |-  y  e. 
_V
325323, 324op1std 6306 . . . . . . . . . . . . . . . . 17  |-  ( z  =  <. x ,  y
>.  ->  ( 1st `  z
)  =  x )
326325eqeq2d 2241 . . . . . . . . . . . . . . . 16  |-  ( z  =  <. x ,  y
>.  ->  ( ( 2  x.  u )  =  ( 1st `  z
)  <->  ( 2  x.  u )  =  x ) )
327 eqcom 2231 . . . . . . . . . . . . . . . 16  |-  ( ( 2  x.  u )  =  x  <->  x  =  ( 2  x.  u
) )
328326, 327bitrdi 196 . . . . . . . . . . . . . . 15  |-  ( z  =  <. x ,  y
>.  ->  ( ( 2  x.  u )  =  ( 1st `  z
)  <->  x  =  (
2  x.  u ) ) )
329328elrab 2960 . . . . . . . . . . . . . 14  |-  ( <.
x ,  y >.  e.  { z  e.  S  |  ( 2  x.  u )  =  ( 1st `  z ) }  <->  ( <. x ,  y >.  e.  S  /\  x  =  (
2  x.  u ) ) )
330329biancomi 270 . . . . . . . . . . . . 13  |-  ( <.
x ,  y >.  e.  { z  e.  S  |  ( 2  x.  u )  =  ( 1st `  z ) }  <->  ( x  =  ( 2  x.  u
)  /\  <. x ,  y >.  e.  S
) )
331 opelxp 4753 . . . . . . . . . . . . . 14  |-  ( <.
x ,  y >.  e.  ( { ( 2  x.  u ) }  X.  ( 1 ... ( |_ `  (
( Q  /  P
)  x.  ( 2  x.  u ) ) ) ) )  <->  ( x  e.  { ( 2  x.  u ) }  /\  y  e.  ( 1 ... ( |_ `  ( ( Q  /  P )  x.  (
2  x.  u ) ) ) ) ) )
332 velsn 3684 . . . . . . . . . . . . . . 15  |-  ( x  e.  { ( 2  x.  u ) }  <-> 
x  =  ( 2  x.  u ) )
333332anbi1i 458 . . . . . . . . . . . . . 14  |-  ( ( x  e.  { ( 2  x.  u ) }  /\  y  e.  ( 1 ... ( |_ `  ( ( Q  /  P )  x.  ( 2  x.  u
) ) ) ) )  <->  ( x  =  ( 2  x.  u
)  /\  y  e.  ( 1 ... ( |_ `  ( ( Q  /  P )  x.  ( 2  x.  u
) ) ) ) ) )
334331, 333bitri 184 . . . . . . . . . . . . 13  |-  ( <.
x ,  y >.  e.  ( { ( 2  x.  u ) }  X.  ( 1 ... ( |_ `  (
( Q  /  P
)  x.  ( 2  x.  u ) ) ) ) )  <->  ( x  =  ( 2  x.  u )  /\  y  e.  ( 1 ... ( |_ `  ( ( Q  /  P )  x.  ( 2  x.  u
) ) ) ) ) )
335322, 330, 3343bitr4g 223 . . . . . . . . . . . 12  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  ( <. x ,  y >.  e.  {
z  e.  S  | 
( 2  x.  u
)  =  ( 1st `  z ) }  <->  <. x ,  y >.  e.  ( { ( 2  x.  u ) }  X.  ( 1 ... ( |_ `  ( ( Q  /  P )  x.  ( 2  x.  u
) ) ) ) ) ) )
336137, 138, 335eqrelrdv 4820 . . . . . . . . . . 11  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  { z  e.  S  |  (
2  x.  u )  =  ( 1st `  z
) }  =  ( { ( 2  x.  u ) }  X.  ( 1 ... ( |_ `  ( ( Q  /  P )  x.  ( 2  x.  u
) ) ) ) ) )
337336eqcomd 2235 . . . . . . . . . 10  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  ( {
( 2  x.  u
) }  X.  (
1 ... ( |_ `  ( ( Q  /  P )  x.  (
2  x.  u ) ) ) ) )  =  { z  e.  S  |  ( 2  x.  u )  =  ( 1st `  z
) } )
338337fveq2d 5639 . . . . . . . . 9  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  ( `  ( { ( 2  x.  u ) }  X.  ( 1 ... ( |_ `  ( ( Q  /  P )  x.  ( 2  x.  u
) ) ) ) ) )  =  ( `  { z  e.  S  |  ( 2  x.  u )  =  ( 1st `  z ) } ) )
339 hashfz1 11038 . . . . . . . . . 10  |-  ( ( |_ `  ( ( Q  /  P )  x.  ( 2  x.  u ) ) )  e.  NN0  ->  ( `  (
1 ... ( |_ `  ( ( Q  /  P )  x.  (
2  x.  u ) ) ) ) )  =  ( |_ `  ( ( Q  /  P )  x.  (
2  x.  u ) ) ) )
34098, 339syl 14 . . . . . . . . 9  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  ( `  (
1 ... ( |_ `  ( ( Q  /  P )  x.  (
2  x.  u ) ) ) ) )  =  ( |_ `  ( ( Q  /  P )  x.  (
2  x.  u ) ) ) )
341133, 338, 3403eqtr3rd 2271 . . . . . . . 8  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  ( |_ `  ( ( Q  /  P )  x.  (
2  x.  u ) ) )  =  ( `  { z  e.  S  |  ( 2  x.  u )  =  ( 1st `  z ) } ) )
342341sumeq2dv 11922 . . . . . . 7  |-  ( ph  -> 
sum_ u  e.  (
1 ... ( |_ `  ( M  /  2
) ) ) ( |_ `  ( ( Q  /  P )  x.  ( 2  x.  u ) ) )  =  sum_ u  e.  ( 1 ... ( |_
`  ( M  / 
2 ) ) ) ( `  { z  e.  S  |  (
2  x.  u )  =  ( 1st `  z
) } ) )
343106adantr 276 . . . . . . . . 9  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  S  e.  Fin )
34497, 67syldan 282 . . . . . . . . . . 11  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  ( 2  x.  u )  e.  ZZ )
345 zdceq 9548 . . . . . . . . . . 11  |-  ( ( ( 2  x.  u
)  e.  ZZ  /\  ( 1st `  z )  e.  ZZ )  -> DECID  (
2  x.  u )  =  ( 1st `  z
) )
346344, 112, 345syl2an 289 . . . . . . . . . 10  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  z  e.  S )  -> DECID  ( 2  x.  u
)  =  ( 1st `  z ) )
347346ralrimiva 2603 . . . . . . . . 9  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  A. z  e.  S DECID  ( 2  x.  u
)  =  ( 1st `  z ) )
348343, 347ssfirab 7123 . . . . . . . 8  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  { z  e.  S  |  (
2  x.  u )  =  ( 1st `  z
) }  e.  Fin )
349 fveq2 5635 . . . . . . . . . . . . . . . 16  |-  ( z  =  v  ->  ( 1st `  z )  =  ( 1st `  v
) )
350349eqeq2d 2241 . . . . . . . . . . . . . . 15  |-  ( z  =  v  ->  (
( 2  x.  u
)  =  ( 1st `  z )  <->  ( 2  x.  u )  =  ( 1st `  v
) ) )
351350elrab 2960 . . . . . . . . . . . . . 14  |-  ( v  e.  { z  e.  S  |  ( 2  x.  u )  =  ( 1st `  z
) }  <->  ( v  e.  S  /\  (
2  x.  u )  =  ( 1st `  v
) ) )
352351simprbi 275 . . . . . . . . . . . . 13  |-  ( v  e.  { z  e.  S  |  ( 2  x.  u )  =  ( 1st `  z
) }  ->  (
2  x.  u )  =  ( 1st `  v
) )
353352ad2antll 491 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) )  /\  v  e.  {
z  e.  S  | 
( 2  x.  u
)  =  ( 1st `  z ) } ) )  ->  ( 2  x.  u )  =  ( 1st `  v
) )
354353oveq1d 6028 . . . . . . . . . . 11  |-  ( (
ph  /\  ( u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) )  /\  v  e.  {
z  e.  S  | 
( 2  x.  u
)  =  ( 1st `  z ) } ) )  ->  ( (
2  x.  u )  /  2 )  =  ( ( 1st `  v
)  /  2 ) )
355157nncnd 9150 . . . . . . . . . . . . 13  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  u  e.  CC )
356355adantrr 479 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) )  /\  v  e.  {
z  e.  S  | 
( 2  x.  u
)  =  ( 1st `  z ) } ) )  ->  u  e.  CC )
357 2cnd 9209 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) )  /\  v  e.  {
z  e.  S  | 
( 2  x.  u
)  =  ( 1st `  z ) } ) )  ->  2  e.  CC )
358 2ap0 9229 . . . . . . . . . . . . 13  |-  2 #  0
359358a1i 9 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) )  /\  v  e.  {
z  e.  S  | 
( 2  x.  u
)  =  ( 1st `  z ) } ) )  ->  2 #  0
)
360356, 357, 359divcanap3d 8968 . . . . . . . . . . 11  |-  ( (
ph  /\  ( u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) )  /\  v  e.  {
z  e.  S  | 
( 2  x.  u
)  =  ( 1st `  z ) } ) )  ->  ( (
2  x.  u )  /  2 )  =  u )
361354, 360eqtr3d 2264 . . . . . . . . . 10  |-  ( (
ph  /\  ( u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) )  /\  v  e.  {
z  e.  S  | 
( 2  x.  u
)  =  ( 1st `  z ) } ) )  ->  ( ( 1st `  v )  / 
2 )  =  u )
362361ralrimivva 2612 . . . . . . . . 9  |-  ( ph  ->  A. u  e.  ( 1 ... ( |_
`  ( M  / 
2 ) ) ) A. v  e.  {
z  e.  S  | 
( 2  x.  u
)  =  ( 1st `  z ) }  (
( 1st `  v
)  /  2 )  =  u )
363 invdisj 4079 . . . . . . . . 9  |-  ( A. u  e.  ( 1 ... ( |_ `  ( M  /  2
) ) ) A. v  e.  { z  e.  S  |  (
2  x.  u )  =  ( 1st `  z
) }  ( ( 1st `  v )  /  2 )  =  u  -> Disj  u  e.  ( 1 ... ( |_
`  ( M  / 
2 ) ) ) { z  e.  S  |  ( 2  x.  u )  =  ( 1st `  z ) } )
364362, 363syl 14 . . . . . . . 8  |-  ( ph  -> Disj  u  e.  ( 1 ... ( |_ `  ( M  /  2
) ) ) { z  e.  S  | 
( 2  x.  u
)  =  ( 1st `  z ) } )
36594, 348, 364hashiun 12032 . . . . . . 7  |-  ( ph  ->  ( `  U_ u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) { z  e.  S  |  ( 2  x.  u )  =  ( 1st `  z ) } )  =  sum_ u  e.  ( 1 ... ( |_ `  ( M  /  2 ) ) ) ( `  {
z  e.  S  | 
( 2  x.  u
)  =  ( 1st `  z ) } ) )
366 iunrab 4016 . . . . . . . . 9  |-  U_ u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) { z  e.  S  |  ( 2  x.  u )  =  ( 1st `  z ) }  =  { z  e.  S  |  E. u  e.  ( 1 ... ( |_ `  ( M  /  2
) ) ) ( 2  x.  u )  =  ( 1st `  z
) }
367 2cn 9207 . . . . . . . . . . . . . 14  |-  2  e.  CC
368 zcn 9477 . . . . . . . . . . . . . . 15  |-  ( u  e.  ZZ  ->  u  e.  CC )
369368adantl 277 . . . . . . . . . . . . . 14  |-  ( ( ( ph  /\  z  e.  S )  /\  u  e.  ZZ )  ->  u  e.  CC )
370 mulcom 8154 . . . . . . . . . . . . . 14  |-  ( ( 2  e.  CC  /\  u  e.  CC )  ->  ( 2  x.  u
)  =  ( u  x.  2 ) )
371367, 369, 370sylancr 414 . . . . . . . . . . . . 13  |-  ( ( ( ph  /\  z  e.  S )  /\  u  e.  ZZ )  ->  (
2  x.  u )  =  ( u  x.  2 ) )
372371eqeq1d 2238 . . . . . . . . . . . 12  |-  ( ( ( ph  /\  z  e.  S )  /\  u  e.  ZZ )  ->  (
( 2  x.  u
)  =  ( 1st `  z )  <->  ( u  x.  2 )  =  ( 1st `  z ) ) )
373372rexbidva 2527 . . . . . . . . . . 11  |-  ( (
ph  /\  z  e.  S )  ->  ( E. u  e.  ZZ  ( 2  x.  u
)  =  ( 1st `  z )  <->  E. u  e.  ZZ  ( u  x.  2 )  =  ( 1st `  z ) ) )
374152anim1i 340 . . . . . . . . . . . . 13  |-  ( ( u  e.  ( 1 ... ( |_ `  ( M  /  2
) ) )  /\  ( 2  x.  u
)  =  ( 1st `  z ) )  -> 
( u  e.  ZZ  /\  ( 2  x.  u
)  =  ( 1st `  z ) ) )
375374reximi2 2626 . . . . . . . . . . . 12  |-  ( E. u  e.  ( 1 ... ( |_ `  ( M  /  2
) ) ) ( 2  x.  u )  =  ( 1st `  z
)  ->  E. u  e.  ZZ  ( 2  x.  u )  =  ( 1st `  z ) )
376 simprr 531 . . . . . . . . . . . . . . . . . . 19  |-  ( ( ( ph  /\  z  e.  S )  /\  (
u  e.  ZZ  /\  ( 2  x.  u
)  =  ( 1st `  z ) ) )  ->  ( 2  x.  u )  =  ( 1st `  z ) )
377 simpr 110 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( (
ph  /\  z  e.  S )  ->  z  e.  S )
378108, 377sselid 3223 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( (
ph  /\  z  e.  S )  ->  z  e.  ( ( 1 ... M )  X.  (
1 ... N ) ) )
379378, 110syl 14 . . . . . . . . . . . . . . . . . . . . 21  |-  ( (
ph  /\  z  e.  S )  ->  ( 1st `  z )  e.  ( 1 ... M
) )
380379adantr 276 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( ( ph  /\  z  e.  S )  /\  (
u  e.  ZZ  /\  ( 2  x.  u
)  =  ( 1st `  z ) ) )  ->  ( 1st `  z
)  e.  ( 1 ... M ) )
381 elfzle2 10256 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( 1st `  z )  e.  ( 1 ... M )  ->  ( 1st `  z )  <_  M )
382380, 381syl 14 . . . . . . . . . . . . . . . . . . 19  |-  ( ( ( ph  /\  z  e.  S )  /\  (
u  e.  ZZ  /\  ( 2  x.  u
)  =  ( 1st `  z ) ) )  ->  ( 1st `  z
)  <_  M )
383376, 382eqbrtrd 4108 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( ph  /\  z  e.  S )  /\  (
u  e.  ZZ  /\  ( 2  x.  u
)  =  ( 1st `  z ) ) )  ->  ( 2  x.  u )  <_  M
)
384 zre 9476 . . . . . . . . . . . . . . . . . . . 20  |-  ( u  e.  ZZ  ->  u  e.  RR )
385384ad2antrl 490 . . . . . . . . . . . . . . . . . . 19  |-  ( ( ( ph  /\  z  e.  S )  /\  (
u  e.  ZZ  /\  ( 2  x.  u
)  =  ( 1st `  z ) ) )  ->  u  e.  RR )
38624ad2antrr 488 . . . . . . . . . . . . . . . . . . 19  |-  ( ( ( ph  /\  z  e.  S )  /\  (
u  e.  ZZ  /\  ( 2  x.  u
)  =  ( 1st `  z ) ) )  ->  M  e.  RR )
387159a1i 9 . . . . . . . . . . . . . . . . . . 19  |-  ( ( ( ph  /\  z  e.  S )  /\  (
u  e.  ZZ  /\  ( 2  x.  u
)  =  ( 1st `  z ) ) )  ->  2  e.  RR )
388161a1i 9 . . . . . . . . . . . . . . . . . . 19  |-  ( ( ( ph  /\  z  e.  S )  /\  (
u  e.  ZZ  /\  ( 2  x.  u
)  =  ( 1st `  z ) ) )  ->  0  <  2
)
389385, 386, 387, 388, 163syl112anc 1275 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( ph  /\  z  e.  S )  /\  (
u  e.  ZZ  /\  ( 2  x.  u
)  =  ( 1st `  z ) ) )  ->  ( ( 2  x.  u )  <_  M 
<->  u  <_  ( M  /  2 ) ) )
390383, 389mpbid 147 . . . . . . . . . . . . . . . . 17  |-  ( ( ( ph  /\  z  e.  S )  /\  (
u  e.  ZZ  /\  ( 2  x.  u
)  =  ( 1st `  z ) ) )  ->  u  <_  ( M  /  2 ) )
39112ad2antrr 488 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( ph  /\  z  e.  S )  /\  (
u  e.  ZZ  /\  ( 2  x.  u
)  =  ( 1st `  z ) ) )  ->  ( M  / 
2 )  e.  QQ )
392 simprl 529 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( ph  /\  z  e.  S )  /\  (
u  e.  ZZ  /\  ( 2  x.  u
)  =  ( 1st `  z ) ) )  ->  u  e.  ZZ )
393391, 392, 153syl2anc 411 . . . . . . . . . . . . . . . . 17  |-  ( ( ( ph  /\  z  e.  S )  /\  (
u  e.  ZZ  /\  ( 2  x.  u
)  =  ( 1st `  z ) ) )  ->  ( u  <_ 
( M  /  2
)  <->  u  <_  ( |_
`  ( M  / 
2 ) ) ) )
394390, 393mpbid 147 . . . . . . . . . . . . . . . 16  |-  ( ( ( ph  /\  z  e.  S )  /\  (
u  e.  ZZ  /\  ( 2  x.  u
)  =  ( 1st `  z ) ) )  ->  u  <_  ( |_ `  ( M  / 
2 ) ) )
395 2t0e0 9296 . . . . . . . . . . . . . . . . . . . . 21  |-  ( 2  x.  0 )  =  0
396 elfznn 10282 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( 1st `  z )  e.  ( 1 ... M )  ->  ( 1st `  z )  e.  NN )
397380, 396syl 14 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( ( ph  /\  z  e.  S )  /\  (
u  e.  ZZ  /\  ( 2  x.  u
)  =  ( 1st `  z ) ) )  ->  ( 1st `  z
)  e.  NN )
398376, 397eqeltrd 2306 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( ( ph  /\  z  e.  S )  /\  (
u  e.  ZZ  /\  ( 2  x.  u
)  =  ( 1st `  z ) ) )  ->  ( 2  x.  u )  e.  NN )
399398nngt0d 9180 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( ( ph  /\  z  e.  S )  /\  (
u  e.  ZZ  /\  ( 2  x.  u
)  =  ( 1st `  z ) ) )  ->  0  <  (
2  x.  u ) )
400395, 399eqbrtrid 4121 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( ( ph  /\  z  e.  S )  /\  (
u  e.  ZZ  /\  ( 2  x.  u
)  =  ( 1st `  z ) ) )  ->  ( 2  x.  0 )  <  (
2  x.  u ) )
401 0red 8173 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( ( ph  /\  z  e.  S )  /\  (
u  e.  ZZ  /\  ( 2  x.  u
)  =  ( 1st `  z ) ) )  ->  0  e.  RR )
402 ltmul2 9029 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( 0  e.  RR  /\  u  e.  RR  /\  (
2  e.  RR  /\  0  <  2 ) )  ->  ( 0  < 
u  <->  ( 2  x.  0 )  <  (
2  x.  u ) ) )
403401, 385, 387, 388, 402syl112anc 1275 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( ( ph  /\  z  e.  S )  /\  (
u  e.  ZZ  /\  ( 2  x.  u
)  =  ( 1st `  z ) ) )  ->  ( 0  < 
u  <->  ( 2  x.  0 )  <  (
2  x.  u ) ) )
404400, 403mpbird 167 . . . . . . . . . . . . . . . . . . 19  |-  ( ( ( ph  /\  z  e.  S )  /\  (
u  e.  ZZ  /\  ( 2  x.  u
)  =  ( 1st `  z ) ) )  ->  0  <  u
)
405 elnnz 9482 . . . . . . . . . . . . . . . . . . 19  |-  ( u  e.  NN  <->  ( u  e.  ZZ  /\  0  < 
u ) )
406392, 404, 405sylanbrc 417 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( ph  /\  z  e.  S )  /\  (
u  e.  ZZ  /\  ( 2  x.  u
)  =  ( 1st `  z ) ) )  ->  u  e.  NN )
407406, 295eleqtrdi 2322 . . . . . . . . . . . . . . . . 17  |-  ( ( ( ph  /\  z  e.  S )  /\  (
u  e.  ZZ  /\  ( 2  x.  u
)  =  ( 1st `  z ) ) )  ->  u  e.  (
ZZ>= `  1 ) )
40813ad2antrr 488 . . . . . . . . . . . . . . . . 17  |-  ( ( ( ph  /\  z  e.  S )  /\  (
u  e.  ZZ  /\  ( 2  x.  u
)  =  ( 1st `  z ) ) )  ->  ( |_ `  ( M  /  2
) )  e.  ZZ )
409 elfz5 10245 . . . . . . . . . . . . . . . . 17  |-  ( ( u  e.  ( ZZ>= ` 
1 )  /\  ( |_ `  ( M  / 
2 ) )  e.  ZZ )  ->  (
u  e.  ( 1 ... ( |_ `  ( M  /  2
) ) )  <->  u  <_  ( |_ `  ( M  /  2 ) ) ) )
410407, 408, 409syl2anc 411 . . . . . . . . . . . . . . . 16  |-  ( ( ( ph  /\  z  e.  S )  /\  (
u  e.  ZZ  /\  ( 2  x.  u
)  =  ( 1st `  z ) ) )  ->  ( u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) )  <-> 
u  <_  ( |_ `  ( M  /  2
) ) ) )
411394, 410mpbird 167 . . . . . . . . . . . . . . 15  |-  ( ( ( ph  /\  z  e.  S )  /\  (
u  e.  ZZ  /\  ( 2  x.  u
)  =  ( 1st `  z ) ) )  ->  u  e.  ( 1 ... ( |_
`  ( M  / 
2 ) ) ) )
412411, 376jca 306 . . . . . . . . . . . . . 14  |-  ( ( ( ph  /\  z  e.  S )  /\  (
u  e.  ZZ  /\  ( 2  x.  u
)  =  ( 1st `  z ) ) )  ->  ( u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) )  /\  ( 2  x.  u )  =  ( 1st `  z ) ) )
413412ex 115 . . . . . . . . . . . . 13  |-  ( (
ph  /\  z  e.  S )  ->  (
( u  e.  ZZ  /\  ( 2  x.  u
)  =  ( 1st `  z ) )  -> 
( u  e.  ( 1 ... ( |_
`  ( M  / 
2 ) ) )  /\  ( 2  x.  u )  =  ( 1st `  z ) ) ) )
414413reximdv2 2629 . . . . . . . . . . . 12  |-  ( (
ph  /\  z  e.  S )  ->  ( E. u  e.  ZZ  ( 2  x.  u
)  =  ( 1st `  z )  ->  E. u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) ( 2  x.  u
)  =  ( 1st `  z ) ) )
415375, 414impbid2 143 . . . . . . . . . . 11  |-  ( (
ph  /\  z  e.  S )  ->  ( E. u  e.  (
1 ... ( |_ `  ( M  /  2
) ) ) ( 2  x.  u )  =  ( 1st `  z
)  <->  E. u  e.  ZZ  ( 2  x.  u
)  =  ( 1st `  z ) ) )
416 2z 9500 . . . . . . . . . . . 12  |-  2  e.  ZZ
417379elfzelzd 10254 . . . . . . . . . . . 12  |-  ( (
ph  /\  z  e.  S )  ->  ( 1st `  z )  e.  ZZ )
418 divides 12343 . . . . . . . . . . . 12  |-  ( ( 2  e.  ZZ  /\  ( 1st `  z )  e.  ZZ )  -> 
( 2  ||  ( 1st `  z )  <->  E. u  e.  ZZ  ( u  x.  2 )  =  ( 1st `  z ) ) )
419416, 417, 418sylancr 414 . . . . . . . . . . 11  |-  ( (
ph  /\  z  e.  S )  ->  (
2  ||  ( 1st `  z )  <->  E. u  e.  ZZ  ( u  x.  2 )  =  ( 1st `  z ) ) )
420373, 415, 4193bitr4d 220 . . . . . . . . . 10  |-  ( (
ph  /\  z  e.  S )  ->  ( E. u  e.  (
1 ... ( |_ `  ( M  /  2
) ) ) ( 2  x.  u )  =  ( 1st `  z
)  <->  2  ||  ( 1st `  z ) ) )
421420rabbidva 2788 . . . . . . . . 9  |-  ( ph  ->  { z  e.  S  |  E. u  e.  ( 1 ... ( |_
`  ( M  / 
2 ) ) ) ( 2  x.  u
)  =  ( 1st `  z ) }  =  { z  e.  S  |  2  ||  ( 1st `  z ) } )
422366, 421eqtrid 2274 . . . . . . . 8  |-  ( ph  ->  U_ u  e.  ( 1 ... ( |_
`  ( M  / 
2 ) ) ) { z  e.  S  |  ( 2  x.  u )  =  ( 1st `  z ) }  =  { z  e.  S  |  2 
||  ( 1st `  z
) } )
423422fveq2d 5639 . . . . . . 7  |-  ( ph  ->  ( `  U_ u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) { z  e.  S  |  ( 2  x.  u )  =  ( 1st `  z ) } )  =  ( `  { z  e.  S  |  2  ||  ( 1st `  z ) } ) )
424342, 365, 4233eqtr2d 2268 . . . . . 6  |-  ( ph  -> 
sum_ u  e.  (
1 ... ( |_ `  ( M  /  2
) ) ) ( |_ `  ( ( Q  /  P )  x.  ( 2  x.  u ) ) )  =  ( `  {
z  e.  S  | 
2  ||  ( 1st `  z ) } ) )
425424oveq2d 6029 . . . . 5  |-  ( ph  ->  ( -u 1 ^
sum_ u  e.  (
1 ... ( |_ `  ( M  /  2
) ) ) ( |_ `  ( ( Q  /  P )  x.  ( 2  x.  u ) ) ) )  =  ( -u
1 ^ ( `  {
z  e.  S  | 
2  ||  ( 1st `  z ) } ) ) )
4261, 2, 3, 5, 101, 102lgsquadlem1 15799 . . . . 5  |-  ( ph  ->  ( -u 1 ^
sum_ u  e.  (
( ( |_ `  ( M  /  2
) )  +  1 ) ... M ) ( |_ `  (
( Q  /  P
)  x.  ( 2  x.  u ) ) ) )  =  (
-u 1 ^ ( `  { z  e.  S  |  -.  2  ||  ( 1st `  z ) } ) ) )
427425, 426oveq12d 6031 . . . 4  |-  ( ph  ->  ( ( -u 1 ^ sum_ u  e.  ( 1 ... ( |_
`  ( M  / 
2 ) ) ) ( |_ `  (
( Q  /  P
)  x.  ( 2  x.  u ) ) ) )  x.  ( -u 1 ^ sum_ u  e.  ( ( ( |_
`  ( M  / 
2 ) )  +  1 ) ... M
) ( |_ `  ( ( Q  /  P )  x.  (
2  x.  u ) ) ) ) )  =  ( ( -u
1 ^ ( `  {
z  e.  S  | 
2  ||  ( 1st `  z ) } ) )  x.  ( -u
1 ^ ( `  {
z  e.  S  |  -.  2  ||  ( 1st `  z ) } ) ) ) )
428120, 427eqtr4d 2265 . . 3  |-  ( ph  ->  ( -u 1 ^ ( ( `  {
z  e.  S  | 
2  ||  ( 1st `  z ) } )  +  ( `  {
z  e.  S  |  -.  2  ||  ( 1st `  z ) } ) ) )  =  ( ( -u 1 ^
sum_ u  e.  (
1 ... ( |_ `  ( M  /  2
) ) ) ( |_ `  ( ( Q  /  P )  x.  ( 2  x.  u ) ) ) )  x.  ( -u
1 ^ sum_ u  e.  ( ( ( |_
`  ( M  / 
2 ) )  +  1 ) ... M
) ( |_ `  ( ( Q  /  P )  x.  (
2  x.  u ) ) ) ) ) )
429 inrab 3477 . . . . . . 7  |-  ( { z  e.  S  | 
2  ||  ( 1st `  z ) }  i^i  { z  e.  S  |  -.  2  ||  ( 1st `  z ) } )  =  { z  e.  S  |  ( 2 
||  ( 1st `  z
)  /\  -.  2  ||  ( 1st `  z
) ) }
430 pm3.24 698 . . . . . . . . . 10  |-  -.  (
2  ||  ( 1st `  z )  /\  -.  2  ||  ( 1st `  z
) )
431430a1i 9 . . . . . . . . 9  |-  ( ph  ->  -.  ( 2  ||  ( 1st `  z )  /\  -.  2  ||  ( 1st `  z ) ) )
432431ralrimivw 2604 . . . . . . . 8  |-  ( ph  ->  A. z  e.  S  -.  ( 2  ||  ( 1st `  z )  /\  -.  2  ||  ( 1st `  z ) ) )
433 rabeq0 3522 . . . . . . . 8  |-  ( { z  e.  S  | 
( 2  ||  ( 1st `  z )  /\  -.  2  ||  ( 1st `  z ) ) }  =  (/)  <->  A. z  e.  S  -.  ( 2  ||  ( 1st `  z )  /\  -.  2  ||  ( 1st `  z ) ) )
434432, 433sylibr 134 . . . . . . 7  |-  ( ph  ->  { z  e.  S  |  ( 2  ||  ( 1st `  z )  /\  -.  2  ||  ( 1st `  z ) ) }  =  (/) )
435429, 434eqtrid 2274 . . . . . 6  |-  ( ph  ->  ( { z  e.  S  |  2  ||  ( 1st `  z ) }  i^i  { z  e.  S  |  -.  2  ||  ( 1st `  z
) } )  =  (/) )
436 hashun 11061 . . . . . 6  |-  ( ( { z  e.  S  |  2  ||  ( 1st `  z ) }  e.  Fin  /\  {
z  e.  S  |  -.  2  ||  ( 1st `  z ) }  e.  Fin  /\  ( { z  e.  S  |  2 
||  ( 1st `  z
) }  i^i  {
z  e.  S  |  -.  2  ||  ( 1st `  z ) } )  =  (/) )  ->  ( `  ( { z  e.  S  |  2  ||  ( 1st `  z ) }  u.  { z  e.  S  |  -.  2  ||  ( 1st `  z
) } ) )  =  ( ( `  {
z  e.  S  | 
2  ||  ( 1st `  z ) } )  +  ( `  {
z  e.  S  |  -.  2  ||  ( 1st `  z ) } ) ) )
437117, 103, 435, 436syl3anc 1271 . . . . 5  |-  ( ph  ->  ( `  ( {
z  e.  S  | 
2  ||  ( 1st `  z ) }  u.  { z  e.  S  |  -.  2  ||  ( 1st `  z ) } ) )  =  ( ( `  { z  e.  S  |  2  ||  ( 1st `  z ) } )  +  ( `  {
z  e.  S  |  -.  2  ||  ( 1st `  z ) } ) ) )
438 unrab 3476 . . . . . . 7  |-  ( { z  e.  S  | 
2  ||  ( 1st `  z ) }  u.  { z  e.  S  |  -.  2  ||  ( 1st `  z ) } )  =  { z  e.  S  |  ( 2 
||  ( 1st `  z
)  \/  -.  2  ||  ( 1st `  z
) ) }
439 rabid2 2708 . . . . . . . 8  |-  ( S  =  { z  e.  S  |  ( 2 
||  ( 1st `  z
)  \/  -.  2  ||  ( 1st `  z
) ) }  <->  A. z  e.  S  ( 2 
||  ( 1st `  z
)  \/  -.  2  ||  ( 1st `  z
) ) )
44010, 112, 114sylancr 414 . . . . . . . . 9  |-  ( z  e.  S  -> DECID  2  ||  ( 1st `  z ) )
441 exmiddc 841 . . . . . . . . 9  |-  (DECID  2  ||  ( 1st `  z )  ->  ( 2  ||  ( 1st `  z )  \/  -.  2  ||  ( 1st `  z ) ) )
442440, 441syl 14 . . . . . . . 8  |-  ( z  e.  S  ->  (
2  ||  ( 1st `  z )  \/  -.  2  ||  ( 1st `  z
) ) )
443439, 442mprgbir 2588 . . . . . . 7  |-  S  =  { z  e.  S  |  ( 2  ||  ( 1st `  z )  \/  -.  2  ||  ( 1st `  z ) ) }
444438, 443eqtr4i 2253 . . . . . 6  |-  ( { z  e.  S  | 
2  ||  ( 1st `  z ) }  u.  { z  e.  S  |  -.  2  ||  ( 1st `  z ) } )  =  S
445444fveq2i 5638 . . . . 5  |-  ( `  ( { z  e.  S  |  2  ||  ( 1st `  z ) }  u.  { z  e.  S  |  -.  2  ||  ( 1st `  z
) } ) )  =  ( `  S
)
446437, 445eqtr3di 2277 . . . 4  |-  ( ph  ->  ( ( `  {
z  e.  S  | 
2  ||  ( 1st `  z ) } )  +  ( `  {
z  e.  S  |  -.  2  ||  ( 1st `  z ) } ) )  =  ( `  S
) )
447446oveq2d 6029 . . 3  |-  ( ph  ->  ( -u 1 ^ ( ( `  {
z  e.  S  | 
2  ||  ( 1st `  z ) } )  +  ( `  {
z  e.  S  |  -.  2  ||  ( 1st `  z ) } ) ) )  =  (
-u 1 ^ ( `  S ) ) )
448100, 428, 4473eqtr2d 2268 . 2  |-  ( ph  ->  ( -u 1 ^ ( sum_ u  e.  ( 1 ... ( |_
`  ( M  / 
2 ) ) ) ( |_ `  (
( Q  /  P
)  x.  ( 2  x.  u ) ) )  +  sum_ u  e.  ( ( ( |_
`  ( M  / 
2 ) )  +  1 ) ... M
) ( |_ `  ( ( Q  /  P )  x.  (
2  x.  u ) ) ) ) )  =  ( -u 1 ^ ( `  S )
) )
4494, 84, 4483eqtrd 2266 1  |-  ( ph  ->  ( Q  /L
P )  =  (
-u 1 ^ ( `  S ) ) )
Colors of variables: wff set class
Syntax hints:   -. wn 3    -> wi 4    /\ wa 104    <-> wb 105    \/ wo 713  DECID wdc 839    /\ w3a 1002    = wceq 1395    e. wcel 2200    =/= wne 2400   A.wral 2508   E.wrex 2509   {crab 2512    \ cdif 3195    u. cun 3196    i^i cin 3197    C_ wss 3198   (/)c0 3492   {csn 3667   <.cop 3670   U_ciun 3968  Disj wdisj 4062   class class class wbr 4086   {copab 4147    X. cxp 4721   Rel wrel 4728   ` cfv 5324  (class class class)co 6013   1stc1st 6296    ~~ cen 6902   Fincfn 6904   CCcc 8023   RRcr 8024   0cc0 8025   1c1 8026    + caddc 8028    x. cmul 8030    < clt 8207    <_ cle 8208    - cmin 8343   -ucneg 8344   # cap 8754    / cdiv 8845   NNcn 9136   2c2 9187   NN0cn0 9395   ZZcz 9472   ZZ>=cuz 9748   QQcq 9846   RR+crp 9881   ...cfz 10236   |_cfl 10521   ^cexp 10793  ♯chash 11030   sum_csu 11907    || cdvds 12341    gcd cgcd 12517   Primecprime 12672    /Lclgs 15719
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-ia1 106  ax-ia2 107  ax-ia3 108  ax-in1 617  ax-in2 618  ax-io 714  ax-5 1493  ax-7 1494  ax-gen 1495  ax-ie1 1539  ax-ie2 1540  ax-8 1550  ax-10 1551  ax-11 1552  ax-i12 1553  ax-bndl 1555  ax-4 1556  ax-17 1572  ax-i9 1576  ax-ial 1580  ax-i5r 1581  ax-13 2202  ax-14 2203  ax-ext 2211  ax-coll 4202  ax-sep 4205  ax-nul 4213  ax-pow 4262  ax-pr 4297  ax-un 4528  ax-setind 4633  ax-iinf 4684  ax-cnex 8116  ax-resscn 8117  ax-1cn 8118  ax-1re 8119  ax-icn 8120  ax-addcl 8121  ax-addrcl 8122  ax-mulcl 8123  ax-mulrcl 8124  ax-addcom 8125  ax-mulcom 8126  ax-addass 8127  ax-mulass 8128  ax-distr 8129  ax-i2m1 8130  ax-0lt1 8131  ax-1rid 8132  ax-0id 8133  ax-rnegex 8134  ax-precex 8135  ax-cnre 8136  ax-pre-ltirr 8137  ax-pre-ltwlin 8138  ax-pre-lttrn 8139  ax-pre-apti 8140  ax-pre-ltadd 8141  ax-pre-mulgt0 8142  ax-pre-mulext 8143  ax-arch 8144  ax-caucvg 8145  ax-addf 8147  ax-mulf 8148
This theorem depends on definitions:  df-bi 117  df-stab 836  df-dc 840  df-3or 1003  df-3an 1004  df-tru 1398  df-fal 1401  df-xor 1418  df-nf 1507  df-sb 1809  df-eu 2080  df-mo 2081  df-clab 2216  df-cleq 2222  df-clel 2225  df-nfc 2361  df-ne 2401  df-nel 2496  df-ral 2513  df-rex 2514  df-reu 2515  df-rmo 2516  df-rab 2517  df-v 2802  df-sbc 3030  df-csb 3126  df-dif 3200  df-un 3202  df-in 3204  df-ss 3211  df-nul 3493  df-if 3604  df-pw 3652  df-sn 3673  df-pr 3674  df-tp 3675  df-op 3676  df-uni 3892  df-int 3927  df-iun 3970  df-disj 4063  df-br 4087  df-opab 4149  df-mpt 4150  df-tr 4186  df-id 4388  df-po 4391  df-iso 4392  df-iord 4461  df-on 4463  df-ilim 4464  df-suc 4466  df-iom 4687  df-xp 4729  df-rel 4730  df-cnv 4731  df-co 4732  df-dm 4733  df-rn 4734  df-res 4735  df-ima 4736  df-iota 5284  df-fun 5326  df-fn 5327  df-f 5328  df-f1 5329  df-fo 5330  df-f1o 5331  df-fv 5332  df-isom 5333  df-riota 5966  df-ov 6016  df-oprab 6017  df-mpo 6018  df-of 6230  df-1st 6298  df-2nd 6299  df-tpos 6406  df-recs 6466  df-irdg 6531  df-frec 6552  df-1o 6577  df-2o 6578  df-oadd 6581  df-er 6697  df-ec 6699  df-qs 6703  df-map 6814  df-en 6905  df-dom 6906  df-fin 6907  df-sup 7177  df-inf 7178  df-pnf 8209  df-mnf 8210  df-xr 8211  df-ltxr 8212  df-le 8213  df-sub 8345  df-neg 8346  df-reap 8748  df-ap 8755  df-div 8846  df-inn 9137  df-2 9195  df-3 9196  df-4 9197  df-5 9198  df-6 9199  df-7 9200  df-8 9201  df-9 9202  df-n0 9396  df-z 9473  df-dec 9605  df-uz 9749  df-q 9847  df-rp 9882  df-fz 10237  df-fzo 10371  df-fl 10523  df-mod 10578  df-seqfrec 10703  df-exp 10794  df-ihash 11031  df-cj 11396  df-re 11397  df-im 11398  df-rsqrt 11552  df-abs 11553  df-clim 11833  df-sumdc 11908  df-proddc 12105  df-dvds 12342  df-gcd 12518  df-prm 12673  df-phi 12776  df-pc 12851  df-struct 13077  df-ndx 13078  df-slot 13079  df-base 13081  df-sets 13082  df-iress 13083  df-plusg 13166  df-mulr 13167  df-starv 13168  df-sca 13169  df-vsca 13170  df-ip 13171  df-tset 13172  df-ple 13173  df-ds 13175  df-unif 13176  df-0g 13334  df-igsum 13335  df-topgen 13336  df-iimas 13378  df-qus 13379  df-mgm 13432  df-sgrp 13478  df-mnd 13493  df-mhm 13535  df-submnd 13536  df-grp 13579  df-minusg 13580  df-sbg 13581  df-mulg 13700  df-subg 13750  df-nsg 13751  df-eqg 13752  df-ghm 13821  df-cmn 13866  df-abl 13867  df-mgp 13927  df-rng 13939  df-ur 13966  df-srg 13970  df-ring 14004  df-cring 14005  df-oppr 14074  df-dvdsr 14095  df-unit 14096  df-invr 14128  df-dvr 14139  df-rhm 14159  df-nzr 14187  df-subrg 14226  df-domn 14266  df-idom 14267  df-lmod 14296  df-lssm 14360  df-lsp 14394  df-sra 14442  df-rgmod 14443  df-lidl 14476  df-rsp 14477  df-2idl 14507  df-bl 14553  df-mopn 14554  df-fg 14556  df-metu 14557  df-cnfld 14564  df-zring 14598  df-zrh 14621  df-zn 14623  df-lgs 15720
This theorem is referenced by:  lgsquadlem3  15801
  Copyright terms: Public domain W3C validator