1 2(SDEFUN |IDPO;coerce;$Of;1| ((|x| $) ($ |OutputForm|)) 3 (SPROG ((#1=#:G476 NIL) (|t| NIL) (#2=#:G475 NIL)) 4 (SEQ 5 (SPADCALL 6 (PROGN 7 (LETT #2# NIL) 8 (SEQ (LETT |t| NIL) (LETT #1# |x|) G190 9 (COND 10 ((OR (ATOM #1#) (PROGN (LETT |t| (CAR #1#)) NIL)) 11 (GO G191))) 12 (SEQ 13 (EXIT 14 (LETT #2# 15 (CONS 16 (SPADCALL (SPADCALL (QCAR |t|) (QREFELT $ 10)) 17 (SPADCALL (QCDR |t|) (QREFELT $ 11)) 18 (QREFELT $ 12)) 19 #2#)))) 20 (LETT #1# (CDR #1#)) (GO G190) G191 21 (EXIT (NREVERSE #2#)))) 22 (QREFELT $ 14))))) 23 24(PUT '|IDPO;listOfTerms;$L;2| '|SPADreplace| '(XLAM (|x|) |x|)) 25 26(SDEFUN |IDPO;listOfTerms;$L;2| 27 ((|x| $) ($ |List| (|Record| (|:| |k| S) (|:| |c| A)))) |x|) 28 29(SDEFUN |IDPO;monomial?;$B;3| ((|x| $) ($ |Boolean|)) 30 (COND ((NULL |x|) NIL) ('T (NULL (CDR |x|))))) 31 32(PUT '|IDPO;numberOfMonomials;$Nni;4| '|SPADreplace| 'LENGTH) 33 34(SDEFUN |IDPO;numberOfMonomials;$Nni;4| ((|x| $) ($ |NonNegativeInteger|)) 35 (LENGTH |x|)) 36 37(SDEFUN |IDPO;monomial;AS$;5| ((|r| A) (|s| S) ($ $)) 38 (COND 39 ((SPADCALL |r| (|spadConstant| $ 24) (QREFELT $ 25)) 40 (|spadConstant| $ 23)) 41 ('T (LIST (CONS |s| |r|))))) 42 43(SDEFUN |IDPO;map;M2$;6| ((|f| |Mapping| A A) (|x| $) ($ $)) 44 (SPROG ((|a| (A)) (#1=#:G492 NIL) (|tm| NIL) (#2=#:G491 NIL)) 45 (SEQ 46 (PROGN 47 (LETT #2# NIL) 48 (SEQ (LETT |tm| NIL) (LETT #1# |x|) G190 49 (COND 50 ((OR (ATOM #1#) (PROGN (LETT |tm| (CAR #1#)) NIL)) 51 (GO G191))) 52 (SEQ 53 (EXIT 54 (COND 55 ((NULL 56 (SPADCALL (LETT |a| (SPADCALL (QCDR |tm|) |f|)) 57 (|spadConstant| $ 24) (QREFELT $ 25))) 58 (LETT #2# (CONS (CONS (QCAR |tm|) |a|) #2#)))))) 59 (LETT #1# (CDR #1#)) (GO G190) G191 60 (EXIT (NREVERSE #2#))))))) 61 62(SDEFUN |IDPO;monomial;AS$;7| ((|r| A) (|s| S) ($ $)) (LIST (CONS |s| |r|))) 63 64(SDEFUN |IDPO;map;M2$;8| ((|f| |Mapping| A A) (|x| $) ($ $)) 65 (SPROG ((#1=#:G499 NIL) (|tm| NIL) (#2=#:G498 NIL)) 66 (SEQ 67 (PROGN 68 (LETT #2# NIL) 69 (SEQ (LETT |tm| NIL) (LETT #1# |x|) G190 70 (COND 71 ((OR (ATOM #1#) (PROGN (LETT |tm| (CAR #1#)) NIL)) 72 (GO G191))) 73 (SEQ 74 (EXIT 75 (LETT #2# 76 (CONS 77 (CONS (QCAR |tm|) (SPADCALL (QCDR |tm|) |f|)) 78 #2#)))) 79 (LETT #1# (CDR #1#)) (GO G190) G191 80 (EXIT (NREVERSE #2#))))))) 81 82(SDEFUN |IDPO;=;2$B;9| ((|x| $) (|y| $) ($ |Boolean|)) 83 (SPROG ((#1=#:G509 NIL)) 84 (SEQ 85 (EXIT 86 (SEQ 87 (SEQ G190 88 (COND 89 ((NULL (COND ((NULL |x|) NIL) ('T (NULL (NULL |y|))))) 90 (GO G191))) 91 (SEQ 92 (EXIT 93 (COND 94 ((OR 95 (SPADCALL (QCAR (|SPADfirst| |x|)) 96 (QCAR (|SPADfirst| |y|)) (QREFELT $ 29)) 97 (SPADCALL (QCDR (|SPADfirst| |x|)) 98 (QCDR (|SPADfirst| |y|)) (QREFELT $ 30))) 99 (PROGN (LETT #1# NIL) (GO #2=#:G508))) 100 ('T 101 (SEQ (LETT |x| (CDR |x|)) 102 (EXIT (LETT |y| (CDR |y|)))))))) 103 NIL (GO G190) G191 (EXIT NIL)) 104 (EXIT (COND ((NULL |x|) (NULL |y|)) ('T NIL))))) 105 #2# (EXIT #1#)))) 106 107(SDEFUN |IDPO;reductum;2$;10| ((|x| $) ($ $)) 108 (COND ((NULL |x|) (|spadConstant| $ 23)) ('T (CDR |x|)))) 109 110(SDEFUN |IDPO;leadingCoefficient;$A;11| ((|x| $) ($ A)) 111 (COND ((NULL |x|) (|spadConstant| $ 24)) ('T (QCDR (|SPADfirst| |x|))))) 112 113(SDEFUN |IDPO;smaller?;2$B;12| ((|x| $) (|y| $) ($ |Boolean|)) 114 (SPROG ((#1=#:G523 NIL)) 115 (SEQ 116 (EXIT 117 (SEQ G190 NIL 118 (SEQ 119 (EXIT 120 (COND 121 ((NULL |y|) 122 (COND 123 ((NULL |x|) (PROGN (LETT #1# NIL) (GO #2=#:G522))) 124 ('T 125 (PROGN 126 (LETT #1# 127 (SPADCALL (QCDR (|SPADfirst| |x|)) 128 (|spadConstant| $ 24) 129 (QREFELT $ 34))) 130 (GO #2#))))) 131 ((NULL |x|) 132 (PROGN 133 (LETT #1# 134 (SPADCALL (|spadConstant| $ 24) 135 (QCDR (|SPADfirst| |y|)) 136 (QREFELT $ 34))) 137 (GO #2#))) 138 ((SPADCALL (QCAR (|SPADfirst| |x|)) 139 (QCAR (|SPADfirst| |y|)) (QREFELT $ 35)) 140 (COND 141 ((SPADCALL (QCDR (|SPADfirst| |x|)) 142 (QCDR (|SPADfirst| |y|)) (QREFELT $ 25)) 143 (SEQ (LETT |x| (CDR |x|)) 144 (EXIT (LETT |y| (CDR |y|))))) 145 ('T 146 (PROGN 147 (LETT #1# 148 (SPADCALL (QCDR (|SPADfirst| |x|)) 149 (QCDR (|SPADfirst| |y|)) 150 (QREFELT $ 34))) 151 (GO #2#))))) 152 ((SPADCALL (QCAR (|SPADfirst| |x|)) 153 (QCAR (|SPADfirst| |y|)) (QREFELT $ 36)) 154 (PROGN 155 (LETT #1# 156 (SPADCALL (|spadConstant| $ 24) 157 (QCDR (|SPADfirst| |y|)) 158 (QREFELT $ 34))) 159 (GO #2#))) 160 ('T 161 (PROGN 162 (LETT #1# 163 (SPADCALL (QCDR (|SPADfirst| |x|)) 164 (|spadConstant| $ 24) 165 (QREFELT $ 34))) 166 (GO #2#)))))) 167 NIL (GO G190) G191 (EXIT NIL))) 168 #2# (EXIT #1#)))) 169 170(PUT '|IDPO;reductum;2$;13| '|SPADreplace| 'CDR) 171 172(SDEFUN |IDPO;reductum;2$;13| ((|x| $) ($ $)) (CDR |x|)) 173 174(SDEFUN |IDPO;leadingCoefficient;$A;14| ((|x| $) ($ A)) 175 (COND 176 ((NULL |x|) 177 (|error| "Can't take leadingCoefficient of empty product element")) 178 ('T (QCDR (|SPADfirst| |x|))))) 179 180(SDEFUN |IDPO;smaller?;2$B;15| ((|x| $) (|y| $) ($ |Boolean|)) 181 (SPROG ((#1=#:G536 NIL)) 182 (SEQ 183 (EXIT 184 (SEQ G190 NIL 185 (SEQ 186 (EXIT 187 (COND 188 ((NULL |y|) 189 (COND 190 ((OR (NULL |x|) 'T) 191 (PROGN (LETT #1# NIL) (GO #2=#:G535))))) 192 ((NULL |x|) (PROGN (LETT #1# 'T) (GO #2#))) 193 ((SPADCALL (QCAR (|SPADfirst| |x|)) 194 (QCAR (|SPADfirst| |y|)) (QREFELT $ 35)) 195 (COND 196 ((SPADCALL (QCDR (|SPADfirst| |x|)) 197 (QCDR (|SPADfirst| |y|)) (QREFELT $ 25)) 198 (SEQ (LETT |x| (CDR |x|)) 199 (EXIT (LETT |y| (CDR |y|))))) 200 ('T 201 (PROGN 202 (LETT #1# 203 (SPADCALL (QCDR (|SPADfirst| |x|)) 204 (QCDR (|SPADfirst| |y|)) 205 (QREFELT $ 34))) 206 (GO #2#))))) 207 ((SPADCALL (QCAR (|SPADfirst| |x|)) 208 (QCAR (|SPADfirst| |y|)) (QREFELT $ 36)) 209 (PROGN (LETT #1# 'T) (GO #2#))) 210 ('T (PROGN (LETT #1# NIL) (GO #2#)))))) 211 NIL (GO G190) G191 (EXIT NIL))) 212 #2# (EXIT #1#)))) 213 214(SDEFUN |IDPO;leadingSupport;$S;16| ((|x| $) ($ S)) 215 (COND 216 ((NULL |x|) 217 (|error| "Can't take leadingCoefficient of empty product element")) 218 ('T (QCAR (|SPADfirst| |x|))))) 219 220(SDEFUN |IDPO;leadingMonomial;2$;17| ((|x| $) ($ $)) 221 (SPADCALL (QCDR (|SPADfirst| |x|)) (QCAR (|SPADfirst| |x|)) 222 (QREFELT $ 26))) 223 224(SDEFUN |IDPO;compareterm| 225 ((|a| |Record| (|:| |k| S) (|:| |c| A)) 226 (|b| |Record| (|:| |k| S) (|:| |c| A)) ($ |Boolean|)) 227 (SPADCALL (QCAR |b|) (QCAR |a|) (QREFELT $ 36))) 228 229(SDEFUN |IDPO;construct;L$;19| 230 ((|lx| |List| (|Record| (|:| |k| S) (|:| |c| A))) ($ $)) 231 (SPADCALL (CONS (|function| |IDPO;compareterm|) $) |lx| (QREFELT $ 41))) 232 233(PUT '|IDPO;constructOrdered;L$;20| '|SPADreplace| '(XLAM (|lx|) |lx|)) 234 235(SDEFUN |IDPO;constructOrdered;L$;20| 236 ((|lx| |List| (|Record| (|:| |k| S) (|:| |c| A))) ($ $)) |lx|) 237 238(SDEFUN |IDPO;leadingTerm;$R;21| ((|x| $) ($ |Record| (|:| |k| S) (|:| |c| A))) 239 (COND 240 ((NULL |x|) 241 (|error| "Can't take leadingCoefficient of empty product element")) 242 ('T (|SPADfirst| |x|)))) 243 244(SDEFUN |IDPO;hashUpdate!;Hs$Hs;22| ((|s| |HashState|) (|x| $) ($ |HashState|)) 245 (SPROG ((#1=#:G551 NIL) (|t| NIL) (|xl| (|Rep|))) 246 (SEQ (LETT |xl| |x|) 247 (SEQ (LETT |t| NIL) (LETT #1# |xl|) G190 248 (COND 249 ((OR (ATOM #1#) (PROGN (LETT |t| (CAR #1#)) NIL)) 250 (GO G191))) 251 (SEQ 252 (LETT |s| (SPADCALL |s| (QCAR |t|) (QREFELT $ 46))) 253 (EXIT 254 (LETT |s| 255 (SPADCALL |s| (QCDR |t|) (QREFELT $ 47))))) 256 (LETT #1# (CDR #1#)) (GO G190) G191 (EXIT NIL)) 257 (EXIT |s|)))) 258 259(PUT '|IDPO;Zero;$;23| '|SPADreplace| '(XLAM NIL NIL)) 260 261(SDEFUN |IDPO;Zero;$;23| (($ $)) NIL) 262 263(PUT '|IDPO;zero?;$B;24| '|SPADreplace| 'NULL) 264 265(SDEFUN |IDPO;zero?;$B;24| ((|x| $) ($ |Boolean|)) (NULL |x|)) 266 267(SDEFUN |IDPO;add_gen| ((|x| |Rep|) (|y| |Rep|) ($ |Rep|)) 268 (SPROG 269 ((|res| (|Rep|)) (|end| (|Rep|)) (|endcell| (|Rep|)) 270 (|newcell| (|Rep|)) (|r| (A))) 271 (SEQ 272 (COND ((NULL |x|) |y|) ((NULL |y|) |x|) 273 (#1='T 274 (SEQ (LETT |endcell| NIL) (LETT |res| NIL) 275 (SEQ G190 276 (COND 277 ((NULL 278 (COND ((NULL |x|) NIL) ('T (NULL (NULL |y|))))) 279 (GO G191))) 280 (SEQ (LETT |newcell| NIL) 281 (COND 282 ((SPADCALL (QCAR (|SPADfirst| |x|)) 283 (QCAR (|SPADfirst| |y|)) 284 (QREFELT $ 35)) 285 (SEQ 286 (LETT |r| 287 (SPADCALL (QCDR (|SPADfirst| |x|)) 288 (QCDR (|SPADfirst| |y|)) 289 (QREFELT $ 50))) 290 (COND 291 ((NULL (SPADCALL |r| (QREFELT $ 51))) 292 (LETT |newcell| 293 (CONS 294 (CONS (QCAR (|SPADfirst| |x|)) |r|) 295 NIL)))) 296 (LETT |x| (CDR |x|)) 297 (EXIT (LETT |y| (CDR |y|))))) 298 ((SPADCALL (QCAR (|SPADfirst| |y|)) 299 (QCAR (|SPADfirst| |x|)) 300 (QREFELT $ 36)) 301 (SEQ 302 (LETT |newcell| 303 (CONS (|SPADfirst| |x|) NIL)) 304 (EXIT (LETT |x| (CDR |x|))))) 305 ('T 306 (SEQ 307 (LETT |newcell| 308 (CONS (|SPADfirst| |y|) NIL)) 309 (EXIT (LETT |y| (CDR |y|)))))) 310 (EXIT 311 (COND 312 ((NULL (NULL |newcell|)) 313 (COND 314 ((NULL |endcell|) 315 (SEQ (LETT |res| |newcell|) 316 (EXIT (LETT |endcell| |res|)))) 317 ('T 318 (SEQ (RPLACD |endcell| |newcell|) 319 (EXIT 320 (LETT |endcell| |newcell|))))))))) 321 NIL (GO G190) G191 (EXIT NIL)) 322 (COND ((NULL |x|) (LETT |end| |y|)) 323 (#1# (LETT |end| |x|))) 324 (COND ((NULL |res|) (LETT |res| |end|)) 325 (#1# (RPLACD |endcell| |end|))) 326 (EXIT |res|))))))) 327 328(SDEFUN |IDPO;add_si| 329 ((|x| |List| (|Record| (|:| |k| (|SingleInteger|)) (|:| |c| A))) 330 (|y| . #1=(|List| (|Record| (|:| |k| (|SingleInteger|)) (|:| |c| A)))) 331 ($ |List| (|Record| (|:| |k| (|SingleInteger|)) (|:| |c| A)))) 332 (SPROG 333 ((|res| 334 #2=(|List| (|Record| (|:| |k| (|SingleInteger|)) (|:| |c| A)))) 335 (|end| #1#) (|endcell| #2#) (|newcell| #2#) (|r| (A))) 336 (SEQ (LETT |endcell| NIL) (LETT |res| NIL) 337 (SEQ G190 338 (COND 339 ((NULL (COND ((NULL |x|) NIL) ('T (NULL (NULL |y|))))) 340 (GO G191))) 341 (SEQ (LETT |newcell| NIL) 342 (COND 343 ((|eql_SI| (QCAR (|SPADfirst| |x|)) 344 (QCAR (|SPADfirst| |y|))) 345 (SEQ 346 (LETT |r| 347 (SPADCALL (QCDR (|SPADfirst| |x|)) 348 (QCDR (|SPADfirst| |y|)) 349 (QREFELT $ 50))) 350 (COND 351 ((NULL (SPADCALL |r| (QREFELT $ 51))) 352 (LETT |newcell| 353 (CONS (CONS (QCAR (|SPADfirst| |x|)) |r|) 354 NIL)))) 355 (LETT |x| (CDR |x|)) (EXIT (LETT |y| (CDR |y|))))) 356 ((SPADCALL (QCAR (|SPADfirst| |y|)) 357 (QCAR (|SPADfirst| |x|)) (QREFELT $ 53)) 358 (SEQ (LETT |newcell| (CONS (|SPADfirst| |x|) NIL)) 359 (EXIT (LETT |x| (CDR |x|))))) 360 ('T 361 (SEQ (LETT |newcell| (CONS (|SPADfirst| |y|) NIL)) 362 (EXIT (LETT |y| (CDR |y|)))))) 363 (EXIT 364 (COND 365 ((NULL (NULL |newcell|)) 366 (COND 367 ((NULL |endcell|) 368 (SEQ (LETT |res| |newcell|) 369 (EXIT (LETT |endcell| |res|)))) 370 ('T 371 (SEQ (RPLACD |endcell| |newcell|) 372 (EXIT (LETT |endcell| |newcell|))))))))) 373 NIL (GO G190) G191 (EXIT NIL)) 374 (COND ((NULL |x|) (LETT |end| |y|)) (#3='T (LETT |end| |x|))) 375 (COND ((NULL |res|) (LETT |res| |end|)) 376 (#3# (RPLACD |endcell| |end|))) 377 (EXIT |res|)))) 378 379(SDEFUN |IDPO;+;3$;27| ((|x| $) (|y| $) ($ $)) 380 (SPROG 381 ((#1=#:G597 NIL) (|msi| (|SingleInteger|)) (|degy| (|Integer|)) 382 (|degx| (|Integer|))) 383 (SEQ 384 (EXIT 385 (COND ((NULL |x|) |y|) ((NULL |y|) |x|) 386 ('T 387 (SEQ (LETT |degx| (QCAR (|SPADfirst| |x|))) 388 (LETT |degy| (QCAR (|SPADfirst| |y|))) 389 (LETT |msi| MOST-POSITIVE-FIXNUM) 390 (COND 391 ((< |degx| |msi|) 392 (COND 393 ((< |degy| |msi|) 394 (EXIT 395 (PROGN 396 (LETT #1# (|IDPO;add_si| |x| |y| $)) 397 (GO #2=#:G596))))))) 398 (EXIT (|IDPO;add_gen| |x| |y| $)))))) 399 #2# (EXIT #1#)))) 400 401(SDEFUN |IDPO;+;3$;28| ((|x| $) (|y| $) ($ $)) (|IDPO;add_gen| |x| |y| $)) 402 403(SDEFUN |IDPO;*;Nni2$;29| ((|n| |NonNegativeInteger|) (|x| $) ($ $)) 404 (SPROG ((|a| (A)) (#1=#:G602 NIL) (|u| NIL) (#2=#:G601 NIL)) 405 (SEQ 406 (COND ((EQL |n| 0) (|spadConstant| $ 23)) ((EQL |n| 1) |x|) 407 ('T 408 (PROGN 409 (LETT #2# NIL) 410 (SEQ (LETT |u| NIL) (LETT #1# |x|) G190 411 (COND 412 ((OR (ATOM #1#) (PROGN (LETT |u| (CAR #1#)) NIL)) 413 (GO G191))) 414 (SEQ 415 (EXIT 416 (COND 417 ((SPADCALL 418 (LETT |a| 419 (SPADCALL |n| (QCDR |u|) 420 (QREFELT $ 55))) 421 (|spadConstant| $ 24) (QREFELT $ 30)) 422 (LETT #2# 423 (CONS (CONS (QCAR |u|) |a|) #2#)))))) 424 (LETT #1# (CDR #1#)) (GO G190) G191 425 (EXIT (NREVERSE #2#))))))))) 426 427(SDEFUN |IDPO;-;2$;30| ((|x| $) ($ $)) 428 (SPROG ((#1=#:G606 NIL) (|u| NIL) (#2=#:G605 NIL)) 429 (SEQ 430 (PROGN 431 (LETT #2# NIL) 432 (SEQ (LETT |u| NIL) (LETT #1# |x|) G190 433 (COND 434 ((OR (ATOM #1#) (PROGN (LETT |u| (CAR #1#)) NIL)) 435 (GO G191))) 436 (SEQ 437 (EXIT 438 (LETT #2# 439 (CONS 440 (CONS (QCAR |u|) 441 (SPADCALL (QCDR |u|) (QREFELT $ 57))) 442 #2#)))) 443 (LETT #1# (CDR #1#)) (GO G190) G191 444 (EXIT (NREVERSE #2#))))))) 445 446(SDEFUN |IDPO;*;I2$;31| ((|n| |Integer|) (|x| $) ($ $)) 447 (SPROG ((|a| (A)) (#1=#:G610 NIL) (|u| NIL) (#2=#:G609 NIL)) 448 (SEQ 449 (COND ((EQL |n| 0) (|spadConstant| $ 23)) ((EQL |n| 1) |x|) 450 ('T 451 (PROGN 452 (LETT #2# NIL) 453 (SEQ (LETT |u| NIL) (LETT #1# |x|) G190 454 (COND 455 ((OR (ATOM #1#) (PROGN (LETT |u| (CAR #1#)) NIL)) 456 (GO G191))) 457 (SEQ 458 (EXIT 459 (COND 460 ((SPADCALL 461 (LETT |a| 462 (SPADCALL |n| (QCDR |u|) 463 (QREFELT $ 60))) 464 (|spadConstant| $ 24) (QREFELT $ 30)) 465 (LETT #2# 466 (CONS (CONS (QCAR |u|) |a|) #2#)))))) 467 (LETT #1# (CDR #1#)) (GO G190) G191 468 (EXIT (NREVERSE #2#))))))))) 469 470(SDEFUN |IDPO;-;3$;32| ((|x| $) (|y| $) ($ $)) 471 (SPROG 472 ((|res| (|Rep|)) (|end| ($)) (|endcell| (|Rep|)) (|newcell| ($)) 473 (|r| (A))) 474 (SEQ 475 (COND ((NULL |x|) (SPADCALL |y| (QREFELT $ 58))) ((NULL |y|) |x|) 476 (#1='T 477 (SEQ (LETT |endcell| NIL) (LETT |res| NIL) 478 (SEQ G190 479 (COND 480 ((NULL 481 (COND ((NULL |x|) NIL) ('T (NULL (NULL |y|))))) 482 (GO G191))) 483 (SEQ (LETT |newcell| NIL) 484 (COND 485 ((SPADCALL (QCAR (|SPADfirst| |x|)) 486 (QCAR (|SPADfirst| |y|)) 487 (QREFELT $ 35)) 488 (SEQ 489 (LETT |r| 490 (SPADCALL (QCDR (|SPADfirst| |x|)) 491 (QCDR (|SPADfirst| |y|)) 492 (QREFELT $ 62))) 493 (COND 494 ((NULL (SPADCALL |r| (QREFELT $ 51))) 495 (LETT |newcell| 496 (CONS 497 (CONS (QCAR (|SPADfirst| |x|)) |r|) 498 NIL)))) 499 (LETT |x| (CDR |x|)) 500 (EXIT (LETT |y| (CDR |y|))))) 501 ((SPADCALL (QCAR (|SPADfirst| |y|)) 502 (QCAR (|SPADfirst| |x|)) 503 (QREFELT $ 36)) 504 (SEQ 505 (LETT |newcell| 506 (CONS (|SPADfirst| |x|) NIL)) 507 (EXIT (LETT |x| (CDR |x|))))) 508 ('T 509 (SEQ 510 (LETT |newcell| 511 (CONS 512 (CONS (QCAR (|SPADfirst| |y|)) 513 (SPADCALL 514 (QCDR (|SPADfirst| |y|)) 515 (QREFELT $ 57))) 516 NIL)) 517 (EXIT (LETT |y| (CDR |y|)))))) 518 (EXIT 519 (COND 520 ((NULL (NULL |newcell|)) 521 (COND 522 ((NULL |endcell|) 523 (SEQ (LETT |res| |newcell|) 524 (EXIT (LETT |endcell| |res|)))) 525 ('T 526 (SEQ (RPLACD |endcell| |newcell|) 527 (EXIT 528 (LETT |endcell| |newcell|))))))))) 529 NIL (GO G190) G191 (EXIT NIL)) 530 (COND 531 ((NULL |x|) (LETT |end| (SPADCALL |y| (QREFELT $ 58)))) 532 (#1# (LETT |end| |x|))) 533 (COND ((NULL |res|) (LETT |res| |end|)) 534 (#1# (RPLACD |endcell| |end|))) 535 (EXIT |res|))))))) 536 537(SDEFUN |IDPO;subtractIfCan;2$U;33| ((|x| $) (|y| $) ($ |Union| $ #1="failed")) 538 (SPROG 539 ((|res| (|Rep|)) (|endcell| (|Rep|)) (|newcell| ($)) (|r| (A)) 540 (#2=#:G663 NIL) (|ru| (|Union| A #1#))) 541 (SEQ 542 (EXIT 543 (COND ((NULL |y|) (CONS 0 |x|)) 544 (#3='T 545 (SEQ (LETT |endcell| NIL) (LETT |res| NIL) 546 (SEQ G190 547 (COND 548 ((NULL 549 (COND ((NULL |x|) NIL) ('T (NULL (NULL |y|))))) 550 (GO G191))) 551 (SEQ (LETT |newcell| NIL) 552 (COND 553 ((SPADCALL (QCAR (|SPADfirst| |x|)) 554 (QCAR (|SPADfirst| |y|)) 555 (QREFELT $ 35)) 556 (SEQ 557 (LETT |ru| 558 (SPADCALL (QCDR (|SPADfirst| |x|)) 559 (QCDR (|SPADfirst| |y|)) 560 (QREFELT $ 65))) 561 (EXIT 562 (COND 563 ((QEQCAR |ru| 1) 564 (PROGN 565 (LETT #2# (CONS 1 "failed")) 566 (GO #4=#:G662))) 567 ('T 568 (SEQ (LETT |r| (QCDR |ru|)) 569 (COND 570 ((NULL 571 (SPADCALL |r| (QREFELT $ 51))) 572 (LETT |newcell| 573 (CONS 574 (CONS 575 (QCAR (|SPADfirst| |x|)) 576 |r|) 577 NIL)))) 578 (LETT |x| (CDR |x|)) 579 (EXIT (LETT |y| (CDR |y|))))))))) 580 ((SPADCALL (QCAR (|SPADfirst| |y|)) 581 (QCAR (|SPADfirst| |x|)) 582 (QREFELT $ 36)) 583 (SEQ 584 (LETT |newcell| 585 (CONS (|SPADfirst| |x|) NIL)) 586 (EXIT (LETT |x| (CDR |x|))))) 587 ('T 588 (SEQ 589 (LETT |ru| 590 (SPADCALL (|spadConstant| $ 24) 591 (QCDR (|SPADfirst| |y|)) 592 (QREFELT $ 65))) 593 (EXIT 594 (COND 595 ((QEQCAR |ru| 1) 596 (PROGN 597 (LETT #2# (CONS 1 "failed")) 598 (GO #4#))) 599 ('T 600 (SEQ (LETT |r| (QCDR |ru|)) 601 (LETT |newcell| 602 (CONS 603 (CONS 604 (QCAR (|SPADfirst| |y|)) 605 |r|) 606 NIL)) 607 (EXIT (LETT |y| (CDR |y|)))))))))) 608 (EXIT 609 (COND 610 ((NULL (NULL |newcell|)) 611 (COND 612 ((NULL |endcell|) 613 (SEQ (LETT |res| |newcell|) 614 (EXIT (LETT |endcell| |res|)))) 615 ('T 616 (SEQ (RPLACD |endcell| |newcell|) 617 (EXIT 618 (LETT |endcell| |newcell|))))))))) 619 NIL (GO G190) G191 (EXIT NIL)) 620 (EXIT 621 (COND 622 ((NULL |x|) 623 (SEQ 624 (SEQ G190 625 (COND ((NULL (NULL (NULL |y|))) (GO G191))) 626 (SEQ 627 (LETT |ru| 628 (SPADCALL (|spadConstant| $ 24) 629 (QCDR (|SPADfirst| |y|)) 630 (QREFELT $ 65))) 631 (EXIT 632 (COND 633 ((QEQCAR |ru| 1) 634 (PROGN 635 (LETT #2# (CONS 1 "failed")) 636 (GO #4#))) 637 ('T 638 (SEQ (LETT |r| (QCDR |ru|)) 639 (LETT |newcell| 640 (CONS 641 (CONS (QCAR (|SPADfirst| |y|)) 642 |r|) 643 NIL)) 644 (LETT |y| (CDR |y|)) 645 (EXIT 646 (COND 647 ((NULL |endcell|) 648 (SEQ (LETT |res| |newcell|) 649 (EXIT 650 (LETT |endcell| |res|)))) 651 ('T 652 (SEQ (RPLACD |endcell| |newcell|) 653 (EXIT 654 (LETT |endcell| 655 |newcell|))))))))))) 656 NIL (GO G190) G191 (EXIT NIL)) 657 (EXIT (CONS 0 |res|)))) 658 (#3# 659 (SEQ 660 (COND ((NULL |res|) (LETT |res| |x|)) 661 (#3# (RPLACD |endcell| |x|))) 662 (EXIT (CONS 0 |res|)))))))))) 663 #4# (EXIT #2#)))) 664 665(SDEFUN |IDPO;<;2$B;34| ((|x| $) (|y| $) ($ |Boolean|)) 666 (SPADCALL |x| |y| (QREFELT $ 37))) 667 668(SDEFUN |IDPO;sup;3$;35| ((|x| $) (|y| $) ($ $)) 669 (SPROG ((|u| (A))) 670 (SEQ 671 (COND ((NULL |y|) |x|) ((NULL |x|) |y|) 672 ((SPADCALL (QCAR (|SPADfirst| |x|)) 673 (QCAR (|SPADfirst| |y|)) (QREFELT $ 68)) 674 (CONS (|SPADfirst| |y|) 675 (SPADCALL |x| (CDR |y|) (QREFELT $ 69)))) 676 ((SPADCALL (QCAR (|SPADfirst| |x|)) 677 (QCAR (|SPADfirst| |y|)) (QREFELT $ 70)) 678 (CONS (|SPADfirst| |x|) 679 (SPADCALL (CDR |x|) |y| (QREFELT $ 69)))) 680 ('T 681 (SEQ 682 (LETT |u| 683 (SPADCALL (QCDR (|SPADfirst| |x|)) 684 (QCDR (|SPADfirst| |y|)) 685 (QREFELT $ 71))) 686 (EXIT 687 (CONS (CONS (QCAR (|SPADfirst| |x|)) |u|) 688 (SPADCALL (CDR |x|) (CDR |y|) 689 (QREFELT $ 69)))))))))) 690 691(PUT '|IDPO;construct;L$;36| '|SPADreplace| '(XLAM (|lx|) |lx|)) 692 693(SDEFUN |IDPO;construct;L$;36| 694 ((|lx| |List| (|Record| (|:| |k| S) (|:| |c| A))) ($ $)) |lx|) 695 696(PUT '|IDPO;Zero;$;37| '|SPADreplace| '(XLAM NIL NIL)) 697 698(SDEFUN |IDPO;Zero;$;37| (($ $)) NIL) 699 700(SDEFUN |IDPO;do_copy| ((|xr| |Rep|) ($ |Rep|)) 701 (SPROG ((|res| ($)) (#1=#:G678 NIL) (|t| NIL)) 702 (SEQ (LETT |res| NIL) 703 (SEQ (LETT |t| NIL) (LETT #1# |xr|) G190 704 (COND 705 ((OR (ATOM #1#) (PROGN (LETT |t| (CAR #1#)) NIL)) 706 (GO G191))) 707 (SEQ 708 (EXIT 709 (LETT |res| 710 (CONS (CONS (QCAR |t|) (QCDR |t|)) |res|)))) 711 (LETT #1# (CDR #1#)) (GO G190) G191 (EXIT NIL)) 712 (EXIT (NREVERSE |res|))))) 713 714(SDEFUN |IDPO;+;3$;39| ((|x| $) (|y| $) ($ $)) 715 (SPROG 716 ((|xr| (|Rep|)) (|cxr| (|Rep|)) (|pxr| (|Rep|)) 717 (|first_time| #1=(|Boolean|)) (|done| #1#) (|nxr| (|Rep|)) (|tc| (A)) 718 (|t| (|Record| (|:| |k| S) (|:| |c| A))) (|sc| (A)) (|sk| (S)) 719 (#2=#:G692 NIL) (|s| NIL) (|yr| (|Rep|)) (|xxr| (|Rep|))) 720 (SEQ (LETT |xxr| |x|) (LETT |yr| |y|) 721 (EXIT 722 (COND ((NULL |xxr|) |y|) ((NULL |yr|) |x|) 723 ((> (LENGTH |yr|) (LENGTH |xxr|)) 724 (SPADCALL |y| |x| (QREFELT $ 54))) 725 ('T 726 (SEQ (LETT |xr| (|IDPO;do_copy| |xxr| $)) 727 (SEQ (LETT |s| NIL) (LETT #2# |yr|) G190 728 (COND 729 ((OR (ATOM #2#) 730 (PROGN (LETT |s| (CAR #2#)) NIL)) 731 (GO G191))) 732 (SEQ (LETT |sk| (QCAR |s|)) 733 (LETT |sc| (QCDR |s|)) (LETT |done| NIL) 734 (LETT |first_time| 'T) (LETT |nxr| |xr|) 735 (LETT |cxr| |xr|) 736 (SEQ G190 737 (COND 738 ((NULL 739 (NULL (OR (NULL |cxr|) |done|))) 740 (GO G191))) 741 (SEQ (LETT |t| (|SPADfirst| |cxr|)) 742 (COND 743 ((SPADCALL (QCAR |t|) |sk| 744 (QREFELT $ 35)) 745 (SEQ 746 (LETT |tc| 747 (SPADCALL (QCDR |t|) 748 |sc| 749 (QREFELT $ 750 50))) 751 (COND 752 ((SPADCALL |tc| 753 (|spadConstant| $ 754 24) 755 (QREFELT $ 25)) 756 (COND 757 (|first_time| 758 (LETT |nxr| (CDR |cxr|))) 759 ('T 760 (|qset_rest| |pxr| 761 (CDR 762 |cxr|))))) 763 ('T 764 (PROGN 765 (RPLACD |t| |tc|) 766 (QCDR |t|)))) 767 (EXIT (LETT |done| 'T))))) 768 (LETT |first_time| NIL) 769 (LETT |pxr| |cxr|) 770 (EXIT (LETT |cxr| (CDR |cxr|)))) 771 NIL (GO G190) G191 (EXIT NIL)) 772 (LETT |xr| |nxr|) 773 (EXIT 774 (COND 775 ((NULL |done|) 776 (LETT |xr| 777 (CONS (CONS |sk| |sc|) |xr|)))))) 778 (LETT #2# (CDR #2#)) (GO G190) G191 (EXIT NIL)) 779 (EXIT |xr|)))))))) 780 781(SDEFUN |IDPO;=;2$B;40| ((|x| $) (|y| $) ($ |Boolean|)) 782 (SPROG 783 ((#1=#:G702 NIL) (|done| (|Boolean|)) (#2=#:G704 NIL) (|t| NIL) 784 (|sc| (A)) (|sk| (S)) (#3=#:G703 NIL) (|s| NIL) (|yr| (|Rep|)) 785 (|xr| (|Rep|))) 786 (SEQ 787 (EXIT 788 (SEQ (LETT |xr| |x|) (LETT |yr| |y|) 789 (EXIT 790 (COND 791 ((SPADCALL (LENGTH |xr|) (LENGTH |yr|) (QREFELT $ 72)) NIL) 792 ('T 793 (SEQ 794 (SEQ (LETT |s| NIL) (LETT #3# |yr|) G190 795 (COND 796 ((OR (ATOM #3#) (PROGN (LETT |s| (CAR #3#)) NIL)) 797 (GO G191))) 798 (SEQ (LETT |sk| (QCAR |s|)) (LETT |sc| (QCDR |s|)) 799 (LETT |done| NIL) 800 (SEQ (LETT |t| NIL) (LETT #2# |xr|) G190 801 (COND 802 ((OR (ATOM #2#) 803 (PROGN (LETT |t| (CAR #2#)) NIL) 804 (NULL (NULL |done|))) 805 (GO G191))) 806 (SEQ 807 (EXIT 808 (COND 809 ((SPADCALL (QCAR |t|) |sk| 810 (QREFELT $ 35)) 811 (COND 812 ((SPADCALL (QCDR |t|) |sc| 813 (QREFELT $ 25)) 814 (LETT |done| 'T)) 815 ('T 816 (PROGN 817 (LETT #1# NIL) 818 (GO #4=#:G701)))))))) 819 (LETT #2# (CDR #2#)) (GO G190) G191 820 (EXIT NIL)) 821 (EXIT 822 (COND 823 ((NULL |done|) 824 (PROGN (LETT #1# NIL) (GO #4#)))))) 825 (LETT #3# (CDR #3#)) (GO G190) G191 (EXIT NIL)) 826 (EXIT 'T))))))) 827 #4# (EXIT #1#)))) 828 829(SDEFUN |IDPO;subtractIfCan;2$U;41| ((|x| $) (|y| $) ($ |Union| $ #1="failed")) 830 (SPROG 831 ((|xr| (|Rep|)) (#2=#:G724 NIL) (|tcu| (|Union| A #1#)) 832 (|cxr| (|Rep|)) (|pxr| (|Rep|)) (|first_time| #3=(|Boolean|)) 833 (|done| #3#) (|nxr| (|Rep|)) (|tc| (A)) 834 (|t| (|Record| (|:| |k| S) (|:| |c| A))) (|sc| (A)) (|sk| (S)) 835 (#4=#:G725 NIL) (|s| NIL) (|yr| (|Rep|))) 836 (SEQ 837 (EXIT 838 (SEQ (LETT |yr| |y|) 839 (EXIT 840 (COND ((NULL |yr|) (CONS 0 |x|)) 841 ('T 842 (SEQ (LETT |xr| (|IDPO;do_copy| |x| $)) 843 (SEQ (LETT |s| NIL) (LETT #4# |yr|) G190 844 (COND 845 ((OR (ATOM #4#) 846 (PROGN (LETT |s| (CAR #4#)) NIL)) 847 (GO G191))) 848 (SEQ (LETT |sk| (QCAR |s|)) 849 (LETT |sc| (QCDR |s|)) (LETT |done| NIL) 850 (LETT |first_time| 'T) (LETT |nxr| |xr|) 851 (LETT |cxr| |xr|) 852 (SEQ G190 853 (COND 854 ((NULL 855 (NULL (OR (NULL |cxr|) |done|))) 856 (GO G191))) 857 (SEQ (LETT |t| (|SPADfirst| |cxr|)) 858 (COND 859 ((SPADCALL (QCAR |t|) |sk| 860 (QREFELT $ 35)) 861 (SEQ 862 (LETT |tcu| 863 (SPADCALL (QCDR |t|) 864 |sc| 865 (QREFELT $ 866 65))) 867 (EXIT 868 (COND 869 ((QEQCAR |tcu| 1) 870 (PROGN 871 (LETT #2# 872 (CONS 1 873 "failed")) 874 (GO #5=#:G723))) 875 ('T 876 (SEQ 877 (LETT |tc| 878 (QCDR |tcu|)) 879 (COND 880 ((SPADCALL |tc| 881 (|spadConstant| 882 $ 24) 883 (QREFELT $ 884 25)) 885 (COND 886 (|first_time| 887 (LETT |nxr| 888 (CDR |cxr|))) 889 ('T 890 (|qset_rest| |pxr| 891 (CDR 892 |cxr|))))) 893 ('T 894 (PROGN 895 (RPLACD |t| |tc|) 896 (QCDR |t|)))) 897 (EXIT 898 (LETT |done| 899 'T))))))))) 900 (LETT |first_time| NIL) 901 (LETT |pxr| |cxr|) 902 (EXIT 903 (LETT |cxr| (CDR |cxr|)))) 904 NIL (GO G190) G191 (EXIT NIL)) 905 (LETT |xr| |nxr|) 906 (EXIT 907 (COND 908 ((NULL |done|) 909 (SEQ 910 (LETT |tcu| 911 (SPADCALL 912 (|spadConstant| $ 24) |sc| 913 (QREFELT $ 65))) 914 (EXIT 915 (COND 916 ((QEQCAR |tcu| 1) 917 (PROGN 918 (LETT #2# (CONS 1 "failed")) 919 (GO #5#))) 920 ('T 921 (LETT |xr| 922 (CONS 923 (CONS |sk| (QCDR |tcu|)) 924 |xr|)))))))))) 925 (LETT #4# (CDR #4#)) (GO G190) G191 926 (EXIT NIL)) 927 (EXIT (CONS 0 |xr|)))))))) 928 #5# (EXIT #2#)))) 929 930(SDEFUN |IDPO;-;2$;42| ((|x| $) ($ $)) (SPADCALL (ELT $ 57) |x| (QREFELT $ 28))) 931 932(DECLAIM (NOTINLINE |IndexedDirectProductObject;|)) 933 934(DEFUN |IndexedDirectProductObject| (&REST #1=#:G729) 935 (SPROG NIL 936 (PROG (#2=#:G730) 937 (RETURN 938 (COND 939 ((LETT #2# 940 (|lassocShiftWithFunction| (|devaluateList| #1#) 941 (HGET |$ConstructorCache| 942 '|IndexedDirectProductObject|) 943 '|domainEqualList|)) 944 (|CDRwithIncrement| #2#)) 945 ('T 946 (UNWIND-PROTECT 947 (PROG1 (APPLY (|function| |IndexedDirectProductObject;|) #1#) 948 (LETT #2# T)) 949 (COND 950 ((NOT #2#) 951 (HREM |$ConstructorCache| 952 '|IndexedDirectProductObject|)))))))))) 953 954(DEFUN |IndexedDirectProductObject;| (|#1| |#2|) 955 (SPROG 956 ((|pv$| NIL) (#1=#:G728 NIL) ($ NIL) (|dv$| NIL) (DV$2 NIL) (DV$1 NIL)) 957 (PROGN 958 (LETT DV$1 (|devaluate| |#1|)) 959 (LETT DV$2 (|devaluate| |#2|)) 960 (LETT |dv$| (LIST '|IndexedDirectProductObject| DV$1 DV$2)) 961 (LETT $ (GETREFV 75)) 962 (QSETREFV $ 0 |dv$|) 963 (QSETREFV $ 3 964 (LETT |pv$| 965 (|buildPredVector| 0 0 966 (LIST 967 (|HasCategory| |#1| '(|AbelianGroup|)) 968 (AND 969 (|HasCategory| |#1| 970 '(|OrderedAbelianMonoidSup|)) 971 (|HasCategory| |#2| '(|OrderedSet|))) 972 (OR 973 (AND 974 (|HasCategory| |#1| 975 '(|OrderedAbelianMonoid|)) 976 (|HasCategory| |#2| '(|OrderedSet|))) 977 (AND 978 (|HasCategory| |#1| 979 '(|OrderedAbelianMonoidSup|)) 980 (|HasCategory| |#2| 981 '(|OrderedSet|)))) 982 (OR 983 (|HasCategory| |#1| '(|AbelianGroup|)) 984 (|HasCategory| |#1| 985 '(|CancellationAbelianMonoid|))) 986 (OR 987 (|HasCategory| |#1| '(|AbelianGroup|)) 988 (|HasCategory| |#1| 989 '(|AbelianMonoid|)) 990 (|HasCategory| |#1| 991 '(|CancellationAbelianMonoid|))) 992 (LETT #1# 993 (|HasCategory| |#2| 994 '(|Comparable|))) 995 (OR 996 (AND 997 (|HasCategory| |#1| '(|Comparable|)) 998 #1#) 999 (AND 1000 (|HasCategory| |#1| '(|Comparable|)) 1001 (|HasCategory| |#2| '(|OrderedSet|))) 1002 (AND 1003 (|HasCategory| |#1| 1004 '(|OrderedAbelianMonoid|)) 1005 (|HasCategory| |#2| '(|OrderedSet|))) 1006 (AND 1007 (|HasCategory| |#1| 1008 '(|OrderedAbelianMonoidSup|)) 1009 (|HasCategory| |#2| 1010 '(|OrderedSet|)))) 1011 (OR 1012 (|HasCategory| |#1| 1013 '(|AbelianMonoid|)) 1014 (AND 1015 (|HasCategory| |#1| '(|Comparable|)) 1016 #1#)) 1017 (OR 1018 (|HasCategory| |#1| '(|AbelianGroup|)) 1019 (|HasCategory| |#1| 1020 '(|AbelianMonoid|)) 1021 (|HasCategory| |#1| 1022 '(|CancellationAbelianMonoid|)) 1023 (AND 1024 (|HasCategory| |#1| '(|Comparable|)) 1025 #1#) 1026 (AND 1027 (|HasCategory| |#1| '(|Comparable|)) 1028 (|HasCategory| |#2| '(|OrderedSet|))) 1029 (AND 1030 (|HasCategory| |#1| 1031 '(|OrderedAbelianMonoid|)) 1032 (|HasCategory| |#2| '(|OrderedSet|))) 1033 (AND 1034 (|HasCategory| |#1| 1035 '(|OrderedAbelianMonoidSup|)) 1036 (|HasCategory| |#2| 1037 '(|OrderedSet|)))) 1038 (OR 1039 (|HasCategory| |#1| 1040 '(|AbelianMonoid|)) 1041 (AND 1042 (|HasCategory| |#1| '(|Comparable|)) 1043 #1#) 1044 (AND 1045 (|HasCategory| |#1| 1046 '(|OrderedAbelianMonoid|)) 1047 (|HasCategory| |#2| '(|OrderedSet|))) 1048 (AND 1049 (|HasCategory| |#1| 1050 '(|OrderedAbelianMonoidSup|)) 1051 (|HasCategory| |#2| 1052 '(|OrderedSet|)))) 1053 (OR 1054 (AND 1055 (|HasCategory| |#1| '(|Comparable|)) 1056 #1#) 1057 (AND 1058 (|HasCategory| |#1| 1059 '(|OrderedAbelianMonoid|)) 1060 (|HasCategory| |#2| '(|OrderedSet|))) 1061 (AND 1062 (|HasCategory| |#1| 1063 '(|OrderedAbelianMonoidSup|)) 1064 (|HasCategory| |#2| 1065 '(|OrderedSet|)))) 1066 (OR 1067 (|HasCategory| |#1| 1068 '(|AbelianMonoid|)) 1069 (AND 1070 (|HasCategory| |#1| 1071 '(|OrderedAbelianMonoid|)) 1072 (|HasCategory| |#2| '(|OrderedSet|))) 1073 (AND 1074 (|HasCategory| |#1| 1075 '(|OrderedAbelianMonoidSup|)) 1076 (|HasCategory| |#2| 1077 '(|OrderedSet|)))) 1078 (OR 1079 (|HasCategory| |#1| 1080 '(|CancellationAbelianMonoid|)) 1081 (AND 1082 (|HasCategory| |#1| 1083 '(|OrderedAbelianMonoidSup|)) 1084 (|HasCategory| |#2| 1085 '(|OrderedSet|)))))))) 1086 (|haddProp| |$ConstructorCache| '|IndexedDirectProductObject| 1087 (LIST DV$1 DV$2) (CONS 1 $)) 1088 (|stuffDomainSlots| $) 1089 (QSETREFV $ 6 |#1|) 1090 (QSETREFV $ 7 |#2|) 1091 (SETF |pv$| (QREFELT $ 3)) 1092 (QSETREFV $ 8 (|List| (|Record| (|:| |k| |#2|) (|:| |c| |#1|)))) 1093 (COND 1094 ((|HasCategory| |#1| '(|AbelianMonoid|)) 1095 (PROGN 1096 (QSETREFV $ 26 (CONS (|dispatchFunction| |IDPO;monomial;AS$;5|) $)) 1097 (QSETREFV $ 28 (CONS (|dispatchFunction| |IDPO;map;M2$;6|) $)))) 1098 ('T 1099 (PROGN 1100 (QSETREFV $ 26 (CONS (|dispatchFunction| |IDPO;monomial;AS$;7|) $)) 1101 (QSETREFV $ 28 (CONS (|dispatchFunction| |IDPO;map;M2$;8|) $))))) 1102 (COND 1103 ((|testBitVector| |pv$| 6) 1104 (PROGN 1105 (QSETREFV $ 31 (CONS (|dispatchFunction| |IDPO;=;2$B;9|) $)) 1106 (COND 1107 ((|HasCategory| |#1| '(|AbelianMonoid|)) 1108 (PROGN 1109 (QSETREFV $ 32 (CONS (|dispatchFunction| |IDPO;reductum;2$;10|) $)) 1110 (QSETREFV $ 33 1111 (CONS (|dispatchFunction| |IDPO;leadingCoefficient;$A;11|) 1112 $)) 1113 (COND 1114 ((|HasCategory| |#1| '(|Comparable|)) 1115 (PROGN 1116 (QSETREFV $ 37 1117 (CONS (|dispatchFunction| |IDPO;smaller?;2$B;12|) 1118 $))))))) 1119 ('T 1120 (PROGN 1121 (QSETREFV $ 32 (CONS (|dispatchFunction| |IDPO;reductum;2$;13|) $)) 1122 (QSETREFV $ 33 1123 (CONS (|dispatchFunction| |IDPO;leadingCoefficient;$A;14|) 1124 $)) 1125 (COND 1126 ((|HasCategory| |#1| '(|Comparable|)) 1127 (PROGN 1128 (QSETREFV $ 37 1129 (CONS (|dispatchFunction| |IDPO;smaller?;2$B;15|) 1130 $)))))))) 1131 (QSETREFV $ 38 1132 (CONS (|dispatchFunction| |IDPO;leadingSupport;$S;16|) $)) 1133 (QSETREFV $ 39 1134 (CONS (|dispatchFunction| |IDPO;leadingMonomial;2$;17|) $)) 1135 NIL 1136 (QSETREFV $ 42 (CONS (|dispatchFunction| |IDPO;construct;L$;19|) $)) 1137 (QSETREFV $ 43 1138 (CONS (|dispatchFunction| |IDPO;constructOrdered;L$;20|) $)) 1139 (QSETREFV $ 44 (CONS (|dispatchFunction| |IDPO;leadingTerm;$R;21|) $)) 1140 (QSETREFV $ 48 1141 (CONS (|dispatchFunction| |IDPO;hashUpdate!;Hs$Hs;22|) $)) 1142 (COND 1143 ((|HasCategory| |#1| '(|AbelianMonoid|)) 1144 (PROGN 1145 (QSETREFV $ 23 1146 (CONS #'|makeSpadConstant| 1147 (LIST (|dispatchFunction| |IDPO;Zero;$;23|) $ 23))) 1148 (QSETREFV $ 49 (CONS (|dispatchFunction| |IDPO;zero?;$B;24|) $)) 1149 (COND 1150 ((|domainEqual| |#2| (|NonNegativeInteger|)) 1151 (PROGN 1152 (QSETREFV $ 54 (CONS (|dispatchFunction| |IDPO;+;3$;27|) $)))) 1153 ('T (QSETREFV $ 54 (CONS (|dispatchFunction| |IDPO;+;3$;28|) $)))) 1154 (QSETREFV $ 56 (CONS (|dispatchFunction| |IDPO;*;Nni2$;29|) $))))) 1155 (COND 1156 ((|testBitVector| |pv$| 1) 1157 (PROGN 1158 (QSETREFV $ 58 (CONS (|dispatchFunction| |IDPO;-;2$;30|) $)) 1159 (QSETREFV $ 61 (CONS (|dispatchFunction| |IDPO;*;I2$;31|) $)) 1160 (QSETREFV $ 63 (CONS (|dispatchFunction| |IDPO;-;3$;32|) $))))) 1161 (COND 1162 ((|HasCategory| |#1| '(|CancellationAbelianMonoid|)) 1163 (QSETREFV $ 66 1164 (CONS (|dispatchFunction| |IDPO;subtractIfCan;2$U;33|) $)))) 1165 (COND 1166 ((|HasCategory| |#1| '(|OrderedAbelianMonoid|)) 1167 (QSETREFV $ 67 (CONS (|dispatchFunction| |IDPO;<;2$B;34|) $)))) 1168 (COND 1169 ((|HasCategory| |#2| '(|OrderedSet|)) 1170 (COND 1171 ((|HasCategory| |#1| '(|OrderedAbelianMonoidSup|)) 1172 (QSETREFV $ 69 (CONS (|dispatchFunction| |IDPO;sup;3$;35|) $)))))))) 1173 ('T 1174 (PROGN 1175 (QSETREFV $ 42 (CONS (|dispatchFunction| |IDPO;construct;L$;36|) $)) 1176 (COND 1177 ((|HasCategory| |#1| '(|AbelianMonoid|)) 1178 (PROGN 1179 (QSETREFV $ 23 1180 (CONS #'|makeSpadConstant| 1181 (LIST (|dispatchFunction| |IDPO;Zero;$;37|) $ 23))) 1182 (QSETREFV $ 54 (CONS (|dispatchFunction| |IDPO;+;3$;39|) $)) 1183 (QSETREFV $ 31 (CONS (|dispatchFunction| |IDPO;=;2$B;40|) $)) 1184 (COND 1185 ((|HasCategory| |#1| '(|CancellationAbelianMonoid|)) 1186 (QSETREFV $ 66 1187 (CONS (|dispatchFunction| |IDPO;subtractIfCan;2$U;41|) 1188 $)))) 1189 (COND 1190 ((|testBitVector| |pv$| 1) 1191 (QSETREFV $ 58 1192 (CONS (|dispatchFunction| |IDPO;-;2$;42|) $)))))))))) 1193 $))) 1194 1195(MAKEPROP '|IndexedDirectProductObject| '|infovec| 1196 (LIST 1197 '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|local| |#2|) '|Rep| 1198 (|OutputForm|) (0 . |coerce|) (5 . |coerce|) (10 . |rarrow|) 1199 (|List| $) (16 . |bracket|) |IDPO;coerce;$Of;1| 1200 (|Record| (|:| |k| 7) (|:| |c| 6)) (|List| 16) 1201 |IDPO;listOfTerms;$L;2| (|Boolean|) |IDPO;monomial?;$B;3| 1202 (|NonNegativeInteger|) |IDPO;numberOfMonomials;$Nni;4| 1203 (21 . |Zero|) (25 . |Zero|) (29 . =) (35 . |monomial|) 1204 (|Mapping| 6 6) (41 . |map|) (47 . ~=) (53 . ~=) (59 . =) 1205 (65 . |reductum|) (70 . |leadingCoefficient|) (75 . |smaller?|) 1206 (81 . =) (87 . |smaller?|) (93 . |smaller?|) 1207 (99 . |leadingSupport|) (104 . |leadingMonomial|) 1208 (|Mapping| 19 16 16) (109 . |sort|) (115 . |construct|) 1209 (120 . |constructOrdered|) (125 . |leadingTerm|) (|HashState|) 1210 (130 . |hashUpdate!|) (136 . |hashUpdate!|) (142 . |hashUpdate!|) 1211 (148 . |zero?|) (153 . +) (159 . |zero?|) (|SingleInteger|) 1212 (164 . |smaller?|) (170 . +) (176 . *) (182 . *) (188 . -) 1213 (193 . -) (|Integer|) (198 . *) (204 . *) (210 . -) (216 . -) 1214 (|Union| $ '"failed") (222 . |subtractIfCan|) 1215 (228 . |subtractIfCan|) (234 . <) (240 . <) (246 . |sup|) 1216 (252 . >) (258 . |sup|) (264 . ~=) (|String|) 1217 (|PositiveInteger|)) 1218 '#(~= 270 |zero?| 276 |sup| 281 |subtractIfCan| 287 |smaller?| 293 1219 |sample| 299 |reductum| 303 |opposite?| 308 |numberOfMonomials| 1220 314 |monomial?| 319 |monomial| 324 |min| 330 |max| 336 |map| 342 1221 |listOfTerms| 348 |leadingTerm| 353 |leadingSupport| 358 1222 |leadingMonomial| 363 |leadingCoefficient| 368 |latex| 373 1223 |hashUpdate!| 378 |hash| 384 |constructOrdered| 389 |construct| 1224 394 |coerce| 399 |Zero| 404 >= 408 > 414 = 420 <= 426 < 432 - 438 1225 + 449 * 455) 1226 'NIL 1227 (CONS (|makeByteWordVec2| 9 '(0 0 2 0 2 1 3 3 4 3 5 7 5 9 8 3 9)) 1228 (CONS 1229 '#(NIL NIL NIL NIL NIL |AbelianGroup&| NIL NIL NIL 1230 |OrderedSet&| |AbelianMonoid&| NIL |AbelianSemiGroup&| 1231 |SetCategory&| NIL |PartialOrder&| |BasicType&|) 1232 (CONS 1233 '#((|IndexedDirectProductCategory| 6 7) 1234 (|IndexedProductCategory| 6 7) 1235 (|OrderedAbelianMonoidSup|) (|AbelianProductCategory| 6) 1236 (|OrderedCancellationAbelianMonoid|) (|AbelianGroup|) 1237 (|OrderedAbelianMonoid|) (|OrderedAbelianSemiGroup|) 1238 (|CancellationAbelianMonoid|) (|OrderedSet|) 1239 (|AbelianMonoid|) (|Comparable|) (|AbelianSemiGroup|) 1240 (|SetCategory|) (|CoercibleTo| 9) (|PartialOrder|) 1241 (|BasicType|)) 1242 (|makeByteWordVec2| 74 1243 '(1 7 9 0 10 1 6 9 0 11 2 9 0 0 0 12 1 9 1244 0 13 14 0 0 0 23 0 6 0 24 2 6 19 0 0 1245 25 2 0 0 6 7 26 2 0 0 27 0 28 2 7 19 0 1246 0 29 2 6 19 0 0 30 2 0 19 0 0 31 1 0 0 1247 0 32 1 0 6 0 33 2 6 19 0 0 34 2 7 19 0 1248 0 35 2 7 19 0 0 36 2 0 19 0 0 37 1 0 7 1249 0 38 1 0 0 0 39 2 8 0 40 0 41 1 0 0 17 1250 42 1 0 0 17 43 1 0 16 0 44 2 7 45 45 0 1251 46 2 6 45 45 0 47 2 0 45 45 0 48 1 0 1252 19 0 49 2 6 0 0 0 50 1 6 19 0 51 2 52 1253 19 0 0 53 2 0 0 0 0 54 2 6 0 21 0 55 2 1254 0 0 21 0 56 1 6 0 0 57 1 0 0 0 58 2 6 1255 0 59 0 60 2 0 0 59 0 61 2 6 0 0 0 62 2 1256 0 0 0 0 63 2 6 64 0 0 65 2 0 64 0 0 66 1257 2 0 19 0 0 67 2 7 19 0 0 68 2 0 0 0 0 1258 69 2 7 19 0 0 70 2 6 0 0 0 71 2 21 19 1259 0 0 72 2 10 19 0 0 1 1 12 19 0 49 2 2 1260 0 0 0 69 2 13 64 0 0 66 2 11 19 0 0 37 1261 0 12 0 1 1 6 0 0 32 2 12 19 0 0 1 1 0 1262 21 0 22 1 0 19 0 20 2 0 0 6 7 26 2 3 0 1263 0 0 1 2 3 0 0 0 1 2 0 0 27 0 28 1 0 17 1264 0 18 1 6 16 0 44 1 6 7 0 38 1 6 0 0 39 1265 1 6 6 0 33 1 10 73 0 1 2 10 45 45 0 48 1266 1 10 52 0 1 1 6 0 17 43 1 0 0 17 42 1 1267 10 9 0 15 0 12 0 23 2 3 19 0 0 1 2 3 1268 19 0 0 1 2 10 19 0 0 31 2 3 19 0 0 1 2 1269 3 19 0 0 67 1 1 0 0 58 2 1 0 0 0 63 2 1270 12 0 0 0 54 2 12 0 21 0 56 2 12 0 74 0 1271 1 2 1 0 59 0 61))))) 1272 '|lookupComplete|)) 1273