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

Theorem lgsquadlem2 15286
Description: Lemma for lgsquad 15288. Count the members of  S with even coordinates, and combine with lgsquadlem1 15285 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 15282 . 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 5933 . . . . 5  |-  ( 1 ... M )  =  ( 1 ... (
( P  -  1 )  /  2 ) )
76sumeq1i 11512 . . . 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 15258 . . . . . . . . . . 11  |-  ( ph  ->  M  e.  NN )
98nnzd 9444 . . . . . . . . . 10  |-  ( ph  ->  M  e.  ZZ )
10 2nn 9149 . . . . . . . . . 10  |-  2  e.  NN
11 znq 9695 . . . . . . . . . 10  |-  ( ( M  e.  ZZ  /\  2  e.  NN )  ->  ( M  /  2
)  e.  QQ )
129, 10, 11sylancl 413 . . . . . . . . 9  |-  ( ph  ->  ( M  /  2
)  e.  QQ )
1312flqcld 10352 . . . . . . . 8  |-  ( ph  ->  ( |_ `  ( M  /  2 ) )  e.  ZZ )
1413zred 9445 . . . . . . 7  |-  ( ph  ->  ( |_ `  ( M  /  2 ) )  e.  RR )
1514ltp1d 8954 . . . . . 6  |-  ( ph  ->  ( |_ `  ( M  /  2 ) )  <  ( ( |_
`  ( M  / 
2 ) )  +  1 ) )
16 fzdisj 10124 . . . . . 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 9766 . . . . . . . . . . 11  |-  ( ph  ->  M  e.  RR+ )
1918rphalfcld 9781 . . . . . . . . . 10  |-  ( ph  ->  ( M  /  2
)  e.  RR+ )
2019rpge0d 9772 . . . . . . . . 9  |-  ( ph  ->  0  <_  ( M  /  2 ) )
21 flqge0nn0 10368 . . . . . . . . 9  |-  ( ( ( M  /  2
)  e.  QQ  /\  0  <_  ( M  / 
2 ) )  -> 
( |_ `  ( M  /  2 ) )  e.  NN0 )
2212, 20, 21syl2anc 411 . . . . . . . 8  |-  ( ph  ->  ( |_ `  ( M  /  2 ) )  e.  NN0 )
238nnnn0d 9299 . . . . . . . 8  |-  ( ph  ->  M  e.  NN0 )
248nnred 9000 . . . . . . . . 9  |-  ( ph  ->  M  e.  RR )
25 rphalflt 9755 . . . . . . . . . . 11  |-  ( M  e.  RR+  ->  ( M  /  2 )  < 
M )
2618, 25syl 14 . . . . . . . . . 10  |-  ( ph  ->  ( M  /  2
)  <  M )
27 flqlt 10358 . . . . . . . . . . 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 8143 . . . . . . . 8  |-  ( ph  ->  ( |_ `  ( M  /  2 ) )  <_  M )
31 elfz2nn0 10184 . . . . . . . 8  |-  ( ( |_ `  ( M  /  2 ) )  e.  ( 0 ... M )  <->  ( ( |_ `  ( M  / 
2 ) )  e. 
NN0  /\  M  e.  NN0 
/\  ( |_ `  ( M  /  2
) )  <_  M
) )
3222, 23, 30, 31syl3anbrc 1183 . . . . . . 7  |-  ( ph  ->  ( |_ `  ( M  /  2 ) )  e.  ( 0 ... M ) )
33 nn0uz 9633 . . . . . . . . 9  |-  NN0  =  ( ZZ>= `  0 )
3423, 33eleqtrdi 2289 . . . . . . . 8  |-  ( ph  ->  M  e.  ( ZZ>= ` 
0 ) )
35 elfzp12 10171 . . . . . . . 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 3484 . . . . . . . . 9  |-  ( ( 1 ... M )  u.  (/) )  =  ( 1 ... M )
39 uncom 3307 . . . . . . . . 9  |-  ( ( 1 ... M )  u.  (/) )  =  (
(/)  u.  ( 1 ... M ) )
4038, 39eqtr3i 2219 . . . . . . . 8  |-  ( 1 ... M )  =  ( (/)  u.  (
1 ... M ) )
41 oveq2 5930 . . . . . . . . . 10  |-  ( ( |_ `  ( M  /  2 ) )  =  0  ->  (
1 ... ( |_ `  ( M  /  2
) ) )  =  ( 1 ... 0
) )
42 fz10 10118 . . . . . . . . . 10  |-  ( 1 ... 0 )  =  (/)
4341, 42eqtrdi 2245 . . . . . . . . 9  |-  ( ( |_ `  ( M  /  2 ) )  =  0  ->  (
1 ... ( |_ `  ( M  /  2
) ) )  =  (/) )
44 oveq1 5929 . . . . . . . . . . 11  |-  ( ( |_ `  ( M  /  2 ) )  =  0  ->  (
( |_ `  ( M  /  2 ) )  +  1 )  =  ( 0  +  1 ) )
45 0p1e1 9101 . . . . . . . . . . 11  |-  ( 0  +  1 )  =  1
4644, 45eqtrdi 2245 . . . . . . . . . 10  |-  ( ( |_ `  ( M  /  2 ) )  =  0  ->  (
( |_ `  ( M  /  2 ) )  +  1 )  =  1 )
4746oveq1d 5937 . . . . . . . . 9  |-  ( ( |_ `  ( M  /  2 ) )  =  0  ->  (
( ( |_ `  ( M  /  2
) )  +  1 ) ... M )  =  ( 1 ... M ) )
4843, 47uneq12d 3318 . . . . . . . 8  |-  ( ( |_ `  ( M  /  2 ) )  =  0  ->  (
( 1 ... ( |_ `  ( M  / 
2 ) ) )  u.  ( ( ( |_ `  ( M  /  2 ) )  +  1 ) ... M ) )  =  ( (/)  u.  (
1 ... M ) ) )
4940, 48eqtr4id 2248 . . . . . . 7  |-  ( ( |_ `  ( M  /  2 ) )  =  0  ->  (
1 ... M )  =  ( ( 1 ... ( |_ `  ( M  /  2 ) ) )  u.  ( ( ( |_ `  ( M  /  2 ) )  +  1 ) ... M ) ) )
50 fzsplit 10123 . . . . . . . 8  |-  ( ( |_ `  ( M  /  2 ) )  e.  ( 1 ... M )  ->  (
1 ... M )  =  ( ( 1 ... ( |_ `  ( M  /  2 ) ) )  u.  ( ( ( |_ `  ( M  /  2 ) )  +  1 ) ... M ) ) )
5145oveq1i 5932 . . . . . . . 8  |-  ( ( 0  +  1 ) ... M )  =  ( 1 ... M
)
5250, 51eleq2s 2291 . . . . . . 7  |-  ( ( |_ `  ( M  /  2 ) )  e.  ( ( 0  +  1 ) ... M )  ->  (
1 ... M )  =  ( ( 1 ... ( |_ `  ( M  /  2 ) ) )  u.  ( ( ( |_ `  ( M  /  2 ) )  +  1 ) ... M ) ) )
5349, 52jaoi 717 . . . . . 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 9350 . . . . . 6  |-  ( ph  ->  1  e.  ZZ )
5655, 9fzfigd 10508 . . . . 5  |-  ( ph  ->  ( 1 ... M
)  e.  Fin )
572gausslemma2dlem0a 15257 . . . . . . . . . 10  |-  ( ph  ->  Q  e.  NN )
5857nnzd 9444 . . . . . . . . 9  |-  ( ph  ->  Q  e.  ZZ )
591gausslemma2dlem0a 15257 . . . . . . . . . 10  |-  ( ph  ->  P  e.  NN )
6059adantr 276 . . . . . . . . 9  |-  ( (
ph  /\  u  e.  ( 1 ... M
) )  ->  P  e.  NN )
61 znq 9695 . . . . . . . . 9  |-  ( ( Q  e.  ZZ  /\  P  e.  NN )  ->  ( Q  /  P
)  e.  QQ )
6258, 60, 61syl2an2r 595 . . . . . . . 8  |-  ( (
ph  /\  u  e.  ( 1 ... M
) )  ->  ( Q  /  P )  e.  QQ )
63 elfznn 10126 . . . . . . . . . . . 12  |-  ( u  e.  ( 1 ... M )  ->  u  e.  NN )
6463adantl 277 . . . . . . . . . . 11  |-  ( (
ph  /\  u  e.  ( 1 ... M
) )  ->  u  e.  NN )
65 nnmulcl 9008 . . . . . . . . . . 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 9444 . . . . . . . . 9  |-  ( (
ph  /\  u  e.  ( 1 ... M
) )  ->  (
2  x.  u )  e.  ZZ )
68 zq 9697 . . . . . . . . 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 9708 . . . . . . . 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 9766 . . . . . . . . . . 11  |-  ( ph  ->  Q  e.  RR+ )
7359nnrpd 9766 . . . . . . . . . . 11  |-  ( ph  ->  P  e.  RR+ )
7472, 73rpdivcld 9786 . . . . . . . . . 10  |-  ( ph  ->  ( Q  /  P
)  e.  RR+ )
7574adantr 276 . . . . . . . . 9  |-  ( (
ph  /\  u  e.  ( 1 ... M
) )  ->  ( Q  /  P )  e.  RR+ )
7666nnrpd 9766 . . . . . . . . 9  |-  ( (
ph  /\  u  e.  ( 1 ... M
) )  ->  (
2  x.  u )  e.  RR+ )
7775, 76rpmulcld 9785 . . . . . . . 8  |-  ( (
ph  /\  u  e.  ( 1 ... M
) )  ->  (
( Q  /  P
)  x.  ( 2  x.  u ) )  e.  RR+ )
7877rpge0d 9772 . . . . . . 7  |-  ( (
ph  /\  u  e.  ( 1 ... M
) )  ->  0  <_  ( ( Q  /  P )  x.  (
2  x.  u ) ) )
79 flqge0nn0 10368 . . . . . . 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 9301 . . . . 5  |-  ( (
ph  /\  u  e.  ( 1 ... M
) )  ->  ( |_ `  ( ( Q  /  P )  x.  ( 2  x.  u
) ) )  e.  CC )
8217, 54, 56, 81fsumsplit 11556 . . . 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 2243 . . 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 5938 . 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 9092 . . . . 5  |-  -u 1  e.  CC
8685a1i 9 . . . 4  |-  ( ph  -> 
-u 1  e.  CC )
8713peano2zd 9448 . . . . . 6  |-  ( ph  ->  ( ( |_ `  ( M  /  2
) )  +  1 )  e.  ZZ )
8887, 9fzfigd 10508 . . . . 5  |-  ( ph  ->  ( ( ( |_
`  ( M  / 
2 ) )  +  1 ) ... M
)  e.  Fin )
89 ssun2 3327 . . . . . . . 8  |-  ( ( ( |_ `  ( M  /  2 ) )  +  1 ) ... M )  C_  (
( 1 ... ( |_ `  ( M  / 
2 ) ) )  u.  ( ( ( |_ `  ( M  /  2 ) )  +  1 ) ... M ) )
9089, 54sseqtrrid 3234 . . . . . . 7  |-  ( ph  ->  ( ( ( |_
`  ( M  / 
2 ) )  +  1 ) ... M
)  C_  ( 1 ... M ) )
9190sselda 3183 . . . . . 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 11552 . . . 4  |-  ( ph  -> 
sum_ u  e.  (
( ( |_ `  ( M  /  2
) )  +  1 ) ... M ) ( |_ `  (
( Q  /  P
)  x.  ( 2  x.  u ) ) )  e.  NN0 )
9455, 13fzfigd 10508 . . . . 5  |-  ( ph  ->  ( 1 ... ( |_ `  ( M  / 
2 ) ) )  e.  Fin )
95 ssun1 3326 . . . . . . . 8  |-  ( 1 ... ( |_ `  ( M  /  2
) ) )  C_  ( ( 1 ... ( |_ `  ( M  /  2 ) ) )  u.  ( ( ( |_ `  ( M  /  2 ) )  +  1 ) ... M ) )
9695, 54sseqtrrid 3234 . . . . . . 7  |-  ( ph  ->  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) 
C_  ( 1 ... M ) )
9796sselda 3183 . . . . . 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 11552 . . . 4  |-  ( ph  -> 
sum_ u  e.  (
1 ... ( |_ `  ( M  /  2
) ) ) ( |_ `  ( ( Q  /  P )  x.  ( 2  x.  u ) ) )  e.  NN0 )
10086, 93, 99expaddd 10752 . . 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 15284 . . . . . 6  |-  ( ph  ->  { z  e.  S  |  -.  2  ||  ( 1st `  z ) }  e.  Fin )
104 hashcl 10858 . . . . . 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 15283 . . . . . . 7  |-  ( ph  ->  S  e.  Fin )
107 opabssxp 4737 . . . . . . . . . . . . . 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 3215 . . . . . . . . . . . . 13  |-  S  C_  ( ( 1 ... M )  X.  (
1 ... N ) )
109108sseli 3179 . . . . . . . . . . . 12  |-  ( z  e.  S  ->  z  e.  ( ( 1 ... M )  X.  (
1 ... N ) ) )
110 xp1st 6223 . . . . . . . . . . . 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 10098 . . . . . . . . . 10  |-  ( z  e.  S  ->  ( 1st `  z )  e.  ZZ )
113112adantl 277 . . . . . . . . 9  |-  ( (
ph  /\  z  e.  S )  ->  ( 1st `  z )  e.  ZZ )
114 dvdsdc 11947 . . . . . . . . 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 2570 . . . . . . 7  |-  ( ph  ->  A. z  e.  S DECID  2  ||  ( 1st `  z
) )
117106, 116ssfirab 6995 . . . . . 6  |-  ( ph  ->  { z  e.  S  |  2  ||  ( 1st `  z ) }  e.  Fin )
118 hashcl 10858 . . . . . 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 10752 . . . 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 9350 . . . . . . . . . . . 12  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  1  e.  ZZ )
12398nn0zd 9443 . . . . . . . . . . . 12  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  ( |_ `  ( ( Q  /  P )  x.  (
2  x.  u ) ) )  e.  ZZ )
124122, 123fzfigd 10508 . . . . . . . . . . 11  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  ( 1 ... ( |_ `  ( ( Q  /  P )  x.  (
2  x.  u ) ) ) )  e. 
Fin )
125 xpsnen2g 6888 . . . . . . . . . . 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 6873 . . . . . . . . . . . . 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 6991 . . . . . . . . . . . 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 10861 . . . . . . . . . . 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 3268 . . . . . . . . . . . . 13  |-  { z  e.  S  |  ( 2  x.  u )  =  ( 1st `  z
) }  C_  S
135102relopabiv 4789 . . . . . . . . . . . . 13  |-  Rel  S
136 relss 4750 . . . . . . . . . . . . 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 4772 . . . . . . . . . . . 12  |-  Rel  ( { ( 2  x.  u ) }  X.  ( 1 ... ( |_ `  ( ( Q  /  P )  x.  ( 2  x.  u
) ) ) ) )
139102eleq2i 2263 . . . . . . . . . . . . . . . 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 4291 . . . . . . . . . . . . . . . 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 9000 . . . . . . . . . . . . . . . . . . . . . . . . . . 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 9000 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  P  e.  RR )
147146rehalfcld 9235 . . . . . . . . . . . . . . . . . . . . . . . . . . 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 10100 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  ( u  e.  ( 1 ... ( |_ `  ( M  /  2 ) ) )  ->  u  <_  ( |_ `  ( M  /  2 ) ) )
151150adantl 277 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  u  <_  ( |_ `  ( M  /  2 ) ) )
152 elfzelz 10097 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  ( u  e.  ( 1 ... ( |_ `  ( M  /  2 ) ) )  ->  u  e.  ZZ )
153 flqge 10357 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 10126 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33  |-  ( u  e.  ( 1 ... ( |_ `  ( M  /  2 ) ) )  ->  u  e.  NN )
157156adantl 277 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  u  e.  NN )
158157nnred 9000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  u  e.  RR )
159 2re 9057 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  2  e.  RR
160159a1i 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  2  e.  RR )
161 2pos 9078 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  0  <  2
162161a1i 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  0  <  2 )
163 lemuldiv2 8906 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( ( u  e.  RR  /\  M  e.  RR  /\  (
2  e.  RR  /\  0  <  2 ) )  ->  ( ( 2  x.  u )  <_  M 
<->  u  <_  ( M  /  2 ) ) )
164158, 148, 160, 162, 163syl112anc 1253 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 8956 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  ( P  -  1 )  <  P )
168 peano2rem 8291 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 8892 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 1253 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 4068 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  M  <  ( P  /  2
) )
176144, 149, 147, 166, 175lelttrd 8149 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
2  x.  u )  <  ( P  / 
2 ) )
177145nnrpd 9766 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  P  e.  RR+ )
178 rphalflt 9755 . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 8150 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
2  x.  u )  <  P )
181143nnzd 9444 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
2  x.  u )  e.  ZZ )
182145nnzd 9444 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  P  e.  ZZ )
183 zltnle 9369 . . . . . . . . . . . . . . . . . . . . . . . . . . 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 3168 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ph  ->  P  e.  Prime )
187186ad2antrr 488 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  P  e.  Prime )
188 prmz 12255 . . . . . . . . . . . . . . . . . . . . . . . . . . 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 11992 . . . . . . . . . . . . . . . . . . . . . . . . . 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 664 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  -.  P  ||  ( 2  x.  u ) )
1932eldifad 3168 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ph  ->  Q  e.  Prime )
194 prmrp 12289 . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 12255 . . . . . . . . . . . . . . . . . . . . . . . . . . 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 12236 . . . . . . . . . . . . . . . . . . . . . . . . . 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 1249 . . . . . . . . . . . . . . . . . . . . . . . . 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 664 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  -.  P  ||  ( Q  x.  ( 2  x.  u
) ) )
205 nnz 9342 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( y  e.  NN  ->  y  e.  ZZ )
206205adantl 277 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  y  e.  ZZ )
207 dvdsmul2 11963 . . . . . . . . . . . . . . . . . . . . . . . . . 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 4037 . . . . . . . . . . . . . . . . . . . . . . . . 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 2410 . . . . . . . . . . . . . . . . . . . . . . 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 9036 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
y  x.  P )  e.  NN )
215214nnzd 9444 . . . . . . . . . . . . . . . . . . . . . . 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 9036 . . . . . . . . . . . . . . . . . . . . . . . . 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 9444 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  ( Q  x.  ( 2  x.  u ) )  e.  ZZ )
220 zltlen 9401 . . . . . . . . . . . . . . . . . . . . . . 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 8994 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( y  e.  NN  ->  y  e.  RR )
224223adantl 277 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  y  e.  RR )
225218nnred 9000 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  ( Q  x.  ( 2  x.  u ) )  e.  RR )
226145nngt0d 9031 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  0  <  P )
227 lemuldiv 8905 . . . . . . . . . . . . . . . . . . . . . 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 1253 . . . . . . . . . . . . . . . . . . . . 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 9001 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  Q  e.  CC )
231143nncnd 9001 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
2  x.  u )  e.  CC )
232145nncnd 9001 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  P  e.  CC )
233146, 226gt0ap0d 8653 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  P #  0 )
234230, 231, 232, 233div23apd 8852 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
( Q  x.  (
2  x.  u ) )  /  P )  =  ( ( Q  /  P )  x.  ( 2  x.  u
) ) )
235234breq2d 4045 . . . . . . . . . . . . . . . . . . . . 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 9000 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  Q  e.  RR )
238229nngt0d 9031 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  0  <  Q )
239 ltmul2 8880 . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 1253 . . . . . . . . . . . . . . . . . . . . . . . . . . 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 9060 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  2  e.  CC )
243170, 171gt0ap0d 8653 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  2 #  0 )
244 divassap 8714 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( Q  e.  CC  /\  P  e.  CC  /\  (
2  e.  CC  /\  2 #  0 ) )  -> 
( ( Q  x.  P )  /  2
)  =  ( Q  x.  ( P  / 
2 ) ) )
245 div23ap 8715 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( Q  e.  CC  /\  P  e.  CC  /\  (
2  e.  CC  /\  2 #  0 ) )  -> 
( ( Q  x.  P )  /  2
)  =  ( ( Q  /  2 )  x.  P ) )
246244, 245eqtr3d 2231 . . . . . . . . . . . . . . . . . . . . . . . . . . 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 1253 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  ( Q  x.  ( P  /  2 ) )  =  ( ( Q  /  2 )  x.  P ) )
248241, 247breqtrd 4059 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  ( Q  x.  ( 2  x.  u ) )  <  ( ( Q  /  2 )  x.  P ) )
249214nnred 9000 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
y  x.  P )  e.  RR )
250237rehalfcld 9235 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  ( Q  /  2 )  e.  RR )
251250, 146remulcld 8055 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
( Q  /  2
)  x.  P )  e.  RR )
252 lttr 8098 . . . . . . . . . . . . . . . . . . . . . . . . . 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 1249 . . . . . . . . . . . . . . . . . . . . . . . . 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 8616 . . . . . . . . . . . . . . . . . . . . . . . . 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 1253 . . . . . . . . . . . . . . . . . . . . . . . 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 8291 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 8053 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  ( Q  -  1 )  e.  CC )
261230, 260, 242, 243divsubdirapd 8854 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
( Q  -  ( Q  -  1 ) )  /  2 )  =  ( ( Q  /  2 )  -  ( ( Q  - 
1 )  /  2
) ) )
262101oveq2i 5933 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( Q  /  2 )  -  N )  =  ( ( Q  / 
2 )  -  (
( Q  -  1 )  /  2 ) )
263261, 262eqtr4di 2247 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
( Q  -  ( Q  -  1 ) )  /  2 )  =  ( ( Q  /  2 )  -  N ) )
264 ax-1cn 7970 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  1  e.  CC
265 nncan 8253 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 5937 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
( Q  -  ( Q  -  1 ) )  /  2 )  =  ( 1  / 
2 ) )
268 halflt1 9205 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( 1  /  2 )  <  1
269267, 268eqbrtrdi 4072 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
( Q  -  ( Q  -  1 ) )  /  2 )  <  1 )
270263, 269eqbrtrrd 4057 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
( Q  /  2
)  -  N )  <  1 )
2712, 101gausslemma2dlem0b 15258 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ph  ->  N  e.  NN )
272271ad2antrr 488 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  N  e.  NN )
273272nnred 9000 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  N  e.  RR )
274 1red 8039 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  1  e.  RR )
275250, 273, 274ltsubadd2d 8567 . . . . . . . . . . . . . . . . . . . . . . . . 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 8160 . . . . . . . . . . . . . . . . . . . . . . . . . 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 8098 . . . . . . . . . . . . . . . . . . . . . . . . 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 1249 . . . . . . . . . . . . . . . . . . . . . . . 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 9382 . . . . . . . . . . . . . . . . . . . . . . 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 10357 . . . . . . . . . . . . . . . . . . . . 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 9634 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  NN  =  ( ZZ>= `  1 )
296121, 295eleqtrdi 2289 . . . . . . . . . . . . . . . . . . . . . . 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 10089 . . . . . . . . . . . . . . . . . . . . . . 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 2273 . . . . . . . . . . . . . . . . . . 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 9444 . . . . . . . . . . . . . . . . . . . 20  |-  ( ph  ->  N  e.  ZZ )
305304ad2antrr 488 . . . . . . . . . . . . . . . . . . 19  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  x  =  ( 2  x.  u
) )  ->  N  e.  ZZ )
306 fznn 10161 . . . . . . . . . . . . . . . . . . 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 5929 . . . . . . . . . . . . . . . . . . 19  |-  ( x  =  ( 2  x.  u )  ->  (
x  x.  Q )  =  ( ( 2  x.  u )  x.  Q ) )
310121nncnd 9001 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  ( 2  x.  u )  e.  CC )
311216nncnd 9001 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  Q  e.  CC )
312310, 311mulcomd 8046 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  ( (
2  x.  u )  x.  Q )  =  ( Q  x.  (
2  x.  u ) ) )
313309, 312sylan9eqr 2251 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  x  =  ( 2  x.  u
) )  ->  (
x  x.  Q )  =  ( Q  x.  ( 2  x.  u
) ) )
314313breq2d 4045 . . . . . . . . . . . . . . . . 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 10352 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  ( |_ `  ( ( Q  /  P )  x.  (
2  x.  u ) ) )  e.  ZZ )
317 fznn 10161 . . . . . . . . . . . . . . . . . 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 2766 . . . . . . . . . . . . . . . . . 18  |-  x  e. 
_V
324 vex 2766 . . . . . . . . . . . . . . . . . 18  |-  y  e. 
_V
325323, 324op1std 6206 . . . . . . . . . . . . . . . . 17  |-  ( z  =  <. x ,  y
>.  ->  ( 1st `  z
)  =  x )
326325eqeq2d 2208 . . . . . . . . . . . . . . . 16  |-  ( z  =  <. x ,  y
>.  ->  ( ( 2  x.  u )  =  ( 1st `  z
)  <->  ( 2  x.  u )  =  x ) )
327 eqcom 2198 . . . . . . . . . . . . . . . 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 2920 . . . . . . . . . . . . . 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 4693 . . . . . . . . . . . . . 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 3639 . . . . . . . . . . . . . . 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 4759 . . . . . . . . . . 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 2202 . . . . . . . . . 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 5562 . . . . . . . . 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 10860 . . . . . . . . . 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 2238 . . . . . . . 8  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  ( |_ `  ( ( Q  /  P )  x.  (
2  x.  u ) ) )  =  ( `  { z  e.  S  |  ( 2  x.  u )  =  ( 1st `  z ) } ) )
342341sumeq2dv 11517 . . . . . . 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 9398 . . . . . . . . . . 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 2570 . . . . . . . . 9  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  A. z  e.  S DECID  ( 2  x.  u
)  =  ( 1st `  z ) )
348343, 347ssfirab 6995 . . . . . . . 8  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  { z  e.  S  |  (
2  x.  u )  =  ( 1st `  z
) }  e.  Fin )
349 fveq2 5558 . . . . . . . . . . . . . . . 16  |-  ( z  =  v  ->  ( 1st `  z )  =  ( 1st `  v
) )
350349eqeq2d 2208 . . . . . . . . . . . . . . 15  |-  ( z  =  v  ->  (
( 2  x.  u
)  =  ( 1st `  z )  <->  ( 2  x.  u )  =  ( 1st `  v
) ) )
351350elrab 2920 . . . . . . . . . . . . . 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 5937 . . . . . . . . . . 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 9001 . . . . . . . . . . . . 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 9060 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) )  /\  v  e.  {
z  e.  S  | 
( 2  x.  u
)  =  ( 1st `  z ) } ) )  ->  2  e.  CC )
358 2ap0 9080 . . . . . . . . . . . . 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 8819 . . . . . . . . . . 11  |-  ( (
ph  /\  ( u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) )  /\  v  e.  {
z  e.  S  | 
( 2  x.  u
)  =  ( 1st `  z ) } ) )  ->  ( (
2  x.  u )  /  2 )  =  u )
361354, 360eqtr3d 2231 . . . . . . . . . 10  |-  ( (
ph  /\  ( u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) )  /\  v  e.  {
z  e.  S  | 
( 2  x.  u
)  =  ( 1st `  z ) } ) )  ->  ( ( 1st `  v )  / 
2 )  =  u )
362361ralrimivva 2579 . . . . . . . . 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 4027 . . . . . . . . 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 11627 . . . . . . 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 3964 . . . . . . . . 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 9058 . . . . . . . . . . . . . 14  |-  2  e.  CC
368 zcn 9328 . . . . . . . . . . . . . . 15  |-  ( u  e.  ZZ  ->  u  e.  CC )
369368adantl 277 . . . . . . . . . . . . . 14  |-  ( ( ( ph  /\  z  e.  S )  /\  u  e.  ZZ )  ->  u  e.  CC )
370 mulcom 8006 . . . . . . . . . . . . . 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 2205 . . . . . . . . . . . 12  |-  ( ( ( ph  /\  z  e.  S )  /\  u  e.  ZZ )  ->  (
( 2  x.  u
)  =  ( 1st `  z )  <->  ( u  x.  2 )  =  ( 1st `  z ) ) )
373372rexbidva 2494 . . . . . . . . . . 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 2593 . . . . . . . . . . . 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 3181 . . . . . . . . . . . . . . . . . . . . . 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 10100 . . . . . . . . . . . . . . . . . . . 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 4055 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( ph  /\  z  e.  S )  /\  (
u  e.  ZZ  /\  ( 2  x.  u
)  =  ( 1st `  z ) ) )  ->  ( 2  x.  u )  <_  M
)
384 zre 9327 . . . . . . . . . . . . . . . . . . . 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 1253 . . . . . . . . . . . . . . . . . 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 9147 . . . . . . . . . . . . . . . . . . . . 21  |-  ( 2  x.  0 )  =  0
396 elfznn 10126 . . . . . . . . . . . . . . . . . . . . . . . 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 2273 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( ( ph  /\  z  e.  S )  /\  (
u  e.  ZZ  /\  ( 2  x.  u
)  =  ( 1st `  z ) ) )  ->  ( 2  x.  u )  e.  NN )
399398nngt0d 9031 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( ( ph  /\  z  e.  S )  /\  (
u  e.  ZZ  /\  ( 2  x.  u
)  =  ( 1st `  z ) ) )  ->  0  <  (
2  x.  u ) )
400395, 399eqbrtrid 4068 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( ( ph  /\  z  e.  S )  /\  (
u  e.  ZZ  /\  ( 2  x.  u
)  =  ( 1st `  z ) ) )  ->  ( 2  x.  0 )  <  (
2  x.  u ) )
401 0red 8025 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( ( ph  /\  z  e.  S )  /\  (
u  e.  ZZ  /\  ( 2  x.  u
)  =  ( 1st `  z ) ) )  ->  0  e.  RR )
402 ltmul2 8880 . . . . . . . . . . . . . . . . . . . . 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 1253 . . . . . . . . . . . . . . . . . . . 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 9333 . . . . . . . . . . . . . . . . . . 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 2289 . . . . . . . . . . . . . . . . 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 10089 . . . . . . . . . . . . . . . . 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 2596 . . . . . . . . . . . 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 9351 . . . . . . . . . . . 12  |-  2  e.  ZZ
417379elfzelzd 10098 . . . . . . . . . . . 12  |-  ( (
ph  /\  z  e.  S )  ->  ( 1st `  z )  e.  ZZ )
418 divides 11938 . . . . . . . . . . . 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 2751 . . . . . . . . 9  |-  ( ph  ->  { z  e.  S  |  E. u  e.  ( 1 ... ( |_
`  ( M  / 
2 ) ) ) ( 2  x.  u
)  =  ( 1st `  z ) }  =  { z  e.  S  |  2  ||  ( 1st `  z ) } )
422366, 421eqtrid 2241 . . . . . . . 8  |-  ( ph  ->  U_ u  e.  ( 1 ... ( |_
`  ( M  / 
2 ) ) ) { z  e.  S  |  ( 2  x.  u )  =  ( 1st `  z ) }  =  { z  e.  S  |  2 
||  ( 1st `  z
) } )
423422fveq2d 5562 . . . . . . 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 2235 . . . . . 6  |-  ( ph  -> 
sum_ u  e.  (
1 ... ( |_ `  ( M  /  2
) ) ) ( |_ `  ( ( Q  /  P )  x.  ( 2  x.  u ) ) )  =  ( `  {
z  e.  S  | 
2  ||  ( 1st `  z ) } ) )
425424oveq2d 5938 . . . . 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 15285 . . . . 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 5940 . . . 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 2232 . . 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 3435 . . . . . . 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 694 . . . . . . . . . 10  |-  -.  (
2  ||  ( 1st `  z )  /\  -.  2  ||  ( 1st `  z
) )
431430a1i 9 . . . . . . . . 9  |-  ( ph  ->  -.  ( 2  ||  ( 1st `  z )  /\  -.  2  ||  ( 1st `  z ) ) )
432431ralrimivw 2571 . . . . . . . 8  |-  ( ph  ->  A. z  e.  S  -.  ( 2  ||  ( 1st `  z )  /\  -.  2  ||  ( 1st `  z ) ) )
433 rabeq0 3480 . . . . . . . 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 2241 . . . . . 6  |-  ( ph  ->  ( { z  e.  S  |  2  ||  ( 1st `  z ) }  i^i  { z  e.  S  |  -.  2  ||  ( 1st `  z
) } )  =  (/) )
436 hashun 10882 . . . . . 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 1249 . . . . 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 3434 . . . . . . 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 2674 . . . . . . . 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 837 . . . . . . . . 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 2555 . . . . . . 7  |-  S  =  { z  e.  S  |  ( 2  ||  ( 1st `  z )  \/  -.  2  ||  ( 1st `  z ) ) }
444438, 443eqtr4i 2220 . . . . . 6  |-  ( { z  e.  S  | 
2  ||  ( 1st `  z ) }  u.  { z  e.  S  |  -.  2  ||  ( 1st `  z ) } )  =  S
445444fveq2i 5561 . . . . 5  |-  ( `  ( { z  e.  S  |  2  ||  ( 1st `  z ) }  u.  { z  e.  S  |  -.  2  ||  ( 1st `  z
) } ) )  =  ( `  S
)
446437, 445eqtr3di 2244 . . . 4  |-  ( ph  ->  ( ( `  {
z  e.  S  | 
2  ||  ( 1st `  z ) } )  +  ( `  {
z  e.  S  |  -.  2  ||  ( 1st `  z ) } ) )  =  ( `  S
) )
447446oveq2d 5938 . . 3  |-  ( ph  ->  ( -u 1 ^ ( ( `  {
z  e.  S  | 
2  ||  ( 1st `  z ) } )  +  ( `  {
z  e.  S  |  -.  2  ||  ( 1st `  z ) } ) ) )  =  (
-u 1 ^ ( `  S ) ) )
448100, 428, 4473eqtr2d 2235 . 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 2233 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 709  DECID wdc 835    /\ w3a 980    = wceq 1364    e. wcel 2167    =/= wne 2367   A.wral 2475   E.wrex 2476   {crab 2479    \ cdif 3154    u. cun 3155    i^i cin 3156    C_ wss 3157   (/)c0 3450   {csn 3622   <.cop 3625   U_ciun 3916  Disj wdisj 4010   class class class wbr 4033   {copab 4093    X. cxp 4661   Rel wrel 4668   ` cfv 5258  (class class class)co 5922   1stc1st 6196    ~~ cen 6797   Fincfn 6799   CCcc 7875   RRcr 7876   0cc0 7877   1c1 7878    + caddc 7880    x. cmul 7882    < clt 8059    <_ cle 8060    - cmin 8195   -ucneg 8196   # cap 8605    / cdiv 8696   NNcn 8987   2c2 9038   NN0cn0 9246   ZZcz 9323   ZZ>=cuz 9598   QQcq 9690   RR+crp 9725   ...cfz 10080   |_cfl 10343   ^cexp 10615  ♯chash 10852   sum_csu 11502    || cdvds 11936    gcd cgcd 12085   Primecprime 12251    /Lclgs 15205
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 615  ax-in2 616  ax-io 710  ax-5 1461  ax-7 1462  ax-gen 1463  ax-ie1 1507  ax-ie2 1508  ax-8 1518  ax-10 1519  ax-11 1520  ax-i12 1521  ax-bndl 1523  ax-4 1524  ax-17 1540  ax-i9 1544  ax-ial 1548  ax-i5r 1549  ax-13 2169  ax-14 2170  ax-ext 2178  ax-coll 4148  ax-sep 4151  ax-nul 4159  ax-pow 4207  ax-pr 4242  ax-un 4468  ax-setind 4573  ax-iinf 4624  ax-cnex 7968  ax-resscn 7969  ax-1cn 7970  ax-1re 7971  ax-icn 7972  ax-addcl 7973  ax-addrcl 7974  ax-mulcl 7975  ax-mulrcl 7976  ax-addcom 7977  ax-mulcom 7978  ax-addass 7979  ax-mulass 7980  ax-distr 7981  ax-i2m1 7982  ax-0lt1 7983  ax-1rid 7984  ax-0id 7985  ax-rnegex 7986  ax-precex 7987  ax-cnre 7988  ax-pre-ltirr 7989  ax-pre-ltwlin 7990  ax-pre-lttrn 7991  ax-pre-apti 7992  ax-pre-ltadd 7993  ax-pre-mulgt0 7994  ax-pre-mulext 7995  ax-arch 7996  ax-caucvg 7997  ax-addf 7999  ax-mulf 8000
This theorem depends on definitions:  df-bi 117  df-stab 832  df-dc 836  df-3or 981  df-3an 982  df-tru 1367  df-fal 1370  df-xor 1387  df-nf 1475  df-sb 1777  df-eu 2048  df-mo 2049  df-clab 2183  df-cleq 2189  df-clel 2192  df-nfc 2328  df-ne 2368  df-nel 2463  df-ral 2480  df-rex 2481  df-reu 2482  df-rmo 2483  df-rab 2484  df-v 2765  df-sbc 2990  df-csb 3085  df-dif 3159  df-un 3161  df-in 3163  df-ss 3170  df-nul 3451  df-if 3562  df-pw 3607  df-sn 3628  df-pr 3629  df-tp 3630  df-op 3631  df-uni 3840  df-int 3875  df-iun 3918  df-disj 4011  df-br 4034  df-opab 4095  df-mpt 4096  df-tr 4132  df-id 4328  df-po 4331  df-iso 4332  df-iord 4401  df-on 4403  df-ilim 4404  df-suc 4406  df-iom 4627  df-xp 4669  df-rel 4670  df-cnv 4671  df-co 4672  df-dm 4673  df-rn 4674  df-res 4675  df-ima 4676  df-iota 5219  df-fun 5260  df-fn 5261  df-f 5262  df-f1 5263  df-fo 5264  df-f1o 5265  df-fv 5266  df-isom 5267  df-riota 5877  df-ov 5925  df-oprab 5926  df-mpo 5927  df-of 6135  df-1st 6198  df-2nd 6199  df-tpos 6303  df-recs 6363  df-irdg 6428  df-frec 6449  df-1o 6474  df-2o 6475  df-oadd 6478  df-er 6592  df-ec 6594  df-qs 6598  df-map 6709  df-en 6800  df-dom 6801  df-fin 6802  df-sup 7048  df-inf 7049  df-pnf 8061  df-mnf 8062  df-xr 8063  df-ltxr 8064  df-le 8065  df-sub 8197  df-neg 8198  df-reap 8599  df-ap 8606  df-div 8697  df-inn 8988  df-2 9046  df-3 9047  df-4 9048  df-5 9049  df-6 9050  df-7 9051  df-8 9052  df-9 9053  df-n0 9247  df-z 9324  df-dec 9455  df-uz 9599  df-q 9691  df-rp 9726  df-fz 10081  df-fzo 10215  df-fl 10345  df-mod 10400  df-seqfrec 10525  df-exp 10616  df-ihash 10853  df-cj 10992  df-re 10993  df-im 10994  df-rsqrt 11148  df-abs 11149  df-clim 11428  df-sumdc 11503  df-proddc 11700  df-dvds 11937  df-gcd 12086  df-prm 12252  df-phi 12355  df-pc 12430  df-struct 12656  df-ndx 12657  df-slot 12658  df-base 12660  df-sets 12661  df-iress 12662  df-plusg 12744  df-mulr 12745  df-starv 12746  df-sca 12747  df-vsca 12748  df-ip 12749  df-tset 12750  df-ple 12751  df-ds 12753  df-unif 12754  df-0g 12905  df-igsum 12906  df-topgen 12907  df-iimas 12921  df-qus 12922  df-mgm 12975  df-sgrp 13021  df-mnd 13034  df-mhm 13067  df-submnd 13068  df-grp 13111  df-minusg 13112  df-sbg 13113  df-mulg 13226  df-subg 13276  df-nsg 13277  df-eqg 13278  df-ghm 13347  df-cmn 13392  df-abl 13393  df-mgp 13453  df-rng 13465  df-ur 13492  df-srg 13496  df-ring 13530  df-cring 13531  df-oppr 13600  df-dvdsr 13621  df-unit 13622  df-invr 13653  df-dvr 13664  df-rhm 13684  df-nzr 13712  df-subrg 13751  df-domn 13791  df-idom 13792  df-lmod 13821  df-lssm 13885  df-lsp 13919  df-sra 13967  df-rgmod 13968  df-lidl 14001  df-rsp 14002  df-2idl 14032  df-bl 14078  df-mopn 14079  df-fg 14081  df-metu 14082  df-cnfld 14089  df-zring 14123  df-zrh 14146  df-zn 14148  df-lgs 15206
This theorem is referenced by:  lgsquadlem3  15287
  Copyright terms: Public domain W3C validator