| Step | Hyp | Ref | Expression | 
						
							| 1 |  | constrrtcc.s |  | 
						
							| 2 |  | constrrtcc.a |  | 
						
							| 3 |  | constrrtcc.b |  | 
						
							| 4 |  | constrrtcc.c |  | 
						
							| 5 |  | constrrtcc.d |  | 
						
							| 6 |  | constrrtcc.e |  | 
						
							| 7 |  | constrrtcc.f |  | 
						
							| 8 |  | constrrtcc.x |  | 
						
							| 9 |  | constrrtcc.1 |  | 
						
							| 10 |  | constrrtcc.2 |  | 
						
							| 11 |  | constrrtcc.3 |  | 
						
							| 12 |  | constrrtcc.4 |  | 
						
							| 13 |  | constrrtcc.5 |  | 
						
							| 14 |  | constrrtcc.m |  | 
						
							| 15 |  | constrrtcc.n |  | 
						
							| 16 | 14 | a1i |  | 
						
							| 17 | 1 6 | sseldd |  | 
						
							| 18 | 1 7 | sseldd |  | 
						
							| 19 | 17 18 | subcld |  | 
						
							| 20 | 19 | adantr |  | 
						
							| 21 | 20 | absvalsqd |  | 
						
							| 22 | 13 21 | eqtr4id |  | 
						
							| 23 | 8 | adantr |  | 
						
							| 24 | 1 2 | sseldd |  | 
						
							| 25 | 24 | adantr |  | 
						
							| 26 | 8 24 | subcld |  | 
						
							| 27 | 26 | adantr |  | 
						
							| 28 | 10 | adantr |  | 
						
							| 29 | 1 3 | sseldd |  | 
						
							| 30 | 29 | adantr |  | 
						
							| 31 |  | simpr |  | 
						
							| 32 | 30 31 | subeq0bd |  | 
						
							| 33 | 32 | abs00bd |  | 
						
							| 34 | 28 33 | eqtrd |  | 
						
							| 35 | 27 34 | abs00d |  | 
						
							| 36 | 23 25 35 | subeq0d |  | 
						
							| 37 | 36 | fvoveq1d |  | 
						
							| 38 | 11 | adantr |  | 
						
							| 39 | 1 5 | sseldd |  | 
						
							| 40 | 39 | adantr |  | 
						
							| 41 | 25 40 | abssubd |  | 
						
							| 42 | 37 38 41 | 3eqtr3d |  | 
						
							| 43 | 42 | oveq1d |  | 
						
							| 44 | 39 24 | subcld |  | 
						
							| 45 | 44 | absvalsqd |  | 
						
							| 46 | 45 | adantr |  | 
						
							| 47 | 22 43 46 | 3eqtrd |  | 
						
							| 48 | 47 | oveq1d |  | 
						
							| 49 | 32 | oveq1d |  | 
						
							| 50 | 1 4 | sseldd |  | 
						
							| 51 | 29 50 | subcld |  | 
						
							| 52 | 51 | cjcld |  | 
						
							| 53 | 52 | adantr |  | 
						
							| 54 | 53 | mul02d |  | 
						
							| 55 | 49 54 | eqtrd |  | 
						
							| 56 | 12 55 | eqtrid |  | 
						
							| 57 | 56 | oveq1d |  | 
						
							| 58 | 48 57 | oveq12d |  | 
						
							| 59 | 44 | adantr |  | 
						
							| 60 | 59 | cjcld |  | 
						
							| 61 | 59 60 | mulcld |  | 
						
							| 62 | 40 | cjcld |  | 
						
							| 63 | 40 25 | addcld |  | 
						
							| 64 | 62 63 | mulcld |  | 
						
							| 65 |  | 0cnd |  | 
						
							| 66 | 25 | cjcld |  | 
						
							| 67 | 66 63 | mulcld |  | 
						
							| 68 | 61 64 65 67 | sub4d |  | 
						
							| 69 | 61 | subid1d |  | 
						
							| 70 | 39 24 | cjsubd |  | 
						
							| 71 | 70 | oveq1d |  | 
						
							| 72 | 44 | cjcld |  | 
						
							| 73 | 39 24 | addcld |  | 
						
							| 74 | 72 73 | mulcomd |  | 
						
							| 75 | 39 | cjcld |  | 
						
							| 76 | 24 | cjcld |  | 
						
							| 77 | 75 76 73 | subdird |  | 
						
							| 78 | 71 74 77 | 3eqtr3rd |  | 
						
							| 79 | 78 | adantr |  | 
						
							| 80 | 69 79 | oveq12d |  | 
						
							| 81 | 58 68 80 | 3eqtrd |  | 
						
							| 82 | 59 63 60 | subdird |  | 
						
							| 83 | 63 59 | negsubdi2d |  | 
						
							| 84 | 40 25 25 | pnncand |  | 
						
							| 85 | 25 | 2timesd |  | 
						
							| 86 | 84 85 | eqtr4d |  | 
						
							| 87 | 86 | negeqd |  | 
						
							| 88 | 83 87 | eqtr3d |  | 
						
							| 89 | 88 | oveq1d |  | 
						
							| 90 | 81 82 89 | 3eqtr2rd |  | 
						
							| 91 | 70 | adantr |  | 
						
							| 92 | 90 91 | oveq12d |  | 
						
							| 93 |  | 2cnd |  | 
						
							| 94 | 93 25 | mulcld |  | 
						
							| 95 | 94 | negcld |  | 
						
							| 96 | 9 | necomd |  | 
						
							| 97 | 39 24 96 | subne0d |  | 
						
							| 98 | 44 97 | cjne0d |  | 
						
							| 99 | 98 | adantr |  | 
						
							| 100 | 95 60 99 | divcan4d |  | 
						
							| 101 | 16 92 100 | 3eqtr2d |  | 
						
							| 102 | 101 | oveq1d |  | 
						
							| 103 | 94 23 | mulneg1d |  | 
						
							| 104 | 93 25 23 | mulassd |  | 
						
							| 105 | 25 23 | mulcomd |  | 
						
							| 106 | 105 | oveq2d |  | 
						
							| 107 | 104 106 | eqtrd |  | 
						
							| 108 | 107 | negeqd |  | 
						
							| 109 | 102 103 108 | 3eqtrd |  | 
						
							| 110 | 25 | sqcld |  | 
						
							| 111 | 56 | oveq1d |  | 
						
							| 112 | 40 | mul02d |  | 
						
							| 113 | 111 112 | eqtrd |  | 
						
							| 114 | 113 | oveq2d |  | 
						
							| 115 | 40 25 | mulcld |  | 
						
							| 116 | 66 115 | mulcld |  | 
						
							| 117 | 116 | subid1d |  | 
						
							| 118 | 114 117 | eqtrd |  | 
						
							| 119 | 47 | oveq1d |  | 
						
							| 120 | 119 | oveq2d |  | 
						
							| 121 | 118 120 | oveq12d |  | 
						
							| 122 | 62 115 | mulcld |  | 
						
							| 123 | 61 25 | mulcld |  | 
						
							| 124 | 116 122 123 | subsubd |  | 
						
							| 125 | 70 | negeqd |  | 
						
							| 126 | 75 76 | negsubdi2d |  | 
						
							| 127 | 125 126 | eqtr2d |  | 
						
							| 128 | 127 | oveq1d |  | 
						
							| 129 | 39 24 | mulcld |  | 
						
							| 130 | 76 75 129 | subdird |  | 
						
							| 131 | 72 129 | mulcomd |  | 
						
							| 132 | 131 | negeqd |  | 
						
							| 133 | 72 129 | mulneg1d |  | 
						
							| 134 | 129 72 | mulneg1d |  | 
						
							| 135 | 132 133 134 | 3eqtr4d |  | 
						
							| 136 | 128 130 135 | 3eqtr3d |  | 
						
							| 137 | 136 | adantr |  | 
						
							| 138 | 59 60 25 | mul32d |  | 
						
							| 139 | 40 25 25 | subdird |  | 
						
							| 140 | 25 | sqvald |  | 
						
							| 141 | 140 | oveq2d |  | 
						
							| 142 | 139 141 | eqtr4d |  | 
						
							| 143 | 142 | oveq1d |  | 
						
							| 144 | 138 143 | eqtrd |  | 
						
							| 145 | 137 144 | oveq12d |  | 
						
							| 146 | 115 | negcld |  | 
						
							| 147 | 115 110 | subcld |  | 
						
							| 148 | 146 147 60 | adddird |  | 
						
							| 149 | 115 | subidd |  | 
						
							| 150 | 149 | oveq1d |  | 
						
							| 151 | 146 147 | addcomd |  | 
						
							| 152 | 147 115 | negsubd |  | 
						
							| 153 | 115 110 115 | sub32d |  | 
						
							| 154 | 151 152 153 | 3eqtrd |  | 
						
							| 155 |  | df-neg |  | 
						
							| 156 | 155 | a1i |  | 
						
							| 157 | 150 154 156 | 3eqtr4d |  | 
						
							| 158 | 157 | oveq1d |  | 
						
							| 159 | 145 148 158 | 3eqtr2d |  | 
						
							| 160 | 121 124 159 | 3eqtrd |  | 
						
							| 161 | 91 | eqcomd |  | 
						
							| 162 | 160 161 | oveq12d |  | 
						
							| 163 | 110 | negcld |  | 
						
							| 164 | 163 60 99 | divcan4d |  | 
						
							| 165 | 162 164 | eqtr2d |  | 
						
							| 166 | 110 165 | negcon1ad |  | 
						
							| 167 | 15 166 | eqtrid |  | 
						
							| 168 | 109 167 | oveq12d |  | 
						
							| 169 | 168 | oveq2d |  | 
						
							| 170 | 23 | sqcld |  | 
						
							| 171 | 23 25 | mulcld |  | 
						
							| 172 | 93 171 | mulcld |  | 
						
							| 173 | 172 | negcld |  | 
						
							| 174 | 170 173 110 | addassd |  | 
						
							| 175 | 170 172 | negsubd |  | 
						
							| 176 | 175 | oveq1d |  | 
						
							| 177 | 169 174 176 | 3eqtr2d |  | 
						
							| 178 |  | binom2sub |  | 
						
							| 179 | 23 25 178 | syl2anc |  | 
						
							| 180 | 35 | sq0id |  | 
						
							| 181 | 177 179 180 | 3eqtr2d |  | 
						
							| 182 | 14 | a1i |  | 
						
							| 183 | 17 | adantr |  | 
						
							| 184 |  | simpr |  | 
						
							| 185 | 183 184 | subeq0bd |  | 
						
							| 186 | 185 | oveq1d |  | 
						
							| 187 | 19 | cjcld |  | 
						
							| 188 | 187 | adantr |  | 
						
							| 189 | 188 | mul02d |  | 
						
							| 190 | 186 189 | eqtrd |  | 
						
							| 191 | 13 190 | eqtrid |  | 
						
							| 192 | 191 | oveq1d |  | 
						
							| 193 | 51 | adantr |  | 
						
							| 194 | 193 | absvalsqd |  | 
						
							| 195 | 12 194 | eqtr4id |  | 
						
							| 196 | 10 | adantr |  | 
						
							| 197 | 8 | adantr |  | 
						
							| 198 | 39 | adantr |  | 
						
							| 199 | 8 39 | subcld |  | 
						
							| 200 | 199 | adantr |  | 
						
							| 201 | 11 | adantr |  | 
						
							| 202 | 185 | abs00bd |  | 
						
							| 203 | 201 202 | eqtrd |  | 
						
							| 204 | 200 203 | abs00d |  | 
						
							| 205 | 197 198 204 | subeq0d |  | 
						
							| 206 | 205 | fvoveq1d |  | 
						
							| 207 | 196 206 | eqtr3d |  | 
						
							| 208 | 207 | oveq1d |  | 
						
							| 209 | 45 | adantr |  | 
						
							| 210 | 195 208 209 | 3eqtrd |  | 
						
							| 211 | 210 | oveq1d |  | 
						
							| 212 | 192 211 | oveq12d |  | 
						
							| 213 |  | 0cnd |  | 
						
							| 214 | 198 | cjcld |  | 
						
							| 215 | 24 | adantr |  | 
						
							| 216 | 198 215 | addcld |  | 
						
							| 217 | 214 216 | mulcld |  | 
						
							| 218 | 44 | adantr |  | 
						
							| 219 | 218 | cjcld |  | 
						
							| 220 | 218 219 | mulcld |  | 
						
							| 221 | 215 | cjcld |  | 
						
							| 222 | 221 216 | mulcld |  | 
						
							| 223 | 213 217 220 222 | sub4d |  | 
						
							| 224 | 218 219 | mulneg1d |  | 
						
							| 225 | 198 215 | negsubdi2d |  | 
						
							| 226 | 225 | oveq1d |  | 
						
							| 227 |  | df-neg |  | 
						
							| 228 | 227 | a1i |  | 
						
							| 229 | 224 226 228 | 3eqtr3rd |  | 
						
							| 230 | 78 | adantr |  | 
						
							| 231 | 229 230 | oveq12d |  | 
						
							| 232 | 212 223 231 | 3eqtrd |  | 
						
							| 233 | 215 198 | subcld |  | 
						
							| 234 | 233 216 219 | subdird |  | 
						
							| 235 | 216 233 | negsubdi2d |  | 
						
							| 236 | 198 | 2timesd |  | 
						
							| 237 | 215 198 198 | pnncand |  | 
						
							| 238 | 215 198 | addcomd |  | 
						
							| 239 | 238 | oveq1d |  | 
						
							| 240 | 236 237 239 | 3eqtr2rd |  | 
						
							| 241 | 240 | negeqd |  | 
						
							| 242 | 235 241 | eqtr3d |  | 
						
							| 243 | 242 | oveq1d |  | 
						
							| 244 | 232 234 243 | 3eqtr2rd |  | 
						
							| 245 | 70 | adantr |  | 
						
							| 246 | 244 245 | oveq12d |  | 
						
							| 247 |  | 2cnd |  | 
						
							| 248 | 247 198 | mulcld |  | 
						
							| 249 | 248 | negcld |  | 
						
							| 250 | 98 | adantr |  | 
						
							| 251 | 249 219 250 | divcan4d |  | 
						
							| 252 | 182 246 251 | 3eqtr2d |  | 
						
							| 253 | 252 | oveq1d |  | 
						
							| 254 | 248 197 | mulneg1d |  | 
						
							| 255 | 247 198 197 | mulassd |  | 
						
							| 256 | 198 197 | mulcomd |  | 
						
							| 257 | 256 | oveq2d |  | 
						
							| 258 | 255 257 | eqtrd |  | 
						
							| 259 | 258 | negeqd |  | 
						
							| 260 | 253 254 259 | 3eqtrd |  | 
						
							| 261 | 198 | sqcld |  | 
						
							| 262 | 210 | oveq1d |  | 
						
							| 263 | 262 | oveq2d |  | 
						
							| 264 | 191 | oveq1d |  | 
						
							| 265 | 215 | mul02d |  | 
						
							| 266 | 264 265 | eqtrd |  | 
						
							| 267 | 266 | oveq2d |  | 
						
							| 268 | 198 215 | mulcld |  | 
						
							| 269 | 214 268 | mulcld |  | 
						
							| 270 | 269 | subid1d |  | 
						
							| 271 | 267 270 | eqtrd |  | 
						
							| 272 | 263 271 | oveq12d |  | 
						
							| 273 | 221 268 | mulcld |  | 
						
							| 274 | 220 198 | mulcld |  | 
						
							| 275 | 273 274 269 | sub32d |  | 
						
							| 276 | 136 | adantr |  | 
						
							| 277 | 218 219 198 | mul32d |  | 
						
							| 278 | 198 215 198 | subdird |  | 
						
							| 279 | 198 | sqvald |  | 
						
							| 280 | 198 215 | mulcomd |  | 
						
							| 281 | 279 280 | oveq12d |  | 
						
							| 282 | 278 281 | eqtr4d |  | 
						
							| 283 | 282 | oveq1d |  | 
						
							| 284 | 277 283 | eqtrd |  | 
						
							| 285 | 276 284 | oveq12d |  | 
						
							| 286 | 268 | negcld |  | 
						
							| 287 | 261 268 | subcld |  | 
						
							| 288 | 286 287 219 | subdird |  | 
						
							| 289 | 286 268 | addcomd |  | 
						
							| 290 | 268 268 | negsubd |  | 
						
							| 291 | 268 | subidd |  | 
						
							| 292 | 289 290 291 | 3eqtrd |  | 
						
							| 293 | 292 | oveq1d |  | 
						
							| 294 | 286 261 268 | subsub3d |  | 
						
							| 295 |  | df-neg |  | 
						
							| 296 | 295 | a1i |  | 
						
							| 297 | 293 294 296 | 3eqtr4d |  | 
						
							| 298 | 297 | oveq1d |  | 
						
							| 299 | 285 288 298 | 3eqtr2d |  | 
						
							| 300 | 272 275 299 | 3eqtrd |  | 
						
							| 301 | 245 | eqcomd |  | 
						
							| 302 | 300 301 | oveq12d |  | 
						
							| 303 | 261 | negcld |  | 
						
							| 304 | 303 219 250 | divcan4d |  | 
						
							| 305 | 302 304 | eqtr2d |  | 
						
							| 306 | 261 305 | negcon1ad |  | 
						
							| 307 | 15 306 | eqtrid |  | 
						
							| 308 | 260 307 | oveq12d |  | 
						
							| 309 | 308 | oveq2d |  | 
						
							| 310 | 197 | sqcld |  | 
						
							| 311 | 197 198 | mulcld |  | 
						
							| 312 | 247 311 | mulcld |  | 
						
							| 313 | 312 | negcld |  | 
						
							| 314 | 310 313 261 | addassd |  | 
						
							| 315 | 310 312 | negsubd |  | 
						
							| 316 | 315 | oveq1d |  | 
						
							| 317 | 309 314 316 | 3eqtr2d |  | 
						
							| 318 |  | binom2sub |  | 
						
							| 319 | 197 198 318 | syl2anc |  | 
						
							| 320 | 204 | sq0id |  | 
						
							| 321 | 317 319 320 | 3eqtr2d |  | 
						
							| 322 | 1 | adantr |  | 
						
							| 323 | 2 | adantr |  | 
						
							| 324 | 3 | adantr |  | 
						
							| 325 | 4 | adantr |  | 
						
							| 326 | 5 | adantr |  | 
						
							| 327 | 6 | adantr |  | 
						
							| 328 | 7 | adantr |  | 
						
							| 329 | 8 | adantr |  | 
						
							| 330 | 9 | adantr |  | 
						
							| 331 | 10 | adantr |  | 
						
							| 332 | 11 | adantr |  | 
						
							| 333 |  | simprl |  | 
						
							| 334 |  | simprr |  | 
						
							| 335 | 322 323 324 325 326 327 328 329 330 331 332 12 13 14 15 333 334 | constrrtcclem |  | 
						
							| 336 | 181 321 335 | pm2.61da2ne |  |