MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  lgseisenlem2 Structured version   Visualization version   Unicode version

Theorem lgseisenlem2 25101
Description: Lemma for lgseisen 25104. 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 25100 . . 3  |-  ( ph  ->  M : ( 1 ... ( ( P  -  1 )  / 
2 ) ) --> ( 1 ... ( ( P  -  1 )  /  2 ) ) )
7 oveq2 6658 . . . . . . . . . . . . . . . 16  |-  ( x  =  y  ->  (
2  x.  x )  =  ( 2  x.  y ) )
87oveq2d 6666 . . . . . . . . . . . . . . 15  |-  ( x  =  y  ->  ( Q  x.  ( 2  x.  x ) )  =  ( Q  x.  ( 2  x.  y
) ) )
98oveq1d 6665 . . . . . . . . . . . . . 14  |-  ( x  =  y  ->  (
( Q  x.  (
2  x.  x ) )  mod  P )  =  ( ( Q  x.  ( 2  x.  y ) )  mod 
P ) )
10 lgseisen.6 . . . . . . . . . . . . . 14  |-  S  =  ( ( Q  x.  ( 2  x.  y
) )  mod  P
)
119, 4, 103eqtr4g 2681 . . . . . . . . . . . . 13  |-  ( x  =  y  ->  R  =  S )
1211oveq2d 6666 . . . . . . . . . . . 12  |-  ( x  =  y  ->  ( -u 1 ^ R )  =  ( -u 1 ^ S ) )
1312, 11oveq12d 6668 . . . . . . . . . . 11  |-  ( x  =  y  ->  (
( -u 1 ^ R
)  x.  R )  =  ( ( -u
1 ^ S )  x.  S ) )
1413oveq1d 6665 . . . . . . . . . 10  |-  ( x  =  y  ->  (
( ( -u 1 ^ R )  x.  R
)  mod  P )  =  ( ( (
-u 1 ^ S
)  x.  S )  mod  P ) )
1514oveq1d 6665 . . . . . . . . 9  |-  ( x  =  y  ->  (
( ( ( -u
1 ^ R )  x.  R )  mod 
P )  /  2
)  =  ( ( ( ( -u 1 ^ S )  x.  S
)  mod  P )  /  2 ) )
16 ovex 6678 . . . . . . . . 9  |-  ( ( ( ( -u 1 ^ S )  x.  S
)  mod  P )  /  2 )  e. 
_V
1715, 5, 16fvmpt 6282 . . . . . . . 8  |-  ( y  e.  ( 1 ... ( ( P  - 
1 )  /  2
) )  ->  ( M `  y )  =  ( ( ( ( -u 1 ^ S )  x.  S
)  mod  P )  /  2 ) )
1817ad2antrl 764 . . . . . . 7  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( M `  y
)  =  ( ( ( ( -u 1 ^ S )  x.  S
)  mod  P )  /  2 ) )
19 ovex 6678 . . . . . . . . 9  |-  ( ( ( ( -u 1 ^ R )  x.  R
)  mod  P )  /  2 )  e. 
_V
205fvmpt2 6291 . . . . . . . . 9  |-  ( ( 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
) )
2119, 20mpan2 707 . . . . . . . 8  |-  ( x  e.  ( 1 ... ( ( P  - 
1 )  /  2
) )  ->  ( M `  x )  =  ( ( ( ( -u 1 ^ R )  x.  R
)  mod  P )  /  2 ) )
2221ad2antll 765 . . . . . . 7  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( M `  x
)  =  ( ( ( ( -u 1 ^ R )  x.  R
)  mod  P )  /  2 ) )
2318, 22eqeq12d 2637 . . . . . 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
) ) )
242adantr 481 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  Q  e.  ( Prime  \  { 2 } ) )
2524eldifad 3586 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  Q  e.  Prime )
26 prmz 15389 . . . . . . . . . . . . . . . . 17  |-  ( Q  e.  Prime  ->  Q  e.  ZZ )
2725, 26syl 17 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  Q  e.  ZZ )
28 2z 11409 . . . . . . . . . . . . . . . . 17  |-  2  e.  ZZ
29 elfzelz 12342 . . . . . . . . . . . . . . . . . 18  |-  ( y  e.  ( 1 ... ( ( P  - 
1 )  /  2
) )  ->  y  e.  ZZ )
3029ad2antrl 764 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
y  e.  ZZ )
31 zmulcl 11426 . . . . . . . . . . . . . . . . 17  |-  ( ( 2  e.  ZZ  /\  y  e.  ZZ )  ->  ( 2  x.  y
)  e.  ZZ )
3228, 30, 31sylancr 695 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( 2  x.  y
)  e.  ZZ )
3327, 32zmulcld 11488 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( Q  x.  (
2  x.  y ) )  e.  ZZ )
341adantr 481 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  P  e.  ( Prime  \  { 2 } ) )
3534eldifad 3586 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  P  e.  Prime )
36 prmnn 15388 . . . . . . . . . . . . . . . 16  |-  ( P  e.  Prime  ->  P  e.  NN )
3735, 36syl 17 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  P  e.  NN )
3833, 37zmodcld 12691 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( Q  x.  ( 2  x.  y
) )  mod  P
)  e.  NN0 )
3910, 38syl5eqel 2705 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  S  e.  NN0 )
4039nn0zd 11480 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  S  e.  ZZ )
41 m1expcl 12883 . . . . . . . . . . . 12  |-  ( S  e.  ZZ  ->  ( -u 1 ^ S )  e.  ZZ )
4240, 41syl 17 . . . . . . . . . . 11  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( -u 1 ^ S
)  e.  ZZ )
4342, 40zmulcld 11488 . . . . . . . . . 10  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( -u 1 ^ S )  x.  S
)  e.  ZZ )
4443, 37zmodcld 12691 . . . . . . . . 9  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( ( -u
1 ^ S )  x.  S )  mod 
P )  e.  NN0 )
4544nn0cnd 11353 . . . . . . . 8  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( ( -u
1 ^ S )  x.  S )  mod 
P )  e.  CC )
46 elfzelz 12342 . . . . . . . . . . . . . . . . . 18  |-  ( x  e.  ( 1 ... ( ( P  - 
1 )  /  2
) )  ->  x  e.  ZZ )
4746ad2antll 765 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  x  e.  ZZ )
48 zmulcl 11426 . . . . . . . . . . . . . . . . 17  |-  ( ( 2  e.  ZZ  /\  x  e.  ZZ )  ->  ( 2  x.  x
)  e.  ZZ )
4928, 47, 48sylancr 695 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( 2  x.  x
)  e.  ZZ )
5027, 49zmulcld 11488 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( Q  x.  (
2  x.  x ) )  e.  ZZ )
5150, 37zmodcld 12691 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( Q  x.  ( 2  x.  x
) )  mod  P
)  e.  NN0 )
524, 51syl5eqel 2705 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  R  e.  NN0 )
5352nn0zd 11480 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  R  e.  ZZ )
54 m1expcl 12883 . . . . . . . . . . . 12  |-  ( R  e.  ZZ  ->  ( -u 1 ^ R )  e.  ZZ )
5553, 54syl 17 . . . . . . . . . . 11  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( -u 1 ^ R
)  e.  ZZ )
5655, 53zmulcld 11488 . . . . . . . . . 10  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( -u 1 ^ R )  x.  R
)  e.  ZZ )
5756, 37zmodcld 12691 . . . . . . . . 9  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( ( -u
1 ^ R )  x.  R )  mod 
P )  e.  NN0 )
5857nn0cnd 11353 . . . . . . . 8  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( ( -u
1 ^ R )  x.  R )  mod 
P )  e.  CC )
59 2cnd 11093 . . . . . . . 8  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
2  e.  CC )
60 2ne0 11113 . . . . . . . . 9  |-  2  =/=  0
6160a1i 11 . . . . . . . 8  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
2  =/=  0 )
62 div11 10713 . . . . . . . 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 ) ) )
6345, 58, 59, 61, 62syl112anc 1330 . . . . . . 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 ) ) )
6437nnrpd 11870 . . . . . . . . . 10  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  P  e.  RR+ )
65 eqidd 2623 . . . . . . . . . 10  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( -u 1 ^ S )  mod  P
)  =  ( (
-u 1 ^ S
)  mod  P )
)
6610oveq1i 6660 . . . . . . . . . . 11  |-  ( S  mod  P )  =  ( ( ( Q  x.  ( 2  x.  y ) )  mod 
P )  mod  P
)
6733zred 11482 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( Q  x.  (
2  x.  y ) )  e.  RR )
68 modabs2 12704 . . . . . . . . . . . 12  |-  ( ( ( Q  x.  (
2  x.  y ) )  e.  RR  /\  P  e.  RR+ )  -> 
( ( ( Q  x.  ( 2  x.  y ) )  mod 
P )  mod  P
)  =  ( ( Q  x.  ( 2  x.  y ) )  mod  P ) )
6967, 64, 68syl2anc 693 . . . . . . . . . . 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 ) )
7066, 69syl5eq 2668 . . . . . . . . . 10  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( S  mod  P
)  =  ( ( Q  x.  ( 2  x.  y ) )  mod  P ) )
7142, 42, 40, 33, 64, 65, 70modmul12d 12724 . . . . . . . . 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 ) )
72 eqidd 2623 . . . . . . . . . 10  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( -u 1 ^ R )  mod  P
)  =  ( (
-u 1 ^ R
)  mod  P )
)
734oveq1i 6660 . . . . . . . . . . 11  |-  ( R  mod  P )  =  ( ( ( Q  x.  ( 2  x.  x ) )  mod 
P )  mod  P
)
7450zred 11482 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( Q  x.  (
2  x.  x ) )  e.  RR )
75 modabs2 12704 . . . . . . . . . . . 12  |-  ( ( ( Q  x.  (
2  x.  x ) )  e.  RR  /\  P  e.  RR+ )  -> 
( ( ( Q  x.  ( 2  x.  x ) )  mod 
P )  mod  P
)  =  ( ( Q  x.  ( 2  x.  x ) )  mod  P ) )
7674, 64, 75syl2anc 693 . . . . . . . . . . 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 ) )
7773, 76syl5eq 2668 . . . . . . . . . 10  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( R  mod  P
)  =  ( ( Q  x.  ( 2  x.  x ) )  mod  P ) )
7855, 55, 53, 50, 64, 72, 77modmul12d 12724 . . . . . . . . 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 ) )
7971, 78eqeq12d 2637 . . . . . . . 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 ) ) )
8042, 33zmulcld 11488 . . . . . . . . . 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 )
8155, 50zmulcld 11488 . . . . . . . . . 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 )
82 moddvds 14991 . . . . . . . . . 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 ) ) ) ) ) )
8337, 80, 81, 82syl3anc 1326 . . . . . . . . 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 ) ) ) ) ) )
8427zcnd 11483 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  Q  e.  CC )
8542, 32zmulcld 11488 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( -u 1 ^ S )  x.  (
2  x.  y ) )  e.  ZZ )
8685zcnd 11483 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( -u 1 ^ S )  x.  (
2  x.  y ) )  e.  CC )
8755, 49zmulcld 11488 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( -u 1 ^ R )  x.  (
2  x.  x ) )  e.  ZZ )
8887zcnd 11483 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( -u 1 ^ R )  x.  (
2  x.  x ) )  e.  CC )
8984, 86, 88subdid 10486 . . . . . . . . . . . 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 ) ) ) ) )
9042zcnd 11483 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( -u 1 ^ S
)  e.  CC )
9132zcnd 11483 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( 2  x.  y
)  e.  CC )
9284, 90, 91mul12d 10245 . . . . . . . . . . . . 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 ) ) ) )
9355zcnd 11483 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( -u 1 ^ R
)  e.  CC )
9449zcnd 11483 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( 2  x.  x
)  e.  CC )
9584, 93, 94mul12d 10245 . . . . . . . . . . . . 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 ) ) ) )
9692, 95oveq12d 6668 . . . . . . . . . . . 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 ) ) ) ) )
9789, 96eqtrd 2656 . . . . . . . . . . 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 ) ) ) ) )
9897breq2d 4665 . . . . . . . . . 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 ) ) ) ) ) )
993adantr 481 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  P  =/=  Q )
100 prmrp 15424 . . . . . . . . . . . . . 14  |-  ( ( P  e.  Prime  /\  Q  e.  Prime )  ->  (
( P  gcd  Q
)  =  1  <->  P  =/=  Q ) )
10135, 25, 100syl2anc 693 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( P  gcd  Q )  =  1  <->  P  =/=  Q ) )
10299, 101mpbird 247 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( P  gcd  Q
)  =  1 )
103 prmz 15389 . . . . . . . . . . . . . 14  |-  ( P  e.  Prime  ->  P  e.  ZZ )
10435, 103syl 17 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  P  e.  ZZ )
10585, 87zsubcld 11487 . . . . . . . . . . . . 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 )
106 coprmdvds 15366 . . . . . . . . . . . . 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 ) ) ) ) )
107104, 27, 105, 106syl3anc 1326 . . . . . . . . . . . 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 ) ) ) ) )
108102, 107mpan2d 710 . . . . . . . . . . 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 ) ) ) ) )
109 dvdsmultr2 15021 . . . . . . . . . . . 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 ) ) ) ) ) )
110104, 55, 105, 109syl3anc 1326 . . . . . . . . . . 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 ) ) ) ) ) )
11193, 86, 88subdid 10486 . . . . . . . . . . . . . 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 ) ) ) ) )
112 neg1cn 11124 . . . . . . . . . . . . . . . . . . 19  |-  -u 1  e.  CC
113112a1i 11 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  -u 1  e.  CC )
114113, 39, 52expaddd 13010 . . . . . . . . . . . . . . . . 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 ) ) )
115114oveq1d 6665 . . . . . . . . . . . . . . . 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 ) ) )
11693, 90, 91mulassd 10063 . . . . . . . . . . . . . . . 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 ) ) ) )
117115, 116eqtr2d 2657 . . . . . . . . . . . . . . 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 ) ) )
118 ax-1cn 9994 . . . . . . . . . . . . . . . . . . . . . . 23  |-  1  e.  CC
119 ax-1ne0 10005 . . . . . . . . . . . . . . . . . . . . . . 23  |-  1  =/=  0
120 divneg2 10749 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( 1  e.  CC  /\  1  e.  CC  /\  1  =/=  0 )  ->  -u (
1  /  1 )  =  ( 1  /  -u 1 ) )
121118, 118, 119, 120mp3an 1424 . . . . . . . . . . . . . . . . . . . . . 22  |-  -u (
1  /  1 )  =  ( 1  /  -u 1 )
122 1div1e1 10717 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( 1  /  1 )  =  1
123122negeqi 10274 . . . . . . . . . . . . . . . . . . . . . 22  |-  -u (
1  /  1 )  =  -u 1
124121, 123eqtr3i 2646 . . . . . . . . . . . . . . . . . . . . 21  |-  ( 1  /  -u 1 )  = 
-u 1
125124oveq1i 6660 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( 1  /  -u 1
) ^ R )  =  ( -u 1 ^ R )
126 neg1ne0 11126 . . . . . . . . . . . . . . . . . . . . . 22  |-  -u 1  =/=  0
127126a1i 11 . . . . . . . . . . . . . . . . . . . . 21  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  -u 1  =/=  0 )
128113, 127, 53exprecd 13016 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( 1  /  -u 1 ) ^ R
)  =  ( 1  /  ( -u 1 ^ R ) ) )
129125, 128syl5eqr 2670 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( -u 1 ^ R
)  =  ( 1  /  ( -u 1 ^ R ) ) )
130129oveq2d 6666 . . . . . . . . . . . . . . . . . 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 ) ) ) )
131113, 127, 53expne0d 13014 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( -u 1 ^ R
)  =/=  0 )
13293, 131recidd 10796 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( -u 1 ^ R )  x.  (
1  /  ( -u
1 ^ R ) ) )  =  1 )
133130, 132eqtrd 2656 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( -u 1 ^ R )  x.  ( -u 1 ^ R ) )  =  1 )
134133oveq1d 6665 . . . . . . . . . . . . . . . 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 ) ) )
13593, 93, 94mulassd 10063 . . . . . . . . . . . . . . . 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 ) ) ) )
13694mulid2d 10058 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( 1  x.  (
2  x.  x ) )  =  ( 2  x.  x ) )
137134, 135, 1363eqtr3d 2664 . . . . . . . . . . . . . . 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 ) )
138117, 137oveq12d 6668 . . . . . . . . . . . . . 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 ) ) )
139111, 138eqtrd 2656 . . . . . . . . . . . . 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 ) ) )
140139breq2d 4665 . . . . . . . . . . . 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 ) ) ) )
141 eqcom 2629 . . . . . . . . . . . . . . . . 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
) )
14291mulm1d 10482 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( -u 1  x.  (
2  x.  y ) )  =  -u (
2  x.  y ) )
143142oveq1d 6665 . . . . . . . . . . . . . . . . . 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 )
)
144143eqeq2d 2632 . . . . . . . . . . . . . . . . 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
) ) )
145141, 144syl5bb 272 . . . . . . . . . . . . . . . 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
) ) )
14632znegcld 11484 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  -u ( 2  x.  y
)  e.  ZZ )
147 moddvds 14991 . . . . . . . . . . . . . . . . . 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 ) ) ) )
14837, 49, 146, 147syl3anc 1326 . . . . . . . . . . . . . . . . 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 ) ) ) )
149 elfznn 12370 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( x  e.  ( 1 ... ( ( P  - 
1 )  /  2
) )  ->  x  e.  NN )
150149ad2antll 765 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  x  e.  NN )
151 elfznn 12370 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( y  e.  ( 1 ... ( ( P  - 
1 )  /  2
) )  ->  y  e.  NN )
152151ad2antrl 764 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
y  e.  NN )
153150, 152nnaddcld 11067 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( x  +  y )  e.  NN )
154150nnred 11035 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  x  e.  RR )
15530zred 11482 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
y  e.  RR )
156 oddprm 15515 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( P  e.  ( Prime  \  {
2 } )  -> 
( ( P  - 
1 )  /  2
)  e.  NN )
15734, 156syl 17 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( P  - 
1 )  /  2
)  e.  NN )
158157nnred 11035 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( P  - 
1 )  /  2
)  e.  RR )
159 elfzle2 12345 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( x  e.  ( 1 ... ( ( P  - 
1 )  /  2
) )  ->  x  <_  ( ( P  - 
1 )  /  2
) )
160159ad2antll 765 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  x  <_  ( ( P  -  1 )  / 
2 ) )
161 elfzle2 12345 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( y  e.  ( 1 ... ( ( P  - 
1 )  /  2
) )  ->  y  <_  ( ( P  - 
1 )  /  2
) )
162161ad2antrl 764 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
y  <_  ( ( P  -  1 )  /  2 ) )
163154, 155, 158, 158, 160, 162le2addd 10646 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( x  +  y )  <_  ( (
( P  -  1 )  /  2 )  +  ( ( P  -  1 )  / 
2 ) ) )
16437nnred 11035 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  P  e.  RR )
165 peano2rem 10348 . . . . . . . . . . . . . . . . . . . . . . . . . 26  |-  ( P  e.  RR  ->  ( P  -  1 )  e.  RR )
166164, 165syl 17 . . . . . . . . . . . . . . . . . . . . . . . . 25  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( P  -  1 )  e.  RR )
167166recnd 10068 . . . . . . . . . . . . . . . . . . . . . . . 24  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( P  -  1 )  e.  CC )
1681672halvesd 11278 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( ( P  -  1 )  / 
2 )  +  ( ( P  -  1 )  /  2 ) )  =  ( P  -  1 ) )
169163, 168breqtrd 4679 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( x  +  y )  <_  ( P  -  1 ) )
170 peano2zm 11420 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( P  e.  ZZ  ->  ( P  -  1 )  e.  ZZ )
171 fznn 12408 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( P  -  1 )  e.  ZZ  ->  (
( x  +  y )  e.  ( 1 ... ( P  - 
1 ) )  <->  ( (
x  +  y )  e.  NN  /\  (
x  +  y )  <_  ( P  - 
1 ) ) ) )
172104, 170, 1713syl 18 . . . . . . . . . . . . . . . . . . . . . 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 ) ) ) )
173153, 169, 172mpbir2and 957 . . . . . . . . . . . . . . . . . . . . 21  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( x  +  y )  e.  ( 1 ... ( P  - 
1 ) ) )
174 fzm1ndvds 15044 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( P  e.  NN  /\  ( x  +  y
)  e.  ( 1 ... ( P  - 
1 ) ) )  ->  -.  P  ||  (
x  +  y ) )
17537, 173, 174syl2anc 693 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  -.  P  ||  ( x  +  y ) )
176 eldifsni 4320 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( P  e.  ( Prime  \  {
2 } )  ->  P  =/=  2 )
17734, 176syl 17 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  P  =/=  2 )
178 2prm 15405 . . . . . . . . . . . . . . . . . . . . . . 23  |-  2  e.  Prime
179 prmrp 15424 . . . . . . . . . . . . . . . . . . . . . . 23  |-  ( ( P  e.  Prime  /\  2  e.  Prime )  ->  (
( P  gcd  2
)  =  1  <->  P  =/=  2 ) )
18035, 178, 179sylancl 694 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( P  gcd  2 )  =  1  <-> 
P  =/=  2 ) )
181177, 180mpbird 247 . . . . . . . . . . . . . . . . . . . . 21  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( P  gcd  2
)  =  1 )
18228a1i 11 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
2  e.  ZZ )
183153nnzd 11481 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( x  +  y )  e.  ZZ )
184 coprmdvds 15366 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( P  e.  ZZ  /\  2  e.  ZZ  /\  (
x  +  y )  e.  ZZ )  -> 
( ( P  ||  ( 2  x.  (
x  +  y ) )  /\  ( P  gcd  2 )  =  1 )  ->  P  ||  ( x  +  y ) ) )
185104, 182, 183, 184syl3anc 1326 . . . . . . . . . . . . . . . . . . . . 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 ) ) )
186181, 185mpan2d 710 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( P  ||  (
2  x.  ( x  +  y ) )  ->  P  ||  (
x  +  y ) ) )
187175, 186mtod 189 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  -.  P  ||  ( 2  x.  ( x  +  y ) ) )
18894, 91subnegd 10399 . . . . . . . . . . . . . . . . . . . . 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 ) ) )
18947zcnd 11483 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  x  e.  CC )
19030zcnd 11483 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
y  e.  CC )
19159, 189, 190adddid 10064 . . . . . . . . . . . . . . . . . . . . 21  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( 2  x.  (
x  +  y ) )  =  ( ( 2  x.  x )  +  ( 2  x.  y ) ) )
192188, 191eqtr4d 2659 . . . . . . . . . . . . . . . . . . . 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 ) ) )
193192breq2d 4665 . . . . . . . . . . . . . . . . . . 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 ) ) ) )
194187, 193mtbird 315 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  -.  P  ||  ( ( 2  x.  x )  -  -u ( 2  x.  y ) ) )
195194pm2.21d 118 . . . . . . . . . . . . . . . . 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
) ) )
196148, 195sylbid 230 . . . . . . . . . . . . . . . 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
) ) )
197145, 196sylbid 230 . . . . . . . . . . . . . . 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
) ) )
198 oveq1 6657 . . . . . . . . . . . . . . . . . 18  |-  ( (
-u 1 ^ ( R  +  S )
)  =  -u 1  ->  ( ( -u 1 ^ ( R  +  S ) )  x.  ( 2  x.  y
) )  =  (
-u 1  x.  (
2  x.  y ) ) )
199198oveq1d 6665 . . . . . . . . . . . . . . . . 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
) )
200199eqeq1d 2624 . . . . . . . . . . . . . . . 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
) ) )
201200imbi1d 331 . . . . . . . . . . . . . . 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 ) ) ) )
202197, 201syl5ibrcom 237 . . . . . . . . . . . . . 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 ) ) ) )
20391mulid2d 10058 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( 1  x.  (
2  x.  y ) )  =  ( 2  x.  y ) )
204203oveq1d 6665 . . . . . . . . . . . . . . . . . 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 ) )
20532zred 11482 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( 2  x.  y
)  e.  RR )
206 2nn 11185 . . . . . . . . . . . . . . . . . . . . . 22  |-  2  e.  NN
207 nnmulcl 11043 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( 2  e.  NN  /\  y  e.  NN )  ->  ( 2  x.  y
)  e.  NN )
208206, 152, 207sylancr 695 . . . . . . . . . . . . . . . . . . . . 21  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( 2  x.  y
)  e.  NN )
209208nnnn0d 11351 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( 2  x.  y
)  e.  NN0 )
210209nn0ge0d 11354 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
0  <_  ( 2  x.  y ) )
211 2re 11090 . . . . . . . . . . . . . . . . . . . . . . 23  |-  2  e.  RR
212211a1i 11 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
2  e.  RR )
213 2pos 11112 . . . . . . . . . . . . . . . . . . . . . . 23  |-  0  <  2
214213a1i 11 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
0  <  2 )
215 lemuldiv2 10904 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( ( y  e.  RR  /\  ( P  -  1
)  e.  RR  /\  ( 2  e.  RR  /\  0  <  2 ) )  ->  ( (
2  x.  y )  <_  ( P  - 
1 )  <->  y  <_  ( ( P  -  1 )  /  2 ) ) )
216155, 166, 212, 214, 215syl112anc 1330 . . . . . . . . . . . . . . . . . . . . 21  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( 2  x.  y )  <_  ( P  -  1 )  <-> 
y  <_  ( ( P  -  1 )  /  2 ) ) )
217162, 216mpbird 247 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( 2  x.  y
)  <_  ( P  -  1 ) )
218 zltlem1 11430 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( ( 2  x.  y
)  e.  ZZ  /\  P  e.  ZZ )  ->  ( ( 2  x.  y )  <  P  <->  ( 2  x.  y )  <_  ( P  - 
1 ) ) )
21932, 104, 218syl2anc 693 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( 2  x.  y )  <  P  <->  ( 2  x.  y )  <_  ( P  - 
1 ) ) )
220217, 219mpbird 247 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( 2  x.  y
)  <  P )
221 modid 12695 . . . . . . . . . . . . . . . . . . 19  |-  ( ( ( ( 2  x.  y )  e.  RR  /\  P  e.  RR+ )  /\  ( 0  <_  (
2  x.  y )  /\  ( 2  x.  y )  <  P
) )  ->  (
( 2  x.  y
)  mod  P )  =  ( 2  x.  y ) )
222205, 64, 210, 220, 221syl22anc 1327 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( 2  x.  y )  mod  P
)  =  ( 2  x.  y ) )
223204, 222eqtrd 2656 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( 1  x.  ( 2  x.  y
) )  mod  P
)  =  ( 2  x.  y ) )
22449zred 11482 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( 2  x.  x
)  e.  RR )
225 nnmulcl 11043 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( 2  e.  NN  /\  x  e.  NN )  ->  ( 2  x.  x
)  e.  NN )
226206, 150, 225sylancr 695 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( 2  x.  x
)  e.  NN )
227226nnnn0d 11351 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( 2  x.  x
)  e.  NN0 )
228227nn0ge0d 11354 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
0  <_  ( 2  x.  x ) )
229 lemuldiv2 10904 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( x  e.  RR  /\  ( P  -  1
)  e.  RR  /\  ( 2  e.  RR  /\  0  <  2 ) )  ->  ( (
2  x.  x )  <_  ( P  - 
1 )  <->  x  <_  ( ( P  -  1 )  /  2 ) ) )
230154, 166, 212, 214, 229syl112anc 1330 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( 2  x.  x )  <_  ( P  -  1 )  <-> 
x  <_  ( ( P  -  1 )  /  2 ) ) )
231160, 230mpbird 247 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( 2  x.  x
)  <_  ( P  -  1 ) )
232 zltlem1 11430 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( ( 2  x.  x
)  e.  ZZ  /\  P  e.  ZZ )  ->  ( ( 2  x.  x )  <  P  <->  ( 2  x.  x )  <_  ( P  - 
1 ) ) )
23349, 104, 232syl2anc 693 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( 2  x.  x )  <  P  <->  ( 2  x.  x )  <_  ( P  - 
1 ) ) )
234231, 233mpbird 247 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( 2  x.  x
)  <  P )
235 modid 12695 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( ( 2  x.  x )  e.  RR  /\  P  e.  RR+ )  /\  ( 0  <_  (
2  x.  x )  /\  ( 2  x.  x )  <  P
) )  ->  (
( 2  x.  x
)  mod  P )  =  ( 2  x.  x ) )
236224, 64, 228, 234, 235syl22anc 1327 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( 2  x.  x )  mod  P
)  =  ( 2  x.  x ) )
237223, 236eqeq12d 2637 . . . . . . . . . . . . . . . 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 ) ) )
238237biimpd 219 . . . . . . . . . . . . . . 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 ) ) )
239 oveq1 6657 . . . . . . . . . . . . . . . . . 18  |-  ( (
-u 1 ^ ( R  +  S )
)  =  1  -> 
( ( -u 1 ^ ( R  +  S ) )  x.  ( 2  x.  y
) )  =  ( 1  x.  ( 2  x.  y ) ) )
240239oveq1d 6665 . . . . . . . . . . . . . . . . 17  |-  ( (
-u 1 ^ ( R  +  S )
)  =  1  -> 
( ( ( -u
1 ^ ( R  +  S ) )  x.  ( 2  x.  y ) )  mod 
P )  =  ( ( 1  x.  (
2  x.  y ) )  mod  P ) )
241240eqeq1d 2624 . . . . . . . . . . . . . . . 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 )
) )
242241imbi1d 331 . . . . . . . . . . . . . . 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 ) ) ) )
243238, 242syl5ibrcom 237 . . . . . . . . . . . . . 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 ) ) ) )
24452, 39nn0addcld 11355 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( R  +  S
)  e.  NN0 )
245244nn0zd 11480 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( R  +  S
)  e.  ZZ )
246 m1expcl2 12882 . . . . . . . . . . . . . . 15  |-  ( ( R  +  S )  e.  ZZ  ->  ( -u 1 ^ ( R  +  S ) )  e.  { -u 1 ,  1 } )
247 elpri 4197 . . . . . . . . . . . . . . 15  |-  ( (
-u 1 ^ ( R  +  S )
)  e.  { -u
1 ,  1 }  ->  ( ( -u
1 ^ ( R  +  S ) )  =  -u 1  \/  ( -u 1 ^ ( R  +  S ) )  =  1 ) )
248245, 246, 2473syl 18 . . . . . . . . . . . . . 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 ) )
249202, 243, 248mpjaod 396 . . . . . . . . . . . . 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
) ) )
250 neg1z 11413 . . . . . . . . . . . . . . . 16  |-  -u 1  e.  ZZ
251 zexpcl 12875 . . . . . . . . . . . . . . . 16  |-  ( (
-u 1  e.  ZZ  /\  ( R  +  S
)  e.  NN0 )  ->  ( -u 1 ^ ( R  +  S
) )  e.  ZZ )
252250, 244, 251sylancr 695 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( -u 1 ^ ( R  +  S )
)  e.  ZZ )
253252, 32zmulcld 11488 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( -u 1 ^ ( R  +  S ) )  x.  ( 2  x.  y
) )  e.  ZZ )
254 moddvds 14991 . . . . . . . . . . . . . 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 ) ) ) )
25537, 253, 49, 254syl3anc 1326 . . . . . . . . . . . . 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 ) ) ) )
256190, 189, 59, 61mulcand 10660 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( 2  x.  y )  =  ( 2  x.  x )  <-> 
y  =  x ) )
257249, 255, 2563imtr3d 282 . . . . . . . . . . . 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 ) )
258140, 257sylbid 230 . . . . . . . . . . 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 ) )
259108, 110, 2583syld 60 . . . . . . . . . 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 ) )
26098, 259sylbird 250 . . . . . . . . 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 ) )
26183, 260sylbid 230 . . . . . . . 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 ) )
26279, 261sylbid 230 . . . . . . 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 ) )
26363, 262sylbid 230 . . . . . 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 ) )
26423, 263sylbid 230 . . . . 5  |-  ( (
ph  /\  ( y  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( M `  y )  =  ( M `  x )  ->  y  =  x ) )
265264ralrimivva 2971 . . . 4  |-  ( ph  ->  A. y  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) A. x  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) ( ( M `  y )  =  ( M `  x )  ->  y  =  x ) )
266 nfmpt1 4747 . . . . . . . . . 10  |-  F/_ x
( x  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) 
|->  ( ( ( (
-u 1 ^ R
)  x.  R )  mod  P )  / 
2 ) )
2675, 266nfcxfr 2762 . . . . . . . . 9  |-  F/_ x M
268 nfcv 2764 . . . . . . . . 9  |-  F/_ x
y
269267, 268nffv 6198 . . . . . . . 8  |-  F/_ x
( M `  y
)
270 nfcv 2764 . . . . . . . . 9  |-  F/_ x
z
271267, 270nffv 6198 . . . . . . . 8  |-  F/_ x
( M `  z
)
272269, 271nfeq 2776 . . . . . . 7  |-  F/ x
( M `  y
)  =  ( M `
 z )
273 nfv 1843 . . . . . . 7  |-  F/ x  y  =  z
274272, 273nfim 1825 . . . . . 6  |-  F/ x
( ( M `  y )  =  ( M `  z )  ->  y  =  z )
275 nfv 1843 . . . . . 6  |-  F/ z ( ( M `  y )  =  ( M `  x )  ->  y  =  x )
276 fveq2 6191 . . . . . . . 8  |-  ( z  =  x  ->  ( M `  z )  =  ( M `  x ) )
277276eqeq2d 2632 . . . . . . 7  |-  ( z  =  x  ->  (
( M `  y
)  =  ( M `
 z )  <->  ( M `  y )  =  ( M `  x ) ) )
278 equequ2 1953 . . . . . . 7  |-  ( z  =  x  ->  (
y  =  z  <->  y  =  x ) )
279277, 278imbi12d 334 . . . . . 6  |-  ( z  =  x  ->  (
( ( M `  y )  =  ( M `  z )  ->  y  =  z )  <->  ( ( M `
 y )  =  ( M `  x
)  ->  y  =  x ) ) )
280274, 275, 279cbvral 3167 . . . . 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 ) )
281280ralbii 2980 . . . 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 ) )
282265, 281sylibr 224 . . 3  |-  ( ph  ->  A. y  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) A. z  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) ( ( M `  y )  =  ( M `  z )  ->  y  =  z ) )
283 dff13 6512 . . 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 ) ) )
2846, 282, 283sylanbrc 698 . 2  |-  ( ph  ->  M : ( 1 ... ( ( P  -  1 )  / 
2 ) ) -1-1-> ( 1 ... ( ( P  -  1 )  /  2 ) ) )
285 ovex 6678 . . . 4  |-  ( 1 ... ( ( P  -  1 )  / 
2 ) )  e. 
_V
286285enref 7988 . . 3  |-  ( 1 ... ( ( P  -  1 )  / 
2 ) )  ~~  ( 1 ... (
( P  -  1 )  /  2 ) )
287 fzfi 12771 . . 3  |-  ( 1 ... ( ( P  -  1 )  / 
2 ) )  e. 
Fin
288 f1finf1o 8187 . . 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 ) ) ) )
289286, 287, 288mp2an 708 . 2  |-  ( M : ( 1 ... ( ( P  - 
1 )  /  2
) ) -1-1-> ( 1 ... ( ( P  -  1 )  / 
2 ) )  <->  M :
( 1 ... (
( P  -  1 )  /  2 ) ) -1-1-onto-> ( 1 ... (
( P  -  1 )  /  2 ) ) )
290284, 289sylib 208 1  |-  ( ph  ->  M : ( 1 ... ( ( P  -  1 )  / 
2 ) ) -1-1-onto-> ( 1 ... ( ( P  -  1 )  / 
2 ) ) )
Colors of variables: wff setvar class
Syntax hints:   -. wn 3    -> wi 4    <-> wb 196    \/ wo 383    /\ wa 384    = wceq 1483    e. wcel 1990    =/= wne 2794   A.wral 2912   _Vcvv 3200    \ cdif 3571   {csn 4177   {cpr 4179   class class class wbr 4653    |-> cmpt 4729   -->wf 5884   -1-1->wf1 5885   -1-1-onto->wf1o 5887   ` cfv 5888  (class class class)co 6650    ~~ cen 7952   Fincfn 7955   CCcc 9934   RRcr 9935   0cc0 9936   1c1 9937    + caddc 9939    x. cmul 9941    < clt 10074    <_ cle 10075    - cmin 10266   -ucneg 10267    / cdiv 10684   NNcn 11020   2c2 11070   NN0cn0 11292   ZZcz 11377   RR+crp 11832   ...cfz 12326    mod cmo 12668   ^cexp 12860    || cdvds 14983    gcd cgcd 15216   Primecprime 15385
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1722  ax-4 1737  ax-5 1839  ax-6 1888  ax-7 1935  ax-8 1992  ax-9 1999  ax-10 2019  ax-11 2034  ax-12 2047  ax-13 2246  ax-ext 2602  ax-sep 4781  ax-nul 4789  ax-pow 4843  ax-pr 4906  ax-un 6949  ax-cnex 9992  ax-resscn 9993  ax-1cn 9994  ax-icn 9995  ax-addcl 9996  ax-addrcl 9997  ax-mulcl 9998  ax-mulrcl 9999  ax-mulcom 10000  ax-addass 10001  ax-mulass 10002  ax-distr 10003  ax-i2m1 10004  ax-1ne0 10005  ax-1rid 10006  ax-rnegex 10007  ax-rrecex 10008  ax-cnre 10009  ax-pre-lttri 10010  ax-pre-lttrn 10011  ax-pre-ltadd 10012  ax-pre-mulgt0 10013  ax-pre-sup 10014
This theorem depends on definitions:  df-bi 197  df-or 385  df-an 386  df-3or 1038  df-3an 1039  df-tru 1486  df-ex 1705  df-nf 1710  df-sb 1881  df-eu 2474  df-mo 2475  df-clab 2609  df-cleq 2615  df-clel 2618  df-nfc 2753  df-ne 2795  df-nel 2898  df-ral 2917  df-rex 2918  df-reu 2919  df-rmo 2920  df-rab 2921  df-v 3202  df-sbc 3436  df-csb 3534  df-dif 3577  df-un 3579  df-in 3581  df-ss 3588  df-pss 3590  df-nul 3916  df-if 4087  df-pw 4160  df-sn 4178  df-pr 4180  df-tp 4182  df-op 4184  df-uni 4437  df-iun 4522  df-br 4654  df-opab 4713  df-mpt 4730  df-tr 4753  df-id 5024  df-eprel 5029  df-po 5035  df-so 5036  df-fr 5073  df-we 5075  df-xp 5120  df-rel 5121  df-cnv 5122  df-co 5123  df-dm 5124  df-rn 5125  df-res 5126  df-ima 5127  df-pred 5680  df-ord 5726  df-on 5727  df-lim 5728  df-suc 5729  df-iota 5851  df-fun 5890  df-fn 5891  df-f 5892  df-f1 5893  df-fo 5894  df-f1o 5895  df-fv 5896  df-riota 6611  df-ov 6653  df-oprab 6654  df-mpt2 6655  df-om 7066  df-1st 7168  df-2nd 7169  df-wrecs 7407  df-recs 7468  df-rdg 7506  df-1o 7560  df-2o 7561  df-er 7742  df-map 7859  df-en 7956  df-dom 7957  df-sdom 7958  df-fin 7959  df-sup 8348  df-inf 8349  df-pnf 10076  df-mnf 10077  df-xr 10078  df-ltxr 10079  df-le 10080  df-sub 10268  df-neg 10269  df-div 10685  df-nn 11021  df-2 11079  df-3 11080  df-n0 11293  df-z 11378  df-uz 11688  df-rp 11833  df-fz 12327  df-fl 12593  df-mod 12669  df-seq 12802  df-exp 12861  df-cj 13839  df-re 13840  df-im 13841  df-sqrt 13975  df-abs 13976  df-dvds 14984  df-gcd 15217  df-prm 15386
This theorem is referenced by:  lgseisenlem3  25102
  Copyright terms: Public domain W3C validator