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

Theorem lgsquadlem2 16209
Description: Lemma for lgsquad 16211. Count the members of  S with even coordinates, and combine with lgsquadlem1 16208 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 16205 . 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 6096 . . . . 5  |-  ( 1 ... M )  =  ( 1 ... (
( P  -  1 )  /  2 ) )
76sumeq1i 12131 . . . 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 16181 . . . . . . . . . . 11  |-  ( ph  ->  M  e.  NN )
98nnzd 9769 . . . . . . . . . 10  |-  ( ph  ->  M  e.  ZZ )
10 2nn 9468 . . . . . . . . . 10  |-  2  e.  NN
11 znq 10026 . . . . . . . . . 10  |-  ( ( M  e.  ZZ  /\  2  e.  NN )  ->  ( M  /  2
)  e.  QQ )
129, 10, 11sylancl 417 . . . . . . . . 9  |-  ( ph  ->  ( M  /  2
)  e.  QQ )
1312flqcld 10714 . . . . . . . 8  |-  ( ph  ->  ( |_ `  ( M  /  2 ) )  e.  ZZ )
1413zred 9770 . . . . . . 7  |-  ( ph  ->  ( |_ `  ( M  /  2 ) )  e.  RR )
1514ltp1d 9261 . . . . . 6  |-  ( ph  ->  ( |_ `  ( M  /  2 ) )  <  ( ( |_
`  ( M  / 
2 ) )  +  1 ) )
16 fzdisj 10459 . . . . . 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 10097 . . . . . . . . . . 11  |-  ( ph  ->  M  e.  RR+ )
1918rphalfcld 10112 . . . . . . . . . 10  |-  ( ph  ->  ( M  /  2
)  e.  RR+ )
2019rpge0d 10103 . . . . . . . . 9  |-  ( ph  ->  0  <_  ( M  /  2 ) )
21 flqge0nn0 10730 . . . . . . . . 9  |-  ( ( ( M  /  2
)  e.  QQ  /\  0  <_  ( M  / 
2 ) )  -> 
( |_ `  ( M  /  2 ) )  e.  NN0 )
2212, 20, 21syl2anc 415 . . . . . . . 8  |-  ( ph  ->  ( |_ `  ( M  /  2 ) )  e.  NN0 )
238nnnn0d 9622 . . . . . . . 8  |-  ( ph  ->  M  e.  NN0 )
248nnred 9318 . . . . . . . . 9  |-  ( ph  ->  M  e.  RR )
25 rphalflt 10086 . . . . . . . . . . 11  |-  ( M  e.  RR+  ->  ( M  /  2 )  < 
M )
2618, 25syl 14 . . . . . . . . . 10  |-  ( ph  ->  ( M  /  2
)  <  M )
27 flqlt 10720 . . . . . . . . . . 11  |-  ( ( ( M  /  2
)  e.  QQ  /\  M  e.  ZZ )  ->  ( ( M  / 
2 )  <  M  <->  ( |_ `  ( M  /  2 ) )  <  M ) )
2812, 9, 27syl2anc 415 . . . . . . . . . 10  |-  ( ph  ->  ( ( M  / 
2 )  <  M  <->  ( |_ `  ( M  /  2 ) )  <  M ) )
2926, 28mpbid 147 . . . . . . . . 9  |-  ( ph  ->  ( |_ `  ( M  /  2 ) )  <  M )
3014, 24, 29ltled 8445 . . . . . . . 8  |-  ( ph  ->  ( |_ `  ( M  /  2 ) )  <_  M )
31 elfz2nn0 10521 . . . . . . . 8  |-  ( ( |_ `  ( M  /  2 ) )  e.  ( 0 ... M )  <->  ( ( |_ `  ( M  / 
2 ) )  e. 
NN0  /\  M  e.  NN0 
/\  ( |_ `  ( M  /  2
) )  <_  M
) )
3222, 23, 30, 31syl3anbrc 1212 . . . . . . 7  |-  ( ph  ->  ( |_ `  ( M  /  2 ) )  e.  ( 0 ... M ) )
33 nn0uz 9959 . . . . . . . . 9  |-  NN0  =  ( ZZ>= `  0 )
3423, 33eleqtrdi 2331 . . . . . . . 8  |-  ( ph  ->  M  e.  ( ZZ>= ` 
0 ) )
35 elfzp12 10508 . . . . . . . 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 3556 . . . . . . . . 9  |-  ( ( 1 ... M )  u.  (/) )  =  ( 1 ... M )
39 uncom 3373 . . . . . . . . 9  |-  ( ( 1 ... M )  u.  (/) )  =  (
(/)  u.  ( 1 ... M ) )
4038, 39eqtr3i 2261 . . . . . . . 8  |-  ( 1 ... M )  =  ( (/)  u.  (
1 ... M ) )
41 oveq2 6093 . . . . . . . . . 10  |-  ( ( |_ `  ( M  /  2 ) )  =  0  ->  (
1 ... ( |_ `  ( M  /  2
) ) )  =  ( 1 ... 0
) )
42 fz10 10452 . . . . . . . . . 10  |-  ( 1 ... 0 )  =  (/)
4341, 42eqtrdi 2287 . . . . . . . . 9  |-  ( ( |_ `  ( M  /  2 ) )  =  0  ->  (
1 ... ( |_ `  ( M  /  2
) ) )  =  (/) )
44 oveq1 6092 . . . . . . . . . . 11  |-  ( ( |_ `  ( M  /  2 ) )  =  0  ->  (
( |_ `  ( M  /  2 ) )  +  1 )  =  ( 0  +  1 ) )
45 0p1e1 9419 . . . . . . . . . . 11  |-  ( 0  +  1 )  =  1
4644, 45eqtrdi 2287 . . . . . . . . . 10  |-  ( ( |_ `  ( M  /  2 ) )  =  0  ->  (
( |_ `  ( M  /  2 ) )  +  1 )  =  1 )
4746oveq1d 6100 . . . . . . . . 9  |-  ( ( |_ `  ( M  /  2 ) )  =  0  ->  (
( ( |_ `  ( M  /  2
) )  +  1 ) ... M )  =  ( 1 ... M ) )
4843, 47uneq12d 3384 . . . . . . . 8  |-  ( ( |_ `  ( M  /  2 ) )  =  0  ->  (
( 1 ... ( |_ `  ( M  / 
2 ) ) )  u.  ( ( ( |_ `  ( M  /  2 ) )  +  1 ) ... M ) )  =  ( (/)  u.  (
1 ... M ) ) )
4940, 48eqtr4id 2290 . . . . . . 7  |-  ( ( |_ `  ( M  /  2 ) )  =  0  ->  (
1 ... M )  =  ( ( 1 ... ( |_ `  ( M  /  2 ) ) )  u.  ( ( ( |_ `  ( M  /  2 ) )  +  1 ) ... M ) ) )
50 fzsplit 10458 . . . . . . . 8  |-  ( ( |_ `  ( M  /  2 ) )  e.  ( 1 ... M )  ->  (
1 ... M )  =  ( ( 1 ... ( |_ `  ( M  /  2 ) ) )  u.  ( ( ( |_ `  ( M  /  2 ) )  +  1 ) ... M ) ) )
5145oveq1i 6095 . . . . . . . 8  |-  ( ( 0  +  1 ) ... M )  =  ( 1 ... M
)
5250, 51eleq2s 2333 . . . . . . 7  |-  ( ( |_ `  ( M  /  2 ) )  e.  ( ( 0  +  1 ) ... M )  ->  (
1 ... M )  =  ( ( 1 ... ( |_ `  ( M  /  2 ) ) )  u.  ( ( ( |_ `  ( M  /  2 ) )  +  1 ) ... M ) ) )
5349, 52jaoi 728 . . . . . 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 9673 . . . . . 6  |-  ( ph  ->  1  e.  ZZ )
5655, 9fzfigd 10870 . . . . 5  |-  ( ph  ->  ( 1 ... M
)  e.  Fin )
572gausslemma2dlem0a 16180 . . . . . . . . . 10  |-  ( ph  ->  Q  e.  NN )
5857nnzd 9769 . . . . . . . . 9  |-  ( ph  ->  Q  e.  ZZ )
591gausslemma2dlem0a 16180 . . . . . . . . . 10  |-  ( ph  ->  P  e.  NN )
6059adantr 276 . . . . . . . . 9  |-  ( (
ph  /\  u  e.  ( 1 ... M
) )  ->  P  e.  NN )
61 znq 10026 . . . . . . . . 9  |-  ( ( Q  e.  ZZ  /\  P  e.  NN )  ->  ( Q  /  P
)  e.  QQ )
6258, 60, 61syl2an2r 603 . . . . . . . 8  |-  ( (
ph  /\  u  e.  ( 1 ... M
) )  ->  ( Q  /  P )  e.  QQ )
63 elfznn 10462 . . . . . . . . . . . 12  |-  ( u  e.  ( 1 ... M )  ->  u  e.  NN )
6463adantl 277 . . . . . . . . . . 11  |-  ( (
ph  /\  u  e.  ( 1 ... M
) )  ->  u  e.  NN )
65 nnmulcl 9326 . . . . . . . . . . 11  |-  ( ( 2  e.  NN  /\  u  e.  NN )  ->  ( 2  x.  u
)  e.  NN )
6610, 64, 65sylancr 418 . . . . . . . . . 10  |-  ( (
ph  /\  u  e.  ( 1 ... M
) )  ->  (
2  x.  u )  e.  NN )
6766nnzd 9769 . . . . . . . . 9  |-  ( (
ph  /\  u  e.  ( 1 ... M
) )  ->  (
2  x.  u )  e.  ZZ )
68 zq 10028 . . . . . . . . 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 10039 . . . . . . . 8  |-  ( ( ( Q  /  P
)  e.  QQ  /\  ( 2  x.  u
)  e.  QQ )  ->  ( ( Q  /  P )  x.  ( 2  x.  u
) )  e.  QQ )
7162, 69, 70syl2anc 415 . . . . . . 7  |-  ( (
ph  /\  u  e.  ( 1 ... M
) )  ->  (
( Q  /  P
)  x.  ( 2  x.  u ) )  e.  QQ )
7257nnrpd 10097 . . . . . . . . . . 11  |-  ( ph  ->  Q  e.  RR+ )
7359nnrpd 10097 . . . . . . . . . . 11  |-  ( ph  ->  P  e.  RR+ )
7472, 73rpdivcld 10117 . . . . . . . . . 10  |-  ( ph  ->  ( Q  /  P
)  e.  RR+ )
7574adantr 276 . . . . . . . . 9  |-  ( (
ph  /\  u  e.  ( 1 ... M
) )  ->  ( Q  /  P )  e.  RR+ )
7666nnrpd 10097 . . . . . . . . 9  |-  ( (
ph  /\  u  e.  ( 1 ... M
) )  ->  (
2  x.  u )  e.  RR+ )
7775, 76rpmulcld 10116 . . . . . . . 8  |-  ( (
ph  /\  u  e.  ( 1 ... M
) )  ->  (
( Q  /  P
)  x.  ( 2  x.  u ) )  e.  RR+ )
7877rpge0d 10103 . . . . . . 7  |-  ( (
ph  /\  u  e.  ( 1 ... M
) )  ->  0  <_  ( ( Q  /  P )  x.  (
2  x.  u ) ) )
79 flqge0nn0 10730 . . . . . . 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 415 . . . . . 6  |-  ( (
ph  /\  u  e.  ( 1 ... M
) )  ->  ( |_ `  ( ( Q  /  P )  x.  ( 2  x.  u
) ) )  e. 
NN0 )
8180nn0cnd 9624 . . . . 5  |-  ( (
ph  /\  u  e.  ( 1 ... M
) )  ->  ( |_ `  ( ( Q  /  P )  x.  ( 2  x.  u
) ) )  e.  CC )
8217, 54, 56, 81fsumsplit 12176 . . . 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 2285 . . 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 6101 . 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 9410 . . . . 5  |-  -u 1  e.  CC
8685a1i 9 . . . 4  |-  ( ph  -> 
-u 1  e.  CC )
8713peano2zd 9773 . . . . . 6  |-  ( ph  ->  ( ( |_ `  ( M  /  2
) )  +  1 )  e.  ZZ )
8887, 9fzfigd 10870 . . . . 5  |-  ( ph  ->  ( ( ( |_
`  ( M  / 
2 ) )  +  1 ) ... M
)  e.  Fin )
89 ssun2 3393 . . . . . . . 8  |-  ( ( ( |_ `  ( M  /  2 ) )  +  1 ) ... M )  C_  (
( 1 ... ( |_ `  ( M  / 
2 ) ) )  u.  ( ( ( |_ `  ( M  /  2 ) )  +  1 ) ... M ) )
9089, 54sseqtrrid 3299 . . . . . . 7  |-  ( ph  ->  ( ( ( |_
`  ( M  / 
2 ) )  +  1 ) ... M
)  C_  ( 1 ... M ) )
9190sselda 3248 . . . . . 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 12172 . . . 4  |-  ( ph  -> 
sum_ u  e.  (
( ( |_ `  ( M  /  2
) )  +  1 ) ... M ) ( |_ `  (
( Q  /  P
)  x.  ( 2  x.  u ) ) )  e.  NN0 )
9455, 13fzfigd 10870 . . . . 5  |-  ( ph  ->  ( 1 ... ( |_ `  ( M  / 
2 ) ) )  e.  Fin )
95 ssun1 3392 . . . . . . . 8  |-  ( 1 ... ( |_ `  ( M  /  2
) ) )  C_  ( ( 1 ... ( |_ `  ( M  /  2 ) ) )  u.  ( ( ( |_ `  ( M  /  2 ) )  +  1 ) ... M ) )
9695, 54sseqtrrid 3299 . . . . . . 7  |-  ( ph  ->  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) 
C_  ( 1 ... M ) )
9796sselda 3248 . . . . . 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 12172 . . . 4  |-  ( ph  -> 
sum_ u  e.  (
1 ... ( |_ `  ( M  /  2
) ) ) ( |_ `  ( ( Q  /  P )  x.  ( 2  x.  u ) ) )  e.  NN0 )
10086, 93, 99expaddd 11115 . . 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 16207 . . . . . 6  |-  ( ph  ->  { z  e.  S  |  -.  2  ||  ( 1st `  z ) }  e.  Fin )
104 hashcl 11222 . . . . . 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 16206 . . . . . . 7  |-  ( ph  ->  S  e.  Fin )
107 opabssxp 4849 . . . . . . . . . . . . . 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 3280 . . . . . . . . . . . . 13  |-  S  C_  ( ( 1 ... M )  X.  (
1 ... N ) )
109108sseli 3244 . . . . . . . . . . . 12  |-  ( z  e.  S  ->  z  e.  ( ( 1 ... M )  X.  (
1 ... N ) ) )
110 xp1st 6399 . . . . . . . . . . . 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 10431 . . . . . . . . . 10  |-  ( z  e.  S  ->  ( 1st `  z )  e.  ZZ )
113112adantl 277 . . . . . . . . 9  |-  ( (
ph  /\  z  e.  S )  ->  ( 1st `  z )  e.  ZZ )
114 dvdsdc 12567 . . . . . . . . 9  |-  ( ( 2  e.  NN  /\  ( 1st `  z )  e.  ZZ )  -> DECID  2  ||  ( 1st `  z
) )
11510, 113, 114sylancr 418 . . . . . . . 8  |-  ( (
ph  /\  z  e.  S )  -> DECID  2  ||  ( 1st `  z ) )
116115ralrimiva 2623 . . . . . . 7  |-  ( ph  ->  A. z  e.  S DECID  2  ||  ( 1st `  z
) )
117106, 116ssfirab 7244 . . . . . 6  |-  ( ph  ->  { z  e.  S  |  2  ||  ( 1st `  z ) }  e.  Fin )
118 hashcl 11222 . . . . . 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 11115 . . . 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 9673 . . . . . . . . . . . 12  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  1  e.  ZZ )
12398nn0zd 9768 . . . . . . . . . . . 12  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  ( |_ `  ( ( Q  /  P )  x.  (
2  x.  u ) ) )  e.  ZZ )
124122, 123fzfigd 10870 . . . . . . . . . . 11  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  ( 1 ... ( |_ `  ( ( Q  /  P )  x.  (
2  x.  u ) ) ) )  e. 
Fin )
125 xpsnen2g 7127 . . . . . . . . . . 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 415 . . . . . . . . . 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 7103 . . . . . . . . . . . . 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 7239 . . . . . . . . . . . 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 415 . . . . . . . . . . 11  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  ( {
( 2  x.  u
) }  X.  (
1 ... ( |_ `  ( ( Q  /  P )  x.  (
2  x.  u ) ) ) ) )  e.  Fin )
131 hashen 11225 . . . . . . . . . . 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 415 . . . . . . . . . 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 3333 . . . . . . . . . . . . 13  |-  { z  e.  S  |  ( 2  x.  u )  =  ( 1st `  z
) }  C_  S
135102relopabiv 4903 . . . . . . . . . . . . 13  |-  Rel  S
136 relss 4862 . . . . . . . . . . . . 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 4884 . . . . . . . . . . . 12  |-  Rel  ( { ( 2  x.  u ) }  X.  ( 1 ... ( |_ `  ( ( Q  /  P )  x.  ( 2  x.  u
) ) ) ) )
139102eleq2i 2305 . . . . . . . . . . . . . . . 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 4399 . . . . . . . . . . . . . . . 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 405 . . . . . . . . . . . . . . . . . 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 9318 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
2  x.  u )  e.  RR )
14559ad2antrr 492 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  P  e.  NN )
146145nnred 9318 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  P  e.  RR )
147146rehalfcld 9554 . . . . . . . . . . . . . . . . . . . . . . . . . . 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 10434 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  ( u  e.  ( 1 ... ( |_ `  ( M  /  2 ) ) )  ->  u  <_  ( |_ `  ( M  /  2 ) ) )
151150adantl 277 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  u  <_  ( |_ `  ( M  /  2 ) ) )
152 elfzelz 10430 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  ( u  e.  ( 1 ... ( |_ `  ( M  /  2 ) ) )  ->  u  e.  ZZ )
153 flqge 10719 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 10462 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33  |-  ( u  e.  ( 1 ... ( |_ `  ( M  /  2 ) ) )  ->  u  e.  NN )
157156adantl 277 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  u  e.  NN )
158157nnred 9318 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  u  e.  RR )
159 2re 9375 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  2  e.  RR
160159a1i 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  2  e.  RR )
161 2pos 9396 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  |-  0  <  2
162161a1i 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  0  <  2 )
163 lemuldiv2 9213 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  |-  ( ( u  e.  RR  /\  M  e.  RR  /\  (
2  e.  RR  /\  0  <  2 ) )  ->  ( ( 2  x.  u )  <_  M 
<->  u  <_  ( M  /  2 ) ) )
164158, 148, 160, 162, 163syl112anc 1282 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 9263 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  ( P  -  1 )  <  P )
168 peano2rem 8593 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 9199 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 1282 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 4165 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  M  <  ( P  /  2
) )
176144, 149, 147, 166, 175lelttrd 8451 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
2  x.  u )  <  ( P  / 
2 ) )
177145nnrpd 10097 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  P  e.  RR+ )
178 rphalflt 10086 . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 8452 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
2  x.  u )  <  P )
181143nnzd 9769 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
2  x.  u )  e.  ZZ )
182145nnzd 9769 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  P  e.  ZZ )
183 zltnle 9692 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( 2  x.  u
)  e.  ZZ  /\  P  e.  ZZ )  ->  ( ( 2  x.  u )  <  P  <->  -.  P  <_  ( 2  x.  u ) ) )
184181, 182, 183syl2anc 415 . . . . . . . . . . . . . . . . . . . . . . . . . 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 3231 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ph  ->  P  e.  Prime )
187186ad2antrr 492 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  P  e.  Prime )
188 prmz 12891 . . . . . . . . . . . . . . . . . . . . . . . . . . 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 12613 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( P  e.  ZZ  /\  ( 2  x.  u
)  e.  NN )  ->  ( P  ||  ( 2  x.  u
)  ->  P  <_  ( 2  x.  u ) ) )
191189, 143, 190syl2anc 415 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  ( P  ||  ( 2  x.  u )  ->  P  <_  ( 2  x.  u
) ) )
192185, 191mtod 673 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  -.  P  ||  ( 2  x.  u ) )
1932eldifad 3231 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ph  ->  Q  e.  Prime )
194 prmrp 12925 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( P  e.  Prime  /\  Q  e.  Prime )  ->  (
( P  gcd  Q
)  =  1  <->  P  =/=  Q ) )
195186, 193, 194syl2anc 415 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ph  ->  ( ( P  gcd  Q )  =  1  <->  P  =/=  Q ) )
1963, 195mpbird 167 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ph  ->  ( P  gcd  Q
)  =  1 )
197196ad2antrr 492 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  ( P  gcd  Q )  =  1 )
198193ad2antrr 492 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  Q  e.  Prime )
199 prmz 12891 . . . . . . . . . . . . . . . . . . . . . . . . . . 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 12872 . . . . . . . . . . . . . . . . . . . . . . . . . 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 1278 . . . . . . . . . . . . . . . . . . . . . . . . 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 432 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  ( P  ||  ( Q  x.  ( 2  x.  u
) )  ->  P  ||  ( 2  x.  u
) ) )
204192, 203mtod 673 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  -.  P  ||  ( Q  x.  ( 2  x.  u
) ) )
205 nnz 9665 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( y  e.  NN  ->  y  e.  ZZ )
206205adantl 277 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  y  e.  ZZ )
207 dvdsmul2 12583 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( y  e.  ZZ  /\  P  e.  ZZ )  ->  P  ||  ( y  x.  P ) )
208206, 189, 207syl2anc 415 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  P  ||  ( y  x.  P
) )
209 breq2 4134 . . . . . . . . . . . . . . . . . . . . . . . . 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 2463 . . . . . . . . . . . . . . . . . . . . . . 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 9354 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
y  x.  P )  e.  NN )
215214nnzd 9769 . . . . . . . . . . . . . . . . . . . . . . 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 9354 . . . . . . . . . . . . . . . . . . . . . . . . 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 9769 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  ( Q  x.  ( 2  x.  u ) )  e.  ZZ )
220 zltlen 9726 . . . . . . . . . . . . . . . . . . . . . . 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 415 . . . . . . . . . . . . . . . . . . . . . 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 446 . . . . . . . . . . . . . . . . . . . . 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 9312 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( y  e.  NN  ->  y  e.  RR )
224223adantl 277 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  y  e.  RR )
225218nnred 9318 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  ( Q  x.  ( 2  x.  u ) )  e.  RR )
226145nngt0d 9349 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  0  <  P )
227 lemuldiv 9212 . . . . . . . . . . . . . . . . . . . . . 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 1282 . . . . . . . . . . . . . . . . . . . . 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 9319 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  Q  e.  CC )
231143nncnd 9319 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
2  x.  u )  e.  CC )
232145nncnd 9319 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  P  e.  CC )
233146, 226gt0ap0d 8958 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  P #  0 )
234230, 231, 232, 233div23apd 9159 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
( Q  x.  (
2  x.  u ) )  /  P )  =  ( ( Q  /  P )  x.  ( 2  x.  u
) ) )
235234breq2d 4142 . . . . . . . . . . . . . . . . . . . . 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 9318 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  Q  e.  RR )
238229nngt0d 9349 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  0  <  Q )
239 ltmul2 9187 . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 1282 . . . . . . . . . . . . . . . . . . . . . . . . . . 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 9378 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  2  e.  CC )
243170, 171gt0ap0d 8958 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  2 #  0 )
244 divassap 9021 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( Q  e.  CC  /\  P  e.  CC  /\  (
2  e.  CC  /\  2 #  0 ) )  -> 
( ( Q  x.  P )  /  2
)  =  ( Q  x.  ( P  / 
2 ) ) )
245 div23ap 9022 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( Q  e.  CC  /\  P  e.  CC  /\  (
2  e.  CC  /\  2 #  0 ) )  -> 
( ( Q  x.  P )  /  2
)  =  ( ( Q  /  2 )  x.  P ) )
246244, 245eqtr3d 2273 . . . . . . . . . . . . . . . . . . . . . . . . . . 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 1282 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  ( Q  x.  ( P  /  2 ) )  =  ( ( Q  /  2 )  x.  P ) )
248241, 247breqtrd 4156 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  ( Q  x.  ( 2  x.  u ) )  <  ( ( Q  /  2 )  x.  P ) )
249214nnred 9318 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
y  x.  P )  e.  RR )
250237rehalfcld 9554 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  ( Q  /  2 )  e.  RR )
251250, 146remulcld 8356 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
( Q  /  2
)  x.  P )  e.  RR )
252 lttr 8399 . . . . . . . . . . . . . . . . . . . . . . . . . 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 1278 . . . . . . . . . . . . . . . . . . . . . . . . 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 432 . . . . . . . . . . . . . . . . . . . . . . . 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 8921 . . . . . . . . . . . . . . . . . . . . . . . . 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 1282 . . . . . . . . . . . . . . . . . . . . . . . 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 8593 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 8354 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  ( Q  -  1 )  e.  CC )
261230, 260, 242, 243divsubdirapd 9161 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
( Q  -  ( Q  -  1 ) )  /  2 )  =  ( ( Q  /  2 )  -  ( ( Q  - 
1 )  /  2
) ) )
262101oveq2i 6096 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( Q  /  2 )  -  N )  =  ( ( Q  / 
2 )  -  (
( Q  -  1 )  /  2 ) )
263261, 262eqtr4di 2289 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
( Q  -  ( Q  -  1 ) )  /  2 )  =  ( ( Q  /  2 )  -  N ) )
264 ax-1cn 8272 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  1  e.  CC
265 nncan 8555 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  |-  ( ( Q  e.  CC  /\  1  e.  CC )  ->  ( Q  -  ( Q  -  1 ) )  =  1 )
266230, 264, 265sylancl 417 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  ( Q  -  ( Q  -  1 ) )  =  1 )
267266oveq1d 6100 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
( Q  -  ( Q  -  1 ) )  /  2 )  =  ( 1  / 
2 ) )
268 halflt1 9524 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( 1  /  2 )  <  1
269267, 268eqbrtrdi 4169 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
( Q  -  ( Q  -  1 ) )  /  2 )  <  1 )
270263, 269eqbrtrrd 4154 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
( Q  /  2
)  -  N )  <  1 )
2712, 101gausslemma2dlem0b 16181 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  |-  ( ph  ->  N  e.  NN )
272271ad2antrr 492 . . . . . . . . . . . . . . . . . . . . . . . . . . 27  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  N  e.  NN )
273272nnred 9318 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  N  e.  RR )
274 1red 8341 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  1  e.  RR )
275250, 273, 274ltsubadd2d 8871 . . . . . . . . . . . . . . . . . . . . . . . . 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 8462 . . . . . . . . . . . . . . . . . . . . . . . . . 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 8399 . . . . . . . . . . . . . . . . . . . . . . . . 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 1278 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  y  e.  NN )  ->  (
( y  <  ( Q  /  2 )  /\  ( Q  /  2
)  <  ( N  +  1 ) )  ->  y  <  ( N  +  1 ) ) )
281276, 280mpan2d 432 . . . . . . . . . . . . . . . . . . . . . . 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 9706 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( y  e.  NN  /\  N  e.  NN )  ->  ( y  <_  N  <->  y  <  ( N  + 
1 ) ) )
284213, 272, 283syl2anc 415 . . . . . . . . . . . . . . . . . . . . . 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 398 . . . . . . . . . . . . . . . . . . . 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 10719 . . . . . . . . . . . . . . . . . . . . 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 456 . . . . . . . . . . . . . . . . . 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 9960 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  NN  =  ( ZZ>= `  1 )
296121, 295eleqtrdi 2331 . . . . . . . . . . . . . . . . . . . . . . 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 10422 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( ( 2  x.  u
)  e.  ( ZZ>= ` 
1 )  /\  M  e.  ZZ )  ->  (
( 2  x.  u
)  e.  ( 1 ... M )  <->  ( 2  x.  u )  <_  M ) )
299296, 297, 298syl2anc 415 . . . . . . . . . . . . . . . . . . . . . 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 2315 . . . . . . . . . . . . . . . . . . 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 9769 . . . . . . . . . . . . . . . . . . . 20  |-  ( ph  ->  N  e.  ZZ )
305304ad2antrr 492 . . . . . . . . . . . . . . . . . . 19  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  x  =  ( 2  x.  u
) )  ->  N  e.  ZZ )
306 fznn 10498 . . . . . . . . . . . . . . . . . . 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 6092 . . . . . . . . . . . . . . . . . . 19  |-  ( x  =  ( 2  x.  u )  ->  (
x  x.  Q )  =  ( ( 2  x.  u )  x.  Q ) )
310121nncnd 9319 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  ( 2  x.  u )  e.  CC )
311216nncnd 9319 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  Q  e.  CC )
312310, 311mulcomd 8347 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  ( (
2  x.  u )  x.  Q )  =  ( Q  x.  (
2  x.  u ) ) )
313309, 312sylan9eqr 2293 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  /\  x  =  ( 2  x.  u
) )  ->  (
x  x.  Q )  =  ( Q  x.  ( 2  x.  u
) ) )
314313breq2d 4142 . . . . . . . . . . . . . . . . 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 477 . . . . . . . . . . . . . . . 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 10714 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  ( |_ `  ( ( Q  /  P )  x.  (
2  x.  u ) ) )  e.  ZZ )
317 fznn 10498 . . . . . . . . . . . . . . . . . 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 456 . . . . . . . . . . . . 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 2824 . . . . . . . . . . . . . . . . . 18  |-  x  e. 
_V
324 vex 2824 . . . . . . . . . . . . . . . . . 18  |-  y  e. 
_V
325323, 324op1std 6382 . . . . . . . . . . . . . . . . 17  |-  ( z  =  <. x ,  y
>.  ->  ( 1st `  z
)  =  x )
326325eqeq2d 2250 . . . . . . . . . . . . . . . 16  |-  ( z  =  <. x ,  y
>.  ->  ( ( 2  x.  u )  =  ( 1st `  z
)  <->  ( 2  x.  u )  =  x ) )
327 eqcom 2240 . . . . . . . . . . . . . . . 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 2982 . . . . . . . . . . . . . 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 4804 . . . . . . . . . . . . . 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 3726 . . . . . . . . . . . . . . 15  |-  ( x  e.  { ( 2  x.  u ) }  <-> 
x  =  ( 2  x.  u ) )
333332anbi1i 462 . . . . . . . . . . . . . 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 4871 . . . . . . . . . . 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 2244 . . . . . . . . . 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 5699 . . . . . . . . 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 11224 . . . . . . . . . 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 2280 . . . . . . . 8  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  ( |_ `  ( ( Q  /  P )  x.  (
2  x.  u ) ) )  =  ( `  { z  e.  S  |  ( 2  x.  u )  =  ( 1st `  z ) } ) )
342341sumeq2dv 12136 . . . . . . 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 9722 . . . . . . . . . . 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 2623 . . . . . . . . 9  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  A. z  e.  S DECID  ( 2  x.  u
)  =  ( 1st `  z ) )
348343, 347ssfirab 7244 . . . . . . . 8  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  { z  e.  S  |  (
2  x.  u )  =  ( 1st `  z
) }  e.  Fin )
349 fveq2 5695 . . . . . . . . . . . . . . . 16  |-  ( z  =  v  ->  ( 1st `  z )  =  ( 1st `  v
) )
350349eqeq2d 2250 . . . . . . . . . . . . . . 15  |-  ( z  =  v  ->  (
( 2  x.  u
)  =  ( 1st `  z )  <->  ( 2  x.  u )  =  ( 1st `  v
) ) )
351350elrab 2982 . . . . . . . . . . . . . 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 495 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) )  /\  v  e.  {
z  e.  S  | 
( 2  x.  u
)  =  ( 1st `  z ) } ) )  ->  ( 2  x.  u )  =  ( 1st `  v
) )
354353oveq1d 6100 . . . . . . . . . . 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 9319 . . . . . . . . . . . . 13  |-  ( (
ph  /\  u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) ) )  ->  u  e.  CC )
356355adantrr 483 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) )  /\  v  e.  {
z  e.  S  | 
( 2  x.  u
)  =  ( 1st `  z ) } ) )  ->  u  e.  CC )
357 2cnd 9378 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) )  /\  v  e.  {
z  e.  S  | 
( 2  x.  u
)  =  ( 1st `  z ) } ) )  ->  2  e.  CC )
358 2ap0 9398 . . . . . . . . . . . . 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 9126 . . . . . . . . . . 11  |-  ( (
ph  /\  ( u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) )  /\  v  e.  {
z  e.  S  | 
( 2  x.  u
)  =  ( 1st `  z ) } ) )  ->  ( (
2  x.  u )  /  2 )  =  u )
361354, 360eqtr3d 2273 . . . . . . . . . 10  |-  ( (
ph  /\  ( u  e.  ( 1 ... ( |_ `  ( M  / 
2 ) ) )  /\  v  e.  {
z  e.  S  | 
( 2  x.  u
)  =  ( 1st `  z ) } ) )  ->  ( ( 1st `  v )  / 
2 )  =  u )
362361ralrimivva 2632 . . . . . . . . 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 4123 . . . . . . . . 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 12247 . . . . . . 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 4060 . . . . . . . . 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 9376 . . . . . . . . . . . . . 14  |-  2  e.  CC
368 zcn 9651 . . . . . . . . . . . . . . 15  |-  ( u  e.  ZZ  ->  u  e.  CC )
369368adantl 277 . . . . . . . . . . . . . 14  |-  ( ( ( ph  /\  z  e.  S )  /\  u  e.  ZZ )  ->  u  e.  CC )
370 mulcom 8308 . . . . . . . . . . . . . 14  |-  ( ( 2  e.  CC  /\  u  e.  CC )  ->  ( 2  x.  u
)  =  ( u  x.  2 ) )
371367, 369, 370sylancr 418 . . . . . . . . . . . . 13  |-  ( ( ( ph  /\  z  e.  S )  /\  u  e.  ZZ )  ->  (
2  x.  u )  =  ( u  x.  2 ) )
372371eqeq1d 2247 . . . . . . . . . . . 12  |-  ( ( ( ph  /\  z  e.  S )  /\  u  e.  ZZ )  ->  (
( 2  x.  u
)  =  ( 1st `  z )  <->  ( u  x.  2 )  =  ( 1st `  z ) ) )
373372rexbidva 2547 . . . . . . . . . . 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 2646 . . . . . . . . . . . 12  |-  ( E. u  e.  ( 1 ... ( |_ `  ( M  /  2
) ) ) ( 2  x.  u )  =  ( 1st `  z
)  ->  E. u  e.  ZZ  ( 2  x.  u )  =  ( 1st `  z ) )
376 simprr 537 . . . . . . . . . . . . . . . . . . 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 3246 . . . . . . . . . . . . . . . . . . . . . 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 10434 . . . . . . . . . . . . . . . . . . . 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 4152 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( ph  /\  z  e.  S )  /\  (
u  e.  ZZ  /\  ( 2  x.  u
)  =  ( 1st `  z ) ) )  ->  ( 2  x.  u )  <_  M
)
384 zre 9650 . . . . . . . . . . . . . . . . . . . 20  |-  ( u  e.  ZZ  ->  u  e.  RR )
385384ad2antrl 494 . . . . . . . . . . . . . . . . . . 19  |-  ( ( ( ph  /\  z  e.  S )  /\  (
u  e.  ZZ  /\  ( 2  x.  u
)  =  ( 1st `  z ) ) )  ->  u  e.  RR )
38624ad2antrr 492 . . . . . . . . . . . . . . . . . . 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 1282 . . . . . . . . . . . . . . . . . 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 492 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( ph  /\  z  e.  S )  /\  (
u  e.  ZZ  /\  ( 2  x.  u
)  =  ( 1st `  z ) ) )  ->  ( M  / 
2 )  e.  QQ )
392 simprl 535 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( ph  /\  z  e.  S )  /\  (
u  e.  ZZ  /\  ( 2  x.  u
)  =  ( 1st `  z ) ) )  ->  u  e.  ZZ )
393391, 392, 153syl2anc 415 . . . . . . . . . . . . . . . . 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 9466 . . . . . . . . . . . . . . . . . . . . 21  |-  ( 2  x.  0 )  =  0
396 elfznn 10462 . . . . . . . . . . . . . . . . . . . . . . . 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 2315 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( ( ph  /\  z  e.  S )  /\  (
u  e.  ZZ  /\  ( 2  x.  u
)  =  ( 1st `  z ) ) )  ->  ( 2  x.  u )  e.  NN )
399398nngt0d 9349 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( ( ph  /\  z  e.  S )  /\  (
u  e.  ZZ  /\  ( 2  x.  u
)  =  ( 1st `  z ) ) )  ->  0  <  (
2  x.  u ) )
400395, 399eqbrtrid 4165 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( ( ph  /\  z  e.  S )  /\  (
u  e.  ZZ  /\  ( 2  x.  u
)  =  ( 1st `  z ) ) )  ->  ( 2  x.  0 )  <  (
2  x.  u ) )
401 0red 8327 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( ( ph  /\  z  e.  S )  /\  (
u  e.  ZZ  /\  ( 2  x.  u
)  =  ( 1st `  z ) ) )  ->  0  e.  RR )
402 ltmul2 9187 . . . . . . . . . . . . . . . . . . . . 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 1282 . . . . . . . . . . . . . . . . . . . 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 9656 . . . . . . . . . . . . . . . . . . 19  |-  ( u  e.  NN  <->  ( u  e.  ZZ  /\  0  < 
u ) )
406392, 404, 405sylanbrc 421 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( ph  /\  z  e.  S )  /\  (
u  e.  ZZ  /\  ( 2  x.  u
)  =  ( 1st `  z ) ) )  ->  u  e.  NN )
407406, 295eleqtrdi 2331 . . . . . . . . . . . . . . . . 17  |-  ( ( ( ph  /\  z  e.  S )  /\  (
u  e.  ZZ  /\  ( 2  x.  u
)  =  ( 1st `  z ) ) )  ->  u  e.  (
ZZ>= `  1 ) )
40813ad2antrr 492 . . . . . . . . . . . . . . . . 17  |-  ( ( ( ph  /\  z  e.  S )  /\  (
u  e.  ZZ  /\  ( 2  x.  u
)  =  ( 1st `  z ) ) )  ->  ( |_ `  ( M  /  2
) )  e.  ZZ )
409 elfz5 10422 . . . . . . . . . . . . . . . . 17  |-  ( ( u  e.  ( ZZ>= ` 
1 )  /\  ( |_ `  ( M  / 
2 ) )  e.  ZZ )  ->  (
u  e.  ( 1 ... ( |_ `  ( M  /  2
) ) )  <->  u  <_  ( |_ `  ( M  /  2 ) ) ) )
410407, 408, 409syl2anc 415 . . . . . . . . . . . . . . . 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 2649 . . . . . . . . . . . 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 9674 . . . . . . . . . . . 12  |-  2  e.  ZZ
417379elfzelzd 10431 . . . . . . . . . . . 12  |-  ( (
ph  /\  z  e.  S )  ->  ( 1st `  z )  e.  ZZ )
418 divides 12558 . . . . . . . . . . . 12  |-  ( ( 2  e.  ZZ  /\  ( 1st `  z )  e.  ZZ )  -> 
( 2  ||  ( 1st `  z )  <->  E. u  e.  ZZ  ( u  x.  2 )  =  ( 1st `  z ) ) )
419416, 417, 418sylancr 418 . . . . . . . . . . 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 2809 . . . . . . . . 9  |-  ( ph  ->  { z  e.  S  |  E. u  e.  ( 1 ... ( |_
`  ( M  / 
2 ) ) ) ( 2  x.  u
)  =  ( 1st `  z ) }  =  { z  e.  S  |  2  ||  ( 1st `  z ) } )
422366, 421eqtrid 2283 . . . . . . . 8  |-  ( ph  ->  U_ u  e.  ( 1 ... ( |_
`  ( M  / 
2 ) ) ) { z  e.  S  |  ( 2  x.  u )  =  ( 1st `  z ) }  =  { z  e.  S  |  2 
||  ( 1st `  z
) } )
423422fveq2d 5699 . . . . . . 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 2277 . . . . . 6  |-  ( ph  -> 
sum_ u  e.  (
1 ... ( |_ `  ( M  /  2
) ) ) ( |_ `  ( ( Q  /  P )  x.  ( 2  x.  u ) ) )  =  ( `  {
z  e.  S  | 
2  ||  ( 1st `  z ) } ) )
425424oveq2d 6101 . . . . 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 16208 . . . . 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 6103 . . . 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 2274 . . 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 3505 . . . . . . 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 705 . . . . . . . . . 10  |-  -.  (
2  ||  ( 1st `  z )  /\  -.  2  ||  ( 1st `  z
) )
431430a1i 9 . . . . . . . . 9  |-  ( ph  ->  -.  ( 2  ||  ( 1st `  z )  /\  -.  2  ||  ( 1st `  z ) ) )
432431ralrimivw 2624 . . . . . . . 8  |-  ( ph  ->  A. z  e.  S  -.  ( 2  ||  ( 1st `  z )  /\  -.  2  ||  ( 1st `  z ) ) )
433 rabeq0 3552 . . . . . . . 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 2283 . . . . . 6  |-  ( ph  ->  ( { z  e.  S  |  2  ||  ( 1st `  z ) }  i^i  { z  e.  S  |  -.  2  ||  ( 1st `  z
) } )  =  (/) )
436 hashun 11247 . . . . . 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 1278 . . . . 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 3504 . . . . . . 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 2729 . . . . . . . 8  |-  ( S  =  { z  e.  S  |  ( 2 
||  ( 1st `  z
)  \/  -.  2  ||  ( 1st `  z
) ) }  <->  A. z  e.  S  ( 2 
||  ( 1st `  z
)  \/  -.  2  ||  ( 1st `  z
) ) )
44010, 112, 114sylancr 418 . . . . . . . . 9  |-  ( z  e.  S  -> DECID  2  ||  ( 1st `  z ) )
441 exmiddc 848 . . . . . . . . 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 2608 . . . . . . 7  |-  S  =  { z  e.  S  |  ( 2  ||  ( 1st `  z )  \/  -.  2  ||  ( 1st `  z ) ) }
444438, 443eqtr4i 2262 . . . . . 6  |-  ( { z  e.  S  | 
2  ||  ( 1st `  z ) }  u.  { z  e.  S  |  -.  2  ||  ( 1st `  z ) } )  =  S
445444fveq2i 5698 . . . . 5  |-  ( `  ( { z  e.  S  |  2  ||  ( 1st `  z ) }  u.  { z  e.  S  |  -.  2  ||  ( 1st `  z
) } ) )  =  ( `  S
)
446437, 445eqtr3di 2286 . . . 4  |-  ( ph  ->  ( ( `  {
z  e.  S  | 
2  ||  ( 1st `  z ) } )  +  ( `  {
z  e.  S  |  -.  2  ||  ( 1st `  z ) } ) )  =  ( `  S
) )
447446oveq2d 6101 . . 3  |-  ( ph  ->  ( -u 1 ^ ( ( `  {
z  e.  S  | 
2  ||  ( 1st `  z ) } )  +  ( `  {
z  e.  S  |  -.  2  ||  ( 1st `  z ) } ) ) )  =  (
-u 1 ^ ( `  S ) ) )
448100, 428, 4473eqtr2d 2277 . 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 2275 1  |-  ( ph  ->  ( Q  /L
P )  =  (
-u 1 ^ ( `  S ) ) )
Colors of variables:    wff set class
This proof depends on syntax axioms:   -. wn 3    -> wi 4    /\ wa 104    <-> wb 105    \/ wo 720  DECID wdc 846    /\ w3a 1009    = wceq 1402    e. wcel 2209    =/= wne 2420   A.wral 2528   E.wrex 2529   {crab 2532    \ cdif 3217    u. cun 3218    i^i cin 3219    C_ wss 3220   (/)c0 3520   {csn 3709   <.cop 3712   U_ciun 4012  Disj wdisj 4106   class class class wbr 4130   {copab 4191    X. cxp 4772   Rel wrel 4779   ` cfv 5377  (class class class)co 6085   1stc1st 6372    ~~ cen 7020   Fincfn 7022   CCcc 8177   RRcr 8178   0cc0 8179   1c1 8180    + caddc 8182    x. cmul 8184    < clt 8360    <_ cle 8361    - cmin 8497   -ucneg 8498   # cap 8910    / cdiv 9003   NNcn 9305   2c2 9356   NN0cn0 9565   ZZcz 9646   ZZ>=cuz 9923   QQcq 10021   RR+crp 10056   ...cfz 10413   |_cfl 10705   ^cexp 10977  ♯chash 11216   sum_csu 12121    || cdvds 12556    gcd cgcd 12732   Primecprime 12887    /Lclgs 16128
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-ia1 106  ax-ia2 107  ax-ia3 108  ax-in1 623  ax-in2 624  ax-io 721  ax-5 1500  ax-7 1501  ax-gen 1502  ax-ie1 1546  ax-ie2 1547  ax-8 1557  ax-10 1558  ax-11 1559  ax-i12 1560  ax-bndl 1562  ax-4 1563  ax-17 1579  ax-i9 1583  ax-ial 1587  ax-i5r 1588  ax-14 2212  ax-ext 2220  ax-coll 4246  ax-sep 4249  ax-nul 4259  ax-pow 4311  ax-pr 4346  ax-un 4578  ax-setind 4684  ax-iinf 4735  ax-cnex 8270  ax-resscn 8271  ax-1cn 8272  ax-1re 8273  ax-icn 8274  ax-addcl 8275  ax-addrcl 8276  ax-mulcl 8277  ax-mulrcl 8278  ax-addcom 8279  ax-mulcom 8280  ax-addass 8281  ax-mulass 8282  ax-distr 8283  ax-i2m1 8284  ax-0lt1 8285  ax-1rid 8286  ax-0id 8287  ax-rnegex 8288  ax-precex 8289  ax-cnre 8290  ax-pre-ltirr 8291  ax-pre-ltwlin 8292  ax-pre-lttrn 8293  ax-pre-apti 8294  ax-pre-ltadd 8295  ax-pre-mulgt0 8296  ax-pre-mulext 8297  ax-arch 8298  ax-caucvg 8299  ax-addf 8301  ax-mulf 8302
This proof depends on definitions:  df-bi 117  df-stab 843  df-dc 847  df-3or 1010  df-3an 1011  df-tru 1405  df-fal 1408  df-xor 1425  df-nf 1514  df-sb 1816  df-eu 2089  df-mo 2090  df-clab 2225  df-cleq 2231  df-clel 2234  df-nfc 2381  df-ne 2421  df-nel 2516  df-ral 2533  df-rex 2534  df-reu 2535  df-rmo 2536  df-rab 2537  df-v 2823  df-sbc 3052  df-csb 3148  df-dif 3222  df-un 3224  df-in 3226  df-ss 3233  df-nul 3521  df-if 3639  df-pw 3690  df-sn 3715  df-pr 3716  df-tp 3717  df-op 3718  df-uni 3936  df-int 3971  df-iun 4014  df-disj 4107  df-br 4131  df-opab 4193  df-mpt 4194  df-tr 4230  df-id 4438  df-po 4441  df-iso 4442  df-iord 4511  df-on 4513  df-ilim 4514  df-suc 4516  df-iom 4738  df-xp 4780  df-rel 4781  df-cnv 4782  df-co 4783  df-dm 4784  df-rn 4785  df-res 4786  df-ima 4787  df-iota 5337  df-fun 5379  df-fn 5380  df-f 5381  df-f1 5382  df-fo 5383  df-f1o 5384  df-fv 5385  df-isom 5386  df-riota 6038  df-ov 6088  df-oprab 6089  df-mpo 6090  df-of 6302  df-1st 6374  df-2nd 6375  df-tpos 6516  df-recs 6576  df-irdg 6641  df-frec 6662  df-1o 6687  df-2o 6688  df-oadd 6691  df-er 6807  df-ec 6809  df-qs 6813  df-map 6924  df-en 7023  df-dom 7024  df-fin 7025  df-sup 7324  df-inf 7325  df-pnf 8362  df-mnf 8363  df-xr 8364  df-ltxr 8365  df-le 8366  df-sub 8499  df-neg 8500  df-reap 8904  df-ap 8911  df-div 9004  df-inn 9306  df-2 9364  df-3 9365  df-4 9366  df-5 9367  df-6 9368  df-7 9369  df-8 9370  df-9 9371  df-n0 9566  df-z 9647  df-dec 9780  df-uz 9924  df-q 10022  df-rp 10057  df-fz 10414  df-fzo 10552  df-fl 10707  df-mod 10762  df-seqfrec 10887  df-exp 10978  df-ihash 11217  df-cj 11609  df-re 11610  df-im 11611  df-rsqrt 11766  df-abs 11767  df-clim 12047  df-sumdc 12122  df-proddc 12320  df-dvds 12557  df-gcd 12733  df-prm 12888  df-phi 12991  df-pc 13066  df-struct 13356  df-ndx 13357  df-slot 13358  df-base 13360  df-sets 13361  df-iress 13362  df-plusg 13446  df-mulr 13447  df-starv 13448  df-sca 13449  df-vsca 13450  df-ip 13451  df-tset 13452  df-ple 13453  df-ds 13455  df-unif 13456  df-0g 13614  df-gzsum 13615  df-topgen 13616  df-iimas 13626  df-qus 13627  df-mgm 13678  df-sgrp 13719  df-mnd 13732  df-mhm 13768  df-submnd 13769  df-grp 13810  df-minusg 13811  df-sbg 13812  df-mulg 13925  df-subg 13975  df-nsg 13976  df-eqg 13977  df-ghm 14046  df-cmn 14091  df-abl 14092  df-gsumfi 14153  df-mgp 14220  df-rng 14234  df-ur 14265  df-srg 14270  df-ring 14304  df-cring 14305  df-oppr 14375  df-dvdsr 14397  df-unit 14398  df-invr 14430  df-dvr 14441  df-rhm 14461  df-nzr 14489  df-subrg 14529  df-domn 14569  df-idom 14570  df-lmod 14627  df-lssm 14692  df-lsp 14726  df-sra 14774  df-rgmod 14775  df-lidl 14808  df-rsp 14809  df-2idl 14839  df-bl 14885  df-mopn 14886  df-fg 14888  df-metu 14889  df-cnfld 14896  df-zring 14928  df-zrh 14951  df-zn 14953  df-lgs 16129
This theorem is used by:  lgsquadlem3  16210
  Copyright terms: Public domain W3C validator