| Step | Hyp | Ref | Expression | 
						
							| 1 |  | proththd.n |  |-  ( ph -> N e. NN ) | 
						
							| 2 |  | proththd.k |  |-  ( ph -> K e. NN ) | 
						
							| 3 |  | proththd.p |  |-  ( ph -> P = ( ( K x. ( 2 ^ N ) ) + 1 ) ) | 
						
							| 4 |  | proththd.l |  |-  ( ph -> K < ( 2 ^ N ) ) | 
						
							| 5 |  | proththd.x |  |-  ( ph -> E. x e. ZZ ( ( x ^ ( ( P - 1 ) / 2 ) ) mod P ) = ( -u 1 mod P ) ) | 
						
							| 6 |  | 2nn |  |-  2 e. NN | 
						
							| 7 | 6 | a1i |  |-  ( ph -> 2 e. NN ) | 
						
							| 8 | 1 | nnnn0d |  |-  ( ph -> N e. NN0 ) | 
						
							| 9 | 7 8 | nnexpcld |  |-  ( ph -> ( 2 ^ N ) e. NN ) | 
						
							| 10 | 2 | nncnd |  |-  ( ph -> K e. CC ) | 
						
							| 11 | 9 | nncnd |  |-  ( ph -> ( 2 ^ N ) e. CC ) | 
						
							| 12 | 10 11 | mulcomd |  |-  ( ph -> ( K x. ( 2 ^ N ) ) = ( ( 2 ^ N ) x. K ) ) | 
						
							| 13 | 12 | oveq1d |  |-  ( ph -> ( ( K x. ( 2 ^ N ) ) + 1 ) = ( ( ( 2 ^ N ) x. K ) + 1 ) ) | 
						
							| 14 | 3 13 | eqtrd |  |-  ( ph -> P = ( ( ( 2 ^ N ) x. K ) + 1 ) ) | 
						
							| 15 |  | simpr |  |-  ( ( ph /\ p e. Prime ) -> p e. Prime ) | 
						
							| 16 |  | 2prm |  |-  2 e. Prime | 
						
							| 17 | 16 | a1i |  |-  ( ( ph /\ p e. Prime ) -> 2 e. Prime ) | 
						
							| 18 | 1 | adantr |  |-  ( ( ph /\ p e. Prime ) -> N e. NN ) | 
						
							| 19 |  | prmdvdsexpb |  |-  ( ( p e. Prime /\ 2 e. Prime /\ N e. NN ) -> ( p || ( 2 ^ N ) <-> p = 2 ) ) | 
						
							| 20 | 15 17 18 19 | syl3anc |  |-  ( ( ph /\ p e. Prime ) -> ( p || ( 2 ^ N ) <-> p = 2 ) ) | 
						
							| 21 | 1 2 3 | proththdlem |  |-  ( ph -> ( P e. NN /\ 1 < P /\ ( ( P - 1 ) / 2 ) e. NN ) ) | 
						
							| 22 | 21 | simp1d |  |-  ( ph -> P e. NN ) | 
						
							| 23 | 22 | nncnd |  |-  ( ph -> P e. CC ) | 
						
							| 24 |  | peano2cnm |  |-  ( P e. CC -> ( P - 1 ) e. CC ) | 
						
							| 25 | 23 24 | syl |  |-  ( ph -> ( P - 1 ) e. CC ) | 
						
							| 26 | 25 | adantr |  |-  ( ( ph /\ x e. ZZ ) -> ( P - 1 ) e. CC ) | 
						
							| 27 |  | 2cnd |  |-  ( ( ph /\ x e. ZZ ) -> 2 e. CC ) | 
						
							| 28 |  | 2ne0 |  |-  2 =/= 0 | 
						
							| 29 | 28 | a1i |  |-  ( ( ph /\ x e. ZZ ) -> 2 =/= 0 ) | 
						
							| 30 | 26 27 29 | divcan1d |  |-  ( ( ph /\ x e. ZZ ) -> ( ( ( P - 1 ) / 2 ) x. 2 ) = ( P - 1 ) ) | 
						
							| 31 | 30 | eqcomd |  |-  ( ( ph /\ x e. ZZ ) -> ( P - 1 ) = ( ( ( P - 1 ) / 2 ) x. 2 ) ) | 
						
							| 32 | 31 | oveq2d |  |-  ( ( ph /\ x e. ZZ ) -> ( x ^ ( P - 1 ) ) = ( x ^ ( ( ( P - 1 ) / 2 ) x. 2 ) ) ) | 
						
							| 33 |  | zcn |  |-  ( x e. ZZ -> x e. CC ) | 
						
							| 34 | 33 | adantl |  |-  ( ( ph /\ x e. ZZ ) -> x e. CC ) | 
						
							| 35 |  | 2nn0 |  |-  2 e. NN0 | 
						
							| 36 | 35 | a1i |  |-  ( ( ph /\ x e. ZZ ) -> 2 e. NN0 ) | 
						
							| 37 | 21 | simp3d |  |-  ( ph -> ( ( P - 1 ) / 2 ) e. NN ) | 
						
							| 38 | 37 | nnnn0d |  |-  ( ph -> ( ( P - 1 ) / 2 ) e. NN0 ) | 
						
							| 39 | 38 | adantr |  |-  ( ( ph /\ x e. ZZ ) -> ( ( P - 1 ) / 2 ) e. NN0 ) | 
						
							| 40 | 34 36 39 | expmuld |  |-  ( ( ph /\ x e. ZZ ) -> ( x ^ ( ( ( P - 1 ) / 2 ) x. 2 ) ) = ( ( x ^ ( ( P - 1 ) / 2 ) ) ^ 2 ) ) | 
						
							| 41 | 32 40 | eqtrd |  |-  ( ( ph /\ x e. ZZ ) -> ( x ^ ( P - 1 ) ) = ( ( x ^ ( ( P - 1 ) / 2 ) ) ^ 2 ) ) | 
						
							| 42 | 41 | ad4ant13 |  |-  ( ( ( ( ph /\ p = 2 ) /\ x e. ZZ ) /\ ( ( x ^ ( ( P - 1 ) / 2 ) ) mod P ) = ( -u 1 mod P ) ) -> ( x ^ ( P - 1 ) ) = ( ( x ^ ( ( P - 1 ) / 2 ) ) ^ 2 ) ) | 
						
							| 43 | 42 | oveq1d |  |-  ( ( ( ( ph /\ p = 2 ) /\ x e. ZZ ) /\ ( ( x ^ ( ( P - 1 ) / 2 ) ) mod P ) = ( -u 1 mod P ) ) -> ( ( x ^ ( P - 1 ) ) mod P ) = ( ( ( x ^ ( ( P - 1 ) / 2 ) ) ^ 2 ) mod P ) ) | 
						
							| 44 | 38 | adantr |  |-  ( ( ph /\ p = 2 ) -> ( ( P - 1 ) / 2 ) e. NN0 ) | 
						
							| 45 | 44 | anim1i |  |-  ( ( ( ph /\ p = 2 ) /\ x e. ZZ ) -> ( ( ( P - 1 ) / 2 ) e. NN0 /\ x e. ZZ ) ) | 
						
							| 46 | 45 | ancomd |  |-  ( ( ( ph /\ p = 2 ) /\ x e. ZZ ) -> ( x e. ZZ /\ ( ( P - 1 ) / 2 ) e. NN0 ) ) | 
						
							| 47 |  | zexpcl |  |-  ( ( x e. ZZ /\ ( ( P - 1 ) / 2 ) e. NN0 ) -> ( x ^ ( ( P - 1 ) / 2 ) ) e. ZZ ) | 
						
							| 48 | 46 47 | syl |  |-  ( ( ( ph /\ p = 2 ) /\ x e. ZZ ) -> ( x ^ ( ( P - 1 ) / 2 ) ) e. ZZ ) | 
						
							| 49 | 48 | adantr |  |-  ( ( ( ( ph /\ p = 2 ) /\ x e. ZZ ) /\ ( ( x ^ ( ( P - 1 ) / 2 ) ) mod P ) = ( -u 1 mod P ) ) -> ( x ^ ( ( P - 1 ) / 2 ) ) e. ZZ ) | 
						
							| 50 | 22 | nnrpd |  |-  ( ph -> P e. RR+ ) | 
						
							| 51 | 50 | ad3antrrr |  |-  ( ( ( ( ph /\ p = 2 ) /\ x e. ZZ ) /\ ( ( x ^ ( ( P - 1 ) / 2 ) ) mod P ) = ( -u 1 mod P ) ) -> P e. RR+ ) | 
						
							| 52 | 21 | simp2d |  |-  ( ph -> 1 < P ) | 
						
							| 53 | 52 | ad3antrrr |  |-  ( ( ( ( ph /\ p = 2 ) /\ x e. ZZ ) /\ ( ( x ^ ( ( P - 1 ) / 2 ) ) mod P ) = ( -u 1 mod P ) ) -> 1 < P ) | 
						
							| 54 |  | simpr |  |-  ( ( ( ( ph /\ p = 2 ) /\ x e. ZZ ) /\ ( ( x ^ ( ( P - 1 ) / 2 ) ) mod P ) = ( -u 1 mod P ) ) -> ( ( x ^ ( ( P - 1 ) / 2 ) ) mod P ) = ( -u 1 mod P ) ) | 
						
							| 55 | 49 51 53 54 | modexp2m1d |  |-  ( ( ( ( ph /\ p = 2 ) /\ x e. ZZ ) /\ ( ( x ^ ( ( P - 1 ) / 2 ) ) mod P ) = ( -u 1 mod P ) ) -> ( ( ( x ^ ( ( P - 1 ) / 2 ) ) ^ 2 ) mod P ) = 1 ) | 
						
							| 56 | 43 55 | eqtrd |  |-  ( ( ( ( ph /\ p = 2 ) /\ x e. ZZ ) /\ ( ( x ^ ( ( P - 1 ) / 2 ) ) mod P ) = ( -u 1 mod P ) ) -> ( ( x ^ ( P - 1 ) ) mod P ) = 1 ) | 
						
							| 57 |  | oveq2 |  |-  ( p = 2 -> ( ( P - 1 ) / p ) = ( ( P - 1 ) / 2 ) ) | 
						
							| 58 | 57 | eleq1d |  |-  ( p = 2 -> ( ( ( P - 1 ) / p ) e. NN0 <-> ( ( P - 1 ) / 2 ) e. NN0 ) ) | 
						
							| 59 | 58 | adantl |  |-  ( ( ph /\ p = 2 ) -> ( ( ( P - 1 ) / p ) e. NN0 <-> ( ( P - 1 ) / 2 ) e. NN0 ) ) | 
						
							| 60 | 44 59 | mpbird |  |-  ( ( ph /\ p = 2 ) -> ( ( P - 1 ) / p ) e. NN0 ) | 
						
							| 61 | 60 | anim2i |  |-  ( ( x e. ZZ /\ ( ph /\ p = 2 ) ) -> ( x e. ZZ /\ ( ( P - 1 ) / p ) e. NN0 ) ) | 
						
							| 62 | 61 | ancoms |  |-  ( ( ( ph /\ p = 2 ) /\ x e. ZZ ) -> ( x e. ZZ /\ ( ( P - 1 ) / p ) e. NN0 ) ) | 
						
							| 63 |  | zexpcl |  |-  ( ( x e. ZZ /\ ( ( P - 1 ) / p ) e. NN0 ) -> ( x ^ ( ( P - 1 ) / p ) ) e. ZZ ) | 
						
							| 64 | 62 63 | syl |  |-  ( ( ( ph /\ p = 2 ) /\ x e. ZZ ) -> ( x ^ ( ( P - 1 ) / p ) ) e. ZZ ) | 
						
							| 65 | 64 | zred |  |-  ( ( ( ph /\ p = 2 ) /\ x e. ZZ ) -> ( x ^ ( ( P - 1 ) / p ) ) e. RR ) | 
						
							| 66 | 65 | adantr |  |-  ( ( ( ( ph /\ p = 2 ) /\ x e. ZZ ) /\ ( ( x ^ ( ( P - 1 ) / 2 ) ) mod P ) = ( -u 1 mod P ) ) -> ( x ^ ( ( P - 1 ) / p ) ) e. RR ) | 
						
							| 67 |  | 1red |  |-  ( ( ( ( ph /\ p = 2 ) /\ x e. ZZ ) /\ ( ( x ^ ( ( P - 1 ) / 2 ) ) mod P ) = ( -u 1 mod P ) ) -> 1 e. RR ) | 
						
							| 68 | 67 | renegcld |  |-  ( ( ( ( ph /\ p = 2 ) /\ x e. ZZ ) /\ ( ( x ^ ( ( P - 1 ) / 2 ) ) mod P ) = ( -u 1 mod P ) ) -> -u 1 e. RR ) | 
						
							| 69 |  | oveq2 |  |-  ( 2 = p -> ( ( P - 1 ) / 2 ) = ( ( P - 1 ) / p ) ) | 
						
							| 70 | 69 | eqcoms |  |-  ( p = 2 -> ( ( P - 1 ) / 2 ) = ( ( P - 1 ) / p ) ) | 
						
							| 71 | 70 | oveq2d |  |-  ( p = 2 -> ( x ^ ( ( P - 1 ) / 2 ) ) = ( x ^ ( ( P - 1 ) / p ) ) ) | 
						
							| 72 | 71 | oveq1d |  |-  ( p = 2 -> ( ( x ^ ( ( P - 1 ) / 2 ) ) mod P ) = ( ( x ^ ( ( P - 1 ) / p ) ) mod P ) ) | 
						
							| 73 | 72 | eqeq1d |  |-  ( p = 2 -> ( ( ( x ^ ( ( P - 1 ) / 2 ) ) mod P ) = ( -u 1 mod P ) <-> ( ( x ^ ( ( P - 1 ) / p ) ) mod P ) = ( -u 1 mod P ) ) ) | 
						
							| 74 | 73 | adantl |  |-  ( ( ph /\ p = 2 ) -> ( ( ( x ^ ( ( P - 1 ) / 2 ) ) mod P ) = ( -u 1 mod P ) <-> ( ( x ^ ( ( P - 1 ) / p ) ) mod P ) = ( -u 1 mod P ) ) ) | 
						
							| 75 | 74 | adantr |  |-  ( ( ( ph /\ p = 2 ) /\ x e. ZZ ) -> ( ( ( x ^ ( ( P - 1 ) / 2 ) ) mod P ) = ( -u 1 mod P ) <-> ( ( x ^ ( ( P - 1 ) / p ) ) mod P ) = ( -u 1 mod P ) ) ) | 
						
							| 76 | 75 | biimpa |  |-  ( ( ( ( ph /\ p = 2 ) /\ x e. ZZ ) /\ ( ( x ^ ( ( P - 1 ) / 2 ) ) mod P ) = ( -u 1 mod P ) ) -> ( ( x ^ ( ( P - 1 ) / p ) ) mod P ) = ( -u 1 mod P ) ) | 
						
							| 77 |  | eqidd |  |-  ( ( ( ( ph /\ p = 2 ) /\ x e. ZZ ) /\ ( ( x ^ ( ( P - 1 ) / 2 ) ) mod P ) = ( -u 1 mod P ) ) -> ( 1 mod P ) = ( 1 mod P ) ) | 
						
							| 78 | 66 68 67 67 51 76 77 | modsub12d |  |-  ( ( ( ( ph /\ p = 2 ) /\ x e. ZZ ) /\ ( ( x ^ ( ( P - 1 ) / 2 ) ) mod P ) = ( -u 1 mod P ) ) -> ( ( ( x ^ ( ( P - 1 ) / p ) ) - 1 ) mod P ) = ( ( -u 1 - 1 ) mod P ) ) | 
						
							| 79 | 78 | oveq1d |  |-  ( ( ( ( ph /\ p = 2 ) /\ x e. ZZ ) /\ ( ( x ^ ( ( P - 1 ) / 2 ) ) mod P ) = ( -u 1 mod P ) ) -> ( ( ( ( x ^ ( ( P - 1 ) / p ) ) - 1 ) mod P ) gcd P ) = ( ( ( -u 1 - 1 ) mod P ) gcd P ) ) | 
						
							| 80 |  | peano2zm |  |-  ( ( x ^ ( ( P - 1 ) / p ) ) e. ZZ -> ( ( x ^ ( ( P - 1 ) / p ) ) - 1 ) e. ZZ ) | 
						
							| 81 | 64 80 | syl |  |-  ( ( ( ph /\ p = 2 ) /\ x e. ZZ ) -> ( ( x ^ ( ( P - 1 ) / p ) ) - 1 ) e. ZZ ) | 
						
							| 82 | 22 | ad2antrr |  |-  ( ( ( ph /\ p = 2 ) /\ x e. ZZ ) -> P e. NN ) | 
						
							| 83 |  | modgcd |  |-  ( ( ( ( x ^ ( ( P - 1 ) / p ) ) - 1 ) e. ZZ /\ P e. NN ) -> ( ( ( ( x ^ ( ( P - 1 ) / p ) ) - 1 ) mod P ) gcd P ) = ( ( ( x ^ ( ( P - 1 ) / p ) ) - 1 ) gcd P ) ) | 
						
							| 84 | 81 82 83 | syl2anc |  |-  ( ( ( ph /\ p = 2 ) /\ x e. ZZ ) -> ( ( ( ( x ^ ( ( P - 1 ) / p ) ) - 1 ) mod P ) gcd P ) = ( ( ( x ^ ( ( P - 1 ) / p ) ) - 1 ) gcd P ) ) | 
						
							| 85 | 84 | adantr |  |-  ( ( ( ( ph /\ p = 2 ) /\ x e. ZZ ) /\ ( ( x ^ ( ( P - 1 ) / 2 ) ) mod P ) = ( -u 1 mod P ) ) -> ( ( ( ( x ^ ( ( P - 1 ) / p ) ) - 1 ) mod P ) gcd P ) = ( ( ( x ^ ( ( P - 1 ) / p ) ) - 1 ) gcd P ) ) | 
						
							| 86 |  | ax-1cn |  |-  1 e. CC | 
						
							| 87 |  | negdi2 |  |-  ( ( 1 e. CC /\ 1 e. CC ) -> -u ( 1 + 1 ) = ( -u 1 - 1 ) ) | 
						
							| 88 | 87 | eqcomd |  |-  ( ( 1 e. CC /\ 1 e. CC ) -> ( -u 1 - 1 ) = -u ( 1 + 1 ) ) | 
						
							| 89 | 86 86 88 | mp2an |  |-  ( -u 1 - 1 ) = -u ( 1 + 1 ) | 
						
							| 90 |  | 1p1e2 |  |-  ( 1 + 1 ) = 2 | 
						
							| 91 | 90 | negeqi |  |-  -u ( 1 + 1 ) = -u 2 | 
						
							| 92 | 89 91 | eqtri |  |-  ( -u 1 - 1 ) = -u 2 | 
						
							| 93 | 92 | a1i |  |-  ( ph -> ( -u 1 - 1 ) = -u 2 ) | 
						
							| 94 | 93 | oveq1d |  |-  ( ph -> ( ( -u 1 - 1 ) mod P ) = ( -u 2 mod P ) ) | 
						
							| 95 | 94 | oveq1d |  |-  ( ph -> ( ( ( -u 1 - 1 ) mod P ) gcd P ) = ( ( -u 2 mod P ) gcd P ) ) | 
						
							| 96 |  | nnnegz |  |-  ( 2 e. NN -> -u 2 e. ZZ ) | 
						
							| 97 | 7 96 | syl |  |-  ( ph -> -u 2 e. ZZ ) | 
						
							| 98 |  | modgcd |  |-  ( ( -u 2 e. ZZ /\ P e. NN ) -> ( ( -u 2 mod P ) gcd P ) = ( -u 2 gcd P ) ) | 
						
							| 99 | 97 22 98 | syl2anc |  |-  ( ph -> ( ( -u 2 mod P ) gcd P ) = ( -u 2 gcd P ) ) | 
						
							| 100 |  | 2z |  |-  2 e. ZZ | 
						
							| 101 | 22 | nnzd |  |-  ( ph -> P e. ZZ ) | 
						
							| 102 |  | neggcd |  |-  ( ( 2 e. ZZ /\ P e. ZZ ) -> ( -u 2 gcd P ) = ( 2 gcd P ) ) | 
						
							| 103 | 100 101 102 | sylancr |  |-  ( ph -> ( -u 2 gcd P ) = ( 2 gcd P ) ) | 
						
							| 104 |  | nnz |  |-  ( P e. NN -> P e. ZZ ) | 
						
							| 105 |  | oddm1d2 |  |-  ( P e. ZZ -> ( -. 2 || P <-> ( ( P - 1 ) / 2 ) e. ZZ ) ) | 
						
							| 106 | 104 105 | syl |  |-  ( P e. NN -> ( -. 2 || P <-> ( ( P - 1 ) / 2 ) e. ZZ ) ) | 
						
							| 107 | 106 | biimprd |  |-  ( P e. NN -> ( ( ( P - 1 ) / 2 ) e. ZZ -> -. 2 || P ) ) | 
						
							| 108 |  | nnz |  |-  ( ( ( P - 1 ) / 2 ) e. NN -> ( ( P - 1 ) / 2 ) e. ZZ ) | 
						
							| 109 | 107 108 | impel |  |-  ( ( P e. NN /\ ( ( P - 1 ) / 2 ) e. NN ) -> -. 2 || P ) | 
						
							| 110 |  | isoddgcd1 |  |-  ( P e. ZZ -> ( -. 2 || P <-> ( 2 gcd P ) = 1 ) ) | 
						
							| 111 | 104 110 | syl |  |-  ( P e. NN -> ( -. 2 || P <-> ( 2 gcd P ) = 1 ) ) | 
						
							| 112 | 111 | adantr |  |-  ( ( P e. NN /\ ( ( P - 1 ) / 2 ) e. NN ) -> ( -. 2 || P <-> ( 2 gcd P ) = 1 ) ) | 
						
							| 113 | 109 112 | mpbid |  |-  ( ( P e. NN /\ ( ( P - 1 ) / 2 ) e. NN ) -> ( 2 gcd P ) = 1 ) | 
						
							| 114 | 113 | 3adant2 |  |-  ( ( P e. NN /\ 1 < P /\ ( ( P - 1 ) / 2 ) e. NN ) -> ( 2 gcd P ) = 1 ) | 
						
							| 115 | 21 114 | syl |  |-  ( ph -> ( 2 gcd P ) = 1 ) | 
						
							| 116 | 103 115 | eqtrd |  |-  ( ph -> ( -u 2 gcd P ) = 1 ) | 
						
							| 117 | 99 116 | eqtrd |  |-  ( ph -> ( ( -u 2 mod P ) gcd P ) = 1 ) | 
						
							| 118 | 95 117 | eqtrd |  |-  ( ph -> ( ( ( -u 1 - 1 ) mod P ) gcd P ) = 1 ) | 
						
							| 119 | 118 | ad3antrrr |  |-  ( ( ( ( ph /\ p = 2 ) /\ x e. ZZ ) /\ ( ( x ^ ( ( P - 1 ) / 2 ) ) mod P ) = ( -u 1 mod P ) ) -> ( ( ( -u 1 - 1 ) mod P ) gcd P ) = 1 ) | 
						
							| 120 | 79 85 119 | 3eqtr3d |  |-  ( ( ( ( ph /\ p = 2 ) /\ x e. ZZ ) /\ ( ( x ^ ( ( P - 1 ) / 2 ) ) mod P ) = ( -u 1 mod P ) ) -> ( ( ( x ^ ( ( P - 1 ) / p ) ) - 1 ) gcd P ) = 1 ) | 
						
							| 121 | 56 120 | jca |  |-  ( ( ( ( ph /\ p = 2 ) /\ x e. ZZ ) /\ ( ( x ^ ( ( P - 1 ) / 2 ) ) mod P ) = ( -u 1 mod P ) ) -> ( ( ( x ^ ( P - 1 ) ) mod P ) = 1 /\ ( ( ( x ^ ( ( P - 1 ) / p ) ) - 1 ) gcd P ) = 1 ) ) | 
						
							| 122 | 121 | ex |  |-  ( ( ( ph /\ p = 2 ) /\ x e. ZZ ) -> ( ( ( x ^ ( ( P - 1 ) / 2 ) ) mod P ) = ( -u 1 mod P ) -> ( ( ( x ^ ( P - 1 ) ) mod P ) = 1 /\ ( ( ( x ^ ( ( P - 1 ) / p ) ) - 1 ) gcd P ) = 1 ) ) ) | 
						
							| 123 | 122 | reximdva |  |-  ( ( ph /\ p = 2 ) -> ( E. x e. ZZ ( ( x ^ ( ( P - 1 ) / 2 ) ) mod P ) = ( -u 1 mod P ) -> E. x e. ZZ ( ( ( x ^ ( P - 1 ) ) mod P ) = 1 /\ ( ( ( x ^ ( ( P - 1 ) / p ) ) - 1 ) gcd P ) = 1 ) ) ) | 
						
							| 124 | 123 | ex |  |-  ( ph -> ( p = 2 -> ( E. x e. ZZ ( ( x ^ ( ( P - 1 ) / 2 ) ) mod P ) = ( -u 1 mod P ) -> E. x e. ZZ ( ( ( x ^ ( P - 1 ) ) mod P ) = 1 /\ ( ( ( x ^ ( ( P - 1 ) / p ) ) - 1 ) gcd P ) = 1 ) ) ) ) | 
						
							| 125 | 5 124 | mpid |  |-  ( ph -> ( p = 2 -> E. x e. ZZ ( ( ( x ^ ( P - 1 ) ) mod P ) = 1 /\ ( ( ( x ^ ( ( P - 1 ) / p ) ) - 1 ) gcd P ) = 1 ) ) ) | 
						
							| 126 | 125 | adantr |  |-  ( ( ph /\ p e. Prime ) -> ( p = 2 -> E. x e. ZZ ( ( ( x ^ ( P - 1 ) ) mod P ) = 1 /\ ( ( ( x ^ ( ( P - 1 ) / p ) ) - 1 ) gcd P ) = 1 ) ) ) | 
						
							| 127 | 20 126 | sylbid |  |-  ( ( ph /\ p e. Prime ) -> ( p || ( 2 ^ N ) -> E. x e. ZZ ( ( ( x ^ ( P - 1 ) ) mod P ) = 1 /\ ( ( ( x ^ ( ( P - 1 ) / p ) ) - 1 ) gcd P ) = 1 ) ) ) | 
						
							| 128 | 127 | ralrimiva |  |-  ( ph -> A. p e. Prime ( p || ( 2 ^ N ) -> E. x e. ZZ ( ( ( x ^ ( P - 1 ) ) mod P ) = 1 /\ ( ( ( x ^ ( ( P - 1 ) / p ) ) - 1 ) gcd P ) = 1 ) ) ) | 
						
							| 129 | 9 2 4 14 128 | pockthg |  |-  ( ph -> P e. Prime ) |