| Step | Hyp | Ref | Expression | 
						
							| 1 |  | fveq2 |  | 
						
							| 2 |  | oveq2 |  | 
						
							| 3 | 2 | oveq1d |  | 
						
							| 4 | 3 | oveq2d |  | 
						
							| 5 |  | fveq2 |  | 
						
							| 6 | 4 5 | oveq12d |  | 
						
							| 7 | 1 6 | eqeq12d |  | 
						
							| 8 |  | fveq2 |  | 
						
							| 9 |  | oveq2 |  | 
						
							| 10 | 9 | oveq1d |  | 
						
							| 11 | 10 | oveq2d |  | 
						
							| 12 |  | fveq2 |  | 
						
							| 13 | 11 12 | oveq12d |  | 
						
							| 14 | 8 13 | eqeq12d |  | 
						
							| 15 |  | fveq2 |  | 
						
							| 16 |  | oveq2 |  | 
						
							| 17 | 16 | oveq1d |  | 
						
							| 18 | 17 | oveq2d |  | 
						
							| 19 |  | fveq2 |  | 
						
							| 20 | 18 19 | oveq12d |  | 
						
							| 21 | 15 20 | eqeq12d |  | 
						
							| 22 |  | fveq2 |  | 
						
							| 23 |  | oveq2 |  | 
						
							| 24 | 23 | oveq1d |  | 
						
							| 25 | 24 | oveq2d |  | 
						
							| 26 |  | fveq2 |  | 
						
							| 27 | 25 26 | oveq12d |  | 
						
							| 28 | 22 27 | eqeq12d |  | 
						
							| 29 |  | 1z |  | 
						
							| 30 |  | seq1 |  | 
						
							| 31 | 29 30 | ax-mp |  | 
						
							| 32 |  | 1nn |  | 
						
							| 33 |  | oveq2 |  | 
						
							| 34 | 33 | oveq1d |  | 
						
							| 35 | 33 34 | oveq12d |  | 
						
							| 36 | 33 | oveq1d |  | 
						
							| 37 | 33 36 | oveq12d |  | 
						
							| 38 | 35 37 | oveq12d |  | 
						
							| 39 |  | eqid |  | 
						
							| 40 |  | ovex |  | 
						
							| 41 | 38 39 40 | fvmpt |  | 
						
							| 42 | 32 41 | ax-mp |  | 
						
							| 43 |  | 2t1e2 |  | 
						
							| 44 | 43 | oveq1i |  | 
						
							| 45 |  | 2m1e1 |  | 
						
							| 46 | 44 45 | eqtri |  | 
						
							| 47 | 43 46 | oveq12i |  | 
						
							| 48 | 43 | oveq1i |  | 
						
							| 49 |  | 2p1e3 |  | 
						
							| 50 | 48 49 | eqtri |  | 
						
							| 51 | 43 50 | oveq12i |  | 
						
							| 52 | 47 51 | oveq12i |  | 
						
							| 53 |  | 2cn |  | 
						
							| 54 |  | ax-1cn |  | 
						
							| 55 |  | 3cn |  | 
						
							| 56 |  | ax-1ne0 |  | 
						
							| 57 |  | 3ne0 |  | 
						
							| 58 | 53 54 53 55 56 57 | divmuldivi |  | 
						
							| 59 |  | 2t2e4 |  | 
						
							| 60 | 55 | mullidi |  | 
						
							| 61 | 59 60 | oveq12i |  | 
						
							| 62 | 52 58 61 | 3eqtri |  | 
						
							| 63 |  | 4cn |  | 
						
							| 64 |  | divrec2 |  | 
						
							| 65 | 63 55 57 64 | mp3an |  | 
						
							| 66 | 50 | eqcomi |  | 
						
							| 67 | 66 | oveq2i |  | 
						
							| 68 |  | seq1 |  | 
						
							| 69 | 29 68 | ax-mp |  | 
						
							| 70 | 33 | oveq1d |  | 
						
							| 71 | 33 34 | oveq12d |  | 
						
							| 72 | 71 | oveq1d |  | 
						
							| 73 | 70 72 | oveq12d |  | 
						
							| 74 |  | eqid |  | 
						
							| 75 |  | ovex |  | 
						
							| 76 | 73 74 75 | fvmpt |  | 
						
							| 77 | 32 76 | ax-mp |  | 
						
							| 78 | 43 | oveq1i |  | 
						
							| 79 | 43 46 | oveq12i |  | 
						
							| 80 | 79 43 | eqtri |  | 
						
							| 81 | 80 | oveq1i |  | 
						
							| 82 | 78 81 | oveq12i |  | 
						
							| 83 |  | 2exp4 |  | 
						
							| 84 |  | sq2 |  | 
						
							| 85 | 83 84 | oveq12i |  | 
						
							| 86 |  | 4t4e16 |  | 
						
							| 87 | 86 | eqcomi |  | 
						
							| 88 | 87 | oveq1i |  | 
						
							| 89 |  | 4ne0 |  | 
						
							| 90 | 63 63 89 | divcan3i |  | 
						
							| 91 | 85 88 90 | 3eqtri |  | 
						
							| 92 | 82 91 | eqtri |  | 
						
							| 93 | 69 77 92 | 3eqtri |  | 
						
							| 94 | 93 | eqcomi |  | 
						
							| 95 | 67 94 | oveq12i |  | 
						
							| 96 | 62 65 95 | 3eqtri |  | 
						
							| 97 | 31 42 96 | 3eqtri |  | 
						
							| 98 |  | elnnuz |  | 
						
							| 99 | 98 | biimpi |  | 
						
							| 100 | 99 | adantr |  | 
						
							| 101 |  | seqp1 |  | 
						
							| 102 | 100 101 | syl |  | 
						
							| 103 |  | simpr |  | 
						
							| 104 | 103 | oveq1d |  | 
						
							| 105 |  | eqidd |  | 
						
							| 106 |  | oveq2 |  | 
						
							| 107 | 106 | oveq1d |  | 
						
							| 108 | 106 107 | oveq12d |  | 
						
							| 109 | 106 | oveq1d |  | 
						
							| 110 | 106 109 | oveq12d |  | 
						
							| 111 | 108 110 | oveq12d |  | 
						
							| 112 | 111 | adantl |  | 
						
							| 113 |  | peano2nn |  | 
						
							| 114 |  | 2rp |  | 
						
							| 115 | 114 | a1i |  | 
						
							| 116 |  | nnre |  | 
						
							| 117 |  | nnnn0 |  | 
						
							| 118 | 117 | nn0ge0d |  | 
						
							| 119 | 116 118 | ge0p1rpd |  | 
						
							| 120 | 115 119 | rpmulcld |  | 
						
							| 121 |  | 2re |  | 
						
							| 122 | 121 | a1i |  | 
						
							| 123 |  | 1red |  | 
						
							| 124 | 116 123 | readdcld |  | 
						
							| 125 | 122 124 | remulcld |  | 
						
							| 126 | 125 123 | resubcld |  | 
						
							| 127 |  | 1lt2 |  | 
						
							| 128 | 127 | a1i |  | 
						
							| 129 |  | nnrp |  | 
						
							| 130 | 123 129 | ltaddrp2d |  | 
						
							| 131 | 122 124 128 130 | mulgt1d |  | 
						
							| 132 | 123 125 | posdifd |  | 
						
							| 133 | 131 132 | mpbid |  | 
						
							| 134 | 126 133 | elrpd |  | 
						
							| 135 | 120 134 | rpdivcld |  | 
						
							| 136 | 115 | rpge0d |  | 
						
							| 137 |  | 0le1 |  | 
						
							| 138 | 137 | a1i |  | 
						
							| 139 | 116 123 118 138 | addge0d |  | 
						
							| 140 | 122 124 136 139 | mulge0d |  | 
						
							| 141 | 125 140 | ge0p1rpd |  | 
						
							| 142 | 120 141 | rpdivcld |  | 
						
							| 143 | 135 142 | rpmulcld |  | 
						
							| 144 | 105 112 113 143 | fvmptd |  | 
						
							| 145 | 144 | oveq2d |  | 
						
							| 146 | 125 | recnd |  | 
						
							| 147 | 126 | recnd |  | 
						
							| 148 | 141 | rpcnd |  | 
						
							| 149 | 133 | gt0ne0d |  | 
						
							| 150 | 141 | rpne0d |  | 
						
							| 151 | 146 147 146 148 149 150 | divmuldivd |  | 
						
							| 152 | 146 146 | mulcld |  | 
						
							| 153 | 152 147 148 149 150 | divdiv1d |  | 
						
							| 154 | 146 | sqvald |  | 
						
							| 155 | 154 | eqcomd |  | 
						
							| 156 | 155 | oveq1d |  | 
						
							| 157 | 156 | oveq1d |  | 
						
							| 158 | 151 153 157 | 3eqtr2d |  | 
						
							| 159 | 158 | oveq2d |  | 
						
							| 160 | 146 | sqcld |  | 
						
							| 161 | 160 147 149 | divcld |  | 
						
							| 162 | 161 148 150 | divrec2d |  | 
						
							| 163 | 162 | oveq2d |  | 
						
							| 164 |  | 2cnd |  | 
						
							| 165 |  | nncn |  | 
						
							| 166 | 164 165 | mulcld |  | 
						
							| 167 |  | 1cnd |  | 
						
							| 168 | 166 167 | addcld |  | 
						
							| 169 |  | 2nn |  | 
						
							| 170 | 169 | a1i |  | 
						
							| 171 |  | id |  | 
						
							| 172 | 170 171 | nnmulcld |  | 
						
							| 173 | 172 | peano2nnd |  | 
						
							| 174 | 173 | nnne0d |  | 
						
							| 175 | 168 174 | reccld |  | 
						
							| 176 |  | eqidd |  | 
						
							| 177 |  | oveq2 |  | 
						
							| 178 | 177 | oveq1d |  | 
						
							| 179 | 177 | oveq1d |  | 
						
							| 180 | 177 179 | oveq12d |  | 
						
							| 181 | 180 | oveq1d |  | 
						
							| 182 | 178 181 | oveq12d |  | 
						
							| 183 | 182 | adantl |  | 
						
							| 184 |  | elfznn |  | 
						
							| 185 | 184 | adantl |  | 
						
							| 186 | 169 | a1i |  | 
						
							| 187 |  | id |  | 
						
							| 188 | 186 187 | nnmulcld |  | 
						
							| 189 |  | 4nn0 |  | 
						
							| 190 | 189 | a1i |  | 
						
							| 191 | 188 190 | nnexpcld |  | 
						
							| 192 | 191 | nncnd |  | 
						
							| 193 |  | 2cnd |  | 
						
							| 194 |  | nncn |  | 
						
							| 195 | 193 194 | mulcld |  | 
						
							| 196 |  | 1cnd |  | 
						
							| 197 | 195 196 | subcld |  | 
						
							| 198 | 195 197 | mulcld |  | 
						
							| 199 | 198 | sqcld |  | 
						
							| 200 | 186 | nnne0d |  | 
						
							| 201 |  | nnne0 |  | 
						
							| 202 | 193 194 200 201 | mulne0d |  | 
						
							| 203 |  | 1red |  | 
						
							| 204 | 121 | a1i |  | 
						
							| 205 | 204 203 | remulcld |  | 
						
							| 206 |  | nnre |  | 
						
							| 207 | 204 206 | remulcld |  | 
						
							| 208 | 43 | a1i |  | 
						
							| 209 | 127 208 | breqtrrid |  | 
						
							| 210 |  | 0le2 |  | 
						
							| 211 | 210 | a1i |  | 
						
							| 212 |  | nnge1 |  | 
						
							| 213 | 203 206 204 211 212 | lemul2ad |  | 
						
							| 214 | 203 205 207 209 213 | ltletrd |  | 
						
							| 215 | 203 214 | gtned |  | 
						
							| 216 | 195 196 215 | subne0d |  | 
						
							| 217 | 195 197 202 216 | mulne0d |  | 
						
							| 218 |  | 2z |  | 
						
							| 219 | 218 | a1i |  | 
						
							| 220 | 198 217 219 | expne0d |  | 
						
							| 221 | 192 199 220 | divcld |  | 
						
							| 222 | 184 221 | syl |  | 
						
							| 223 | 222 | adantl |  | 
						
							| 224 | 176 183 185 223 | fvmptd |  | 
						
							| 225 | 224 223 | eqeltrd |  | 
						
							| 226 |  | mulcl |  | 
						
							| 227 | 226 | adantl |  | 
						
							| 228 | 99 225 227 | seqcl |  | 
						
							| 229 | 175 228 | mulcld |  | 
						
							| 230 | 148 150 | reccld |  | 
						
							| 231 | 229 230 161 | mul12d |  | 
						
							| 232 | 175 228 | mulcomd |  | 
						
							| 233 | 232 | oveq1d |  | 
						
							| 234 | 228 175 161 | mulassd |  | 
						
							| 235 | 167 168 160 147 174 149 | divmuldivd |  | 
						
							| 236 | 160 | mullidd |  | 
						
							| 237 | 164 165 167 | adddid |  | 
						
							| 238 | 43 | a1i |  | 
						
							| 239 | 238 | oveq2d |  | 
						
							| 240 | 237 239 | eqtrd |  | 
						
							| 241 | 240 | oveq1d |  | 
						
							| 242 | 166 164 167 | addsubassd |  | 
						
							| 243 | 45 | a1i |  | 
						
							| 244 | 243 | oveq2d |  | 
						
							| 245 | 241 242 244 | 3eqtrd |  | 
						
							| 246 | 245 | oveq2d |  | 
						
							| 247 | 168 | sqvald |  | 
						
							| 248 | 246 247 | eqtr4d |  | 
						
							| 249 | 236 248 | oveq12d |  | 
						
							| 250 |  | 2p2e4 |  | 
						
							| 251 | 53 53 250 | mvlladdi |  | 
						
							| 252 | 251 | a1i |  | 
						
							| 253 | 252 | oveq2d |  | 
						
							| 254 | 120 | rpne0d |  | 
						
							| 255 | 218 | a1i |  | 
						
							| 256 |  | 4z |  | 
						
							| 257 | 256 | a1i |  | 
						
							| 258 | 146 254 255 257 | expsubd |  | 
						
							| 259 | 253 258 | eqtrd |  | 
						
							| 260 | 245 | eqcomd |  | 
						
							| 261 | 260 | oveq1d |  | 
						
							| 262 | 259 261 | oveq12d |  | 
						
							| 263 | 146 254 257 | expclzd |  | 
						
							| 264 | 147 | sqcld |  | 
						
							| 265 | 165 167 | addcld |  | 
						
							| 266 | 170 | nnne0d |  | 
						
							| 267 | 113 | nnne0d |  | 
						
							| 268 | 164 265 266 267 | mulne0d |  | 
						
							| 269 | 146 268 255 | expne0d |  | 
						
							| 270 | 147 149 255 | expne0d |  | 
						
							| 271 | 263 160 264 269 270 | divdiv1d |  | 
						
							| 272 | 146 147 | sqmuld |  | 
						
							| 273 | 272 | eqcomd |  | 
						
							| 274 | 273 | oveq2d |  | 
						
							| 275 | 262 271 274 | 3eqtrd |  | 
						
							| 276 | 235 249 275 | 3eqtrd |  | 
						
							| 277 | 276 | oveq2d |  | 
						
							| 278 | 233 234 277 | 3eqtrd |  | 
						
							| 279 | 278 | oveq2d |  | 
						
							| 280 | 163 231 279 | 3eqtrd |  | 
						
							| 281 | 145 159 280 | 3eqtrd |  | 
						
							| 282 |  | eqidd |  | 
						
							| 283 |  | simpr |  | 
						
							| 284 | 283 | oveq2d |  | 
						
							| 285 | 284 | oveq1d |  | 
						
							| 286 | 284 | oveq1d |  | 
						
							| 287 | 284 286 | oveq12d |  | 
						
							| 288 | 287 | oveq1d |  | 
						
							| 289 | 285 288 | oveq12d |  | 
						
							| 290 | 146 147 | mulcld |  | 
						
							| 291 | 290 | sqcld |  | 
						
							| 292 | 146 147 254 149 | mulne0d |  | 
						
							| 293 | 290 292 255 | expne0d |  | 
						
							| 294 | 263 291 293 | divcld |  | 
						
							| 295 | 282 289 113 294 | fvmptd |  | 
						
							| 296 | 295 | eqcomd |  | 
						
							| 297 | 296 | oveq2d |  | 
						
							| 298 | 297 | oveq2d |  | 
						
							| 299 |  | seqp1 |  | 
						
							| 300 | 99 299 | syl |  | 
						
							| 301 | 300 | eqcomd |  | 
						
							| 302 | 301 | oveq2d |  | 
						
							| 303 | 281 298 302 | 3eqtrd |  | 
						
							| 304 | 303 | adantr |  | 
						
							| 305 | 102 104 304 | 3eqtrd |  | 
						
							| 306 | 305 | ex |  | 
						
							| 307 | 7 14 21 28 97 306 | nnind |  |