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

Theorem lgseisenlem2 15312
Description: Lemma for lgseisen 15315. 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 15311 . . 3  |-  ( ph  ->  M : ( 1 ... ( ( P  -  1 )  / 
2 ) ) --> ( 1 ... ( ( P  -  1 )  /  2 ) ) )
7 oveq2 5930 . . . . . . . . . . . . . . 15  |-  ( x  =  y  ->  (
2  x.  x )  =  ( 2  x.  y ) )
87oveq2d 5938 . . . . . . . . . . . . . 14  |-  ( x  =  y  ->  ( Q  x.  ( 2  x.  x ) )  =  ( Q  x.  ( 2  x.  y
) ) )
98oveq1d 5937 . . . . . . . . . . . . 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 2254 . . . . . . . . . . . 12  |-  ( x  =  y  ->  R  =  S )
1211oveq2d 5938 . . . . . . . . . . 11  |-  ( x  =  y  ->  ( -u 1 ^ R )  =  ( -u 1 ^ S ) )
1312, 11oveq12d 5940 . . . . . . . . . 10  |-  ( x  =  y  ->  (
( -u 1 ^ R
)  x.  R )  =  ( ( -u
1 ^ S )  x.  S ) )
1413oveq1d 5937 . . . . . . . . 9  |-  ( x  =  y  ->  (
( ( -u 1 ^ R )  x.  R
)  mod  P )  =  ( ( (
-u 1 ^ S
)  x.  S )  mod  P ) )
1514oveq1d 5937 . . . . . . . 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 9358 . . . . . . . . . . . . 13  |-  -u 1  e.  ZZ
182eldifad 3168 . . . . . . . . . . . . . . . . . . 19  |-  ( ph  ->  Q  e.  Prime )
19 prmnn 12278 . . . . . . . . . . . . . . . . . . 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 9152 . . . . . . . . . . . . . . . . . . 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 10129 . . . . . . . . . . . . . . . . . . 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 9039 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( 2  x.  y
)  e.  NN )
2721, 26nnmulcld 9039 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( Q  x.  (
2  x.  y ) )  e.  NN )
2827nnzd 9447 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( Q  x.  (
2  x.  y ) )  e.  ZZ )
291eldifad 3168 . . . . . . . . . . . . . . . . 17  |-  ( ph  ->  P  e.  Prime )
30 prmnn 12278 . . . . . . . . . . . . . . . . 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 10437 . . . . . . . . . . . . . 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 2283 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  S  e.  NN0 )
35 zexpcl 10646 . . . . . . . . . . . . 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 9446 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  S  e.  ZZ )
3836, 37zmulcld 9454 . . . . . . . . . . 11  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( -u 1 ^ S )  x.  S
)  e.  ZZ )
3938, 32zmodcld 10437 . . . . . . . . . 10  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( ( -u
1 ^ S )  x.  S )  mod 
P )  e.  NN0 )
4039nn0zd 9446 . . . . . . . . 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 9698 . . . . . . . . 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 5655 . . . . . . 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 10129 . . . . . . . . . . . . . . . . . . . 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 9039 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( 2  x.  x
)  e.  NN )
4821, 47nnmulcld 9039 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( Q  x.  (
2  x.  x ) )  e.  NN )
4948nnzd 9447 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( Q  x.  (
2  x.  x ) )  e.  ZZ )
5049, 32zmodcld 10437 . . . . . . . . . . . . . . 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 2283 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  R  e.  NN0 )
52 zexpcl 10646 . . . . . . . . . . . . . 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 9446 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  R  e.  ZZ )
5553, 54zmulcld 9454 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( -u 1 ^ R )  x.  R
)  e.  ZZ )
5655, 32zmodcld 10437 . . . . . . . . . . 11  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( ( -u
1 ^ R )  x.  R )  mod 
P )  e.  NN0 )
5756nn0zd 9446 . . . . . . . . . 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 9698 . . . . . . . . . 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 2776 . . . . . . . 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 5645 . . . . . . . 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 2211 . . . . . 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 3168 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  Q  e.  Prime )
66 prmz 12279 . . . . . . . . . . . . . . . . 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 9354 . . . . . . . . . . . . . . . . 17  |-  2  e.  ZZ
69 elfzelz 10100 . . . . . . . . . . . . . . . . . 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 9379 . . . . . . . . . . . . . . . . 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 9454 . . . . . . . . . . . . . . 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 3168 . . . . . . . . . . . . . . . 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 10437 . . . . . . . . . . . . . 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 2283 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  S  e.  NN0 )
7978nn0zd 9446 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  S  e.  ZZ )
80 m1expcl 10654 . . . . . . . . . . . 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 9454 . . . . . . . . . 10  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( -u 1 ^ S )  x.  S
)  e.  ZZ )
8382, 76zmodcld 10437 . . . . . . . . 9  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( ( -u
1 ^ S )  x.  S )  mod 
P )  e.  NN0 )
8483nn0cnd 9304 . . . . . . . 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 10100 . . . . . . . . . . . . . . . . . 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 9379 . . . . . . . . . . . . . . . . 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 9454 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( Q  x.  (
2  x.  x ) )  e.  ZZ )
9089, 76zmodcld 10437 . . . . . . . . . . . . . 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 2283 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  R  e.  NN0 )
9291nn0zd 9446 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  R  e.  ZZ )
93 m1expcl 10654 . . . . . . . . . . . 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 9454 . . . . . . . . . 10  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( -u 1 ^ R )  x.  R
)  e.  ZZ )
9695, 76zmodcld 10437 . . . . . . . . 9  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( ( -u
1 ^ R )  x.  R )  mod 
P )  e.  NN0 )
9796nn0cnd 9304 . . . . . . . 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 9063 . . . . . . . 8  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
2  e.  CC )
9923nnap0d 9036 . . . . . . . 8  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
2 #  0 )
100 div11ap 8727 . . . . . . . 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 1253 . . . . . . 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 9707 . . . . . . . . . . 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 9034 . . . . . . . . . 10  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
0  <  P )
105 eqidd 2197 . . . . . . . . . 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 5932 . . . . . . . . . . 11  |-  ( S  mod  P )  =  ( ( ( Q  x.  ( 2  x.  y ) )  mod 
P )  mod  P
)
107 nnq 9707 . . . . . . . . . . . . 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 10450 . . . . . . . . . . . 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 1249 . . . . . . . . . . 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 2241 . . . . . . . . . 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 10470 . . . . . . . . 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 2197 . . . . . . . . . 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 5932 . . . . . . . . . . 11  |-  ( R  mod  P )  =  ( ( ( Q  x.  ( 2  x.  x ) )  mod 
P )  mod  P
)
117 nnq 9707 . . . . . . . . . . . . 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 10450 . . . . . . . . . . . 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 1249 . . . . . . . . . . 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 2241 . . . . . . . . . 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 10470 . . . . . . . . 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 2211 . . . . . . . 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 9454 . . . . . . . . . 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 9454 . . . . . . . . . 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 11964 . . . . . . . . . 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 1249 . . . . . . . . 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 9449 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  Q  e.  CC )
12981, 72zmulcld 9454 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( -u 1 ^ S )  x.  (
2  x.  y ) )  e.  ZZ )
130129zcnd 9449 . . . . . . . . . . . . 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 9454 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( -u 1 ^ R )  x.  (
2  x.  x ) )  e.  ZZ )
132131zcnd 9449 . . . . . . . . . . . . 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 8440 . . . . . . . . . . . 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 9449 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( -u 1 ^ S
)  e.  CC )
13572zcnd 9449 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( 2  x.  y
)  e.  CC )
136128, 134, 135mul12d 8178 . . . . . . . . . . . . 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 9449 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( -u 1 ^ R
)  e.  CC )
13888zcnd 9449 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( 2  x.  x
)  e.  CC )
139128, 137, 138mul12d 8178 . . . . . . . . . . . . 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 5940 . . . . . . . . . . . 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 2229 . . . . . . . . . . 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 4045 . . . . . . . . . 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 12313 . . . . . . . . . . . . . 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 12279 . . . . . . . . . . . . . 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 9453 . . . . . . . . . . . . 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 12260 . . . . . . . . . . . . 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 1249 . . . . . . . . . . . 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 11998 . . . . . . . . . . . 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 1249 . . . . . . . . . . 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 8440 . . . . . . . . . . . . . 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 9095 . . . . . . . . . . . . . . . . . . 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 10767 . . . . . . . . . . . . . . . . 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 5937 . . . . . . . . . . . . . . . 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 8050 . . . . . . . . . . . . . . . 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 2230 . . . . . . . . . . . . . . 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 7972 . . . . . . . . . . . . . . . . . . . . . . 23  |-  1  e.  CC
163 1ap0 8617 . . . . . . . . . . . . . . . . . . . . . . 23  |-  1 #  0
164 divneg2ap 8763 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( 1  e.  CC  /\  1  e.  CC  /\  1 #  0 )  ->  -u (
1  /  1 )  =  ( 1  /  -u 1 ) )
165162, 162, 163, 164mp3an 1348 . . . . . . . . . . . . . . . . . . . . . 22  |-  -u (
1  /  1 )  =  ( 1  /  -u 1 )
166 1div1e1 8731 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( 1  /  1 )  =  1
167166negeqi 8220 . . . . . . . . . . . . . . . . . . . . . 22  |-  -u (
1  /  1 )  =  -u 1
168165, 167eqtr3i 2219 . . . . . . . . . . . . . . . . . . . . 21  |-  ( 1  /  -u 1 )  = 
-u 1
169168oveq1i 5932 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( 1  /  -u 1
) ^ R )  =  ( -u 1 ^ R )
170 neg1ap0 9099 . . . . . . . . . . . . . . . . . . . . . 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 10773 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( 1  /  -u 1 ) ^ R
)  =  ( 1  /  ( -u 1 ^ R ) ) )
173169, 172eqtr3id 2243 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( -u 1 ^ R
)  =  ( 1  /  ( -u 1 ^ R ) ) )
174173oveq2d 5938 . . . . . . . . . . . . . . . . . 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 10771 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( -u 1 ^ R
) #  0 )
176137, 175recidapd 8810 . . . . . . . . . . . . . . . . . 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 2229 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( -u 1 ^ R )  x.  ( -u 1 ^ R ) )  =  1 )
178177oveq1d 5937 . . . . . . . . . . . . . . . 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 8050 . . . . . . . . . . . . . . . 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 8044 . . . . . . . . . . . . . . . 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 2237 . . . . . . . . . . . . . . 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 5940 . . . . . . . . . . . . . 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 2229 . . . . . . . . . . . . 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 4045 . . . . . . . . . . . 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 2198 . . . . . . . . . . . . . . . . 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 8436 . . . . . . . . . . . . . . . . . . 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 5937 . . . . . . . . . . . . . . . . . 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 2208 . . . . . . . . . . . . . . . . 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 9450 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  -u ( 2  x.  y
)  e.  ZZ )
191 moddvds 11964 . . . . . . . . . . . . . . . . . 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 1249 . . . . . . . . . . . . . . . . 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 9038 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( x  +  y )  e.  NN )
19446nnred 9003 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  x  e.  RR )
19570zred 9448 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
y  e.  RR )
196 oddprm 12428 . . . . . . . . . . . . . . . . . . . . . . . . . 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 9003 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( P  - 
1 )  /  2
)  e.  RR )
199 elfzle2 10103 . . . . . . . . . . . . . . . . . . . . . . . . 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 10103 . . . . . . . . . . . . . . . . . . . . . . . . 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 8590 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( x  +  y )  <_  ( (
( P  -  1 )  /  2 )  +  ( ( P  -  1 )  / 
2 ) ) )
20476nnred 9003 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  P  e.  RR )
205 peano2rem 8293 . . . . . . . . . . . . . . . . . . . . . . . . . 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 8055 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( P  -  1 )  e.  CC )
2082072halvesd 9237 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( ( P  -  1 )  / 
2 )  +  ( ( P  -  1 )  /  2 ) )  =  ( P  -  1 ) )
209203, 208breqtrd 4059 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( x  +  y )  <_  ( P  -  1 ) )
210 peano2zm 9364 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( P  e.  ZZ  ->  ( P  -  1 )  e.  ZZ )
211 fznn 10164 . . . . . . . . . . . . . . . . . . . . . . 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 946 . . . . . . . . . . . . . . . . . . . . 21  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( x  +  y )  e.  ( 1 ... ( P  - 
1 ) ) )
214 fzm1ndvds 12021 . . . . . . . . . . . . . . . . . . . . 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 3751 . . . . . . . . . . . . . . . . . . . . . . 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 12295 . . . . . . . . . . . . . . . . . . . . . . 23  |-  2  e.  Prime
219 prmrp 12313 . . . . . . . . . . . . . . . . . . . . . . 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 9447 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( x  +  y )  e.  ZZ )
224 coprmdvds 12260 . . . . . . . . . . . . . . . . . . . . . 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 1249 . . . . . . . . . . . . . . . . . . . . 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 664 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  -.  P  ||  ( 2  x.  ( x  +  y ) ) )
228138, 135subnegd 8344 . . . . . . . . . . . . . . . . . . . . 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 9449 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  x  e.  CC )
23070zcnd 9449 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
y  e.  CC )
23198, 229, 230adddid 8051 . . . . . . . . . . . . . . . . . . . . 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 2232 . . . . . . . . . . . . . . . . . . . 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 4045 . . . . . . . . . . . . . . . . . . 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 674 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  -.  P  ||  ( ( 2  x.  x )  -  -u ( 2  x.  y ) ) )
235234pm2.21d 620 . . . . . . . . . . . . . . . . 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 5929 . . . . . . . . . . . . . . . . . 18  |-  ( (
-u 1 ^ ( R  +  S )
)  =  -u 1  ->  ( ( -u 1 ^ ( R  +  S ) )  x.  ( 2  x.  y
) )  =  (
-u 1  x.  (
2  x.  y ) ) )
239238oveq1d 5937 . . . . . . . . . . . . . . . . 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 2205 . . . . . . . . . . . . . . . 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 8044 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( 1  x.  (
2  x.  y ) )  =  ( 2  x.  y ) )
244243oveq1d 5937 . . . . . . . . . . . . . . . . . 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 9707 . . . . . . . . . . . . . . . . . . . 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 9011 . . . . . . . . . . . . . . . . . . . . . 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 9302 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( 2  x.  y
)  e.  NN0 )
250249nn0ge0d 9305 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
0  <_  ( 2  x.  y ) )
251 2re 9060 . . . . . . . . . . . . . . . . . . . . . . 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 9081 . . . . . . . . . . . . . . . . . . . . . . 23  |-  0  <  2
254253a1i 9 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
0  <  2 )
255 lemuldiv2 8909 . . . . . . . . . . . . . . . . . . . . . 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 1253 . . . . . . . . . . . . . . . . . . . . 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 9383 . . . . . . . . . . . . . . . . . . . . 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 10441 . . . . . . . . . . . . . . . . . . 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 1250 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( 2  x.  y )  mod  P
)  =  ( 2  x.  y ) )
263244, 262eqtrd 2229 . . . . . . . . . . . . . . . . 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 9707 . . . . . . . . . . . . . . . . . . 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 9011 . . . . . . . . . . . . . . . . . . . . 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 9302 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( 2  x.  x
)  e.  NN0 )
269268nn0ge0d 9305 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
0  <_  ( 2  x.  x ) )
270 lemuldiv2 8909 . . . . . . . . . . . . . . . . . . . . 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 1253 . . . . . . . . . . . . . . . . . . . 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 9383 . . . . . . . . . . . . . . . . . . . 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 10441 . . . . . . . . . . . . . . . . . 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 1250 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( 2  x.  x )  mod  P
)  =  ( 2  x.  x ) )
278263, 277eqeq12d 2211 . . . . . . . . . . . . . . . 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 5929 . . . . . . . . . . . . . . . . . 18  |-  ( (
-u 1 ^ ( R  +  S )
)  =  1  -> 
( ( -u 1 ^ ( R  +  S ) )  x.  ( 2  x.  y
) )  =  ( 1  x.  ( 2  x.  y ) ) )
281280oveq1d 5937 . . . . . . . . . . . . . . . . 17  |-  ( (
-u 1 ^ ( R  +  S )
)  =  1  -> 
( ( ( -u
1 ^ ( R  +  S ) )  x.  ( 2  x.  y ) )  mod 
P )  =  ( ( 1  x.  (
2  x.  y ) )  mod  P ) )
282281eqeq1d 2205 . . . . . . . . . . . . . . . 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 9306 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( R  +  S
)  e.  NN0 )
286285nn0zd 9446 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( R  +  S
)  e.  ZZ )
287 m1expcl2 10653 . . . . . . . . . . . . . . 15  |-  ( ( R  +  S )  e.  ZZ  ->  ( -u 1 ^ ( R  +  S ) )  e.  { -u 1 ,  1 } )
288 elpri 3645 . . . . . . . . . . . . . . 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 719 . . . . . . . . . . . . 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 10646 . . . . . . . . . . . . . . . 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 9454 . . . . . . . . . . . . . 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 11964 . . . . . . . . . . . . . 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 1249 . . . . . . . . . . . . 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 8688 . . . . . . . . . . . . 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 2579 . . . 4  |-  ( ph  ->  A. y  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) A. x  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) ( ( M `  y )  =  ( M `  x )  ->  y  =  x ) )
306 nfmpt1 4126 . . . . . . . . . 10  |-  F/_ x
( x  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) 
|->  ( ( ( (
-u 1 ^ R
)  x.  R )  mod  P )  / 
2 ) )
3075, 306nfcxfr 2336 . . . . . . . . 9  |-  F/_ x M
308 nfcv 2339 . . . . . . . . 9  |-  F/_ x
y
309307, 308nffv 5568 . . . . . . . 8  |-  F/_ x
( M `  y
)
310 nfcv 2339 . . . . . . . . 9  |-  F/_ x
z
311307, 310nffv 5568 . . . . . . . 8  |-  F/_ x
( M `  z
)
312309, 311nfeq 2347 . . . . . . 7  |-  F/ x
( M `  y
)  =  ( M `
 z )
313 nfv 1542 . . . . . . 7  |-  F/ x  y  =  z
314312, 313nfim 1586 . . . . . 6  |-  F/ x
( ( M `  y )  =  ( M `  z )  ->  y  =  z )
315 nfv 1542 . . . . . 6  |-  F/ z ( ( M `  y )  =  ( M `  x )  ->  y  =  x )
316 fveq2 5558 . . . . . . . 8  |-  ( z  =  x  ->  ( M `  z )  =  ( M `  x ) )
317316eqeq2d 2208 . . . . . . 7  |-  ( z  =  x  ->  (
( M `  y
)  =  ( M `
 z )  <->  ( M `  y )  =  ( M `  x ) ) )
318 equequ2 1727 . . . . . . 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 2723 . . . . 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 2503 . . . 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 5815 . . 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 9353 . . . . 5  |-  ( ph  ->  1  e.  ZZ )
3261, 196syl 14 . . . . . 6  |-  ( ph  ->  ( ( P  - 
1 )  /  2
)  e.  NN )
327326nnzd 9447 . . . . 5  |-  ( ph  ->  ( ( P  - 
1 )  /  2
)  e.  ZZ )
328325, 327fzfigd 10523 . . . 4  |-  ( ph  ->  ( 1 ... (
( P  -  1 )  /  2 ) )  e.  Fin )
329 enrefg 6823 . . . 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 7013 . . 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 709    = wceq 1364    e. wcel 2167    =/= wne 2367   A.wral 2475   _Vcvv 2763    \ cdif 3154   {csn 3622   {cpr 3623   class class class wbr 4033    |-> cmpt 4094   -->wf 5254   -1-1->wf1 5255   -1-1-onto->wf1o 5257   ` cfv 5258  (class class class)co 5922    ~~ cen 6797   Fincfn 6799   CCcc 7877   RRcr 7878   0cc0 7879   1c1 7880    + caddc 7882    x. cmul 7884    < clt 8061    <_ cle 8062    - cmin 8197   -ucneg 8198   # cap 8608    / cdiv 8699   NNcn 8990   2c2 9041   NN0cn0 9249   ZZcz 9326   QQcq 9693   ...cfz 10083    mod cmo 10414   ^cexp 10630    || cdvds 11952    gcd cgcd 12120   Primecprime 12275
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-ia1 106  ax-ia2 107  ax-ia3 108  ax-in1 615  ax-in2 616  ax-io 710  ax-5 1461  ax-7 1462  ax-gen 1463  ax-ie1 1507  ax-ie2 1508  ax-8 1518  ax-10 1519  ax-11 1520  ax-i12 1521  ax-bndl 1523  ax-4 1524  ax-17 1540  ax-i9 1544  ax-ial 1548  ax-i5r 1549  ax-13 2169  ax-14 2170  ax-ext 2178  ax-coll 4148  ax-sep 4151  ax-nul 4159  ax-pow 4207  ax-pr 4242  ax-un 4468  ax-setind 4573  ax-iinf 4624  ax-cnex 7970  ax-resscn 7971  ax-1cn 7972  ax-1re 7973  ax-icn 7974  ax-addcl 7975  ax-addrcl 7976  ax-mulcl 7977  ax-mulrcl 7978  ax-addcom 7979  ax-mulcom 7980  ax-addass 7981  ax-mulass 7982  ax-distr 7983  ax-i2m1 7984  ax-0lt1 7985  ax-1rid 7986  ax-0id 7987  ax-rnegex 7988  ax-precex 7989  ax-cnre 7990  ax-pre-ltirr 7991  ax-pre-ltwlin 7992  ax-pre-lttrn 7993  ax-pre-apti 7994  ax-pre-ltadd 7995  ax-pre-mulgt0 7996  ax-pre-mulext 7997  ax-arch 7998  ax-caucvg 7999
This theorem depends on definitions:  df-bi 117  df-stab 832  df-dc 836  df-3or 981  df-3an 982  df-tru 1367  df-fal 1370  df-xor 1387  df-nf 1475  df-sb 1777  df-eu 2048  df-mo 2049  df-clab 2183  df-cleq 2189  df-clel 2192  df-nfc 2328  df-ne 2368  df-nel 2463  df-ral 2480  df-rex 2481  df-reu 2482  df-rmo 2483  df-rab 2484  df-v 2765  df-sbc 2990  df-csb 3085  df-dif 3159  df-un 3161  df-in 3163  df-ss 3170  df-nul 3451  df-if 3562  df-pw 3607  df-sn 3628  df-pr 3629  df-op 3631  df-uni 3840  df-int 3875  df-iun 3918  df-br 4034  df-opab 4095  df-mpt 4096  df-tr 4132  df-id 4328  df-po 4331  df-iso 4332  df-iord 4401  df-on 4403  df-ilim 4404  df-suc 4406  df-iom 4627  df-xp 4669  df-rel 4670  df-cnv 4671  df-co 4672  df-dm 4673  df-rn 4674  df-res 4675  df-ima 4676  df-iota 5219  df-fun 5260  df-fn 5261  df-f 5262  df-f1 5263  df-fo 5264  df-f1o 5265  df-fv 5266  df-riota 5877  df-ov 5925  df-oprab 5926  df-mpo 5927  df-1st 6198  df-2nd 6199  df-recs 6363  df-frec 6449  df-1o 6474  df-2o 6475  df-er 6592  df-en 6800  df-fin 6802  df-sup 7050  df-pnf 8063  df-mnf 8064  df-xr 8065  df-ltxr 8066  df-le 8067  df-sub 8199  df-neg 8200  df-reap 8602  df-ap 8609  df-div 8700  df-inn 8991  df-2 9049  df-3 9050  df-4 9051  df-n0 9250  df-z 9327  df-uz 9602  df-q 9694  df-rp 9729  df-fz 10084  df-fzo 10218  df-fl 10360  df-mod 10415  df-seqfrec 10540  df-exp 10631  df-cj 11007  df-re 11008  df-im 11009  df-rsqrt 11163  df-abs 11164  df-dvds 11953  df-gcd 12121  df-prm 12276
This theorem is referenced by:  lgseisenlem3  15313
  Copyright terms: Public domain W3C validator