| Step | Hyp | Ref | Expression | 
						
							| 1 |  | lgseisen.1 |  |-  ( ph -> P e. ( Prime \ { 2 } ) ) | 
						
							| 2 |  | lgseisen.2 |  |-  ( ph -> Q e. ( Prime \ { 2 } ) ) | 
						
							| 3 |  | lgseisen.3 |  |-  ( ph -> P =/= Q ) | 
						
							| 4 |  | lgseisen.4 |  |-  R = ( ( Q x. ( 2 x. x ) ) mod P ) | 
						
							| 5 |  | lgseisen.5 |  |-  M = ( x e. ( 1 ... ( ( P - 1 ) / 2 ) ) |-> ( ( ( ( -u 1 ^ R ) x. R ) mod P ) / 2 ) ) | 
						
							| 6 |  | lgseisen.6 |  |-  S = ( ( Q x. ( 2 x. y ) ) mod P ) | 
						
							| 7 | 1 2 3 4 5 | lgseisenlem1 |  |-  ( ph -> M : ( 1 ... ( ( P - 1 ) / 2 ) ) --> ( 1 ... ( ( P - 1 ) / 2 ) ) ) | 
						
							| 8 |  | oveq2 |  |-  ( x = y -> ( 2 x. x ) = ( 2 x. y ) ) | 
						
							| 9 | 8 | oveq2d |  |-  ( x = y -> ( Q x. ( 2 x. x ) ) = ( Q x. ( 2 x. y ) ) ) | 
						
							| 10 | 9 | oveq1d |  |-  ( x = y -> ( ( Q x. ( 2 x. x ) ) mod P ) = ( ( Q x. ( 2 x. y ) ) mod P ) ) | 
						
							| 11 | 10 4 6 | 3eqtr4g |  |-  ( x = y -> R = S ) | 
						
							| 12 | 11 | oveq2d |  |-  ( x = y -> ( -u 1 ^ R ) = ( -u 1 ^ S ) ) | 
						
							| 13 | 12 11 | oveq12d |  |-  ( x = y -> ( ( -u 1 ^ R ) x. R ) = ( ( -u 1 ^ S ) x. S ) ) | 
						
							| 14 | 13 | oveq1d |  |-  ( x = y -> ( ( ( -u 1 ^ R ) x. R ) mod P ) = ( ( ( -u 1 ^ S ) x. S ) mod P ) ) | 
						
							| 15 | 14 | oveq1d |  |-  ( x = y -> ( ( ( ( -u 1 ^ R ) x. R ) mod P ) / 2 ) = ( ( ( ( -u 1 ^ S ) x. S ) mod P ) / 2 ) ) | 
						
							| 16 |  | ovex |  |-  ( ( ( ( -u 1 ^ S ) x. S ) mod P ) / 2 ) e. _V | 
						
							| 17 | 15 5 16 | fvmpt |  |-  ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) -> ( M ` y ) = ( ( ( ( -u 1 ^ S ) x. S ) mod P ) / 2 ) ) | 
						
							| 18 | 17 | ad2antrl |  |-  ( ( 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 |  |-  ( ( ( ( -u 1 ^ R ) x. R ) mod P ) / 2 ) e. _V | 
						
							| 20 | 5 | fvmpt2 |  |-  ( ( 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 ) ) | 
						
							| 21 | 19 20 | mpan2 |  |-  ( x e. ( 1 ... ( ( P - 1 ) / 2 ) ) -> ( M ` x ) = ( ( ( ( -u 1 ^ R ) x. R ) mod P ) / 2 ) ) | 
						
							| 22 | 21 | ad2antll |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( M ` x ) = ( ( ( ( -u 1 ^ R ) x. R ) mod P ) / 2 ) ) | 
						
							| 23 | 18 22 | eqeq12d |  |-  ( ( 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 ) ) ) | 
						
							| 24 | 2 | adantr |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> Q e. ( Prime \ { 2 } ) ) | 
						
							| 25 | 24 | eldifad |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> Q e. Prime ) | 
						
							| 26 |  | prmz |  |-  ( Q e. Prime -> Q e. ZZ ) | 
						
							| 27 | 25 26 | syl |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> Q e. ZZ ) | 
						
							| 28 |  | 2z |  |-  2 e. ZZ | 
						
							| 29 |  | elfzelz |  |-  ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) -> y e. ZZ ) | 
						
							| 30 | 29 | ad2antrl |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> y e. ZZ ) | 
						
							| 31 |  | zmulcl |  |-  ( ( 2 e. ZZ /\ y e. ZZ ) -> ( 2 x. y ) e. ZZ ) | 
						
							| 32 | 28 30 31 | sylancr |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( 2 x. y ) e. ZZ ) | 
						
							| 33 | 27 32 | zmulcld |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( Q x. ( 2 x. y ) ) e. ZZ ) | 
						
							| 34 | 1 | adantr |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> P e. ( Prime \ { 2 } ) ) | 
						
							| 35 | 34 | eldifad |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> P e. Prime ) | 
						
							| 36 |  | prmnn |  |-  ( P e. Prime -> P e. NN ) | 
						
							| 37 | 35 36 | syl |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> P e. NN ) | 
						
							| 38 | 33 37 | zmodcld |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( ( Q x. ( 2 x. y ) ) mod P ) e. NN0 ) | 
						
							| 39 | 6 38 | eqeltrid |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> S e. NN0 ) | 
						
							| 40 | 39 | nn0zd |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> S e. ZZ ) | 
						
							| 41 |  | m1expcl |  |-  ( S e. ZZ -> ( -u 1 ^ S ) e. ZZ ) | 
						
							| 42 | 40 41 | syl |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( -u 1 ^ S ) e. ZZ ) | 
						
							| 43 | 42 40 | zmulcld |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( ( -u 1 ^ S ) x. S ) e. ZZ ) | 
						
							| 44 | 43 37 | zmodcld |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( ( ( -u 1 ^ S ) x. S ) mod P ) e. NN0 ) | 
						
							| 45 | 44 | nn0cnd |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( ( ( -u 1 ^ S ) x. S ) mod P ) e. CC ) | 
						
							| 46 |  | elfzelz |  |-  ( x e. ( 1 ... ( ( P - 1 ) / 2 ) ) -> x e. ZZ ) | 
						
							| 47 | 46 | ad2antll |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> x e. ZZ ) | 
						
							| 48 |  | zmulcl |  |-  ( ( 2 e. ZZ /\ x e. ZZ ) -> ( 2 x. x ) e. ZZ ) | 
						
							| 49 | 28 47 48 | sylancr |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( 2 x. x ) e. ZZ ) | 
						
							| 50 | 27 49 | zmulcld |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( Q x. ( 2 x. x ) ) e. ZZ ) | 
						
							| 51 | 50 37 | zmodcld |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( ( Q x. ( 2 x. x ) ) mod P ) e. NN0 ) | 
						
							| 52 | 4 51 | eqeltrid |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> R e. NN0 ) | 
						
							| 53 | 52 | nn0zd |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> R e. ZZ ) | 
						
							| 54 |  | m1expcl |  |-  ( R e. ZZ -> ( -u 1 ^ R ) e. ZZ ) | 
						
							| 55 | 53 54 | syl |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( -u 1 ^ R ) e. ZZ ) | 
						
							| 56 | 55 53 | zmulcld |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( ( -u 1 ^ R ) x. R ) e. ZZ ) | 
						
							| 57 | 56 37 | zmodcld |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( ( ( -u 1 ^ R ) x. R ) mod P ) e. NN0 ) | 
						
							| 58 | 57 | nn0cnd |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( ( ( -u 1 ^ R ) x. R ) mod P ) e. CC ) | 
						
							| 59 |  | 2cnd |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> 2 e. CC ) | 
						
							| 60 |  | 2ne0 |  |-  2 =/= 0 | 
						
							| 61 | 60 | a1i |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> 2 =/= 0 ) | 
						
							| 62 |  | div11 |  |-  ( ( ( ( ( -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 ) ) ) | 
						
							| 63 | 45 58 59 61 62 | syl112anc |  |-  ( ( 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 ) ) ) | 
						
							| 64 | 37 | nnrpd |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> P e. RR+ ) | 
						
							| 65 |  | eqidd |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( ( -u 1 ^ S ) mod P ) = ( ( -u 1 ^ S ) mod P ) ) | 
						
							| 66 | 6 | oveq1i |  |-  ( S mod P ) = ( ( ( Q x. ( 2 x. y ) ) mod P ) mod P ) | 
						
							| 67 | 33 | zred |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( Q x. ( 2 x. y ) ) e. RR ) | 
						
							| 68 |  | modabs2 |  |-  ( ( ( 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 ) ) | 
						
							| 69 | 67 64 68 | syl2anc |  |-  ( ( 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 ) ) | 
						
							| 70 | 66 69 | eqtrid |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( S mod P ) = ( ( Q x. ( 2 x. y ) ) mod P ) ) | 
						
							| 71 | 42 42 40 33 64 65 70 | modmul12d |  |-  ( ( 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 |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( ( -u 1 ^ R ) mod P ) = ( ( -u 1 ^ R ) mod P ) ) | 
						
							| 73 | 4 | oveq1i |  |-  ( R mod P ) = ( ( ( Q x. ( 2 x. x ) ) mod P ) mod P ) | 
						
							| 74 | 50 | zred |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( Q x. ( 2 x. x ) ) e. RR ) | 
						
							| 75 |  | modabs2 |  |-  ( ( ( 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 ) ) | 
						
							| 76 | 74 64 75 | syl2anc |  |-  ( ( 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 ) ) | 
						
							| 77 | 73 76 | eqtrid |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( R mod P ) = ( ( Q x. ( 2 x. x ) ) mod P ) ) | 
						
							| 78 | 55 55 53 50 64 72 77 | modmul12d |  |-  ( ( 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 ) ) | 
						
							| 79 | 71 78 | eqeq12d |  |-  ( ( 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 ) ) ) | 
						
							| 80 | 42 33 | zmulcld |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( ( -u 1 ^ S ) x. ( Q x. ( 2 x. y ) ) ) e. ZZ ) | 
						
							| 81 | 55 50 | zmulcld |  |-  ( ( 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 |  |-  ( ( 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 ) ) ) ) ) ) | 
						
							| 83 | 37 80 81 82 | syl3anc |  |-  ( ( 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 ) ) ) ) ) ) | 
						
							| 84 | 27 | zcnd |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> Q e. CC ) | 
						
							| 85 | 42 32 | zmulcld |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( ( -u 1 ^ S ) x. ( 2 x. y ) ) e. ZZ ) | 
						
							| 86 | 85 | zcnd |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( ( -u 1 ^ S ) x. ( 2 x. y ) ) e. CC ) | 
						
							| 87 | 55 49 | zmulcld |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( ( -u 1 ^ R ) x. ( 2 x. x ) ) e. ZZ ) | 
						
							| 88 | 87 | zcnd |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( ( -u 1 ^ R ) x. ( 2 x. x ) ) e. CC ) | 
						
							| 89 | 84 86 88 | subdid |  |-  ( ( 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 ) ) ) ) ) | 
						
							| 90 | 42 | zcnd |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( -u 1 ^ S ) e. CC ) | 
						
							| 91 | 32 | zcnd |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( 2 x. y ) e. CC ) | 
						
							| 92 | 84 90 91 | mul12d |  |-  ( ( 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 ) ) ) ) | 
						
							| 93 | 55 | zcnd |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( -u 1 ^ R ) e. CC ) | 
						
							| 94 | 49 | zcnd |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( 2 x. x ) e. CC ) | 
						
							| 95 | 84 93 94 | mul12d |  |-  ( ( 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 ) ) ) ) | 
						
							| 96 | 92 95 | oveq12d |  |-  ( ( 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 ) ) ) ) ) | 
						
							| 97 | 89 96 | eqtrd |  |-  ( ( 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 ) ) ) ) ) | 
						
							| 98 | 97 | breq2d |  |-  ( ( 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 ) ) ) ) ) ) | 
						
							| 99 | 3 | adantr |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> P =/= Q ) | 
						
							| 100 |  | prmrp |  |-  ( ( P e. Prime /\ Q e. Prime ) -> ( ( P gcd Q ) = 1 <-> P =/= Q ) ) | 
						
							| 101 | 35 25 100 | syl2anc |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( ( P gcd Q ) = 1 <-> P =/= Q ) ) | 
						
							| 102 | 99 101 | mpbird |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( P gcd Q ) = 1 ) | 
						
							| 103 |  | prmz |  |-  ( P e. Prime -> P e. ZZ ) | 
						
							| 104 | 35 103 | syl |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> P e. ZZ ) | 
						
							| 105 | 85 87 | zsubcld |  |-  ( ( 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 |  |-  ( ( 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 ) ) ) ) ) | 
						
							| 107 | 104 27 105 106 | syl3anc |  |-  ( ( 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 ) ) ) ) ) | 
						
							| 108 | 102 107 | mpan2d |  |-  ( ( 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 |  |-  ( ( 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 ) ) ) ) ) ) | 
						
							| 110 | 104 55 105 109 | syl3anc |  |-  ( ( 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 ) ) ) ) ) ) | 
						
							| 111 | 93 86 88 | subdid |  |-  ( ( 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 |  |-  -u 1 e. CC | 
						
							| 113 | 112 | a1i |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> -u 1 e. CC ) | 
						
							| 114 | 113 39 52 | expaddd |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( -u 1 ^ ( R + S ) ) = ( ( -u 1 ^ R ) x. ( -u 1 ^ S ) ) ) | 
						
							| 115 | 114 | oveq1d |  |-  ( ( 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 ) ) ) | 
						
							| 116 | 93 90 91 | mulassd |  |-  ( ( 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 ) ) ) ) | 
						
							| 117 | 115 116 | eqtr2d |  |-  ( ( 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 |  |-  1 e. CC | 
						
							| 119 |  | ax-1ne0 |  |-  1 =/= 0 | 
						
							| 120 |  | divneg2 |  |-  ( ( 1 e. CC /\ 1 e. CC /\ 1 =/= 0 ) -> -u ( 1 / 1 ) = ( 1 / -u 1 ) ) | 
						
							| 121 | 118 118 119 120 | mp3an |  |-  -u ( 1 / 1 ) = ( 1 / -u 1 ) | 
						
							| 122 |  | 1div1e1 |  |-  ( 1 / 1 ) = 1 | 
						
							| 123 | 122 | negeqi |  |-  -u ( 1 / 1 ) = -u 1 | 
						
							| 124 | 121 123 | eqtr3i |  |-  ( 1 / -u 1 ) = -u 1 | 
						
							| 125 | 124 | oveq1i |  |-  ( ( 1 / -u 1 ) ^ R ) = ( -u 1 ^ R ) | 
						
							| 126 |  | neg1ne0 |  |-  -u 1 =/= 0 | 
						
							| 127 | 126 | a1i |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> -u 1 =/= 0 ) | 
						
							| 128 | 113 127 53 | exprecd |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( ( 1 / -u 1 ) ^ R ) = ( 1 / ( -u 1 ^ R ) ) ) | 
						
							| 129 | 125 128 | eqtr3id |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( -u 1 ^ R ) = ( 1 / ( -u 1 ^ R ) ) ) | 
						
							| 130 | 129 | oveq2d |  |-  ( ( 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 ) ) ) ) | 
						
							| 131 | 113 127 53 | expne0d |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( -u 1 ^ R ) =/= 0 ) | 
						
							| 132 | 93 131 | recidd |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( ( -u 1 ^ R ) x. ( 1 / ( -u 1 ^ R ) ) ) = 1 ) | 
						
							| 133 | 130 132 | eqtrd |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( ( -u 1 ^ R ) x. ( -u 1 ^ R ) ) = 1 ) | 
						
							| 134 | 133 | oveq1d |  |-  ( ( 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 ) ) ) | 
						
							| 135 | 93 93 94 | mulassd |  |-  ( ( 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 ) ) ) ) | 
						
							| 136 | 94 | mullidd |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( 1 x. ( 2 x. x ) ) = ( 2 x. x ) ) | 
						
							| 137 | 134 135 136 | 3eqtr3d |  |-  ( ( 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 ) ) | 
						
							| 138 | 117 137 | oveq12d |  |-  ( ( 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 ) ) ) | 
						
							| 139 | 111 138 | eqtrd |  |-  ( ( 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 ) ) ) | 
						
							| 140 | 139 | breq2d |  |-  ( ( 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 |  |-  ( ( ( -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 ) ) | 
						
							| 142 | 91 | mulm1d |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( -u 1 x. ( 2 x. y ) ) = -u ( 2 x. y ) ) | 
						
							| 143 | 142 | oveq1d |  |-  ( ( 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 ) ) | 
						
							| 144 | 143 | eqeq2d |  |-  ( ( 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 ) ) ) | 
						
							| 145 | 141 144 | bitrid |  |-  ( ( 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 ) ) ) | 
						
							| 146 | 32 | znegcld |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> -u ( 2 x. y ) e. ZZ ) | 
						
							| 147 |  | moddvds |  |-  ( ( 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 ) ) ) ) | 
						
							| 148 | 37 49 146 147 | syl3anc |  |-  ( ( 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 |  |-  ( x e. ( 1 ... ( ( P - 1 ) / 2 ) ) -> x e. NN ) | 
						
							| 150 | 149 | ad2antll |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> x e. NN ) | 
						
							| 151 |  | elfznn |  |-  ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) -> y e. NN ) | 
						
							| 152 | 151 | ad2antrl |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> y e. NN ) | 
						
							| 153 | 150 152 | nnaddcld |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( x + y ) e. NN ) | 
						
							| 154 | 150 | nnred |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> x e. RR ) | 
						
							| 155 | 30 | zred |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> y e. RR ) | 
						
							| 156 |  | oddprm |  |-  ( P e. ( Prime \ { 2 } ) -> ( ( P - 1 ) / 2 ) e. NN ) | 
						
							| 157 | 34 156 | syl |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( ( P - 1 ) / 2 ) e. NN ) | 
						
							| 158 | 157 | nnred |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( ( P - 1 ) / 2 ) e. RR ) | 
						
							| 159 |  | elfzle2 |  |-  ( x e. ( 1 ... ( ( P - 1 ) / 2 ) ) -> x <_ ( ( P - 1 ) / 2 ) ) | 
						
							| 160 | 159 | ad2antll |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> x <_ ( ( P - 1 ) / 2 ) ) | 
						
							| 161 |  | elfzle2 |  |-  ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) -> y <_ ( ( P - 1 ) / 2 ) ) | 
						
							| 162 | 161 | ad2antrl |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> y <_ ( ( P - 1 ) / 2 ) ) | 
						
							| 163 | 154 155 158 158 160 162 | le2addd |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( x + y ) <_ ( ( ( P - 1 ) / 2 ) + ( ( P - 1 ) / 2 ) ) ) | 
						
							| 164 | 37 | nnred |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> P e. RR ) | 
						
							| 165 |  | peano2rem |  |-  ( P e. RR -> ( P - 1 ) e. RR ) | 
						
							| 166 | 164 165 | syl |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( P - 1 ) e. RR ) | 
						
							| 167 | 166 | recnd |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( P - 1 ) e. CC ) | 
						
							| 168 | 167 | 2halvesd |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( ( ( P - 1 ) / 2 ) + ( ( P - 1 ) / 2 ) ) = ( P - 1 ) ) | 
						
							| 169 | 163 168 | breqtrd |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( x + y ) <_ ( P - 1 ) ) | 
						
							| 170 |  | peano2zm |  |-  ( P e. ZZ -> ( P - 1 ) e. ZZ ) | 
						
							| 171 |  | fznn |  |-  ( ( P - 1 ) e. ZZ -> ( ( x + y ) e. ( 1 ... ( P - 1 ) ) <-> ( ( x + y ) e. NN /\ ( x + y ) <_ ( P - 1 ) ) ) ) | 
						
							| 172 | 104 170 171 | 3syl |  |-  ( ( 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 ) ) ) ) | 
						
							| 173 | 153 169 172 | mpbir2and |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( x + y ) e. ( 1 ... ( P - 1 ) ) ) | 
						
							| 174 |  | fzm1ndvds |  |-  ( ( P e. NN /\ ( x + y ) e. ( 1 ... ( P - 1 ) ) ) -> -. P || ( x + y ) ) | 
						
							| 175 | 37 173 174 | syl2anc |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> -. P || ( x + y ) ) | 
						
							| 176 |  | eldifsni |  |-  ( P e. ( Prime \ { 2 } ) -> P =/= 2 ) | 
						
							| 177 | 34 176 | syl |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> P =/= 2 ) | 
						
							| 178 |  | 2prm |  |-  2 e. Prime | 
						
							| 179 |  | prmrp |  |-  ( ( P e. Prime /\ 2 e. Prime ) -> ( ( P gcd 2 ) = 1 <-> P =/= 2 ) ) | 
						
							| 180 | 35 178 179 | sylancl |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( ( P gcd 2 ) = 1 <-> P =/= 2 ) ) | 
						
							| 181 | 177 180 | mpbird |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( P gcd 2 ) = 1 ) | 
						
							| 182 | 28 | a1i |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> 2 e. ZZ ) | 
						
							| 183 | 153 | nnzd |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( x + y ) e. ZZ ) | 
						
							| 184 |  | coprmdvds |  |-  ( ( P e. ZZ /\ 2 e. ZZ /\ ( x + y ) e. ZZ ) -> ( ( P || ( 2 x. ( x + y ) ) /\ ( P gcd 2 ) = 1 ) -> P || ( x + y ) ) ) | 
						
							| 185 | 104 182 183 184 | syl3anc |  |-  ( ( 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 ) ) ) | 
						
							| 186 | 181 185 | mpan2d |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( P || ( 2 x. ( x + y ) ) -> P || ( x + y ) ) ) | 
						
							| 187 | 175 186 | mtod |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> -. P || ( 2 x. ( x + y ) ) ) | 
						
							| 188 | 94 91 | subnegd |  |-  ( ( 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 ) ) ) | 
						
							| 189 | 47 | zcnd |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> x e. CC ) | 
						
							| 190 | 30 | zcnd |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> y e. CC ) | 
						
							| 191 | 59 189 190 | adddid |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( 2 x. ( x + y ) ) = ( ( 2 x. x ) + ( 2 x. y ) ) ) | 
						
							| 192 | 188 191 | eqtr4d |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( ( 2 x. x ) - -u ( 2 x. y ) ) = ( 2 x. ( x + y ) ) ) | 
						
							| 193 | 192 | breq2d |  |-  ( ( 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 ) ) ) ) | 
						
							| 194 | 187 193 | mtbird |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> -. P || ( ( 2 x. x ) - -u ( 2 x. y ) ) ) | 
						
							| 195 | 194 | pm2.21d |  |-  ( ( 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 ) ) ) | 
						
							| 196 | 148 195 | sylbid |  |-  ( ( 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 ) ) ) | 
						
							| 197 | 145 196 | sylbid |  |-  ( ( 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 |  |-  ( ( -u 1 ^ ( R + S ) ) = -u 1 -> ( ( -u 1 ^ ( R + S ) ) x. ( 2 x. y ) ) = ( -u 1 x. ( 2 x. y ) ) ) | 
						
							| 199 | 198 | oveq1d |  |-  ( ( -u 1 ^ ( R + S ) ) = -u 1 -> ( ( ( -u 1 ^ ( R + S ) ) x. ( 2 x. y ) ) mod P ) = ( ( -u 1 x. ( 2 x. y ) ) mod P ) ) | 
						
							| 200 | 199 | eqeq1d |  |-  ( ( -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 ) ) ) | 
						
							| 201 | 200 | imbi1d |  |-  ( ( -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 ) ) ) ) | 
						
							| 202 | 197 201 | syl5ibrcom |  |-  ( ( 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 ) ) ) ) | 
						
							| 203 | 91 | mullidd |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( 1 x. ( 2 x. y ) ) = ( 2 x. y ) ) | 
						
							| 204 | 203 | oveq1d |  |-  ( ( 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 ) ) | 
						
							| 205 | 32 | zred |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( 2 x. y ) e. RR ) | 
						
							| 206 |  | 2nn |  |-  2 e. NN | 
						
							| 207 |  | nnmulcl |  |-  ( ( 2 e. NN /\ y e. NN ) -> ( 2 x. y ) e. NN ) | 
						
							| 208 | 206 152 207 | sylancr |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( 2 x. y ) e. NN ) | 
						
							| 209 | 208 | nnnn0d |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( 2 x. y ) e. NN0 ) | 
						
							| 210 | 209 | nn0ge0d |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> 0 <_ ( 2 x. y ) ) | 
						
							| 211 |  | 2re |  |-  2 e. RR | 
						
							| 212 | 211 | a1i |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> 2 e. RR ) | 
						
							| 213 |  | 2pos |  |-  0 < 2 | 
						
							| 214 | 213 | a1i |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> 0 < 2 ) | 
						
							| 215 |  | lemuldiv2 |  |-  ( ( y e. RR /\ ( P - 1 ) e. RR /\ ( 2 e. RR /\ 0 < 2 ) ) -> ( ( 2 x. y ) <_ ( P - 1 ) <-> y <_ ( ( P - 1 ) / 2 ) ) ) | 
						
							| 216 | 155 166 212 214 215 | syl112anc |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( ( 2 x. y ) <_ ( P - 1 ) <-> y <_ ( ( P - 1 ) / 2 ) ) ) | 
						
							| 217 | 162 216 | mpbird |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( 2 x. y ) <_ ( P - 1 ) ) | 
						
							| 218 |  | zltlem1 |  |-  ( ( ( 2 x. y ) e. ZZ /\ P e. ZZ ) -> ( ( 2 x. y ) < P <-> ( 2 x. y ) <_ ( P - 1 ) ) ) | 
						
							| 219 | 32 104 218 | syl2anc |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( ( 2 x. y ) < P <-> ( 2 x. y ) <_ ( P - 1 ) ) ) | 
						
							| 220 | 217 219 | mpbird |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( 2 x. y ) < P ) | 
						
							| 221 |  | modid |  |-  ( ( ( ( 2 x. y ) e. RR /\ P e. RR+ ) /\ ( 0 <_ ( 2 x. y ) /\ ( 2 x. y ) < P ) ) -> ( ( 2 x. y ) mod P ) = ( 2 x. y ) ) | 
						
							| 222 | 205 64 210 220 221 | syl22anc |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( ( 2 x. y ) mod P ) = ( 2 x. y ) ) | 
						
							| 223 | 204 222 | eqtrd |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( ( 1 x. ( 2 x. y ) ) mod P ) = ( 2 x. y ) ) | 
						
							| 224 | 49 | zred |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( 2 x. x ) e. RR ) | 
						
							| 225 |  | nnmulcl |  |-  ( ( 2 e. NN /\ x e. NN ) -> ( 2 x. x ) e. NN ) | 
						
							| 226 | 206 150 225 | sylancr |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( 2 x. x ) e. NN ) | 
						
							| 227 | 226 | nnnn0d |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( 2 x. x ) e. NN0 ) | 
						
							| 228 | 227 | nn0ge0d |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> 0 <_ ( 2 x. x ) ) | 
						
							| 229 |  | lemuldiv2 |  |-  ( ( x e. RR /\ ( P - 1 ) e. RR /\ ( 2 e. RR /\ 0 < 2 ) ) -> ( ( 2 x. x ) <_ ( P - 1 ) <-> x <_ ( ( P - 1 ) / 2 ) ) ) | 
						
							| 230 | 154 166 212 214 229 | syl112anc |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( ( 2 x. x ) <_ ( P - 1 ) <-> x <_ ( ( P - 1 ) / 2 ) ) ) | 
						
							| 231 | 160 230 | mpbird |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( 2 x. x ) <_ ( P - 1 ) ) | 
						
							| 232 |  | zltlem1 |  |-  ( ( ( 2 x. x ) e. ZZ /\ P e. ZZ ) -> ( ( 2 x. x ) < P <-> ( 2 x. x ) <_ ( P - 1 ) ) ) | 
						
							| 233 | 49 104 232 | syl2anc |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( ( 2 x. x ) < P <-> ( 2 x. x ) <_ ( P - 1 ) ) ) | 
						
							| 234 | 231 233 | mpbird |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( 2 x. x ) < P ) | 
						
							| 235 |  | modid |  |-  ( ( ( ( 2 x. x ) e. RR /\ P e. RR+ ) /\ ( 0 <_ ( 2 x. x ) /\ ( 2 x. x ) < P ) ) -> ( ( 2 x. x ) mod P ) = ( 2 x. x ) ) | 
						
							| 236 | 224 64 228 234 235 | syl22anc |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( ( 2 x. x ) mod P ) = ( 2 x. x ) ) | 
						
							| 237 | 223 236 | eqeq12d |  |-  ( ( 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 ) ) ) | 
						
							| 238 | 237 | biimpd |  |-  ( ( 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 |  |-  ( ( -u 1 ^ ( R + S ) ) = 1 -> ( ( -u 1 ^ ( R + S ) ) x. ( 2 x. y ) ) = ( 1 x. ( 2 x. y ) ) ) | 
						
							| 240 | 239 | oveq1d |  |-  ( ( -u 1 ^ ( R + S ) ) = 1 -> ( ( ( -u 1 ^ ( R + S ) ) x. ( 2 x. y ) ) mod P ) = ( ( 1 x. ( 2 x. y ) ) mod P ) ) | 
						
							| 241 | 240 | eqeq1d |  |-  ( ( -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 ) ) ) | 
						
							| 242 | 241 | imbi1d |  |-  ( ( -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 ) ) ) ) | 
						
							| 243 | 238 242 | syl5ibrcom |  |-  ( ( 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 ) ) ) ) | 
						
							| 244 | 52 39 | nn0addcld |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( R + S ) e. NN0 ) | 
						
							| 245 | 244 | nn0zd |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( R + S ) e. ZZ ) | 
						
							| 246 |  | m1expcl2 |  |-  ( ( R + S ) e. ZZ -> ( -u 1 ^ ( R + S ) ) e. { -u 1 , 1 } ) | 
						
							| 247 |  | elpri |  |-  ( ( -u 1 ^ ( R + S ) ) e. { -u 1 , 1 } -> ( ( -u 1 ^ ( R + S ) ) = -u 1 \/ ( -u 1 ^ ( R + S ) ) = 1 ) ) | 
						
							| 248 | 245 246 247 | 3syl |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( ( -u 1 ^ ( R + S ) ) = -u 1 \/ ( -u 1 ^ ( R + S ) ) = 1 ) ) | 
						
							| 249 | 202 243 248 | mpjaod |  |-  ( ( 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 |  |-  -u 1 e. ZZ | 
						
							| 251 |  | zexpcl |  |-  ( ( -u 1 e. ZZ /\ ( R + S ) e. NN0 ) -> ( -u 1 ^ ( R + S ) ) e. ZZ ) | 
						
							| 252 | 250 244 251 | sylancr |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( -u 1 ^ ( R + S ) ) e. ZZ ) | 
						
							| 253 | 252 32 | zmulcld |  |-  ( ( 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 |  |-  ( ( 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 ) ) ) ) | 
						
							| 255 | 37 253 49 254 | syl3anc |  |-  ( ( 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 ) ) ) ) | 
						
							| 256 | 190 189 59 61 | mulcand |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( ( 2 x. y ) = ( 2 x. x ) <-> y = x ) ) | 
						
							| 257 | 249 255 256 | 3imtr3d |  |-  ( ( 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 ) ) | 
						
							| 258 | 140 257 | sylbid |  |-  ( ( 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 ) ) | 
						
							| 259 | 108 110 258 | 3syld |  |-  ( ( 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 ) ) | 
						
							| 260 | 98 259 | sylbird |  |-  ( ( 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 ) ) | 
						
							| 261 | 83 260 | sylbid |  |-  ( ( 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 ) ) | 
						
							| 262 | 79 261 | sylbid |  |-  ( ( 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 ) ) | 
						
							| 263 | 63 262 | sylbid |  |-  ( ( 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 ) ) | 
						
							| 264 | 23 263 | sylbid |  |-  ( ( ph /\ ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) /\ x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ) ) -> ( ( M ` y ) = ( M ` x ) -> y = x ) ) | 
						
							| 265 | 264 | ralrimivva |  |-  ( ph -> A. y e. ( 1 ... ( ( P - 1 ) / 2 ) ) A. x e. ( 1 ... ( ( P - 1 ) / 2 ) ) ( ( M ` y ) = ( M ` x ) -> y = x ) ) | 
						
							| 266 |  | nfmpt1 |  |-  F/_ x ( x e. ( 1 ... ( ( P - 1 ) / 2 ) ) |-> ( ( ( ( -u 1 ^ R ) x. R ) mod P ) / 2 ) ) | 
						
							| 267 | 5 266 | nfcxfr |  |-  F/_ x M | 
						
							| 268 |  | nfcv |  |-  F/_ x y | 
						
							| 269 | 267 268 | nffv |  |-  F/_ x ( M ` y ) | 
						
							| 270 |  | nfcv |  |-  F/_ x z | 
						
							| 271 | 267 270 | nffv |  |-  F/_ x ( M ` z ) | 
						
							| 272 | 269 271 | nfeq |  |-  F/ x ( M ` y ) = ( M ` z ) | 
						
							| 273 |  | nfv |  |-  F/ x y = z | 
						
							| 274 | 272 273 | nfim |  |-  F/ x ( ( M ` y ) = ( M ` z ) -> y = z ) | 
						
							| 275 |  | nfv |  |-  F/ z ( ( M ` y ) = ( M ` x ) -> y = x ) | 
						
							| 276 |  | fveq2 |  |-  ( z = x -> ( M ` z ) = ( M ` x ) ) | 
						
							| 277 | 276 | eqeq2d |  |-  ( z = x -> ( ( M ` y ) = ( M ` z ) <-> ( M ` y ) = ( M ` x ) ) ) | 
						
							| 278 |  | equequ2 |  |-  ( z = x -> ( y = z <-> y = x ) ) | 
						
							| 279 | 277 278 | imbi12d |  |-  ( z = x -> ( ( ( M ` y ) = ( M ` z ) -> y = z ) <-> ( ( M ` y ) = ( M ` x ) -> y = x ) ) ) | 
						
							| 280 | 274 275 279 | cbvralw |  |-  ( 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 ) ) | 
						
							| 281 | 280 | ralbii |  |-  ( 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 ) ) | 
						
							| 282 | 265 281 | sylibr |  |-  ( ph -> A. y e. ( 1 ... ( ( P - 1 ) / 2 ) ) A. z e. ( 1 ... ( ( P - 1 ) / 2 ) ) ( ( M ` y ) = ( M ` z ) -> y = z ) ) | 
						
							| 283 |  | dff13 |  |-  ( 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 ) ) ) | 
						
							| 284 | 7 282 283 | sylanbrc |  |-  ( ph -> M : ( 1 ... ( ( P - 1 ) / 2 ) ) -1-1-> ( 1 ... ( ( P - 1 ) / 2 ) ) ) | 
						
							| 285 |  | ovex |  |-  ( 1 ... ( ( P - 1 ) / 2 ) ) e. _V | 
						
							| 286 | 285 | enref |  |-  ( 1 ... ( ( P - 1 ) / 2 ) ) ~~ ( 1 ... ( ( P - 1 ) / 2 ) ) | 
						
							| 287 |  | fzfi |  |-  ( 1 ... ( ( P - 1 ) / 2 ) ) e. Fin | 
						
							| 288 |  | f1finf1o |  |-  ( ( ( 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 ) ) ) ) | 
						
							| 289 | 286 287 288 | mp2an |  |-  ( M : ( 1 ... ( ( P - 1 ) / 2 ) ) -1-1-> ( 1 ... ( ( P - 1 ) / 2 ) ) <-> M : ( 1 ... ( ( P - 1 ) / 2 ) ) -1-1-onto-> ( 1 ... ( ( P - 1 ) / 2 ) ) ) | 
						
							| 290 | 284 289 | sylib |  |-  ( ph -> M : ( 1 ... ( ( P - 1 ) / 2 ) ) -1-1-onto-> ( 1 ... ( ( P - 1 ) / 2 ) ) ) |