| Step | Hyp | Ref | Expression | 
						
							| 1 |  | iffalse |  | 
						
							| 2 | 1 | necon1ai |  | 
						
							| 3 |  | iftrue |  | 
						
							| 4 |  | ax-1ne0 |  | 
						
							| 5 | 4 | a1i |  | 
						
							| 6 | 3 5 | eqnetrd |  | 
						
							| 7 | 2 6 | impbii |  | 
						
							| 8 |  | zre |  | 
						
							| 9 | 8 | ad2antrr |  | 
						
							| 10 |  | absresq |  | 
						
							| 11 | 9 10 | syl |  | 
						
							| 12 |  | sq1 |  | 
						
							| 13 | 12 | a1i |  | 
						
							| 14 | 11 13 | eqeq12d |  | 
						
							| 15 | 9 | recnd |  | 
						
							| 16 | 15 | abscld |  | 
						
							| 17 | 15 | absge0d |  | 
						
							| 18 |  | 1re |  | 
						
							| 19 |  | 0le1 |  | 
						
							| 20 |  | sq11 |  | 
						
							| 21 | 18 19 20 | mpanr12 |  | 
						
							| 22 | 16 17 21 | syl2anc |  | 
						
							| 23 | 14 22 | bitr3d |  | 
						
							| 24 | 7 23 | bitrid |  | 
						
							| 25 |  | oveq2 |  | 
						
							| 26 |  | lgs0 |  | 
						
							| 27 | 26 | adantr |  | 
						
							| 28 | 25 27 | sylan9eqr |  | 
						
							| 29 | 28 | neeq1d |  | 
						
							| 30 |  | oveq2 |  | 
						
							| 31 |  | gcdid0 |  | 
						
							| 32 | 31 | adantr |  | 
						
							| 33 | 30 32 | sylan9eqr |  | 
						
							| 34 | 33 | eqeq1d |  | 
						
							| 35 | 24 29 34 | 3bitr4d |  | 
						
							| 36 |  | eqid |  | 
						
							| 37 | 36 | lgsval4 |  | 
						
							| 38 | 37 | neeq1d |  | 
						
							| 39 |  | neeq1 |  | 
						
							| 40 |  | neeq1 |  | 
						
							| 41 |  | neg1ne0 |  | 
						
							| 42 | 39 40 41 4 | keephyp |  | 
						
							| 43 | 42 | biantrur |  | 
						
							| 44 |  | neg1cn |  | 
						
							| 45 |  | ax-1cn |  | 
						
							| 46 | 44 45 | ifcli |  | 
						
							| 47 | 46 | a1i |  | 
						
							| 48 |  | nnabscl |  | 
						
							| 49 | 48 | 3adant1 |  | 
						
							| 50 |  | nnuz |  | 
						
							| 51 | 49 50 | eleqtrdi |  | 
						
							| 52 | 36 | lgsfcl3 |  | 
						
							| 53 |  | elfznn |  | 
						
							| 54 |  | ffvelcdm |  | 
						
							| 55 | 52 53 54 | syl2an |  | 
						
							| 56 | 55 | zcnd |  | 
						
							| 57 |  | mulcl |  | 
						
							| 58 | 57 | adantl |  | 
						
							| 59 | 51 56 58 | seqcl |  | 
						
							| 60 | 47 59 | mulne0bd |  | 
						
							| 61 | 43 60 | bitr2id |  | 
						
							| 62 |  | gcd2n0cl |  | 
						
							| 63 |  | eluz2b3 |  | 
						
							| 64 |  | exprmfct |  | 
						
							| 65 | 63 64 | sylbir |  | 
						
							| 66 | 57 | adantl |  | 
						
							| 67 | 56 | adantlr |  | 
						
							| 68 |  | mul02 |  | 
						
							| 69 | 68 | adantl |  | 
						
							| 70 |  | mul01 |  | 
						
							| 71 | 70 | adantl |  | 
						
							| 72 |  | simprr |  | 
						
							| 73 |  | prmz |  | 
						
							| 74 | 73 | ad2antrl |  | 
						
							| 75 |  | simpl1 |  | 
						
							| 76 |  | simpl2 |  | 
						
							| 77 |  | dvdsgcdb |  | 
						
							| 78 | 74 75 76 77 | syl3anc |  | 
						
							| 79 | 72 78 | mpbird |  | 
						
							| 80 | 79 | simprd |  | 
						
							| 81 |  | dvdsabsb |  | 
						
							| 82 | 74 76 81 | syl2anc |  | 
						
							| 83 | 80 82 | mpbid |  | 
						
							| 84 | 49 | adantr |  | 
						
							| 85 |  | dvdsle |  | 
						
							| 86 | 74 84 85 | syl2anc |  | 
						
							| 87 | 83 86 | mpd |  | 
						
							| 88 |  | prmnn |  | 
						
							| 89 | 88 | ad2antrl |  | 
						
							| 90 | 89 50 | eleqtrdi |  | 
						
							| 91 | 84 | nnzd |  | 
						
							| 92 |  | elfz5 |  | 
						
							| 93 | 90 91 92 | syl2anc |  | 
						
							| 94 | 87 93 | mpbird |  | 
						
							| 95 |  | eleq1w |  | 
						
							| 96 |  | oveq2 |  | 
						
							| 97 |  | oveq1 |  | 
						
							| 98 | 96 97 | oveq12d |  | 
						
							| 99 | 95 98 | ifbieq1d |  | 
						
							| 100 |  | ovex |  | 
						
							| 101 |  | 1ex |  | 
						
							| 102 | 100 101 | ifex |  | 
						
							| 103 | 99 36 102 | fvmpt |  | 
						
							| 104 | 89 103 | syl |  | 
						
							| 105 |  | iftrue |  | 
						
							| 106 | 105 | ad2antrl |  | 
						
							| 107 |  | oveq2 |  | 
						
							| 108 |  | lgs2 |  | 
						
							| 109 | 75 108 | syl |  | 
						
							| 110 | 107 109 | sylan9eqr |  | 
						
							| 111 |  | simpr |  | 
						
							| 112 | 79 | simpld |  | 
						
							| 113 | 112 | adantr |  | 
						
							| 114 | 111 113 | eqbrtrrd |  | 
						
							| 115 | 114 | iftrued |  | 
						
							| 116 | 110 115 | eqtrd |  | 
						
							| 117 |  | simpll1 |  | 
						
							| 118 |  | simprl |  | 
						
							| 119 | 118 | adantr |  | 
						
							| 120 |  | simpr |  | 
						
							| 121 |  | eldifsn |  | 
						
							| 122 | 119 120 121 | sylanbrc |  | 
						
							| 123 |  | lgsval3 |  | 
						
							| 124 | 117 122 123 | syl2anc |  | 
						
							| 125 |  | oddprm |  | 
						
							| 126 | 122 125 | syl |  | 
						
							| 127 | 126 | nnnn0d |  | 
						
							| 128 |  | zexpcl |  | 
						
							| 129 | 117 127 128 | syl2anc |  | 
						
							| 130 | 129 | zred |  | 
						
							| 131 |  | 0red |  | 
						
							| 132 | 18 | a1i |  | 
						
							| 133 | 119 88 | syl |  | 
						
							| 134 | 133 | nnrpd |  | 
						
							| 135 |  | 0zd |  | 
						
							| 136 | 112 | adantr |  | 
						
							| 137 |  | dvdsval3 |  | 
						
							| 138 | 133 117 137 | syl2anc |  | 
						
							| 139 | 136 138 | mpbid |  | 
						
							| 140 |  | 0mod |  | 
						
							| 141 | 134 140 | syl |  | 
						
							| 142 | 139 141 | eqtr4d |  | 
						
							| 143 |  | modexp |  | 
						
							| 144 | 117 135 127 134 142 143 | syl221anc |  | 
						
							| 145 | 126 | 0expd |  | 
						
							| 146 | 145 | oveq1d |  | 
						
							| 147 | 144 146 | eqtrd |  | 
						
							| 148 |  | modadd1 |  | 
						
							| 149 | 130 131 132 134 147 148 | syl221anc |  | 
						
							| 150 |  | 0p1e1 |  | 
						
							| 151 | 150 | oveq1i |  | 
						
							| 152 | 149 151 | eqtrdi |  | 
						
							| 153 | 133 | nnred |  | 
						
							| 154 |  | prmuz2 |  | 
						
							| 155 | 119 154 | syl |  | 
						
							| 156 |  | eluz2b2 |  | 
						
							| 157 | 155 156 | sylib |  | 
						
							| 158 | 157 | simprd |  | 
						
							| 159 |  | 1mod |  | 
						
							| 160 | 153 158 159 | syl2anc |  | 
						
							| 161 | 152 160 | eqtrd |  | 
						
							| 162 | 161 | oveq1d |  | 
						
							| 163 |  | 1m1e0 |  | 
						
							| 164 | 162 163 | eqtrdi |  | 
						
							| 165 | 124 164 | eqtrd |  | 
						
							| 166 | 116 165 | pm2.61dane |  | 
						
							| 167 | 166 | oveq1d |  | 
						
							| 168 |  | zq |  | 
						
							| 169 | 76 168 | syl |  | 
						
							| 170 |  | pcabs |  | 
						
							| 171 | 118 169 170 | syl2anc |  | 
						
							| 172 |  | pcelnn |  | 
						
							| 173 | 118 84 172 | syl2anc |  | 
						
							| 174 | 83 173 | mpbird |  | 
						
							| 175 | 171 174 | eqeltrrd |  | 
						
							| 176 | 175 | 0expd |  | 
						
							| 177 | 167 176 | eqtrd |  | 
						
							| 178 | 104 106 177 | 3eqtrd |  | 
						
							| 179 | 66 67 69 71 94 84 178 | seqz |  | 
						
							| 180 | 179 | rexlimdvaa |  | 
						
							| 181 | 65 180 | syl5 |  | 
						
							| 182 | 62 181 | mpand |  | 
						
							| 183 | 182 | necon1d |  | 
						
							| 184 | 51 | adantr |  | 
						
							| 185 | 53 | adantl |  | 
						
							| 186 |  | eleq1w |  | 
						
							| 187 |  | oveq2 |  | 
						
							| 188 |  | oveq1 |  | 
						
							| 189 | 187 188 | oveq12d |  | 
						
							| 190 | 186 189 | ifbieq1d |  | 
						
							| 191 |  | ovex |  | 
						
							| 192 | 191 101 | ifex |  | 
						
							| 193 | 190 36 192 | fvmpt |  | 
						
							| 194 | 185 193 | syl |  | 
						
							| 195 |  | simpll1 |  | 
						
							| 196 |  | prmz |  | 
						
							| 197 | 196 | adantl |  | 
						
							| 198 |  | lgscl |  | 
						
							| 199 | 195 197 198 | syl2anc |  | 
						
							| 200 | 199 | zcnd |  | 
						
							| 201 | 200 | adantr |  | 
						
							| 202 |  | oveq2 |  | 
						
							| 203 | 195 | adantr |  | 
						
							| 204 | 203 108 | syl |  | 
						
							| 205 | 202 204 | sylan9eqr |  | 
						
							| 206 |  | nprmdvds1 |  | 
						
							| 207 | 206 | adantl |  | 
						
							| 208 |  | simpll2 |  | 
						
							| 209 |  | dvdsgcdb |  | 
						
							| 210 | 197 195 208 209 | syl3anc |  | 
						
							| 211 |  | simplr |  | 
						
							| 212 | 211 | breq2d |  | 
						
							| 213 | 210 212 | bitrd |  | 
						
							| 214 | 207 213 | mtbird |  | 
						
							| 215 |  | imnan |  | 
						
							| 216 | 214 215 | sylibr |  | 
						
							| 217 | 216 | con2d |  | 
						
							| 218 | 217 | imp |  | 
						
							| 219 |  | breq1 |  | 
						
							| 220 | 219 | notbid |  | 
						
							| 221 | 218 220 | syl5ibcom |  | 
						
							| 222 | 221 | imp |  | 
						
							| 223 | 222 | iffalsed |  | 
						
							| 224 | 205 223 | eqtrd |  | 
						
							| 225 |  | neeq1 |  | 
						
							| 226 |  | neeq1 |  | 
						
							| 227 | 225 226 4 41 | keephyp |  | 
						
							| 228 | 227 | a1i |  | 
						
							| 229 | 224 228 | eqnetrd |  | 
						
							| 230 |  | simpr |  | 
						
							| 231 | 230 | ad2antrr |  | 
						
							| 232 | 231 206 | syl |  | 
						
							| 233 |  | simplr |  | 
						
							| 234 | 231 196 | syl |  | 
						
							| 235 | 203 | adantr |  | 
						
							| 236 |  | simpr |  | 
						
							| 237 |  | eldifsn |  | 
						
							| 238 | 231 236 237 | sylanbrc |  | 
						
							| 239 |  | oddprm |  | 
						
							| 240 | 238 239 | syl |  | 
						
							| 241 | 240 | nnnn0d |  | 
						
							| 242 |  | zexpcl |  | 
						
							| 243 | 235 241 242 | syl2anc |  | 
						
							| 244 | 208 | ad2antrr |  | 
						
							| 245 |  | dvdsgcd |  | 
						
							| 246 | 234 243 244 245 | syl3anc |  | 
						
							| 247 | 233 246 | mpan2d |  | 
						
							| 248 | 235 | zcnd |  | 
						
							| 249 | 248 241 | absexpd |  | 
						
							| 250 | 249 | oveq1d |  | 
						
							| 251 |  | gcdabs |  | 
						
							| 252 | 243 244 251 | syl2anc |  | 
						
							| 253 |  | gcdabs |  | 
						
							| 254 | 235 244 253 | syl2anc |  | 
						
							| 255 | 211 | ad2antrr |  | 
						
							| 256 | 254 255 | eqtrd |  | 
						
							| 257 | 218 | adantr |  | 
						
							| 258 |  | dvds0 |  | 
						
							| 259 | 234 258 | syl |  | 
						
							| 260 |  | breq2 |  | 
						
							| 261 | 259 260 | syl5ibrcom |  | 
						
							| 262 | 261 | necon3bd |  | 
						
							| 263 | 257 262 | mpd |  | 
						
							| 264 |  | nnabscl |  | 
						
							| 265 | 235 263 264 | syl2anc |  | 
						
							| 266 |  | simpll3 |  | 
						
							| 267 | 208 266 48 | syl2anc |  | 
						
							| 268 | 267 | ad2antrr |  | 
						
							| 269 |  | rplpwr |  | 
						
							| 270 | 265 268 240 269 | syl3anc |  | 
						
							| 271 | 256 270 | mpd |  | 
						
							| 272 | 250 252 271 | 3eqtr3d |  | 
						
							| 273 | 272 | breq2d |  | 
						
							| 274 | 247 273 | sylibd |  | 
						
							| 275 | 232 274 | mtod |  | 
						
							| 276 |  | prmnn |  | 
						
							| 277 | 276 | adantl |  | 
						
							| 278 | 277 | ad2antrr |  | 
						
							| 279 |  | dvdsval3 |  | 
						
							| 280 | 278 243 279 | syl2anc |  | 
						
							| 281 | 280 | necon3bbid |  | 
						
							| 282 | 275 281 | mpbid |  | 
						
							| 283 |  | lgsvalmod |  | 
						
							| 284 | 235 238 283 | syl2anc |  | 
						
							| 285 | 278 | nnrpd |  | 
						
							| 286 |  | 0mod |  | 
						
							| 287 | 285 286 | syl |  | 
						
							| 288 | 282 284 287 | 3netr4d |  | 
						
							| 289 |  | oveq1 |  | 
						
							| 290 | 289 | necon3i |  | 
						
							| 291 | 288 290 | syl |  | 
						
							| 292 | 229 291 | pm2.61dane |  | 
						
							| 293 |  | pczcl |  | 
						
							| 294 | 230 208 266 293 | syl12anc |  | 
						
							| 295 | 294 | nn0zd |  | 
						
							| 296 | 295 | adantr |  | 
						
							| 297 |  | neeq1 |  | 
						
							| 298 |  | expclz |  | 
						
							| 299 |  | expne0i |  | 
						
							| 300 | 297 298 299 | elrabd |  | 
						
							| 301 | 201 292 296 300 | syl3anc |  | 
						
							| 302 |  | dvdsabsb |  | 
						
							| 303 | 197 208 302 | syl2anc |  | 
						
							| 304 | 303 | notbid |  | 
						
							| 305 |  | pceq0 |  | 
						
							| 306 | 230 267 305 | syl2anc |  | 
						
							| 307 | 208 168 | syl |  | 
						
							| 308 |  | pcabs |  | 
						
							| 309 | 230 307 308 | syl2anc |  | 
						
							| 310 | 309 | eqeq1d |  | 
						
							| 311 | 304 306 310 | 3bitr2rd |  | 
						
							| 312 | 311 | biimpar |  | 
						
							| 313 | 312 | oveq2d |  | 
						
							| 314 | 200 | adantr |  | 
						
							| 315 | 314 | exp0d |  | 
						
							| 316 | 313 315 | eqtrd |  | 
						
							| 317 |  | neeq1 |  | 
						
							| 318 | 317 | elrab |  | 
						
							| 319 | 45 4 318 | mpbir2an |  | 
						
							| 320 | 316 319 | eqeltrdi |  | 
						
							| 321 | 301 320 | pm2.61dan |  | 
						
							| 322 | 319 | a1i |  | 
						
							| 323 | 321 322 | ifclda |  | 
						
							| 324 | 323 | adantr |  | 
						
							| 325 | 194 324 | eqeltrd |  | 
						
							| 326 |  | neeq1 |  | 
						
							| 327 | 326 | elrab |  | 
						
							| 328 |  | neeq1 |  | 
						
							| 329 | 328 | elrab |  | 
						
							| 330 |  | mulcl |  | 
						
							| 331 | 330 | ad2ant2r |  | 
						
							| 332 |  | mulne0 |  | 
						
							| 333 | 331 332 | jca |  | 
						
							| 334 | 327 329 333 | syl2anb |  | 
						
							| 335 |  | neeq1 |  | 
						
							| 336 | 335 | elrab |  | 
						
							| 337 | 334 336 | sylibr |  | 
						
							| 338 | 337 | adantl |  | 
						
							| 339 | 184 325 338 | seqcl |  | 
						
							| 340 |  | neeq1 |  | 
						
							| 341 | 340 | elrab |  | 
						
							| 342 | 341 | simprbi |  | 
						
							| 343 | 339 342 | syl |  | 
						
							| 344 | 343 | ex |  | 
						
							| 345 | 183 344 | impbid |  | 
						
							| 346 | 38 61 345 | 3bitrd |  | 
						
							| 347 | 346 | 3expa |  | 
						
							| 348 | 35 347 | pm2.61dane |  |