| Step | Hyp | Ref | Expression | 
						
							| 1 |  | wallispilem4.1 |  | 
						
							| 2 |  | wallispilem4.2 |  | 
						
							| 3 |  | wallispilem4.3 |  | 
						
							| 4 |  | wallispilem4.4 |  | 
						
							| 5 |  | oveq2 |  | 
						
							| 6 | 5 | fveq2d |  | 
						
							| 7 | 5 | fvoveq1d |  | 
						
							| 8 | 6 7 | oveq12d |  | 
						
							| 9 |  | fveq2 |  | 
						
							| 10 | 9 | oveq2d |  | 
						
							| 11 | 10 | oveq2d |  | 
						
							| 12 | 8 11 | eqeq12d |  | 
						
							| 13 |  | oveq2 |  | 
						
							| 14 | 13 | fveq2d |  | 
						
							| 15 | 13 | fvoveq1d |  | 
						
							| 16 | 14 15 | oveq12d |  | 
						
							| 17 |  | fveq2 |  | 
						
							| 18 | 17 | oveq2d |  | 
						
							| 19 | 18 | oveq2d |  | 
						
							| 20 | 16 19 | eqeq12d |  | 
						
							| 21 |  | oveq2 |  | 
						
							| 22 | 21 | fveq2d |  | 
						
							| 23 | 21 | fvoveq1d |  | 
						
							| 24 | 22 23 | oveq12d |  | 
						
							| 25 |  | fveq2 |  | 
						
							| 26 | 25 | oveq2d |  | 
						
							| 27 | 26 | oveq2d |  | 
						
							| 28 | 24 27 | eqeq12d |  | 
						
							| 29 |  | oveq2 |  | 
						
							| 30 | 29 | fveq2d |  | 
						
							| 31 | 29 | fvoveq1d |  | 
						
							| 32 | 30 31 | oveq12d |  | 
						
							| 33 |  | fveq2 |  | 
						
							| 34 | 33 | oveq2d |  | 
						
							| 35 | 34 | oveq2d |  | 
						
							| 36 | 32 35 | eqeq12d |  | 
						
							| 37 |  | 2t1e2 |  | 
						
							| 38 | 37 | fveq2i |  | 
						
							| 39 | 37 | oveq1i |  | 
						
							| 40 |  | 2p1e3 |  | 
						
							| 41 | 39 40 | eqtri |  | 
						
							| 42 | 41 | fveq2i |  | 
						
							| 43 | 38 42 | oveq12i |  | 
						
							| 44 |  | 2z |  | 
						
							| 45 |  | uzid |  | 
						
							| 46 | 44 45 | ax-mp |  | 
						
							| 47 | 2 | wallispilem2 |  | 
						
							| 48 | 47 | simp3i |  | 
						
							| 49 | 46 48 | ax-mp |  | 
						
							| 50 |  | 2m1e1 |  | 
						
							| 51 | 50 | oveq1i |  | 
						
							| 52 |  | 2cn |  | 
						
							| 53 | 52 | subidi |  | 
						
							| 54 | 53 | fveq2i |  | 
						
							| 55 | 47 | simp1i |  | 
						
							| 56 | 54 55 | eqtri |  | 
						
							| 57 | 51 56 | oveq12i |  | 
						
							| 58 |  | ax-1cn |  | 
						
							| 59 |  | 2cnne0 |  | 
						
							| 60 |  | picn |  | 
						
							| 61 |  | div32 |  | 
						
							| 62 | 58 59 60 61 | mp3an |  | 
						
							| 63 |  | 2ne0 |  | 
						
							| 64 | 60 52 63 | divcli |  | 
						
							| 65 | 64 | mullidi |  | 
						
							| 66 | 62 65 | eqtri |  | 
						
							| 67 | 49 57 66 | 3eqtri |  | 
						
							| 68 |  | 3z |  | 
						
							| 69 |  | 2re |  | 
						
							| 70 |  | 3re |  | 
						
							| 71 |  | 2lt3 |  | 
						
							| 72 | 69 70 71 | ltleii |  | 
						
							| 73 |  | eluz2 |  | 
						
							| 74 | 44 68 72 73 | mpbir3an |  | 
						
							| 75 | 2 | wallispilem2 |  | 
						
							| 76 | 75 | simp3i |  | 
						
							| 77 | 74 76 | ax-mp |  | 
						
							| 78 |  | 3m1e2 |  | 
						
							| 79 | 78 | eqcomi |  | 
						
							| 80 | 79 | oveq1i |  | 
						
							| 81 |  | 3cn |  | 
						
							| 82 | 81 52 58 40 | subaddrii |  | 
						
							| 83 | 82 | fveq2i |  | 
						
							| 84 | 47 | simp2i |  | 
						
							| 85 | 83 84 | eqtr2i |  | 
						
							| 86 | 80 85 | oveq12i |  | 
						
							| 87 |  | 3ne0 |  | 
						
							| 88 | 52 81 87 | divcli |  | 
						
							| 89 | 88 52 | mulcomi |  | 
						
							| 90 | 77 86 89 | 3eqtr2i |  | 
						
							| 91 | 67 90 | oveq12i |  | 
						
							| 92 |  | 1z |  | 
						
							| 93 |  | seq1 |  | 
						
							| 94 | 92 93 | ax-mp |  | 
						
							| 95 |  | 1nn |  | 
						
							| 96 |  | oveq2 |  | 
						
							| 97 | 96 37 | eqtrdi |  | 
						
							| 98 | 96 | oveq1d |  | 
						
							| 99 | 37 | oveq1i |  | 
						
							| 100 | 99 50 | eqtri |  | 
						
							| 101 | 98 100 | eqtrdi |  | 
						
							| 102 | 97 101 | oveq12d |  | 
						
							| 103 | 52 | div1i |  | 
						
							| 104 | 102 103 | eqtrdi |  | 
						
							| 105 | 97 | oveq1d |  | 
						
							| 106 | 105 40 | eqtrdi |  | 
						
							| 107 | 97 106 | oveq12d |  | 
						
							| 108 | 104 107 | oveq12d |  | 
						
							| 109 |  | ovex |  | 
						
							| 110 | 108 1 109 | fvmpt |  | 
						
							| 111 | 95 110 | ax-mp |  | 
						
							| 112 | 94 111 | eqtr2i |  | 
						
							| 113 | 112 | oveq2i |  | 
						
							| 114 | 52 88 | mulcli |  | 
						
							| 115 | 111 114 | eqeltri |  | 
						
							| 116 | 94 115 | eqeltri |  | 
						
							| 117 | 52 81 63 87 | divne0i |  | 
						
							| 118 | 52 88 63 117 | mulne0i |  | 
						
							| 119 | 112 118 | eqnetrri |  | 
						
							| 120 | 64 116 119 | divreci |  | 
						
							| 121 | 113 120 | eqtri |  | 
						
							| 122 | 43 91 121 | 3eqtri |  | 
						
							| 123 |  | oveq2 |  | 
						
							| 124 | 123 | adantl |  | 
						
							| 125 |  | 2cnd |  | 
						
							| 126 |  | nncn |  | 
						
							| 127 | 58 | a1i |  | 
						
							| 128 | 125 126 127 | adddid |  | 
						
							| 129 | 125 | mulridd |  | 
						
							| 130 | 129 | oveq2d |  | 
						
							| 131 | 128 130 | eqtrd |  | 
						
							| 132 | 131 | oveq1d |  | 
						
							| 133 | 125 126 | mulcld |  | 
						
							| 134 | 133 125 127 | addsubassd |  | 
						
							| 135 | 50 | a1i |  | 
						
							| 136 | 135 | oveq2d |  | 
						
							| 137 | 132 134 136 | 3eqtrd |  | 
						
							| 138 | 137 | oveq1d |  | 
						
							| 139 | 138 | oveq1d |  | 
						
							| 140 | 78 | a1i |  | 
						
							| 141 | 140 | oveq2d |  | 
						
							| 142 | 81 | a1i |  | 
						
							| 143 | 133 142 127 | addsubassd |  | 
						
							| 144 | 141 143 131 | 3eqtr4d |  | 
						
							| 145 | 144 | oveq1d |  | 
						
							| 146 | 145 | oveq1d |  | 
						
							| 147 | 139 146 | oveq12d |  | 
						
							| 148 | 44 | a1i |  | 
						
							| 149 |  | nnz |  | 
						
							| 150 | 149 | peano2zd |  | 
						
							| 151 | 148 150 | zmulcld |  | 
						
							| 152 | 69 | a1i |  | 
						
							| 153 |  | nnre |  | 
						
							| 154 |  | 1red |  | 
						
							| 155 | 153 154 | readdcld |  | 
						
							| 156 |  | 0le2 |  | 
						
							| 157 | 156 | a1i |  | 
						
							| 158 |  | nnnn0 |  | 
						
							| 159 | 158 | nn0ge0d |  | 
						
							| 160 | 154 153 | addge02d |  | 
						
							| 161 | 159 160 | mpbid |  | 
						
							| 162 | 152 155 157 161 | lemulge11d |  | 
						
							| 163 | 44 | eluz1i |  | 
						
							| 164 | 151 162 163 | sylanbrc |  | 
						
							| 165 | 2 164 | itgsinexp |  | 
						
							| 166 | 131 | oveq1d |  | 
						
							| 167 | 133 125 | pncand |  | 
						
							| 168 | 166 167 | eqtrd |  | 
						
							| 169 | 168 | fveq2d |  | 
						
							| 170 | 169 | oveq2d |  | 
						
							| 171 | 165 170 | eqtrd |  | 
						
							| 172 | 131 | oveq1d |  | 
						
							| 173 | 133 125 127 | addassd |  | 
						
							| 174 | 40 | a1i |  | 
						
							| 175 | 174 | oveq2d |  | 
						
							| 176 | 172 173 175 | 3eqtrd |  | 
						
							| 177 | 176 | fveq2d |  | 
						
							| 178 | 148 149 | zmulcld |  | 
						
							| 179 | 68 | a1i |  | 
						
							| 180 | 178 179 | zaddcld |  | 
						
							| 181 | 152 153 | remulcld |  | 
						
							| 182 | 70 | a1i |  | 
						
							| 183 | 181 182 | readdcld |  | 
						
							| 184 |  | nnge1 |  | 
						
							| 185 | 152 153 157 184 | lemulge11d |  | 
						
							| 186 |  | 0re |  | 
						
							| 187 |  | 3pos |  | 
						
							| 188 | 186 70 187 | ltleii |  | 
						
							| 189 | 181 182 | addge01d |  | 
						
							| 190 | 188 189 | mpbii |  | 
						
							| 191 | 152 181 183 185 190 | letrd |  | 
						
							| 192 | 44 | eluz1i |  | 
						
							| 193 | 180 191 192 | sylanbrc |  | 
						
							| 194 | 2 193 | itgsinexp |  | 
						
							| 195 | 177 194 | eqtrd |  | 
						
							| 196 | 171 195 | oveq12d |  | 
						
							| 197 | 133 127 | addcld |  | 
						
							| 198 | 126 127 | addcld |  | 
						
							| 199 | 125 198 | mulcld |  | 
						
							| 200 | 63 | a1i |  | 
						
							| 201 |  | peano2nn |  | 
						
							| 202 | 201 | nnne0d |  | 
						
							| 203 | 125 198 200 202 | mulne0d |  | 
						
							| 204 | 197 199 203 | divcld |  | 
						
							| 205 |  | 2nn0 |  | 
						
							| 206 | 205 | a1i |  | 
						
							| 207 | 206 158 | nn0mulcld |  | 
						
							| 208 | 2 | wallispilem3 |  | 
						
							| 209 | 208 | rpcnd |  | 
						
							| 210 | 207 209 | syl |  | 
						
							| 211 | 133 142 | addcld |  | 
						
							| 212 |  | 0red |  | 
						
							| 213 |  | 2pos |  | 
						
							| 214 | 213 | a1i |  | 
						
							| 215 |  | nngt0 |  | 
						
							| 216 | 152 153 214 215 | mulgt0d |  | 
						
							| 217 | 182 187 | jctir |  | 
						
							| 218 |  | elrp |  | 
						
							| 219 | 217 218 | sylibr |  | 
						
							| 220 | 181 219 | ltaddrpd |  | 
						
							| 221 | 212 181 183 216 220 | lttrd |  | 
						
							| 222 | 221 | gt0ne0d |  | 
						
							| 223 | 199 211 222 | divcld |  | 
						
							| 224 | 199 211 203 222 | divne0d |  | 
						
							| 225 | 180 148 | zsubcld |  | 
						
							| 226 | 183 152 | subge0d |  | 
						
							| 227 | 191 226 | mpbird |  | 
						
							| 228 |  | elnn0z |  | 
						
							| 229 | 225 227 228 | sylanbrc |  | 
						
							| 230 | 2 | wallispilem3 |  | 
						
							| 231 | 229 230 | syl |  | 
						
							| 232 | 231 | rpcnne0d |  | 
						
							| 233 | 223 224 232 | jca31 |  | 
						
							| 234 |  | divmuldiv |  | 
						
							| 235 | 204 210 233 234 | syl21anc |  | 
						
							| 236 | 147 196 235 | 3eqtr4d |  | 
						
							| 237 | 133 142 125 | addsubassd |  | 
						
							| 238 | 82 | a1i |  | 
						
							| 239 | 238 | oveq2d |  | 
						
							| 240 | 237 239 | eqtrd |  | 
						
							| 241 | 240 | fveq2d |  | 
						
							| 242 | 241 | oveq2d |  | 
						
							| 243 | 242 | oveq2d |  | 
						
							| 244 | 236 243 | eqtrd |  | 
						
							| 245 | 244 | adantr |  | 
						
							| 246 |  | elnnuz |  | 
						
							| 247 | 246 | biimpi |  | 
						
							| 248 |  | seqp1 |  | 
						
							| 249 | 247 248 | syl |  | 
						
							| 250 |  | oveq2 |  | 
						
							| 251 | 250 | oveq1d |  | 
						
							| 252 | 250 251 | oveq12d |  | 
						
							| 253 | 250 | oveq1d |  | 
						
							| 254 | 250 253 | oveq12d |  | 
						
							| 255 | 252 254 | oveq12d |  | 
						
							| 256 | 152 155 | remulcld |  | 
						
							| 257 | 256 154 | resubcld |  | 
						
							| 258 |  | 1lt2 |  | 
						
							| 259 | 258 | a1i |  | 
						
							| 260 |  | nnrp |  | 
						
							| 261 | 154 260 | ltaddrp2d |  | 
						
							| 262 | 152 155 259 261 | mulgt1d |  | 
						
							| 263 | 154 262 | gtned |  | 
						
							| 264 | 199 127 263 | subne0d |  | 
						
							| 265 | 256 257 264 | redivcld |  | 
						
							| 266 | 176 183 | eqeltrd |  | 
						
							| 267 | 176 222 | eqnetrd |  | 
						
							| 268 | 256 266 267 | redivcld |  | 
						
							| 269 | 265 268 | remulcld |  | 
						
							| 270 | 1 255 201 269 | fvmptd3 |  | 
						
							| 271 | 270 | oveq2d |  | 
						
							| 272 | 249 271 | eqtrd |  | 
						
							| 273 | 272 | oveq2d |  | 
						
							| 274 | 273 | oveq2d |  | 
						
							| 275 | 137 | oveq2d |  | 
						
							| 276 | 176 | oveq2d |  | 
						
							| 277 | 275 276 | oveq12d |  | 
						
							| 278 | 277 | oveq2d |  | 
						
							| 279 | 278 | oveq2d |  | 
						
							| 280 | 279 | oveq2d |  | 
						
							| 281 |  | elfznn |  | 
						
							| 282 | 281 | adantl |  | 
						
							| 283 |  | oveq2 |  | 
						
							| 284 | 283 | oveq1d |  | 
						
							| 285 | 283 284 | oveq12d |  | 
						
							| 286 | 283 | oveq1d |  | 
						
							| 287 | 283 286 | oveq12d |  | 
						
							| 288 | 285 287 | oveq12d |  | 
						
							| 289 |  | id |  | 
						
							| 290 |  | 2rp |  | 
						
							| 291 | 290 | a1i |  | 
						
							| 292 |  | nnrp |  | 
						
							| 293 | 291 292 | rpmulcld |  | 
						
							| 294 | 69 | a1i |  | 
						
							| 295 |  | nnre |  | 
						
							| 296 | 294 295 | remulcld |  | 
						
							| 297 |  | 1red |  | 
						
							| 298 | 296 297 | resubcld |  | 
						
							| 299 |  | nnge1 |  | 
						
							| 300 |  | nncn |  | 
						
							| 301 | 300 | mullidd |  | 
						
							| 302 | 297 294 292 | ltmul1d |  | 
						
							| 303 | 258 302 | mpbii |  | 
						
							| 304 | 301 303 | eqbrtrrd |  | 
						
							| 305 | 297 295 296 299 304 | lelttrd |  | 
						
							| 306 | 297 296 | posdifd |  | 
						
							| 307 | 305 306 | mpbid |  | 
						
							| 308 | 298 307 | elrpd |  | 
						
							| 309 | 293 308 | rpdivcld |  | 
						
							| 310 | 156 | a1i |  | 
						
							| 311 | 292 | rpge0d |  | 
						
							| 312 | 294 295 310 311 | mulge0d |  | 
						
							| 313 | 296 312 | ge0p1rpd |  | 
						
							| 314 | 293 313 | rpdivcld |  | 
						
							| 315 | 309 314 | rpmulcld |  | 
						
							| 316 | 1 288 289 315 | fvmptd3 |  | 
						
							| 317 | 316 315 | eqeltrd |  | 
						
							| 318 | 282 317 | syl |  | 
						
							| 319 |  | rpmulcl |  | 
						
							| 320 | 319 | adantl |  | 
						
							| 321 | 247 318 320 | seqcl |  | 
						
							| 322 | 321 | rpcnne0d |  | 
						
							| 323 | 290 | a1i |  | 
						
							| 324 | 153 159 | ge0p1rpd |  | 
						
							| 325 | 323 324 | rpmulcld |  | 
						
							| 326 | 152 153 157 159 | mulge0d |  | 
						
							| 327 | 181 326 | ge0p1rpd |  | 
						
							| 328 | 325 327 | rpdivcld |  | 
						
							| 329 | 323 260 | rpmulcld |  | 
						
							| 330 | 329 219 | rpaddcld |  | 
						
							| 331 | 325 330 | rpdivcld |  | 
						
							| 332 | 328 331 | rpmulcld |  | 
						
							| 333 | 332 | rpcnne0d |  | 
						
							| 334 |  | divdiv1 |  | 
						
							| 335 | 127 322 333 334 | syl3anc |  | 
						
							| 336 | 335 | eqcomd |  | 
						
							| 337 | 336 | oveq2d |  | 
						
							| 338 | 64 | a1i |  | 
						
							| 339 | 321 | rpcnd |  | 
						
							| 340 | 321 | rpne0d |  | 
						
							| 341 | 339 340 | reccld |  | 
						
							| 342 | 332 | rpcnd |  | 
						
							| 343 | 332 | rpne0d |  | 
						
							| 344 | 338 341 342 343 | divassd |  | 
						
							| 345 | 137 264 | eqnetrrd |  | 
						
							| 346 | 199 197 199 211 345 222 | divmuldivd |  | 
						
							| 347 | 346 | oveq2d |  | 
						
							| 348 | 338 341 | mulcld |  | 
						
							| 349 | 199 199 | mulcld |  | 
						
							| 350 | 197 211 | mulcld |  | 
						
							| 351 | 199 199 203 203 | mulne0d |  | 
						
							| 352 | 197 211 345 222 | mulne0d |  | 
						
							| 353 | 348 349 350 351 352 | divdiv2d |  | 
						
							| 354 | 348 350 349 351 | divassd |  | 
						
							| 355 | 353 354 | eqtrd |  | 
						
							| 356 | 197 199 199 211 203 222 203 | divdivdivd |  | 
						
							| 357 | 356 | eqcomd |  | 
						
							| 358 | 357 | oveq2d |  | 
						
							| 359 | 347 355 358 | 3eqtrd |  | 
						
							| 360 | 337 344 359 | 3eqtr2d |  | 
						
							| 361 | 60 | a1i |  | 
						
							| 362 | 361 | halfcld |  | 
						
							| 363 | 362 341 | mulcld |  | 
						
							| 364 | 204 223 224 | divcld |  | 
						
							| 365 | 363 364 | mulcomd |  | 
						
							| 366 | 280 360 365 | 3eqtrd |  | 
						
							| 367 | 274 366 | eqtrd |  | 
						
							| 368 | 367 | adantr |  | 
						
							| 369 | 124 245 368 | 3eqtr4d |  | 
						
							| 370 | 369 | ex |  | 
						
							| 371 | 12 20 28 36 122 370 | nnind |  | 
						
							| 372 | 371 | mpteq2ia |  | 
						
							| 373 | 372 3 4 | 3eqtr4i |  |