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

Theorem lgsquadlem2 15625
Description: Lemma for lgsquad 15627. Count the members of  S with even coordinates, and combine with lgsquadlem1 15624 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 15621 . 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 5967 . . . . 5  |-  ( 1 ... M )  =  ( 1 ... (
( P  -  1 )  /  2 ) )
76sumeq1i 11744 . . . 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 15597 . . . . . . . . . . 11  |-  ( ph  ->  M  e.  NN )
98nnzd 9509 . . . . . . . . . 10  |-  ( ph  ->  M  e.  ZZ )
10 2nn 9213 . . . . . . . . . 10  |-  2  e.  NN
11 znq 9760 . . . . . . . . . 10  |-  ( ( M  e.  ZZ  /\  2  e.  NN )  ->  ( M  /  2
)  e.  QQ )
129, 10, 11sylancl 413 . . . . . . . . 9  |-  ( ph  ->  ( M  /  2
)  e.  QQ )
1312flqcld 10437 . . . . . . . 8  |-  ( ph  ->  ( |_ `  ( M  /  2 ) )  e.  ZZ )
1413zred 9510 . . . . . . 7  |-  ( ph  ->  ( |_ `  ( M  /  2 ) )  e.  RR )
1514ltp1d 9018 . . . . . 6  |-  ( ph  ->  ( |_ `  ( M  /  2 ) )  <  ( ( |_
`  ( M  / 
2 ) )  +  1 ) )
16 fzdisj 10189 . . . . . 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 9831 . . . . . . . . . . 11  |-  ( ph  ->  M  e.  RR+ )
1918rphalfcld 9846 . . . . . . . . . 10  |-  ( ph  ->  ( M  /  2
)  e.  RR+ )
2019rpge0d 9837 . . . . . . . . 9  |-  ( ph  ->  0  <_  ( M  /  2 ) )
21 flqge0nn0 10453 . . . . . . . . 9  |-  ( ( ( M  /  2
)  e.  QQ  /\  0  <_  ( M  / 
2 ) )  -> 
( |_ `  ( M  /  2 ) )  e.  NN0 )
2212, 20, 21syl2anc 411 . . . . . . . 8  |-  ( ph  ->  ( |_ `  ( M  /  2 ) )  e.  NN0 )
238nnnn0d 9363 . . . . . . . 8  |-  ( ph  ->  M  e.  NN0 )
248nnred 9064 . . . . . . . . 9  |-  ( ph  ->  M  e.  RR )
25 rphalflt 9820 . . . . . . . . . . 11  |-  ( M  e.  RR+  ->  ( M  /  2 )  < 
M )
2618, 25syl 14 . . . . . . . . . 10  |-  ( ph  ->  ( M  /  2
)  <  M )
27 flqlt 10443 . . . . . . . . . . 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 8206 . . . . . . . 8  |-  ( ph  ->  ( |_ `  ( M  /  2 ) )  <_  M )
31 elfz2nn0 10249 . . . . . . . 8  |-  ( ( |_ `  ( M  /  2 ) )  e.  ( 0 ... M )  <->  ( ( |_ `  ( M  / 
2 ) )  e. 
NN0  /\  M  e.  NN0 
/\  ( |_ `  ( M  /  2
) )  <_  M
) )
3222, 23, 30, 31syl3anbrc 1184 . . . . . . 7  |-  ( ph  ->  ( |_ `  ( M  /  2 ) )  e.  ( 0 ... M ) )
33 nn0uz 9698 . . . . . . . . 9  |-  NN0  =  ( ZZ>= `  0 )
3423, 33eleqtrdi 2299 . . . . . . . 8  |-  ( ph  ->  M  e.  ( ZZ>= ` 
0 ) )
35 elfzp12 10236 . . . . . . . 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 3498 . . . . . . . . 9  |-  ( ( 1 ... M )  u.  (/) )  =  ( 1 ... M )
39 uncom 3321 . . . . . . . . 9  |-  ( ( 1 ... M )  u.  (/) )  =  (
(/)  u.  ( 1 ... M ) )
4038, 39eqtr3i 2229 . . . . . . . 8  |-  ( 1 ... M )  =  ( (/)  u.  (
1 ... M ) )
41 oveq2 5964 . . . . . . . . . 10  |-  ( ( |_ `  ( M  /  2 ) )  =  0  ->  (
1 ... ( |_ `  ( M  /  2
) ) )  =  ( 1 ... 0
) )
42 fz10 10183 . . . . . . . . . 10  |-  ( 1 ... 0 )  =  (/)
4341, 42eqtrdi 2255 . . . . . . . . 9  |-  ( ( |_ `  ( M  /  2 ) )  =  0  ->  (
1 ... ( |_ `  ( M  /  2
) ) )  =  (/) )
44 oveq1 5963 . . . . . . . . . . 11  |-  ( ( |_ `  ( M  /  2 ) )  =  0  ->  (
( |_ `  ( M  /  2 ) )  +  1 )  =  ( 0  +  1 ) )
45 0p1e1 9165 . . . . . . . . . . 11  |-  ( 0  +  1 )  =  1
4644, 45eqtrdi 2255 . . . . . . . . . 10  |-  ( ( |_ `  ( M  /  2 ) )  =  0  ->  (
( |_ `  ( M  /  2 ) )  +  1 )  =  1 )
4746oveq1d 5971 . . . . . . . . 9  |-  ( ( |_ `  ( M  /  2 ) )  =  0  ->  (
( ( |_ `  ( M  /  2
) )  +  1 ) ... M )  =  ( 1 ... M ) )
4843, 47uneq12d 3332 . . . . . . . 8  |-  ( ( |_ `  ( M  /  2 ) )  =  0  ->  (
( 1 ... ( |_ `  ( M  / 
2 ) ) )  u.  ( ( ( |_ `  ( M  /  2 ) )  +  1 ) ... M ) )  =  ( (/)  u.  (
1 ... M ) ) )
4940, 48eqtr4id 2258 . . . . . . 7  |-  ( ( |_ `  ( M  /  2 ) )  =  0  ->  (
1 ... M )  =  ( ( 1 ... ( |_ `  ( M  /  2 ) ) )  u.  ( ( ( |_ `  ( M  /  2 ) )  +  1 ) ... M ) ) )
50 fzsplit 10188 . . . . . . . 8  |-  ( ( |_ `  ( M  /  2 ) )  e.  ( 1 ... M )  ->  (
1 ... M )  =  ( ( 1 ... ( |_ `  ( M  /  2 ) ) )  u.  ( ( ( |_ `  ( M  /  2 ) )  +  1 ) ... M ) ) )
5145oveq1i 5966 . . . . . . . 8  |-  ( ( 0  +  1 ) ... M )  =  ( 1 ... M
)
5250, 51eleq2s 2301 . . . . . . 7  |-  ( ( |_ `  ( M  /  2 ) )  e.  ( ( 0  +  1 ) ... M )  ->  (
1 ... M )  =  ( ( 1 ... ( |_ `  ( M  /  2 ) ) )  u.  ( ( ( |_ `  ( M  /  2 ) )  +  1 ) ... M ) ) )
5349, 52jaoi 718 . . . . . 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 9414 . . . . . 6  |-  ( ph  ->  1  e.  ZZ )
5655, 9fzfigd 10593 . . . . 5  |-  ( ph  ->  ( 1 ... M
)  e.  Fin )
572gausslemma2dlem0a 15596 . . . . . . . . . 10  |-  ( ph  ->  Q  e.  NN )
5857nnzd 9509 . . . . . . . . 9  |-  ( ph  ->  Q  e.  ZZ )
591gausslemma2dlem0a 15596 . . . . . . . . . 10  |-  ( ph  ->  P  e.  NN )
6059adantr 276 . . . . . . . . 9  |-  ( (
ph  /\  u  e.  ( 1 ... M
) )  ->  P  e.  NN )
61 znq 9760 . . . . . . . . 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 10191 . . . . . . . . . . . 12  |-  ( u  e.  ( 1 ... M )  ->  u  e.  NN )
6463adantl 277 . . . . . . . . . . 11  |-  ( (
ph  /\  u  e.  ( 1 ... M
) )  ->  u  e.  NN )
65 nnmulcl 9072 . . . . . . . . . . 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 9509 . . . . . . . . 9  |-  ( (
ph  /\  u  e.  ( 1 ... M
) )  ->  (
2  x.  u )  e.  ZZ )
68 zq 9762 . . . . . . . . 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 9773 . . . . . . . 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 9831 . . . . . . . . . . 11  |-  ( ph  ->  Q  e.  RR+ )
7359nnrpd 9831 . . . . . . . . . . 11  |-  ( ph  ->  P  e.  RR+ )
7472, 73rpdivcld 9851 . . . . . . . . . 10  |-  ( ph  ->  ( Q  /  P
)  e.  RR+ )
7574adantr 276 . . . . . . . . 9  |-  ( (
ph  /\  u  e.  ( 1 ... M
) )  ->  ( Q  /  P )  e.  RR+ )
7666nnrpd 9831 . . . . . . . . 9  |-  ( (
ph  /\  u  e.  ( 1 ... M
) )  ->  (
2  x.  u )  e.  RR+ )
7775, 76rpmulcld 9850 . . . . . . . 8  |-  ( (
ph  /\  u  e.  ( 1 ... M
) )  ->  (
( Q  /  P
)  x.  ( 2  x.  u ) )  e.  RR+ )
7877rpge0d 9837 . . . . . . 7  |-  ( (
ph  /\  u  e.  ( 1 ... M
) )  ->  0  <_  ( ( Q  /  P )  x.  (
2  x.  u ) ) )
79 flqge0nn0 10453 . . . . . . 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 9365 . . . . 5  |-  ( (
ph  /\  u  e.  ( 1 ... M
) )  ->  ( |_ `  ( ( Q  /  P )  x.  ( 2  x.  u
) ) )  e.  CC )
8217, 54, 56, 81fsumsplit 11788 . . . 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 2253 . . 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 5972 . 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 9156 . . . . 5  |-  -u 1  e.  CC
8685a1i 9 . . . 4  |-  ( ph  -> 
-u 1  e.  CC )
8713peano2zd 9513 . . . . . 6  |-  ( ph  ->  ( ( |_ `  ( M  /  2
) )  +  1 )  e.  ZZ )
8887, 9fzfigd 10593 . . . . 5  |-  ( ph  ->  ( ( ( |_
`  ( M  / 
2 ) )  +  1 ) ... M
)  e.  Fin )
89 ssun2 3341 . . . . . . . 8  |-  ( ( ( |_ `  ( M  /  2 ) )  +  1 ) ... M )  C_  (
( 1 ... ( |_ `  ( M  / 
2 ) ) )  u.  ( ( ( |_ `  ( M  /  2 ) )  +  1 ) ... M ) )
9089, 54sseqtrrid 3248 . . . . . . 7  |-  ( ph  ->  ( ( ( |_
`  ( M  / 
2 ) )  +  1 ) ... M
)  C_  ( 1 ... M ) )
9190sselda 3197 . . . . . 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 11784 . . . 4  |-  ( ph  -> 
sum_ u  e.  (
( ( |_ `  ( M  /  2
) )  +  1 ) ... M ) ( |_ `  (
( Q  /  P
)  x.  ( 2  x.  u ) ) )  e.  NN0 )
9455, 13fzfigd 10593 . . . . 5  |-  ( ph  ->  ( 1 ... ( |_ `  ( M  / 
2 ) ) )  e.  Fin )
95 ssun1 3340 . . . . . . . 8  |-  ( 1 ... ( |_ `  ( M  /  2
) ) )  C_  ( ( 1 ... ( |_ `  ( M  /  2 ) ) )  u.  ( ( ( |_ `  ( M  /  2 ) )  +  1 ) ... M ) )
9695, 54sseqtrrid 3248 . . . . . . 7  |-  ( ph  ->  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) 
C_  ( 1 ... M ) )
9796sselda 3197 . . . . . 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 11784 . . . 4  |-  ( ph  -> 
sum_ u  e.  (
1 ... ( |_ `  ( M  /  2
) ) ) ( |_ `  ( ( Q  /  P )  x.  ( 2  x.  u ) ) )  e.  NN0 )
10086, 93, 99expaddd 10837 . . 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 15623 . . . . . 6  |-  ( ph  ->  { z  e.  S  |  -.  2  ||  ( 1st `  z ) }  e.  Fin )
104 hashcl 10943 . . . . . 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 15622 . . . . . . 7  |-  ( ph  ->  S  e.  Fin )
107 opabssxp 4756 . . . . . . . . . . . . . 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 3229 . . . . . . . . . . . . 13  |-  S  C_  ( ( 1 ... M )  X.  (
1 ... N ) )
109108sseli 3193 . . . . . . . . . . . 12  |-  ( z  e.  S  ->  z  e.  ( ( 1 ... M )  X.  (
1 ... N ) ) )
110 xp1st 6263 . . . . . . . . . . . 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 10163 . . . . . . . . . 10  |-  ( z  e.  S  ->  ( 1st `  z )  e.  ZZ )
113112adantl 277 . . . . . . . . 9  |-  ( (
ph  /\  z  e.  S )  ->  ( 1st `  z )  e.  ZZ )
114 dvdsdc 12179 . . . . . . . . 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 2580 . . . . . . 7  |-  ( ph  ->  A. z  e.  S DECID  2  ||  ( 1st `  z
) )
117106, 116ssfirab 7047 . . . . . 6  |-  ( ph  ->  { z  e.  S  |  2  ||  ( 1st `  z ) }  e.  Fin )
118 hashcl 10943 . . . . . 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 10837 . . . 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 9414 . . . . . . . . . . . 12  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  1  e.  ZZ )
12398nn0zd 9508 . . . . . . . . . . . 12  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  ( |_ `  ( ( Q  /  P )  x.  (
2  x.  u ) ) )  e.  ZZ )
124122, 123fzfigd 10593 . . . . . . . . . . 11  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  ( 1 ... ( |_ `  ( ( Q  /  P )  x.  (
2  x.  u ) ) ) )  e. 
Fin )
125 xpsnen2g 6938 . . . . . . . . . . 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 6919 . . . . . . . . . . . . 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 7043 . . . . . . . . . . . 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 10946 . . . . . . . . . . 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 3282 . . . . . . . . . . . . 13  |-  { z  e.  S  |  ( 2  x.  u )  =  ( 1st `  z
) }  C_  S
135102relopabiv 4808 . . . . . . . . . . . . 13  |-  Rel  S
136 relss 4769 . . . . . . . . . . . . 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 4791 . . . . . . . . . . . 12  |-  Rel  ( { ( 2  x.  u ) }  X.  ( 1 ... ( |_ `  ( ( Q  /  P )  x.  ( 2  x.  u
) ) ) ) )
139102eleq2i 2273 . . . . . . . . . . . . . . . 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 4310 . . . . . . . . . . . . . . . 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 9064 . . . . . . . . . . . . . . . . . . . . . . . . . . 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 9064 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  P  e.  RR )
147146rehalfcld 9299 . . . . . . . . . . . . . . . . . . . . . . . . . . 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 10165 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  ( u  e.  ( 1 ... ( |_ `  ( M  /  2 ) ) )  ->  u  <_  ( |_ `  ( M  /  2 ) ) )
151150adantl 277 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  u  <_  ( |_ `  ( M  /  2 ) ) )
152 elfzelz 10162 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  ( u  e.  ( 1 ... ( |_ `  ( M  /  2 ) ) )  ->  u  e.  ZZ )
153 flqge 10442 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 10191 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33  |-  ( u  e.  ( 1 ... ( |_ `  ( M  /  2 ) ) )  ->  u  e.  NN )
157156adantl 277 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  u  e.  NN )
158157nnred 9064 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  u  e.  RR )
159 2re 9121 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  2  e.  RR
160159a1i 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  2  e.  RR )
161 2pos 9142 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  0  <  2
162161a1i 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  0  <  2 )
163 lemuldiv2 8970 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( ( u  e.  RR  /\  M  e.  RR  /\  (
2  e.  RR  /\  0  <  2 ) )  ->  ( ( 2  x.  u )  <_  M 
<->  u  <_  ( M  /  2 ) ) )
164158, 148, 160, 162, 163syl112anc 1254 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 9020 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  ( P  -  1 )  <  P )
168 peano2rem 8354 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 8956 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 1254 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 4085 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  M  <  ( P  /  2
) )
176144, 149, 147, 166, 175lelttrd 8212 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
2  x.  u )  <  ( P  / 
2 ) )
177145nnrpd 9831 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  P  e.  RR+ )
178 rphalflt 9820 . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 8213 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
2  x.  u )  <  P )
181143nnzd 9509 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
2  x.  u )  e.  ZZ )
182145nnzd 9509 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  P  e.  ZZ )
183 zltnle 9433 . . . . . . . . . . . . . . . . . . . . . . . . . . 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 3181 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ph  ->  P  e.  Prime )
187186ad2antrr 488 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  P  e.  Prime )
188 prmz 12503 . . . . . . . . . . . . . . . . . . . . . . . . . . 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 12225 . . . . . . . . . . . . . . . . . . . . . . . . . 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 665 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  -.  P  ||  ( 2  x.  u ) )
1932eldifad 3181 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ph  ->  Q  e.  Prime )
194 prmrp 12537 . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 12503 . . . . . . . . . . . . . . . . . . . . . . . . . . 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 12484 . . . . . . . . . . . . . . . . . . . . . . . . . 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 1250 . . . . . . . . . . . . . . . . . . . . . . . . 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 665 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  -.  P  ||  ( Q  x.  ( 2  x.  u
) ) )
205 nnz 9406 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( y  e.  NN  ->  y  e.  ZZ )
206205adantl 277 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  y  e.  ZZ )
207 dvdsmul2 12195 . . . . . . . . . . . . . . . . . . . . . . . . . 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 4054 . . . . . . . . . . . . . . . . . . . . . . . . 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 2420 . . . . . . . . . . . . . . . . . . . . . . 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 9100 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
y  x.  P )  e.  NN )
215214nnzd 9509 . . . . . . . . . . . . . . . . . . . . . . 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 9100 . . . . . . . . . . . . . . . . . . . . . . . . 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 9509 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  ( Q  x.  ( 2  x.  u ) )  e.  ZZ )
220 zltlen 9466 . . . . . . . . . . . . . . . . . . . . . . 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 9058 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( y  e.  NN  ->  y  e.  RR )
224223adantl 277 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  y  e.  RR )
225218nnred 9064 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  ( Q  x.  ( 2  x.  u ) )  e.  RR )
226145nngt0d 9095 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  0  <  P )
227 lemuldiv 8969 . . . . . . . . . . . . . . . . . . . . . 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 1254 . . . . . . . . . . . . . . . . . . . . 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 9065 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  Q  e.  CC )
231143nncnd 9065 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
2  x.  u )  e.  CC )
232145nncnd 9065 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  P  e.  CC )
233146, 226gt0ap0d 8717 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  P #  0 )
234230, 231, 232, 233div23apd 8916 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
( Q  x.  (
2  x.  u ) )  /  P )  =  ( ( Q  /  P )  x.  ( 2  x.  u
) ) )
235234breq2d 4062 . . . . . . . . . . . . . . . . . . . . 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 9064 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  Q  e.  RR )
238229nngt0d 9095 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  0  <  Q )
239 ltmul2 8944 . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 1254 . . . . . . . . . . . . . . . . . . . . . . . . . . 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 9124 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  2  e.  CC )
243170, 171gt0ap0d 8717 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  2 #  0 )
244 divassap 8778 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( Q  e.  CC  /\  P  e.  CC  /\  (
2  e.  CC  /\  2 #  0 ) )  -> 
( ( Q  x.  P )  /  2
)  =  ( Q  x.  ( P  / 
2 ) ) )
245 div23ap 8779 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( Q  e.  CC  /\  P  e.  CC  /\  (
2  e.  CC  /\  2 #  0 ) )  -> 
( ( Q  x.  P )  /  2
)  =  ( ( Q  /  2 )  x.  P ) )
246244, 245eqtr3d 2241 . . . . . . . . . . . . . . . . . . . . . . . . . . 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 1254 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  ( Q  x.  ( P  /  2 ) )  =  ( ( Q  /  2 )  x.  P ) )
248241, 247breqtrd 4076 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  ( Q  x.  ( 2  x.  u ) )  <  ( ( Q  /  2 )  x.  P ) )
249214nnred 9064 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
y  x.  P )  e.  RR )
250237rehalfcld 9299 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  ( Q  /  2 )  e.  RR )
251250, 146remulcld 8118 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
( Q  /  2
)  x.  P )  e.  RR )
252 lttr 8161 . . . . . . . . . . . . . . . . . . . . . . . . . 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 1250 . . . . . . . . . . . . . . . . . . . . . . . . 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 8680 . . . . . . . . . . . . . . . . . . . . . . . . 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 1254 . . . . . . . . . . . . . . . . . . . . . . . 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 8354 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 8116 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  ( Q  -  1 )  e.  CC )
261230, 260, 242, 243divsubdirapd 8918 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
( Q  -  ( Q  -  1 ) )  /  2 )  =  ( ( Q  /  2 )  -  ( ( Q  - 
1 )  /  2
) ) )
262101oveq2i 5967 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( Q  /  2 )  -  N )  =  ( ( Q  / 
2 )  -  (
( Q  -  1 )  /  2 ) )
263261, 262eqtr4di 2257 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
( Q  -  ( Q  -  1 ) )  /  2 )  =  ( ( Q  /  2 )  -  N ) )
264 ax-1cn 8033 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  1  e.  CC
265 nncan 8316 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 5971 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
( Q  -  ( Q  -  1 ) )  /  2 )  =  ( 1  / 
2 ) )
268 halflt1 9269 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( 1  /  2 )  <  1
269267, 268eqbrtrdi 4089 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
( Q  -  ( Q  -  1 ) )  /  2 )  <  1 )
270263, 269eqbrtrrd 4074 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
( Q  /  2
)  -  N )  <  1 )
2712, 101gausslemma2dlem0b 15597 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ph  ->  N  e.  NN )
272271ad2antrr 488 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  N  e.  NN )
273272nnred 9064 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  N  e.  RR )
274 1red 8102 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  1  e.  RR )
275250, 273, 274ltsubadd2d 8631 . . . . . . . . . . . . . . . . . . . . . . . . 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 8223 . . . . . . . . . . . . . . . . . . . . . . . . . 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 8161 . . . . . . . . . . . . . . . . . . . . . . . . 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 1250 . . . . . . . . . . . . . . . . . . . . . . . 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 9447 . . . . . . . . . . . . . . . . . . . . . . 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 10442 . . . . . . . . . . . . . . . . . . . . 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 9699 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  NN  =  ( ZZ>= `  1 )
296121, 295eleqtrdi 2299 . . . . . . . . . . . . . . . . . . . . . . 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 10154 . . . . . . . . . . . . . . . . . . . . . . 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 2283 . . . . . . . . . . . . . . . . . . 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 9509 . . . . . . . . . . . . . . . . . . . 20  |-  ( ph  ->  N  e.  ZZ )
305304ad2antrr 488 . . . . . . . . . . . . . . . . . . 19  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  x  =  ( 2  x.  u
) )  ->  N  e.  ZZ )
306 fznn 10226 . . . . . . . . . . . . . . . . . . 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 5963 . . . . . . . . . . . . . . . . . . 19  |-  ( x  =  ( 2  x.  u )  ->  (
x  x.  Q )  =  ( ( 2  x.  u )  x.  Q ) )
310121nncnd 9065 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  ( 2  x.  u )  e.  CC )
311216nncnd 9065 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  Q  e.  CC )
312310, 311mulcomd 8109 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  ( (
2  x.  u )  x.  Q )  =  ( Q  x.  (
2  x.  u ) ) )
313309, 312sylan9eqr 2261 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  x  =  ( 2  x.  u
) )  ->  (
x  x.  Q )  =  ( Q  x.  ( 2  x.  u
) ) )
314313breq2d 4062 . . . . . . . . . . . . . . . . 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 10437 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  ( |_ `  ( ( Q  /  P )  x.  (
2  x.  u ) ) )  e.  ZZ )
317 fznn 10226 . . . . . . . . . . . . . . . . . 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 2776 . . . . . . . . . . . . . . . . . 18  |-  x  e. 
_V
324 vex 2776 . . . . . . . . . . . . . . . . . 18  |-  y  e. 
_V
325323, 324op1std 6246 . . . . . . . . . . . . . . . . 17  |-  ( z  =  <. x ,  y
>.  ->  ( 1st `  z
)  =  x )
326325eqeq2d 2218 . . . . . . . . . . . . . . . 16  |-  ( z  =  <. x ,  y
>.  ->  ( ( 2  x.  u )  =  ( 1st `  z
)  <->  ( 2  x.  u )  =  x ) )
327 eqcom 2208 . . . . . . . . . . . . . . . 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 2933 . . . . . . . . . . . . . 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 4712 . . . . . . . . . . . . . 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 3654 . . . . . . . . . . . . . . 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 4778 . . . . . . . . . . 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 2212 . . . . . . . . . 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 5592 . . . . . . . . 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 10945 . . . . . . . . . 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 2248 . . . . . . . 8  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  ( |_ `  ( ( Q  /  P )  x.  (
2  x.  u ) ) )  =  ( `  { z  e.  S  |  ( 2  x.  u )  =  ( 1st `  z ) } ) )
342341sumeq2dv 11749 . . . . . . 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 9463 . . . . . . . . . . 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 2580 . . . . . . . . 9  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  A. z  e.  S DECID  ( 2  x.  u
)  =  ( 1st `  z ) )
348343, 347ssfirab 7047 . . . . . . . 8  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  { z  e.  S  |  (
2  x.  u )  =  ( 1st `  z
) }  e.  Fin )
349 fveq2 5588 . . . . . . . . . . . . . . . 16  |-  ( z  =  v  ->  ( 1st `  z )  =  ( 1st `  v
) )
350349eqeq2d 2218 . . . . . . . . . . . . . . 15  |-  ( z  =  v  ->  (
( 2  x.  u
)  =  ( 1st `  z )  <->  ( 2  x.  u )  =  ( 1st `  v
) ) )
351350elrab 2933 . . . . . . . . . . . . . 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 5971 . . . . . . . . . . 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 9065 . . . . . . . . . . . . 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 9124 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) )  /\  v  e.  {
z  e.  S  | 
( 2  x.  u
)  =  ( 1st `  z ) } ) )  ->  2  e.  CC )
358 2ap0 9144 . . . . . . . . . . . . 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 8883 . . . . . . . . . . 11  |-  ( (
ph  /\  ( u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) )  /\  v  e.  {
z  e.  S  | 
( 2  x.  u
)  =  ( 1st `  z ) } ) )  ->  ( (
2  x.  u )  /  2 )  =  u )
361354, 360eqtr3d 2241 . . . . . . . . . 10  |-  ( (
ph  /\  ( u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) )  /\  v  e.  {
z  e.  S  | 
( 2  x.  u
)  =  ( 1st `  z ) } ) )  ->  ( ( 1st `  v )  / 
2 )  =  u )
362361ralrimivva 2589 . . . . . . . . 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 4043 . . . . . . . . 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 11859 . . . . . . 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 3980 . . . . . . . . 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 9122 . . . . . . . . . . . . . 14  |-  2  e.  CC
368 zcn 9392 . . . . . . . . . . . . . . 15  |-  ( u  e.  ZZ  ->  u  e.  CC )
369368adantl 277 . . . . . . . . . . . . . 14  |-  ( ( ( ph  /\  z  e.  S )  /\  u  e.  ZZ )  ->  u  e.  CC )
370 mulcom 8069 . . . . . . . . . . . . . 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 2215 . . . . . . . . . . . 12  |-  ( ( ( ph  /\  z  e.  S )  /\  u  e.  ZZ )  ->  (
( 2  x.  u
)  =  ( 1st `  z )  <->  ( u  x.  2 )  =  ( 1st `  z ) ) )
373372rexbidva 2504 . . . . . . . . . . 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 2603 . . . . . . . . . . . 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 3195 . . . . . . . . . . . . . . . . . . . . . 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 10165 . . . . . . . . . . . . . . . . . . . 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 4072 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( ph  /\  z  e.  S )  /\  (
u  e.  ZZ  /\  ( 2  x.  u
)  =  ( 1st `  z ) ) )  ->  ( 2  x.  u )  <_  M
)
384 zre 9391 . . . . . . . . . . . . . . . . . . . 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 1254 . . . . . . . . . . . . . . . . . 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 9211 . . . . . . . . . . . . . . . . . . . . 21  |-  ( 2  x.  0 )  =  0
396 elfznn 10191 . . . . . . . . . . . . . . . . . . . . . . . 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 2283 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( ( ph  /\  z  e.  S )  /\  (
u  e.  ZZ  /\  ( 2  x.  u
)  =  ( 1st `  z ) ) )  ->  ( 2  x.  u )  e.  NN )
399398nngt0d 9095 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( ( ph  /\  z  e.  S )  /\  (
u  e.  ZZ  /\  ( 2  x.  u
)  =  ( 1st `  z ) ) )  ->  0  <  (
2  x.  u ) )
400395, 399eqbrtrid 4085 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( ( ph  /\  z  e.  S )  /\  (
u  e.  ZZ  /\  ( 2  x.  u
)  =  ( 1st `  z ) ) )  ->  ( 2  x.  0 )  <  (
2  x.  u ) )
401 0red 8088 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( ( ph  /\  z  e.  S )  /\  (
u  e.  ZZ  /\  ( 2  x.  u
)  =  ( 1st `  z ) ) )  ->  0  e.  RR )
402 ltmul2 8944 . . . . . . . . . . . . . . . . . . . . 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 1254 . . . . . . . . . . . . . . . . . . . 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 9397 . . . . . . . . . . . . . . . . . . 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 2299 . . . . . . . . . . . . . . . . 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 10154 . . . . . . . . . . . . . . . . 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 2606 . . . . . . . . . . . 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 9415 . . . . . . . . . . . 12  |-  2  e.  ZZ
417379elfzelzd 10163 . . . . . . . . . . . 12  |-  ( (
ph  /\  z  e.  S )  ->  ( 1st `  z )  e.  ZZ )
418 divides 12170 . . . . . . . . . . . 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 2761 . . . . . . . . 9  |-  ( ph  ->  { z  e.  S  |  E. u  e.  ( 1 ... ( |_
`  ( M  / 
2 ) ) ) ( 2  x.  u
)  =  ( 1st `  z ) }  =  { z  e.  S  |  2  ||  ( 1st `  z ) } )
422366, 421eqtrid 2251 . . . . . . . 8  |-  ( ph  ->  U_ u  e.  ( 1 ... ( |_
`  ( M  / 
2 ) ) ) { z  e.  S  |  ( 2  x.  u )  =  ( 1st `  z ) }  =  { z  e.  S  |  2 
||  ( 1st `  z
) } )
423422fveq2d 5592 . . . . . . 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 2245 . . . . . 6  |-  ( ph  -> 
sum_ u  e.  (
1 ... ( |_ `  ( M  /  2
) ) ) ( |_ `  ( ( Q  /  P )  x.  ( 2  x.  u ) ) )  =  ( `  {
z  e.  S  | 
2  ||  ( 1st `  z ) } ) )
425424oveq2d 5972 . . . . 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 15624 . . . . 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 5974 . . . 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 2242 . . 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 3449 . . . . . . 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 695 . . . . . . . . . 10  |-  -.  (
2  ||  ( 1st `  z )  /\  -.  2  ||  ( 1st `  z
) )
431430a1i 9 . . . . . . . . 9  |-  ( ph  ->  -.  ( 2  ||  ( 1st `  z )  /\  -.  2  ||  ( 1st `  z ) ) )
432431ralrimivw 2581 . . . . . . . 8  |-  ( ph  ->  A. z  e.  S  -.  ( 2  ||  ( 1st `  z )  /\  -.  2  ||  ( 1st `  z ) ) )
433 rabeq0 3494 . . . . . . . 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 2251 . . . . . 6  |-  ( ph  ->  ( { z  e.  S  |  2  ||  ( 1st `  z ) }  i^i  { z  e.  S  |  -.  2  ||  ( 1st `  z
) } )  =  (/) )
436 hashun 10967 . . . . . 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 1250 . . . . 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 3448 . . . . . . 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 2684 . . . . . . . 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 838 . . . . . . . . 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 2565 . . . . . . 7  |-  S  =  { z  e.  S  |  ( 2  ||  ( 1st `  z )  \/  -.  2  ||  ( 1st `  z ) ) }
444438, 443eqtr4i 2230 . . . . . 6  |-  ( { z  e.  S  | 
2  ||  ( 1st `  z ) }  u.  { z  e.  S  |  -.  2  ||  ( 1st `  z ) } )  =  S
445444fveq2i 5591 . . . . 5  |-  ( `  ( { z  e.  S  |  2  ||  ( 1st `  z ) }  u.  { z  e.  S  |  -.  2  ||  ( 1st `  z
) } ) )  =  ( `  S
)
446437, 445eqtr3di 2254 . . . 4  |-  ( ph  ->  ( ( `  {
z  e.  S  | 
2  ||  ( 1st `  z ) } )  +  ( `  {
z  e.  S  |  -.  2  ||  ( 1st `  z ) } ) )  =  ( `  S
) )
447446oveq2d 5972 . . 3  |-  ( ph  ->  ( -u 1 ^ ( ( `  {
z  e.  S  | 
2  ||  ( 1st `  z ) } )  +  ( `  {
z  e.  S  |  -.  2  ||  ( 1st `  z ) } ) ) )  =  (
-u 1 ^ ( `  S ) ) )
448100, 428, 4473eqtr2d 2245 . 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 2243 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 710  DECID wdc 836    /\ w3a 981    = wceq 1373    e. wcel 2177    =/= wne 2377   A.wral 2485   E.wrex 2486   {crab 2489    \ cdif 3167    u. cun 3168    i^i cin 3169    C_ wss 3170   (/)c0 3464   {csn 3637   <.cop 3640   U_ciun 3932  Disj wdisj 4026   class class class wbr 4050   {copab 4111    X. cxp 4680   Rel wrel 4687   ` cfv 5279  (class class class)co 5956   1stc1st 6236    ~~ cen 6837   Fincfn 6839   CCcc 7938   RRcr 7939   0cc0 7940   1c1 7941    + caddc 7943    x. cmul 7945    < clt 8122    <_ cle 8123    - cmin 8258   -ucneg 8259   # cap 8669    / cdiv 8760   NNcn 9051   2c2 9102   NN0cn0 9310   ZZcz 9387   ZZ>=cuz 9663   QQcq 9755   RR+crp 9790   ...cfz 10145   |_cfl 10428   ^cexp 10700  ♯chash 10937   sum_csu 11734    || cdvds 12168    gcd cgcd 12344   Primecprime 12499    /Lclgs 15544
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 711  ax-5 1471  ax-7 1472  ax-gen 1473  ax-ie1 1517  ax-ie2 1518  ax-8 1528  ax-10 1529  ax-11 1530  ax-i12 1531  ax-bndl 1533  ax-4 1534  ax-17 1550  ax-i9 1554  ax-ial 1558  ax-i5r 1559  ax-13 2179  ax-14 2180  ax-ext 2188  ax-coll 4166  ax-sep 4169  ax-nul 4177  ax-pow 4225  ax-pr 4260  ax-un 4487  ax-setind 4592  ax-iinf 4643  ax-cnex 8031  ax-resscn 8032  ax-1cn 8033  ax-1re 8034  ax-icn 8035  ax-addcl 8036  ax-addrcl 8037  ax-mulcl 8038  ax-mulrcl 8039  ax-addcom 8040  ax-mulcom 8041  ax-addass 8042  ax-mulass 8043  ax-distr 8044  ax-i2m1 8045  ax-0lt1 8046  ax-1rid 8047  ax-0id 8048  ax-rnegex 8049  ax-precex 8050  ax-cnre 8051  ax-pre-ltirr 8052  ax-pre-ltwlin 8053  ax-pre-lttrn 8054  ax-pre-apti 8055  ax-pre-ltadd 8056  ax-pre-mulgt0 8057  ax-pre-mulext 8058  ax-arch 8059  ax-caucvg 8060  ax-addf 8062  ax-mulf 8063
This theorem depends on definitions:  df-bi 117  df-stab 833  df-dc 837  df-3or 982  df-3an 983  df-tru 1376  df-fal 1379  df-xor 1396  df-nf 1485  df-sb 1787  df-eu 2058  df-mo 2059  df-clab 2193  df-cleq 2199  df-clel 2202  df-nfc 2338  df-ne 2378  df-nel 2473  df-ral 2490  df-rex 2491  df-reu 2492  df-rmo 2493  df-rab 2494  df-v 2775  df-sbc 3003  df-csb 3098  df-dif 3172  df-un 3174  df-in 3176  df-ss 3183  df-nul 3465  df-if 3576  df-pw 3622  df-sn 3643  df-pr 3644  df-tp 3645  df-op 3646  df-uni 3856  df-int 3891  df-iun 3934  df-disj 4027  df-br 4051  df-opab 4113  df-mpt 4114  df-tr 4150  df-id 4347  df-po 4350  df-iso 4351  df-iord 4420  df-on 4422  df-ilim 4423  df-suc 4425  df-iom 4646  df-xp 4688  df-rel 4689  df-cnv 4690  df-co 4691  df-dm 4692  df-rn 4693  df-res 4694  df-ima 4695  df-iota 5240  df-fun 5281  df-fn 5282  df-f 5283  df-f1 5284  df-fo 5285  df-f1o 5286  df-fv 5287  df-isom 5288  df-riota 5911  df-ov 5959  df-oprab 5960  df-mpo 5961  df-of 6170  df-1st 6238  df-2nd 6239  df-tpos 6343  df-recs 6403  df-irdg 6468  df-frec 6489  df-1o 6514  df-2o 6515  df-oadd 6518  df-er 6632  df-ec 6634  df-qs 6638  df-map 6749  df-en 6840  df-dom 6841  df-fin 6842  df-sup 7100  df-inf 7101  df-pnf 8124  df-mnf 8125  df-xr 8126  df-ltxr 8127  df-le 8128  df-sub 8260  df-neg 8261  df-reap 8663  df-ap 8670  df-div 8761  df-inn 9052  df-2 9110  df-3 9111  df-4 9112  df-5 9113  df-6 9114  df-7 9115  df-8 9116  df-9 9117  df-n0 9311  df-z 9388  df-dec 9520  df-uz 9664  df-q 9756  df-rp 9791  df-fz 10146  df-fzo 10280  df-fl 10430  df-mod 10485  df-seqfrec 10610  df-exp 10701  df-ihash 10938  df-cj 11223  df-re 11224  df-im 11225  df-rsqrt 11379  df-abs 11380  df-clim 11660  df-sumdc 11735  df-proddc 11932  df-dvds 12169  df-gcd 12345  df-prm 12500  df-phi 12603  df-pc 12678  df-struct 12904  df-ndx 12905  df-slot 12906  df-base 12908  df-sets 12909  df-iress 12910  df-plusg 12992  df-mulr 12993  df-starv 12994  df-sca 12995  df-vsca 12996  df-ip 12997  df-tset 12998  df-ple 12999  df-ds 13001  df-unif 13002  df-0g 13160  df-igsum 13161  df-topgen 13162  df-iimas 13204  df-qus 13205  df-mgm 13258  df-sgrp 13304  df-mnd 13319  df-mhm 13361  df-submnd 13362  df-grp 13405  df-minusg 13406  df-sbg 13407  df-mulg 13526  df-subg 13576  df-nsg 13577  df-eqg 13578  df-ghm 13647  df-cmn 13692  df-abl 13693  df-mgp 13753  df-rng 13765  df-ur 13792  df-srg 13796  df-ring 13830  df-cring 13831  df-oppr 13900  df-dvdsr 13921  df-unit 13922  df-invr 13953  df-dvr 13964  df-rhm 13984  df-nzr 14012  df-subrg 14051  df-domn 14091  df-idom 14092  df-lmod 14121  df-lssm 14185  df-lsp 14219  df-sra 14267  df-rgmod 14268  df-lidl 14301  df-rsp 14302  df-2idl 14332  df-bl 14378  df-mopn 14379  df-fg 14381  df-metu 14382  df-cnfld 14389  df-zring 14423  df-zrh 14446  df-zn 14448  df-lgs 15545
This theorem is referenced by:  lgsquadlem3  15626
  Copyright terms: Public domain W3C validator