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

Theorem lgseisenlem2 15750
Description: Lemma for lgseisen 15753. The function  M is an injection (and hence a bijection by the pigeonhole principle). (Contributed by Mario Carneiro, 17-Jun-2015.)
Hypotheses
Ref Expression
lgseisen.1  |-  ( ph  ->  P  e.  ( Prime  \  { 2 } ) )
lgseisen.2  |-  ( ph  ->  Q  e.  ( Prime  \  { 2 } ) )
lgseisen.3  |-  ( ph  ->  P  =/=  Q )
lgseisen.4  |-  R  =  ( ( Q  x.  ( 2  x.  x
) )  mod  P
)
lgseisen.5  |-  M  =  ( x  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) 
|->  ( ( ( (
-u 1 ^ R
)  x.  R )  mod  P )  / 
2 ) )
lgseisen.6  |-  S  =  ( ( Q  x.  ( 2  x.  y
) )  mod  P
)
Assertion
Ref Expression
lgseisenlem2  |-  ( ph  ->  M : ( 1 ... ( ( P  -  1 )  / 
2 ) ) -1-1-onto-> ( 1 ... ( ( P  -  1 )  / 
2 ) ) )
Distinct variable groups:    x, y, P    ph, x, y    y, M   
x, Q, y    x, S
Allowed substitution hints:    R( x, y)    S( y)    M( x)

Proof of Theorem lgseisenlem2
Dummy variable  z is distinct from all other variables.
StepHypRef Expression
1 lgseisen.1 . . . 4  |-  ( ph  ->  P  e.  ( Prime  \  { 2 } ) )
2 lgseisen.2 . . . 4  |-  ( ph  ->  Q  e.  ( Prime  \  { 2 } ) )
3 lgseisen.3 . . . 4  |-  ( ph  ->  P  =/=  Q )
4 lgseisen.4 . . . 4  |-  R  =  ( ( Q  x.  ( 2  x.  x
) )  mod  P
)
5 lgseisen.5 . . . 4  |-  M  =  ( x  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) 
|->  ( ( ( (
-u 1 ^ R
)  x.  R )  mod  P )  / 
2 ) )
61, 2, 3, 4, 5lgseisenlem1 15749 . . 3  |-  ( ph  ->  M : ( 1 ... ( ( P  -  1 )  / 
2 ) ) --> ( 1 ... ( ( P  -  1 )  /  2 ) ) )
7 oveq2 6009 . . . . . . . . . . . . . . 15  |-  ( x  =  y  ->  (
2  x.  x )  =  ( 2  x.  y ) )
87oveq2d 6017 . . . . . . . . . . . . . 14  |-  ( x  =  y  ->  ( Q  x.  ( 2  x.  x ) )  =  ( Q  x.  ( 2  x.  y
) ) )
98oveq1d 6016 . . . . . . . . . . . . 13  |-  ( x  =  y  ->  (
( Q  x.  (
2  x.  x ) )  mod  P )  =  ( ( Q  x.  ( 2  x.  y ) )  mod 
P ) )
10 lgseisen.6 . . . . . . . . . . . . 13  |-  S  =  ( ( Q  x.  ( 2  x.  y
) )  mod  P
)
119, 4, 103eqtr4g 2287 . . . . . . . . . . . 12  |-  ( x  =  y  ->  R  =  S )
1211oveq2d 6017 . . . . . . . . . . 11  |-  ( x  =  y  ->  ( -u 1 ^ R )  =  ( -u 1 ^ S ) )
1312, 11oveq12d 6019 . . . . . . . . . 10  |-  ( x  =  y  ->  (
( -u 1 ^ R
)  x.  R )  =  ( ( -u
1 ^ S )  x.  S ) )
1413oveq1d 6016 . . . . . . . . 9  |-  ( x  =  y  ->  (
( ( -u 1 ^ R )  x.  R
)  mod  P )  =  ( ( (
-u 1 ^ S
)  x.  S )  mod  P ) )
1514oveq1d 6016 . . . . . . . 8  |-  ( x  =  y  ->  (
( ( ( -u
1 ^ R )  x.  R )  mod 
P )  /  2
)  =  ( ( ( ( -u 1 ^ S )  x.  S
)  mod  P )  /  2 ) )
16 simprl 529 . . . . . . . 8  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
y  e.  ( 1 ... ( ( P  -  1 )  / 
2 ) ) )
17 neg1z 9478 . . . . . . . . . . . . 13  |-  -u 1  e.  ZZ
182eldifad 3208 . . . . . . . . . . . . . . . . . . 19  |-  ( ph  ->  Q  e.  Prime )
19 prmnn 12632 . . . . . . . . . . . . . . . . . . 19  |-  ( Q  e.  Prime  ->  Q  e.  NN )
2018, 19syl 14 . . . . . . . . . . . . . . . . . 18  |-  ( ph  ->  Q  e.  NN )
2120adantr 276 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  Q  e.  NN )
22 2nn 9272 . . . . . . . . . . . . . . . . . . 19  |-  2  e.  NN
2322a1i 9 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
2  e.  NN )
24 elfznn 10250 . . . . . . . . . . . . . . . . . . 19  |-  ( y  e.  ( 1 ... ( ( P  - 
1 )  /  2
) )  ->  y  e.  NN )
2524ad2antrl 490 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
y  e.  NN )
2623, 25nnmulcld 9159 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( 2  x.  y
)  e.  NN )
2721, 26nnmulcld 9159 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( Q  x.  (
2  x.  y ) )  e.  NN )
2827nnzd 9568 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( Q  x.  (
2  x.  y ) )  e.  ZZ )
291eldifad 3208 . . . . . . . . . . . . . . . . 17  |-  ( ph  ->  P  e.  Prime )
30 prmnn 12632 . . . . . . . . . . . . . . . . 17  |-  ( P  e.  Prime  ->  P  e.  NN )
3129, 30syl 14 . . . . . . . . . . . . . . . 16  |-  ( ph  ->  P  e.  NN )
3231adantr 276 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  P  e.  NN )
3328, 32zmodcld 10567 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( Q  x.  ( 2  x.  y
) )  mod  P
)  e.  NN0 )
3410, 33eqeltrid 2316 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  S  e.  NN0 )
35 zexpcl 10776 . . . . . . . . . . . . 13  |-  ( (
-u 1  e.  ZZ  /\  S  e.  NN0 )  ->  ( -u 1 ^ S )  e.  ZZ )
3617, 34, 35sylancr 414 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( -u 1 ^ S
)  e.  ZZ )
3734nn0zd 9567 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  S  e.  ZZ )
3836, 37zmulcld 9575 . . . . . . . . . . 11  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( -u 1 ^ S )  x.  S
)  e.  ZZ )
3938, 32zmodcld 10567 . . . . . . . . . 10  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( ( -u
1 ^ S )  x.  S )  mod 
P )  e.  NN0 )
4039nn0zd 9567 . . . . . . . . 9  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( ( -u
1 ^ S )  x.  S )  mod 
P )  e.  ZZ )
41 znq 9819 . . . . . . . . 9  |-  ( ( ( ( ( -u
1 ^ S )  x.  S )  mod 
P )  e.  ZZ  /\  2  e.  NN )  ->  ( ( ( ( -u 1 ^ S )  x.  S
)  mod  P )  /  2 )  e.  QQ )
4240, 22, 41sylancl 413 . . . . . . . 8  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( ( (
-u 1 ^ S
)  x.  S )  mod  P )  / 
2 )  e.  QQ )
435, 15, 16, 42fvmptd3 5728 . . . . . . 7  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( M `  y
)  =  ( ( ( ( -u 1 ^ S )  x.  S
)  mod  P )  /  2 ) )
44 simprr 531 . . . . . . . 8  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  x  e.  ( 1 ... ( ( P  -  1 )  / 
2 ) ) )
45 elfznn 10250 . . . . . . . . . . . . . . . . . . . 20  |-  ( x  e.  ( 1 ... ( ( P  - 
1 )  /  2
) )  ->  x  e.  NN )
4645ad2antll 491 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  x  e.  NN )
4723, 46nnmulcld 9159 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( 2  x.  x
)  e.  NN )
4821, 47nnmulcld 9159 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( Q  x.  (
2  x.  x ) )  e.  NN )
4948nnzd 9568 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( Q  x.  (
2  x.  x ) )  e.  ZZ )
5049, 32zmodcld 10567 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( Q  x.  ( 2  x.  x
) )  mod  P
)  e.  NN0 )
514, 50eqeltrid 2316 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  R  e.  NN0 )
52 zexpcl 10776 . . . . . . . . . . . . . 14  |-  ( (
-u 1  e.  ZZ  /\  R  e.  NN0 )  ->  ( -u 1 ^ R )  e.  ZZ )
5317, 51, 52sylancr 414 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( -u 1 ^ R
)  e.  ZZ )
5451nn0zd 9567 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  R  e.  ZZ )
5553, 54zmulcld 9575 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( -u 1 ^ R )  x.  R
)  e.  ZZ )
5655, 32zmodcld 10567 . . . . . . . . . . 11  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( ( -u
1 ^ R )  x.  R )  mod 
P )  e.  NN0 )
5756nn0zd 9567 . . . . . . . . . 10  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( ( -u
1 ^ R )  x.  R )  mod 
P )  e.  ZZ )
58 znq 9819 . . . . . . . . . 10  |-  ( ( ( ( ( -u
1 ^ R )  x.  R )  mod 
P )  e.  ZZ  /\  2  e.  NN )  ->  ( ( ( ( -u 1 ^ R )  x.  R
)  mod  P )  /  2 )  e.  QQ )
5957, 22, 58sylancl 413 . . . . . . . . 9  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( ( (
-u 1 ^ R
)  x.  R )  mod  P )  / 
2 )  e.  QQ )
6059elexd 2813 . . . . . . . 8  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( ( (
-u 1 ^ R
)  x.  R )  mod  P )  / 
2 )  e.  _V )
615fvmpt2 5718 . . . . . . . 8  |-  ( ( x  e.  ( 1 ... ( ( P  -  1 )  / 
2 ) )  /\  ( ( ( (
-u 1 ^ R
)  x.  R )  mod  P )  / 
2 )  e.  _V )  ->  ( M `  x )  =  ( ( ( ( -u
1 ^ R )  x.  R )  mod 
P )  /  2
) )
6244, 60, 61syl2anc 411 . . . . . . 7  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( M `  x
)  =  ( ( ( ( -u 1 ^ R )  x.  R
)  mod  P )  /  2 ) )
6343, 62eqeq12d 2244 . . . . . 6  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( M `  y )  =  ( M `  x )  <-> 
( ( ( (
-u 1 ^ S
)  x.  S )  mod  P )  / 
2 )  =  ( ( ( ( -u
1 ^ R )  x.  R )  mod 
P )  /  2
) ) )
642adantr 276 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  Q  e.  ( Prime  \  { 2 } ) )
6564eldifad 3208 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  Q  e.  Prime )
66 prmz 12633 . . . . . . . . . . . . . . . . 17  |-  ( Q  e.  Prime  ->  Q  e.  ZZ )
6765, 66syl 14 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  Q  e.  ZZ )
68 2z 9474 . . . . . . . . . . . . . . . . 17  |-  2  e.  ZZ
69 elfzelz 10221 . . . . . . . . . . . . . . . . . 18  |-  ( y  e.  ( 1 ... ( ( P  - 
1 )  /  2
) )  ->  y  e.  ZZ )
7069ad2antrl 490 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
y  e.  ZZ )
71 zmulcl 9500 . . . . . . . . . . . . . . . . 17  |-  ( ( 2  e.  ZZ  /\  y  e.  ZZ )  ->  ( 2  x.  y
)  e.  ZZ )
7268, 70, 71sylancr 414 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( 2  x.  y
)  e.  ZZ )
7367, 72zmulcld 9575 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( Q  x.  (
2  x.  y ) )  e.  ZZ )
741adantr 276 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  P  e.  ( Prime  \  { 2 } ) )
7574eldifad 3208 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  P  e.  Prime )
7675, 30syl 14 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  P  e.  NN )
7773, 76zmodcld 10567 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( Q  x.  ( 2  x.  y
) )  mod  P
)  e.  NN0 )
7810, 77eqeltrid 2316 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  S  e.  NN0 )
7978nn0zd 9567 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  S  e.  ZZ )
80 m1expcl 10784 . . . . . . . . . . . 12  |-  ( S  e.  ZZ  ->  ( -u 1 ^ S )  e.  ZZ )
8179, 80syl 14 . . . . . . . . . . 11  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( -u 1 ^ S
)  e.  ZZ )
8281, 79zmulcld 9575 . . . . . . . . . 10  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( -u 1 ^ S )  x.  S
)  e.  ZZ )
8382, 76zmodcld 10567 . . . . . . . . 9  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( ( -u
1 ^ S )  x.  S )  mod 
P )  e.  NN0 )
8483nn0cnd 9424 . . . . . . . 8  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( ( -u
1 ^ S )  x.  S )  mod 
P )  e.  CC )
85 elfzelz 10221 . . . . . . . . . . . . . . . . . 18  |-  ( x  e.  ( 1 ... ( ( P  - 
1 )  /  2
) )  ->  x  e.  ZZ )
8685ad2antll 491 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  x  e.  ZZ )
87 zmulcl 9500 . . . . . . . . . . . . . . . . 17  |-  ( ( 2  e.  ZZ  /\  x  e.  ZZ )  ->  ( 2  x.  x
)  e.  ZZ )
8868, 86, 87sylancr 414 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( 2  x.  x
)  e.  ZZ )
8967, 88zmulcld 9575 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( Q  x.  (
2  x.  x ) )  e.  ZZ )
9089, 76zmodcld 10567 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( Q  x.  ( 2  x.  x
) )  mod  P
)  e.  NN0 )
914, 90eqeltrid 2316 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  R  e.  NN0 )
9291nn0zd 9567 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  R  e.  ZZ )
93 m1expcl 10784 . . . . . . . . . . . 12  |-  ( R  e.  ZZ  ->  ( -u 1 ^ R )  e.  ZZ )
9492, 93syl 14 . . . . . . . . . . 11  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( -u 1 ^ R
)  e.  ZZ )
9594, 92zmulcld 9575 . . . . . . . . . 10  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( -u 1 ^ R )  x.  R
)  e.  ZZ )
9695, 76zmodcld 10567 . . . . . . . . 9  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( ( -u
1 ^ R )  x.  R )  mod 
P )  e.  NN0 )
9796nn0cnd 9424 . . . . . . . 8  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( ( -u
1 ^ R )  x.  R )  mod 
P )  e.  CC )
98 2cnd 9183 . . . . . . . 8  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
2  e.  CC )
9923nnap0d 9156 . . . . . . . 8  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
2 #  0 )
100 div11ap 8847 . . . . . . . 8  |-  ( ( ( ( ( -u
1 ^ S )  x.  S )  mod 
P )  e.  CC  /\  ( ( ( -u
1 ^ R )  x.  R )  mod 
P )  e.  CC  /\  ( 2  e.  CC  /\  2 #  0 ) )  ->  ( ( ( ( ( -u 1 ^ S )  x.  S
)  mod  P )  /  2 )  =  ( ( ( (
-u 1 ^ R
)  x.  R )  mod  P )  / 
2 )  <->  ( (
( -u 1 ^ S
)  x.  S )  mod  P )  =  ( ( ( -u
1 ^ R )  x.  R )  mod 
P ) ) )
10184, 97, 98, 99, 100syl112anc 1275 . . . . . . 7  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( ( ( ( -u 1 ^ S )  x.  S
)  mod  P )  /  2 )  =  ( ( ( (
-u 1 ^ R
)  x.  R )  mod  P )  / 
2 )  <->  ( (
( -u 1 ^ S
)  x.  S )  mod  P )  =  ( ( ( -u
1 ^ R )  x.  R )  mod 
P ) ) )
102 nnq 9828 . . . . . . . . . . 11  |-  ( P  e.  NN  ->  P  e.  QQ )
10332, 102syl 14 . . . . . . . . . 10  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  P  e.  QQ )
10432nngt0d 9154 . . . . . . . . . 10  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
0  <  P )
105 eqidd 2230 . . . . . . . . . 10  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( -u 1 ^ S )  mod  P
)  =  ( (
-u 1 ^ S
)  mod  P )
)
10610oveq1i 6011 . . . . . . . . . . 11  |-  ( S  mod  P )  =  ( ( ( Q  x.  ( 2  x.  y ) )  mod 
P )  mod  P
)
107 nnq 9828 . . . . . . . . . . . . 13  |-  ( ( Q  x.  ( 2  x.  y ) )  e.  NN  ->  ( Q  x.  ( 2  x.  y ) )  e.  QQ )
10827, 107syl 14 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( Q  x.  (
2  x.  y ) )  e.  QQ )
10931, 102syl 14 . . . . . . . . . . . . 13  |-  ( ph  ->  P  e.  QQ )
110109adantr 276 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  P  e.  QQ )
111 modqabs2 10580 . . . . . . . . . . . 12  |-  ( ( ( Q  x.  (
2  x.  y ) )  e.  QQ  /\  P  e.  QQ  /\  0  <  P )  ->  (
( ( Q  x.  ( 2  x.  y
) )  mod  P
)  mod  P )  =  ( ( Q  x.  ( 2  x.  y ) )  mod 
P ) )
112108, 110, 104, 111syl3anc 1271 . . . . . . . . . . 11  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( ( Q  x.  ( 2  x.  y ) )  mod 
P )  mod  P
)  =  ( ( Q  x.  ( 2  x.  y ) )  mod  P ) )
113106, 112eqtrid 2274 . . . . . . . . . 10  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( S  mod  P
)  =  ( ( Q  x.  ( 2  x.  y ) )  mod  P ) )
11436, 36, 37, 28, 103, 104, 105, 113modqmul12d 10600 . . . . . . . . 9  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( ( -u
1 ^ S )  x.  S )  mod 
P )  =  ( ( ( -u 1 ^ S )  x.  ( Q  x.  ( 2  x.  y ) ) )  mod  P ) )
115 eqidd 2230 . . . . . . . . . 10  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( -u 1 ^ R )  mod  P
)  =  ( (
-u 1 ^ R
)  mod  P )
)
1164oveq1i 6011 . . . . . . . . . . 11  |-  ( R  mod  P )  =  ( ( ( Q  x.  ( 2  x.  x ) )  mod 
P )  mod  P
)
117 nnq 9828 . . . . . . . . . . . . 13  |-  ( ( Q  x.  ( 2  x.  x ) )  e.  NN  ->  ( Q  x.  ( 2  x.  x ) )  e.  QQ )
11848, 117syl 14 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( Q  x.  (
2  x.  x ) )  e.  QQ )
119 modqabs2 10580 . . . . . . . . . . . 12  |-  ( ( ( Q  x.  (
2  x.  x ) )  e.  QQ  /\  P  e.  QQ  /\  0  <  P )  ->  (
( ( Q  x.  ( 2  x.  x
) )  mod  P
)  mod  P )  =  ( ( Q  x.  ( 2  x.  x ) )  mod 
P ) )
120118, 110, 104, 119syl3anc 1271 . . . . . . . . . . 11  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( ( Q  x.  ( 2  x.  x ) )  mod 
P )  mod  P
)  =  ( ( Q  x.  ( 2  x.  x ) )  mod  P ) )
121116, 120eqtrid 2274 . . . . . . . . . 10  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( R  mod  P
)  =  ( ( Q  x.  ( 2  x.  x ) )  mod  P ) )
12253, 53, 54, 49, 110, 104, 115, 121modqmul12d 10600 . . . . . . . . 9  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( ( -u
1 ^ R )  x.  R )  mod 
P )  =  ( ( ( -u 1 ^ R )  x.  ( Q  x.  ( 2  x.  x ) ) )  mod  P ) )
123114, 122eqeq12d 2244 . . . . . . . 8  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( ( (
-u 1 ^ S
)  x.  S )  mod  P )  =  ( ( ( -u
1 ^ R )  x.  R )  mod 
P )  <->  ( (
( -u 1 ^ S
)  x.  ( Q  x.  ( 2  x.  y ) ) )  mod  P )  =  ( ( ( -u
1 ^ R )  x.  ( Q  x.  ( 2  x.  x
) ) )  mod 
P ) ) )
12481, 73zmulcld 9575 . . . . . . . . . 10  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( -u 1 ^ S )  x.  ( Q  x.  ( 2  x.  y ) ) )  e.  ZZ )
12594, 89zmulcld 9575 . . . . . . . . . 10  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( -u 1 ^ R )  x.  ( Q  x.  ( 2  x.  x ) ) )  e.  ZZ )
126 moddvds 12310 . . . . . . . . . 10  |-  ( ( P  e.  NN  /\  ( ( -u 1 ^ S )  x.  ( Q  x.  ( 2  x.  y ) ) )  e.  ZZ  /\  ( ( -u 1 ^ R )  x.  ( Q  x.  ( 2  x.  x ) ) )  e.  ZZ )  ->  ( ( ( ( -u 1 ^ S )  x.  ( Q  x.  ( 2  x.  y ) ) )  mod  P )  =  ( ( (
-u 1 ^ R
)  x.  ( Q  x.  ( 2  x.  x ) ) )  mod  P )  <->  P  ||  (
( ( -u 1 ^ S )  x.  ( Q  x.  ( 2  x.  y ) ) )  -  ( (
-u 1 ^ R
)  x.  ( Q  x.  ( 2  x.  x ) ) ) ) ) )
12776, 124, 125, 126syl3anc 1271 . . . . . . . . 9  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( ( (
-u 1 ^ S
)  x.  ( Q  x.  ( 2  x.  y ) ) )  mod  P )  =  ( ( ( -u
1 ^ R )  x.  ( Q  x.  ( 2  x.  x
) ) )  mod 
P )  <->  P  ||  (
( ( -u 1 ^ S )  x.  ( Q  x.  ( 2  x.  y ) ) )  -  ( (
-u 1 ^ R
)  x.  ( Q  x.  ( 2  x.  x ) ) ) ) ) )
12867zcnd 9570 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  Q  e.  CC )
12981, 72zmulcld 9575 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( -u 1 ^ S )  x.  (
2  x.  y ) )  e.  ZZ )
130129zcnd 9570 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( -u 1 ^ S )  x.  (
2  x.  y ) )  e.  CC )
13194, 88zmulcld 9575 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( -u 1 ^ R )  x.  (
2  x.  x ) )  e.  ZZ )
132131zcnd 9570 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( -u 1 ^ R )  x.  (
2  x.  x ) )  e.  CC )
133128, 130, 132subdid 8560 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( Q  x.  (
( ( -u 1 ^ S )  x.  (
2  x.  y ) )  -  ( (
-u 1 ^ R
)  x.  ( 2  x.  x ) ) ) )  =  ( ( Q  x.  (
( -u 1 ^ S
)  x.  ( 2  x.  y ) ) )  -  ( Q  x.  ( ( -u
1 ^ R )  x.  ( 2  x.  x ) ) ) ) )
13481zcnd 9570 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( -u 1 ^ S
)  e.  CC )
13572zcnd 9570 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( 2  x.  y
)  e.  CC )
136128, 134, 135mul12d 8298 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( Q  x.  (
( -u 1 ^ S
)  x.  ( 2  x.  y ) ) )  =  ( (
-u 1 ^ S
)  x.  ( Q  x.  ( 2  x.  y ) ) ) )
13794zcnd 9570 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( -u 1 ^ R
)  e.  CC )
13888zcnd 9570 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( 2  x.  x
)  e.  CC )
139128, 137, 138mul12d 8298 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( Q  x.  (
( -u 1 ^ R
)  x.  ( 2  x.  x ) ) )  =  ( (
-u 1 ^ R
)  x.  ( Q  x.  ( 2  x.  x ) ) ) )
140136, 139oveq12d 6019 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( Q  x.  ( ( -u 1 ^ S )  x.  (
2  x.  y ) ) )  -  ( Q  x.  ( ( -u 1 ^ R )  x.  ( 2  x.  x ) ) ) )  =  ( ( ( -u 1 ^ S )  x.  ( Q  x.  ( 2  x.  y ) ) )  -  ( (
-u 1 ^ R
)  x.  ( Q  x.  ( 2  x.  x ) ) ) ) )
141133, 140eqtrd 2262 . . . . . . . . . . 11  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( Q  x.  (
( ( -u 1 ^ S )  x.  (
2  x.  y ) )  -  ( (
-u 1 ^ R
)  x.  ( 2  x.  x ) ) ) )  =  ( ( ( -u 1 ^ S )  x.  ( Q  x.  ( 2  x.  y ) ) )  -  ( (
-u 1 ^ R
)  x.  ( Q  x.  ( 2  x.  x ) ) ) ) )
142141breq2d 4095 . . . . . . . . . 10  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( P  ||  ( Q  x.  ( (
( -u 1 ^ S
)  x.  ( 2  x.  y ) )  -  ( ( -u
1 ^ R )  x.  ( 2  x.  x ) ) ) )  <->  P  ||  ( ( ( -u 1 ^ S )  x.  ( Q  x.  ( 2  x.  y ) ) )  -  ( (
-u 1 ^ R
)  x.  ( Q  x.  ( 2  x.  x ) ) ) ) ) )
1433adantr 276 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  P  =/=  Q )
144 prmrp 12667 . . . . . . . . . . . . . 14  |-  ( ( P  e.  Prime  /\  Q  e.  Prime )  ->  (
( P  gcd  Q
)  =  1  <->  P  =/=  Q ) )
14575, 65, 144syl2anc 411 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( P  gcd  Q )  =  1  <->  P  =/=  Q ) )
146143, 145mpbird 167 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( P  gcd  Q
)  =  1 )
147 prmz 12633 . . . . . . . . . . . . . 14  |-  ( P  e.  Prime  ->  P  e.  ZZ )
14875, 147syl 14 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  P  e.  ZZ )
149129, 131zsubcld 9574 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( ( -u
1 ^ S )  x.  ( 2  x.  y ) )  -  ( ( -u 1 ^ R )  x.  (
2  x.  x ) ) )  e.  ZZ )
150 coprmdvds 12614 . . . . . . . . . . . . 13  |-  ( ( P  e.  ZZ  /\  Q  e.  ZZ  /\  (
( ( -u 1 ^ S )  x.  (
2  x.  y ) )  -  ( (
-u 1 ^ R
)  x.  ( 2  x.  x ) ) )  e.  ZZ )  ->  ( ( P 
||  ( Q  x.  ( ( ( -u
1 ^ S )  x.  ( 2  x.  y ) )  -  ( ( -u 1 ^ R )  x.  (
2  x.  x ) ) ) )  /\  ( P  gcd  Q )  =  1 )  ->  P  ||  ( ( (
-u 1 ^ S
)  x.  ( 2  x.  y ) )  -  ( ( -u
1 ^ R )  x.  ( 2  x.  x ) ) ) ) )
151148, 67, 149, 150syl3anc 1271 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( P  ||  ( Q  x.  (
( ( -u 1 ^ S )  x.  (
2  x.  y ) )  -  ( (
-u 1 ^ R
)  x.  ( 2  x.  x ) ) ) )  /\  ( P  gcd  Q )  =  1 )  ->  P  ||  ( ( ( -u
1 ^ S )  x.  ( 2  x.  y ) )  -  ( ( -u 1 ^ R )  x.  (
2  x.  x ) ) ) ) )
152146, 151mpan2d 428 . . . . . . . . . . 11  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( P  ||  ( Q  x.  ( (
( -u 1 ^ S
)  x.  ( 2  x.  y ) )  -  ( ( -u
1 ^ R )  x.  ( 2  x.  x ) ) ) )  ->  P  ||  (
( ( -u 1 ^ S )  x.  (
2  x.  y ) )  -  ( (
-u 1 ^ R
)  x.  ( 2  x.  x ) ) ) ) )
153 dvdsmultr2 12344 . . . . . . . . . . . 12  |-  ( ( P  e.  ZZ  /\  ( -u 1 ^ R
)  e.  ZZ  /\  ( ( ( -u
1 ^ S )  x.  ( 2  x.  y ) )  -  ( ( -u 1 ^ R )  x.  (
2  x.  x ) ) )  e.  ZZ )  ->  ( P  ||  ( ( ( -u
1 ^ S )  x.  ( 2  x.  y ) )  -  ( ( -u 1 ^ R )  x.  (
2  x.  x ) ) )  ->  P  ||  ( ( -u 1 ^ R )  x.  (
( ( -u 1 ^ S )  x.  (
2  x.  y ) )  -  ( (
-u 1 ^ R
)  x.  ( 2  x.  x ) ) ) ) ) )
154148, 94, 149, 153syl3anc 1271 . . . . . . . . . . 11  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( P  ||  (
( ( -u 1 ^ S )  x.  (
2  x.  y ) )  -  ( (
-u 1 ^ R
)  x.  ( 2  x.  x ) ) )  ->  P  ||  (
( -u 1 ^ R
)  x.  ( ( ( -u 1 ^ S )  x.  (
2  x.  y ) )  -  ( (
-u 1 ^ R
)  x.  ( 2  x.  x ) ) ) ) ) )
155137, 130, 132subdid 8560 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( -u 1 ^ R )  x.  (
( ( -u 1 ^ S )  x.  (
2  x.  y ) )  -  ( (
-u 1 ^ R
)  x.  ( 2  x.  x ) ) ) )  =  ( ( ( -u 1 ^ R )  x.  (
( -u 1 ^ S
)  x.  ( 2  x.  y ) ) )  -  ( (
-u 1 ^ R
)  x.  ( (
-u 1 ^ R
)  x.  ( 2  x.  x ) ) ) ) )
156 neg1cn 9215 . . . . . . . . . . . . . . . . . . 19  |-  -u 1  e.  CC
157156a1i 9 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  -u 1  e.  CC )
158157, 78, 91expaddd 10897 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( -u 1 ^ ( R  +  S )
)  =  ( (
-u 1 ^ R
)  x.  ( -u
1 ^ S ) ) )
159158oveq1d 6016 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( -u 1 ^ ( R  +  S ) )  x.  ( 2  x.  y
) )  =  ( ( ( -u 1 ^ R )  x.  ( -u 1 ^ S ) )  x.  ( 2  x.  y ) ) )
160137, 134, 135mulassd 8170 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( ( -u
1 ^ R )  x.  ( -u 1 ^ S ) )  x.  ( 2  x.  y
) )  =  ( ( -u 1 ^ R )  x.  (
( -u 1 ^ S
)  x.  ( 2  x.  y ) ) ) )
161159, 160eqtr2d 2263 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( -u 1 ^ R )  x.  (
( -u 1 ^ S
)  x.  ( 2  x.  y ) ) )  =  ( (
-u 1 ^ ( R  +  S )
)  x.  ( 2  x.  y ) ) )
162 ax-1cn 8092 . . . . . . . . . . . . . . . . . . . . . . 23  |-  1  e.  CC
163 1ap0 8737 . . . . . . . . . . . . . . . . . . . . . . 23  |-  1 #  0
164 divneg2ap 8883 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( 1  e.  CC  /\  1  e.  CC  /\  1 #  0 )  ->  -u (
1  /  1 )  =  ( 1  /  -u 1 ) )
165162, 162, 163, 164mp3an 1371 . . . . . . . . . . . . . . . . . . . . . 22  |-  -u (
1  /  1 )  =  ( 1  /  -u 1 )
166 1div1e1 8851 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( 1  /  1 )  =  1
167166negeqi 8340 . . . . . . . . . . . . . . . . . . . . . 22  |-  -u (
1  /  1 )  =  -u 1
168165, 167eqtr3i 2252 . . . . . . . . . . . . . . . . . . . . 21  |-  ( 1  /  -u 1 )  = 
-u 1
169168oveq1i 6011 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( 1  /  -u 1
) ^ R )  =  ( -u 1 ^ R )
170 neg1ap0 9219 . . . . . . . . . . . . . . . . . . . . . 22  |-  -u 1 #  0
171170a1i 9 . . . . . . . . . . . . . . . . . . . . 21  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  -u 1 #  0 )
172157, 171, 54exprecapd 10903 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( 1  /  -u 1 ) ^ R
)  =  ( 1  /  ( -u 1 ^ R ) ) )
173169, 172eqtr3id 2276 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( -u 1 ^ R
)  =  ( 1  /  ( -u 1 ^ R ) ) )
174173oveq2d 6017 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( -u 1 ^ R )  x.  ( -u 1 ^ R ) )  =  ( (
-u 1 ^ R
)  x.  ( 1  /  ( -u 1 ^ R ) ) ) )
175157, 171, 54expap0d 10901 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( -u 1 ^ R
) #  0 )
176137, 175recidapd 8930 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( -u 1 ^ R )  x.  (
1  /  ( -u
1 ^ R ) ) )  =  1 )
177174, 176eqtrd 2262 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( -u 1 ^ R )  x.  ( -u 1 ^ R ) )  =  1 )
178177oveq1d 6016 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( ( -u
1 ^ R )  x.  ( -u 1 ^ R ) )  x.  ( 2  x.  x
) )  =  ( 1  x.  ( 2  x.  x ) ) )
179137, 137, 138mulassd 8170 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( ( -u
1 ^ R )  x.  ( -u 1 ^ R ) )  x.  ( 2  x.  x
) )  =  ( ( -u 1 ^ R )  x.  (
( -u 1 ^ R
)  x.  ( 2  x.  x ) ) ) )
180138mullidd 8164 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( 1  x.  (
2  x.  x ) )  =  ( 2  x.  x ) )
181178, 179, 1803eqtr3d 2270 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( -u 1 ^ R )  x.  (
( -u 1 ^ R
)  x.  ( 2  x.  x ) ) )  =  ( 2  x.  x ) )
182161, 181oveq12d 6019 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( ( -u
1 ^ R )  x.  ( ( -u
1 ^ S )  x.  ( 2  x.  y ) ) )  -  ( ( -u
1 ^ R )  x.  ( ( -u
1 ^ R )  x.  ( 2  x.  x ) ) ) )  =  ( ( ( -u 1 ^ ( R  +  S
) )  x.  (
2  x.  y ) )  -  ( 2  x.  x ) ) )
183155, 182eqtrd 2262 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( -u 1 ^ R )  x.  (
( ( -u 1 ^ S )  x.  (
2  x.  y ) )  -  ( (
-u 1 ^ R
)  x.  ( 2  x.  x ) ) ) )  =  ( ( ( -u 1 ^ ( R  +  S ) )  x.  ( 2  x.  y
) )  -  (
2  x.  x ) ) )
184183breq2d 4095 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( P  ||  (
( -u 1 ^ R
)  x.  ( ( ( -u 1 ^ S )  x.  (
2  x.  y ) )  -  ( (
-u 1 ^ R
)  x.  ( 2  x.  x ) ) ) )  <->  P  ||  (
( ( -u 1 ^ ( R  +  S ) )  x.  ( 2  x.  y
) )  -  (
2  x.  x ) ) ) )
185 eqcom 2231 . . . . . . . . . . . . . . . . 17  |-  ( ( ( -u 1  x.  ( 2  x.  y
) )  mod  P
)  =  ( ( 2  x.  x )  mod  P )  <->  ( (
2  x.  x )  mod  P )  =  ( ( -u 1  x.  ( 2  x.  y
) )  mod  P
) )
186135mulm1d 8556 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( -u 1  x.  (
2  x.  y ) )  =  -u (
2  x.  y ) )
187186oveq1d 6016 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( -u 1  x.  ( 2  x.  y
) )  mod  P
)  =  ( -u ( 2  x.  y
)  mod  P )
)
188187eqeq2d 2241 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( ( 2  x.  x )  mod 
P )  =  ( ( -u 1  x.  ( 2  x.  y
) )  mod  P
)  <->  ( ( 2  x.  x )  mod 
P )  =  (
-u ( 2  x.  y )  mod  P
) ) )
189185, 188bitrid 192 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( ( -u
1  x.  ( 2  x.  y ) )  mod  P )  =  ( ( 2  x.  x )  mod  P
)  <->  ( ( 2  x.  x )  mod 
P )  =  (
-u ( 2  x.  y )  mod  P
) ) )
19072znegcld 9571 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  -u ( 2  x.  y
)  e.  ZZ )
191 moddvds 12310 . . . . . . . . . . . . . . . . . 18  |-  ( ( P  e.  NN  /\  ( 2  x.  x
)  e.  ZZ  /\  -u ( 2  x.  y
)  e.  ZZ )  ->  ( ( ( 2  x.  x )  mod  P )  =  ( -u ( 2  x.  y )  mod 
P )  <->  P  ||  (
( 2  x.  x
)  -  -u (
2  x.  y ) ) ) )
19276, 88, 190, 191syl3anc 1271 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( ( 2  x.  x )  mod 
P )  =  (
-u ( 2  x.  y )  mod  P
)  <->  P  ||  ( ( 2  x.  x )  -  -u ( 2  x.  y ) ) ) )
19346, 25nnaddcld 9158 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( x  +  y )  e.  NN )
19446nnred 9123 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  x  e.  RR )
19570zred 9569 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
y  e.  RR )
196 oddprm 12782 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( P  e.  ( Prime  \  {
2 } )  -> 
( ( P  - 
1 )  /  2
)  e.  NN )
19774, 196syl 14 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( P  - 
1 )  /  2
)  e.  NN )
198197nnred 9123 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( P  - 
1 )  /  2
)  e.  RR )
199 elfzle2 10224 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( x  e.  ( 1 ... ( ( P  - 
1 )  /  2
) )  ->  x  <_  ( ( P  - 
1 )  /  2
) )
200199ad2antll 491 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  x  <_  ( ( P  -  1 )  / 
2 ) )
201 elfzle2 10224 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( y  e.  ( 1 ... ( ( P  - 
1 )  /  2
) )  ->  y  <_  ( ( P  - 
1 )  /  2
) )
202201ad2antrl 490 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
y  <_  ( ( P  -  1 )  /  2 ) )
203194, 195, 198, 198, 200, 202le2addd 8710 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( x  +  y )  <_  ( (
( P  -  1 )  /  2 )  +  ( ( P  -  1 )  / 
2 ) ) )
20476nnred 9123 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  P  e.  RR )
205 peano2rem 8413 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( P  e.  RR  ->  ( P  -  1 )  e.  RR )
206204, 205syl 14 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( P  -  1 )  e.  RR )
207206recnd 8175 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( P  -  1 )  e.  CC )
2082072halvesd 9357 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( ( P  -  1 )  / 
2 )  +  ( ( P  -  1 )  /  2 ) )  =  ( P  -  1 ) )
209203, 208breqtrd 4109 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( x  +  y )  <_  ( P  -  1 ) )
210 peano2zm 9484 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( P  e.  ZZ  ->  ( P  -  1 )  e.  ZZ )
211 fznn 10285 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( P  -  1 )  e.  ZZ  ->  (
( x  +  y )  e.  ( 1 ... ( P  - 
1 ) )  <->  ( (
x  +  y )  e.  NN  /\  (
x  +  y )  <_  ( P  - 
1 ) ) ) )
212148, 210, 2113syl 17 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( x  +  y )  e.  ( 1 ... ( P  -  1 ) )  <-> 
( ( x  +  y )  e.  NN  /\  ( x  +  y )  <_  ( P  -  1 ) ) ) )
213193, 209, 212mpbir2and 950 . . . . . . . . . . . . . . . . . . . . 21  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( x  +  y )  e.  ( 1 ... ( P  - 
1 ) ) )
214 fzm1ndvds 12367 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( P  e.  NN  /\  ( x  +  y
)  e.  ( 1 ... ( P  - 
1 ) ) )  ->  -.  P  ||  (
x  +  y ) )
21576, 213, 214syl2anc 411 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  -.  P  ||  ( x  +  y ) )
216 eldifsni 3797 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( P  e.  ( Prime  \  {
2 } )  ->  P  =/=  2 )
21774, 216syl 14 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  P  =/=  2 )
218 2prm 12649 . . . . . . . . . . . . . . . . . . . . . . 23  |-  2  e.  Prime
219 prmrp 12667 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( P  e.  Prime  /\  2  e.  Prime )  ->  (
( P  gcd  2
)  =  1  <->  P  =/=  2 ) )
22075, 218, 219sylancl 413 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( P  gcd  2 )  =  1  <-> 
P  =/=  2 ) )
221217, 220mpbird 167 . . . . . . . . . . . . . . . . . . . . 21  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( P  gcd  2
)  =  1 )
22268a1i 9 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
2  e.  ZZ )
223193nnzd 9568 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( x  +  y )  e.  ZZ )
224 coprmdvds 12614 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( P  e.  ZZ  /\  2  e.  ZZ  /\  (
x  +  y )  e.  ZZ )  -> 
( ( P  ||  ( 2  x.  (
x  +  y ) )  /\  ( P  gcd  2 )  =  1 )  ->  P  ||  ( x  +  y ) ) )
225148, 222, 223, 224syl3anc 1271 . . . . . . . . . . . . . . . . . . . . 21  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( P  ||  ( 2  x.  (
x  +  y ) )  /\  ( P  gcd  2 )  =  1 )  ->  P  ||  ( x  +  y ) ) )
226221, 225mpan2d 428 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( P  ||  (
2  x.  ( x  +  y ) )  ->  P  ||  (
x  +  y ) ) )
227215, 226mtod 667 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  -.  P  ||  ( 2  x.  ( x  +  y ) ) )
228138, 135subnegd 8464 . . . . . . . . . . . . . . . . . . . . 21  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( 2  x.  x )  -  -u (
2  x.  y ) )  =  ( ( 2  x.  x )  +  ( 2  x.  y ) ) )
22986zcnd 9570 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  x  e.  CC )
23070zcnd 9570 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
y  e.  CC )
23198, 229, 230adddid 8171 . . . . . . . . . . . . . . . . . . . . 21  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( 2  x.  (
x  +  y ) )  =  ( ( 2  x.  x )  +  ( 2  x.  y ) ) )
232228, 231eqtr4d 2265 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( 2  x.  x )  -  -u (
2  x.  y ) )  =  ( 2  x.  ( x  +  y ) ) )
233232breq2d 4095 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( P  ||  (
( 2  x.  x
)  -  -u (
2  x.  y ) )  <->  P  ||  ( 2  x.  ( x  +  y ) ) ) )
234227, 233mtbird 677 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  -.  P  ||  ( ( 2  x.  x )  -  -u ( 2  x.  y ) ) )
235234pm2.21d 622 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( P  ||  (
( 2  x.  x
)  -  -u (
2  x.  y ) )  ->  ( 2  x.  y )  =  ( 2  x.  x
) ) )
236192, 235sylbid 150 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( ( 2  x.  x )  mod 
P )  =  (
-u ( 2  x.  y )  mod  P
)  ->  ( 2  x.  y )  =  ( 2  x.  x
) ) )
237189, 236sylbid 150 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( ( -u
1  x.  ( 2  x.  y ) )  mod  P )  =  ( ( 2  x.  x )  mod  P
)  ->  ( 2  x.  y )  =  ( 2  x.  x
) ) )
238 oveq1 6008 . . . . . . . . . . . . . . . . . 18  |-  ( (
-u 1 ^ ( R  +  S )
)  =  -u 1  ->  ( ( -u 1 ^ ( R  +  S ) )  x.  ( 2  x.  y
) )  =  (
-u 1  x.  (
2  x.  y ) ) )
239238oveq1d 6016 . . . . . . . . . . . . . . . . 17  |-  ( (
-u 1 ^ ( R  +  S )
)  =  -u 1  ->  ( ( ( -u
1 ^ ( R  +  S ) )  x.  ( 2  x.  y ) )  mod 
P )  =  ( ( -u 1  x.  ( 2  x.  y
) )  mod  P
) )
240239eqeq1d 2238 . . . . . . . . . . . . . . . 16  |-  ( (
-u 1 ^ ( R  +  S )
)  =  -u 1  ->  ( ( ( (
-u 1 ^ ( R  +  S )
)  x.  ( 2  x.  y ) )  mod  P )  =  ( ( 2  x.  x )  mod  P
)  <->  ( ( -u
1  x.  ( 2  x.  y ) )  mod  P )  =  ( ( 2  x.  x )  mod  P
) ) )
241240imbi1d 231 . . . . . . . . . . . . . . 15  |-  ( (
-u 1 ^ ( R  +  S )
)  =  -u 1  ->  ( ( ( ( ( -u 1 ^ ( R  +  S
) )  x.  (
2  x.  y ) )  mod  P )  =  ( ( 2  x.  x )  mod 
P )  ->  (
2  x.  y )  =  ( 2  x.  x ) )  <->  ( (
( -u 1  x.  (
2  x.  y ) )  mod  P )  =  ( ( 2  x.  x )  mod 
P )  ->  (
2  x.  y )  =  ( 2  x.  x ) ) ) )
242237, 241syl5ibrcom 157 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( -u 1 ^ ( R  +  S ) )  = 
-u 1  ->  (
( ( ( -u
1 ^ ( R  +  S ) )  x.  ( 2  x.  y ) )  mod 
P )  =  ( ( 2  x.  x
)  mod  P )  ->  ( 2  x.  y
)  =  ( 2  x.  x ) ) ) )
243135mullidd 8164 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( 1  x.  (
2  x.  y ) )  =  ( 2  x.  y ) )
244243oveq1d 6016 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( 1  x.  ( 2  x.  y
) )  mod  P
)  =  ( ( 2  x.  y )  mod  P ) )
245 nnq 9828 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( 2  x.  y )  e.  NN  ->  (
2  x.  y )  e.  QQ )
24626, 245syl 14 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( 2  x.  y
)  e.  QQ )
247 nnmulcl 9131 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( 2  e.  NN  /\  y  e.  NN )  ->  ( 2  x.  y
)  e.  NN )
24822, 25, 247sylancr 414 . . . . . . . . . . . . . . . . . . . . 21  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( 2  x.  y
)  e.  NN )
249248nnnn0d 9422 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( 2  x.  y
)  e.  NN0 )
250249nn0ge0d 9425 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
0  <_  ( 2  x.  y ) )
251 2re 9180 . . . . . . . . . . . . . . . . . . . . . . 23  |-  2  e.  RR
252251a1i 9 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
2  e.  RR )
253 2pos 9201 . . . . . . . . . . . . . . . . . . . . . . 23  |-  0  <  2
254253a1i 9 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
0  <  2 )
255 lemuldiv2 9029 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( y  e.  RR  /\  ( P  -  1
)  e.  RR  /\  ( 2  e.  RR  /\  0  <  2 ) )  ->  ( (
2  x.  y )  <_  ( P  - 
1 )  <->  y  <_  ( ( P  -  1 )  /  2 ) ) )
256195, 206, 252, 254, 255syl112anc 1275 . . . . . . . . . . . . . . . . . . . . 21  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( 2  x.  y )  <_  ( P  -  1 )  <-> 
y  <_  ( ( P  -  1 )  /  2 ) ) )
257202, 256mpbird 167 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( 2  x.  y
)  <_  ( P  -  1 ) )
258 zltlem1 9504 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( ( 2  x.  y
)  e.  ZZ  /\  P  e.  ZZ )  ->  ( ( 2  x.  y )  <  P  <->  ( 2  x.  y )  <_  ( P  - 
1 ) ) )
25972, 148, 258syl2anc 411 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( 2  x.  y )  <  P  <->  ( 2  x.  y )  <_  ( P  - 
1 ) ) )
260257, 259mpbird 167 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( 2  x.  y
)  <  P )
261 modqid 10571 . . . . . . . . . . . . . . . . . . 19  |-  ( ( ( ( 2  x.  y )  e.  QQ  /\  P  e.  QQ )  /\  ( 0  <_ 
( 2  x.  y
)  /\  ( 2  x.  y )  < 
P ) )  -> 
( ( 2  x.  y )  mod  P
)  =  ( 2  x.  y ) )
262246, 110, 250, 260, 261syl22anc 1272 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( 2  x.  y )  mod  P
)  =  ( 2  x.  y ) )
263244, 262eqtrd 2262 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( 1  x.  ( 2  x.  y
) )  mod  P
)  =  ( 2  x.  y ) )
264 nnq 9828 . . . . . . . . . . . . . . . . . . 19  |-  ( ( 2  x.  x )  e.  NN  ->  (
2  x.  x )  e.  QQ )
26547, 264syl 14 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( 2  x.  x
)  e.  QQ )
266 nnmulcl 9131 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( 2  e.  NN  /\  x  e.  NN )  ->  ( 2  x.  x
)  e.  NN )
26722, 46, 266sylancr 414 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( 2  x.  x
)  e.  NN )
268267nnnn0d 9422 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( 2  x.  x
)  e.  NN0 )
269268nn0ge0d 9425 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
0  <_  ( 2  x.  x ) )
270 lemuldiv2 9029 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( x  e.  RR  /\  ( P  -  1
)  e.  RR  /\  ( 2  e.  RR  /\  0  <  2 ) )  ->  ( (
2  x.  x )  <_  ( P  - 
1 )  <->  x  <_  ( ( P  -  1 )  /  2 ) ) )
271194, 206, 252, 254, 270syl112anc 1275 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( 2  x.  x )  <_  ( P  -  1 )  <-> 
x  <_  ( ( P  -  1 )  /  2 ) ) )
272200, 271mpbird 167 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( 2  x.  x
)  <_  ( P  -  1 ) )
273 zltlem1 9504 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( ( 2  x.  x
)  e.  ZZ  /\  P  e.  ZZ )  ->  ( ( 2  x.  x )  <  P  <->  ( 2  x.  x )  <_  ( P  - 
1 ) ) )
27488, 148, 273syl2anc 411 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( 2  x.  x )  <  P  <->  ( 2  x.  x )  <_  ( P  - 
1 ) ) )
275272, 274mpbird 167 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( 2  x.  x
)  <  P )
276 modqid 10571 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( ( 2  x.  x )  e.  QQ  /\  P  e.  QQ )  /\  ( 0  <_ 
( 2  x.  x
)  /\  ( 2  x.  x )  < 
P ) )  -> 
( ( 2  x.  x )  mod  P
)  =  ( 2  x.  x ) )
277265, 110, 269, 275, 276syl22anc 1272 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( 2  x.  x )  mod  P
)  =  ( 2  x.  x ) )
278263, 277eqeq12d 2244 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( ( 1  x.  ( 2  x.  y ) )  mod 
P )  =  ( ( 2  x.  x
)  mod  P )  <->  ( 2  x.  y )  =  ( 2  x.  x ) ) )
279278biimpd 144 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( ( 1  x.  ( 2  x.  y ) )  mod 
P )  =  ( ( 2  x.  x
)  mod  P )  ->  ( 2  x.  y
)  =  ( 2  x.  x ) ) )
280 oveq1 6008 . . . . . . . . . . . . . . . . . 18  |-  ( (
-u 1 ^ ( R  +  S )
)  =  1  -> 
( ( -u 1 ^ ( R  +  S ) )  x.  ( 2  x.  y
) )  =  ( 1  x.  ( 2  x.  y ) ) )
281280oveq1d 6016 . . . . . . . . . . . . . . . . 17  |-  ( (
-u 1 ^ ( R  +  S )
)  =  1  -> 
( ( ( -u
1 ^ ( R  +  S ) )  x.  ( 2  x.  y ) )  mod 
P )  =  ( ( 1  x.  (
2  x.  y ) )  mod  P ) )
282281eqeq1d 2238 . . . . . . . . . . . . . . . 16  |-  ( (
-u 1 ^ ( R  +  S )
)  =  1  -> 
( ( ( (
-u 1 ^ ( R  +  S )
)  x.  ( 2  x.  y ) )  mod  P )  =  ( ( 2  x.  x )  mod  P
)  <->  ( ( 1  x.  ( 2  x.  y ) )  mod 
P )  =  ( ( 2  x.  x
)  mod  P )
) )
283282imbi1d 231 . . . . . . . . . . . . . . 15  |-  ( (
-u 1 ^ ( R  +  S )
)  =  1  -> 
( ( ( ( ( -u 1 ^ ( R  +  S
) )  x.  (
2  x.  y ) )  mod  P )  =  ( ( 2  x.  x )  mod 
P )  ->  (
2  x.  y )  =  ( 2  x.  x ) )  <->  ( (
( 1  x.  (
2  x.  y ) )  mod  P )  =  ( ( 2  x.  x )  mod 
P )  ->  (
2  x.  y )  =  ( 2  x.  x ) ) ) )
284279, 283syl5ibrcom 157 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( -u 1 ^ ( R  +  S ) )  =  1  ->  ( (
( ( -u 1 ^ ( R  +  S ) )  x.  ( 2  x.  y
) )  mod  P
)  =  ( ( 2  x.  x )  mod  P )  -> 
( 2  x.  y
)  =  ( 2  x.  x ) ) ) )
28591, 78nn0addcld 9426 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( R  +  S
)  e.  NN0 )
286285nn0zd 9567 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( R  +  S
)  e.  ZZ )
287 m1expcl2 10783 . . . . . . . . . . . . . . 15  |-  ( ( R  +  S )  e.  ZZ  ->  ( -u 1 ^ ( R  +  S ) )  e.  { -u 1 ,  1 } )
288 elpri 3689 . . . . . . . . . . . . . . 15  |-  ( (
-u 1 ^ ( R  +  S )
)  e.  { -u
1 ,  1 }  ->  ( ( -u
1 ^ ( R  +  S ) )  =  -u 1  \/  ( -u 1 ^ ( R  +  S ) )  =  1 ) )
289286, 287, 2883syl 17 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( -u 1 ^ ( R  +  S ) )  = 
-u 1  \/  ( -u 1 ^ ( R  +  S ) )  =  1 ) )
290242, 284, 289mpjaod 723 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( ( (
-u 1 ^ ( R  +  S )
)  x.  ( 2  x.  y ) )  mod  P )  =  ( ( 2  x.  x )  mod  P
)  ->  ( 2  x.  y )  =  ( 2  x.  x
) ) )
291 zexpcl 10776 . . . . . . . . . . . . . . . 16  |-  ( (
-u 1  e.  ZZ  /\  ( R  +  S
)  e.  NN0 )  ->  ( -u 1 ^ ( R  +  S
) )  e.  ZZ )
29217, 285, 291sylancr 414 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( -u 1 ^ ( R  +  S )
)  e.  ZZ )
293292, 72zmulcld 9575 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( -u 1 ^ ( R  +  S ) )  x.  ( 2  x.  y
) )  e.  ZZ )
294 moddvds 12310 . . . . . . . . . . . . . 14  |-  ( ( P  e.  NN  /\  ( ( -u 1 ^ ( R  +  S ) )  x.  ( 2  x.  y
) )  e.  ZZ  /\  ( 2  x.  x
)  e.  ZZ )  ->  ( ( ( ( -u 1 ^ ( R  +  S
) )  x.  (
2  x.  y ) )  mod  P )  =  ( ( 2  x.  x )  mod 
P )  <->  P  ||  (
( ( -u 1 ^ ( R  +  S ) )  x.  ( 2  x.  y
) )  -  (
2  x.  x ) ) ) )
29576, 293, 88, 294syl3anc 1271 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( ( (
-u 1 ^ ( R  +  S )
)  x.  ( 2  x.  y ) )  mod  P )  =  ( ( 2  x.  x )  mod  P
)  <->  P  ||  ( ( ( -u 1 ^ ( R  +  S
) )  x.  (
2  x.  y ) )  -  ( 2  x.  x ) ) ) )
296230, 229, 98, 99mulcanapd 8808 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( 2  x.  y )  =  ( 2  x.  x )  <-> 
y  =  x ) )
297290, 295, 2963imtr3d 202 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( P  ||  (
( ( -u 1 ^ ( R  +  S ) )  x.  ( 2  x.  y
) )  -  (
2  x.  x ) )  ->  y  =  x ) )
298184, 297sylbid 150 . . . . . . . . . . 11  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( P  ||  (
( -u 1 ^ R
)  x.  ( ( ( -u 1 ^ S )  x.  (
2  x.  y ) )  -  ( (
-u 1 ^ R
)  x.  ( 2  x.  x ) ) ) )  ->  y  =  x ) )
299152, 154, 2983syld 57 . . . . . . . . . 10  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( P  ||  ( Q  x.  ( (
( -u 1 ^ S
)  x.  ( 2  x.  y ) )  -  ( ( -u
1 ^ R )  x.  ( 2  x.  x ) ) ) )  ->  y  =  x ) )
300142, 299sylbird 170 . . . . . . . . 9  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( P  ||  (
( ( -u 1 ^ S )  x.  ( Q  x.  ( 2  x.  y ) ) )  -  ( (
-u 1 ^ R
)  x.  ( Q  x.  ( 2  x.  x ) ) ) )  ->  y  =  x ) )
301127, 300sylbid 150 . . . . . . . 8  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( ( (
-u 1 ^ S
)  x.  ( Q  x.  ( 2  x.  y ) ) )  mod  P )  =  ( ( ( -u
1 ^ R )  x.  ( Q  x.  ( 2  x.  x
) ) )  mod 
P )  ->  y  =  x ) )
302123, 301sylbid 150 . . . . . . 7  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( ( (
-u 1 ^ S
)  x.  S )  mod  P )  =  ( ( ( -u
1 ^ R )  x.  R )  mod 
P )  ->  y  =  x ) )
303101, 302sylbid 150 . . . . . 6  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( ( ( ( -u 1 ^ S )  x.  S
)  mod  P )  /  2 )  =  ( ( ( (
-u 1 ^ R
)  x.  R )  mod  P )  / 
2 )  ->  y  =  x ) )
30463, 303sylbid 150 . . . . 5  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( M `  y )  =  ( M `  x )  ->  y  =  x ) )
305304ralrimivva 2612 . . . 4  |-  ( ph  ->  A. y  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) A. x  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) ( ( M `  y )  =  ( M `  x )  ->  y  =  x ) )
306 nfmpt1 4177 . . . . . . . . . 10  |-  F/_ x
( x  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) 
|->  ( ( ( (
-u 1 ^ R
)  x.  R )  mod  P )  / 
2 ) )
3075, 306nfcxfr 2369 . . . . . . . . 9  |-  F/_ x M
308 nfcv 2372 . . . . . . . . 9  |-  F/_ x
y
309307, 308nffv 5637 . . . . . . . 8  |-  F/_ x
( M `  y
)
310 nfcv 2372 . . . . . . . . 9  |-  F/_ x
z
311307, 310nffv 5637 . . . . . . . 8  |-  F/_ x
( M `  z
)
312309, 311nfeq 2380 . . . . . . 7  |-  F/ x
( M `  y
)  =  ( M `
 z )
313 nfv 1574 . . . . . . 7  |-  F/ x  y  =  z
314312, 313nfim 1618 . . . . . 6  |-  F/ x
( ( M `  y )  =  ( M `  z )  ->  y  =  z )
315 nfv 1574 . . . . . 6  |-  F/ z ( ( M `  y )  =  ( M `  x )  ->  y  =  x )
316 fveq2 5627 . . . . . . . 8  |-  ( z  =  x  ->  ( M `  z )  =  ( M `  x ) )
317316eqeq2d 2241 . . . . . . 7  |-  ( z  =  x  ->  (
( M `  y
)  =  ( M `
 z )  <->  ( M `  y )  =  ( M `  x ) ) )
318 equequ2 1759 . . . . . . 7  |-  ( z  =  x  ->  (
y  =  z  <->  y  =  x ) )
319317, 318imbi12d 234 . . . . . 6  |-  ( z  =  x  ->  (
( ( M `  y )  =  ( M `  z )  ->  y  =  z )  <->  ( ( M `
 y )  =  ( M `  x
)  ->  y  =  x ) ) )
320314, 315, 319cbvralw 2758 . . . . 5  |-  ( A. z  e.  ( 1 ... ( ( P  -  1 )  / 
2 ) ) ( ( M `  y
)  =  ( M `
 z )  -> 
y  =  z )  <->  A. x  e.  (
1 ... ( ( P  -  1 )  / 
2 ) ) ( ( M `  y
)  =  ( M `
 x )  -> 
y  =  x ) )
321320ralbii 2536 . . . 4  |-  ( A. y  e.  ( 1 ... ( ( P  -  1 )  / 
2 ) ) A. z  e.  ( 1 ... ( ( P  -  1 )  / 
2 ) ) ( ( M `  y
)  =  ( M `
 z )  -> 
y  =  z )  <->  A. y  e.  (
1 ... ( ( P  -  1 )  / 
2 ) ) A. x  e.  ( 1 ... ( ( P  -  1 )  / 
2 ) ) ( ( M `  y
)  =  ( M `
 x )  -> 
y  =  x ) )
322305, 321sylibr 134 . . 3  |-  ( ph  ->  A. y  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) A. z  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) ( ( M `  y )  =  ( M `  z )  ->  y  =  z ) )
323 dff13 5892 . . 3  |-  ( M : ( 1 ... ( ( P  - 
1 )  /  2
) ) -1-1-> ( 1 ... ( ( P  -  1 )  / 
2 ) )  <->  ( M : ( 1 ... ( ( P  - 
1 )  /  2
) ) --> ( 1 ... ( ( P  -  1 )  / 
2 ) )  /\  A. y  e.  ( 1 ... ( ( P  -  1 )  / 
2 ) ) A. z  e.  ( 1 ... ( ( P  -  1 )  / 
2 ) ) ( ( M `  y
)  =  ( M `
 z )  -> 
y  =  z ) ) )
3246, 322, 323sylanbrc 417 . 2  |-  ( ph  ->  M : ( 1 ... ( ( P  -  1 )  / 
2 ) ) -1-1-> ( 1 ... ( ( P  -  1 )  /  2 ) ) )
325 1zzd 9473 . . . . 5  |-  ( ph  ->  1  e.  ZZ )
3261, 196syl 14 . . . . . 6  |-  ( ph  ->  ( ( P  - 
1 )  /  2
)  e.  NN )
327326nnzd 9568 . . . . 5  |-  ( ph  ->  ( ( P  - 
1 )  /  2
)  e.  ZZ )
328325, 327fzfigd 10653 . . . 4  |-  ( ph  ->  ( 1 ... (
( P  -  1 )  /  2 ) )  e.  Fin )
329 enrefg 6915 . . . 4  |-  ( ( 1 ... ( ( P  -  1 )  /  2 ) )  e.  Fin  ->  (
1 ... ( ( P  -  1 )  / 
2 ) )  ~~  ( 1 ... (
( P  -  1 )  /  2 ) ) )
330328, 329syl 14 . . 3  |-  ( ph  ->  ( 1 ... (
( P  -  1 )  /  2 ) )  ~~  ( 1 ... ( ( P  -  1 )  / 
2 ) ) )
331 f1finf1o 7114 . . 3  |-  ( ( ( 1 ... (
( P  -  1 )  /  2 ) )  ~~  ( 1 ... ( ( P  -  1 )  / 
2 ) )  /\  ( 1 ... (
( P  -  1 )  /  2 ) )  e.  Fin )  ->  ( M : ( 1 ... ( ( P  -  1 )  /  2 ) )
-1-1-> ( 1 ... (
( P  -  1 )  /  2 ) )  <->  M : ( 1 ... ( ( P  -  1 )  / 
2 ) ) -1-1-onto-> ( 1 ... ( ( P  -  1 )  / 
2 ) ) ) )
332330, 328, 331syl2anc 411 . 2  |-  ( ph  ->  ( M : ( 1 ... ( ( P  -  1 )  /  2 ) )
-1-1-> ( 1 ... (
( P  -  1 )  /  2 ) )  <->  M : ( 1 ... ( ( P  -  1 )  / 
2 ) ) -1-1-onto-> ( 1 ... ( ( P  -  1 )  / 
2 ) ) ) )
333324, 332mpbid 147 1  |-  ( ph  ->  M : ( 1 ... ( ( P  -  1 )  / 
2 ) ) -1-1-onto-> ( 1 ... ( ( P  -  1 )  / 
2 ) ) )
Colors of variables: wff set class
Syntax hints:   -. wn 3    -> wi 4    /\ wa 104    <-> wb 105    \/ wo 713    = wceq 1395    e. wcel 2200    =/= wne 2400   A.wral 2508   _Vcvv 2799    \ cdif 3194   {csn 3666   {cpr 3667   class class class wbr 4083    |-> cmpt 4145   -->wf 5314   -1-1->wf1 5315   -1-1-onto->wf1o 5317   ` cfv 5318  (class class class)co 6001    ~~ cen 6885   Fincfn 6887   CCcc 7997   RRcr 7998   0cc0 7999   1c1 8000    + caddc 8002    x. cmul 8004    < clt 8181    <_ cle 8182    - cmin 8317   -ucneg 8318   # cap 8728    / cdiv 8819   NNcn 9110   2c2 9161   NN0cn0 9369   ZZcz 9446   QQcq 9814   ...cfz 10204    mod cmo 10544   ^cexp 10760    || cdvds 12298    gcd cgcd 12474   Primecprime 12629
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-ia1 106  ax-ia2 107  ax-ia3 108  ax-in1 617  ax-in2 618  ax-io 714  ax-5 1493  ax-7 1494  ax-gen 1495  ax-ie1 1539  ax-ie2 1540  ax-8 1550  ax-10 1551  ax-11 1552  ax-i12 1553  ax-bndl 1555  ax-4 1556  ax-17 1572  ax-i9 1576  ax-ial 1580  ax-i5r 1581  ax-13 2202  ax-14 2203  ax-ext 2211  ax-coll 4199  ax-sep 4202  ax-nul 4210  ax-pow 4258  ax-pr 4293  ax-un 4524  ax-setind 4629  ax-iinf 4680  ax-cnex 8090  ax-resscn 8091  ax-1cn 8092  ax-1re 8093  ax-icn 8094  ax-addcl 8095  ax-addrcl 8096  ax-mulcl 8097  ax-mulrcl 8098  ax-addcom 8099  ax-mulcom 8100  ax-addass 8101  ax-mulass 8102  ax-distr 8103  ax-i2m1 8104  ax-0lt1 8105  ax-1rid 8106  ax-0id 8107  ax-rnegex 8108  ax-precex 8109  ax-cnre 8110  ax-pre-ltirr 8111  ax-pre-ltwlin 8112  ax-pre-lttrn 8113  ax-pre-apti 8114  ax-pre-ltadd 8115  ax-pre-mulgt0 8116  ax-pre-mulext 8117  ax-arch 8118  ax-caucvg 8119
This theorem depends on definitions:  df-bi 117  df-stab 836  df-dc 840  df-3or 1003  df-3an 1004  df-tru 1398  df-fal 1401  df-xor 1418  df-nf 1507  df-sb 1809  df-eu 2080  df-mo 2081  df-clab 2216  df-cleq 2222  df-clel 2225  df-nfc 2361  df-ne 2401  df-nel 2496  df-ral 2513  df-rex 2514  df-reu 2515  df-rmo 2516  df-rab 2517  df-v 2801  df-sbc 3029  df-csb 3125  df-dif 3199  df-un 3201  df-in 3203  df-ss 3210  df-nul 3492  df-if 3603  df-pw 3651  df-sn 3672  df-pr 3673  df-op 3675  df-uni 3889  df-int 3924  df-iun 3967  df-br 4084  df-opab 4146  df-mpt 4147  df-tr 4183  df-id 4384  df-po 4387  df-iso 4388  df-iord 4457  df-on 4459  df-ilim 4460  df-suc 4462  df-iom 4683  df-xp 4725  df-rel 4726  df-cnv 4727  df-co 4728  df-dm 4729  df-rn 4730  df-res 4731  df-ima 4732  df-iota 5278  df-fun 5320  df-fn 5321  df-f 5322  df-f1 5323  df-fo 5324  df-f1o 5325  df-fv 5326  df-riota 5954  df-ov 6004  df-oprab 6005  df-mpo 6006  df-1st 6286  df-2nd 6287  df-recs 6451  df-frec 6537  df-1o 6562  df-2o 6563  df-er 6680  df-en 6888  df-fin 6890  df-sup 7151  df-pnf 8183  df-mnf 8184  df-xr 8185  df-ltxr 8186  df-le 8187  df-sub 8319  df-neg 8320  df-reap 8722  df-ap 8729  df-div 8820  df-inn 9111  df-2 9169  df-3 9170  df-4 9171  df-n0 9370  df-z 9447  df-uz 9723  df-q 9815  df-rp 9850  df-fz 10205  df-fzo 10339  df-fl 10490  df-mod 10545  df-seqfrec 10670  df-exp 10761  df-cj 11353  df-re 11354  df-im 11355  df-rsqrt 11509  df-abs 11510  df-dvds 12299  df-gcd 12475  df-prm 12630
This theorem is referenced by:  lgseisenlem3  15751
  Copyright terms: Public domain W3C validator