diff options
Diffstat (limited to 'src/algebra')
-rw-r--r-- | src/algebra/ffcat.spad.pamphlet | 651 | ||||
-rw-r--r-- | src/algebra/fraction.spad.pamphlet | 576 | ||||
-rw-r--r-- | src/algebra/polset.spad.pamphlet | 1042 | ||||
-rw-r--r-- | src/algebra/polycat.spad.pamphlet | 6751 | ||||
-rw-r--r-- | src/algebra/triset.spad.pamphlet | 1182 |
5 files changed, 6474 insertions, 3728 deletions
diff --git a/src/algebra/ffcat.spad.pamphlet b/src/algebra/ffcat.spad.pamphlet index 9505c555..f8047d80 100644 --- a/src/algebra/ffcat.spad.pamphlet +++ b/src/algebra/ffcat.spad.pamphlet @@ -714,15 +714,65 @@ Note that this code is not included in the generated catdef.spad file. <<FFIELDC.lsp BOOTSTRAP>>= -(|/VERSIONCHECK| 2) +(/VERSIONCHECK 2) -(SETQ |FiniteFieldCategory;AL| (QUOTE NIL)) +(DEFPARAMETER |FiniteFieldCategory;AL| 'NIL) -(DEFUN |FiniteFieldCategory| NIL (LET (#:G83129) (COND (|FiniteFieldCategory;AL|) (T (SETQ |FiniteFieldCategory;AL| (|FiniteFieldCategory;|)))))) +(DEFUN |FiniteFieldCategory| () + (LET (#:G1395) + (COND + (|FiniteFieldCategory;AL|) + (T (SETQ |FiniteFieldCategory;AL| (|FiniteFieldCategory;|)))))) -(DEFUN |FiniteFieldCategory;| NIL (PROG (#1=#:G83127) (RETURN (PROG1 (LETT #1# (|Join| (|FieldOfPrimeCharacteristic|) (|Finite|) (|StepThrough|) (|DifferentialRing|) (|mkCategory| (QUOTE |domain|) (QUOTE (((|charthRoot| (|$| |$|)) T) ((|conditionP| ((|Union| (|Vector| |$|) "failed") (|Matrix| |$|))) T) ((|factorsOfCyclicGroupSize| ((|List| (|Record| (|:| |factor| (|Integer|)) (|:| |exponent| (|Integer|)))))) T) ((|tableForDiscreteLogarithm| ((|Table| (|PositiveInteger|) (|NonNegativeInteger|)) (|Integer|))) T) ((|createPrimitiveElement| (|$|)) T) ((|primitiveElement| (|$|)) T) ((|primitive?| ((|Boolean|) |$|)) T) ((|discreteLog| ((|NonNegativeInteger|) |$|)) T) ((|order| ((|PositiveInteger|) |$|)) T) ((|representationType| ((|Union| "prime" "polynomial" "normal" "cyclic"))) T))) NIL (QUOTE ((|PositiveInteger|) (|NonNegativeInteger|) (|Boolean|) (|Table| (|PositiveInteger|) (|NonNegativeInteger|)) (|Integer|) (|List| (|Record| (|:| |factor| (|Integer|)) (|:| |exponent| (|Integer|)))) (|Matrix| |$|))) NIL)) |FiniteFieldCategory|) (SETELT #1# 0 (QUOTE (|FiniteFieldCategory|))))))) +(DEFUN |FiniteFieldCategory;| () + (PROG (#0=#:G1393) + (RETURN + (PROG1 (LETT #0# + (|Join| (|FieldOfPrimeCharacteristic|) (|Finite|) + (|StepThrough|) (|DifferentialRing|) + (|mkCategory| '|domain| + '(((|charthRoot| ($ $)) T) + ((|conditionP| + ((|Union| (|Vector| $) "failed") + (|Matrix| $))) + T) + ((|factorsOfCyclicGroupSize| + ((|List| + (|Record| + (|:| |factor| (|Integer|)) + (|:| |exponent| (|Integer|)))))) + T) + ((|tableForDiscreteLogarithm| + ((|Table| (|PositiveInteger|) + (|NonNegativeInteger|)) + (|Integer|))) + T) + ((|createPrimitiveElement| ($)) T) + ((|primitiveElement| ($)) T) + ((|primitive?| ((|Boolean|) $)) T) + ((|discreteLog| + ((|NonNegativeInteger|) $)) + T) + ((|order| ((|PositiveInteger|) $)) T) + ((|representationType| + ((|Union| "prime" "polynomial" + "normal" "cyclic"))) + T)) + NIL + '((|PositiveInteger|) + (|NonNegativeInteger|) (|Boolean|) + (|Table| (|PositiveInteger|) + (|NonNegativeInteger|)) + (|Integer|) + (|List| (|Record| + (|:| |factor| (|Integer|)) + (|:| |exponent| (|Integer|)))) + (|Matrix| $)) + NIL)) + |FiniteFieldCategory|) + (SETELT #0# 0 '(|FiniteFieldCategory|)))))) -(MAKEPROP (QUOTE |FiniteFieldCategory|) (QUOTE NILADIC) T) +(MAKEPROP '|FiniteFieldCategory| 'NILADIC T) @ \section{FFIELDC-.lsp BOOTSTRAP} {\bf FFIELDC-} depends on {\bf FFIELDC}. We need to break this cycle to build @@ -735,43 +785,596 @@ Note that this code is not included in the generated catdef.spad file. <<FFIELDC-.lsp BOOTSTRAP>>= -(|/VERSIONCHECK| 2) +(/VERSIONCHECK 2) -(DEFUN |FFIELDC-;differentiate;2S;1| (|x| |$|) (|spadConstant| |$| 7)) +(DEFUN |FFIELDC-;differentiate;2S;1| (|x| $) (|spadConstant| $ 7)) -(DEFUN |FFIELDC-;init;S;2| (|$|) (|spadConstant| |$| 7)) +(DEFUN |FFIELDC-;init;S;2| ($) (|spadConstant| $ 7)) -(DEFUN |FFIELDC-;nextItem;SU;3| (|a| |$|) (COND ((SPADCALL (LETT |a| (SPADCALL (|+| (SPADCALL |a| (QREFELT |$| 11)) 1) (QREFELT |$| 12)) |FFIELDC-;nextItem;SU;3|) (QREFELT |$| 14)) (CONS 1 "failed")) ((QUOTE T) (CONS 0 |a|)))) +(DEFUN |FFIELDC-;nextItem;SU;3| (|a| $) + (COND + ((SPADCALL + (LETT |a| + (SPADCALL (+ (SPADCALL |a| (QREFELT $ 11)) 1) + (QREFELT $ 12)) + |FFIELDC-;nextItem;SU;3|) + (QREFELT $ 14)) + (CONS 1 "failed")) + ('T (CONS 0 |a|)))) -(DEFUN |FFIELDC-;order;SOpc;4| (|e| |$|) (SPADCALL (SPADCALL |e| (QREFELT |$| 17)) (QREFELT |$| 20))) +(DEFUN |FFIELDC-;order;SOpc;4| (|e| $) + (SPADCALL (SPADCALL |e| (QREFELT $ 17)) (QREFELT $ 20))) -(DEFUN |FFIELDC-;conditionP;MU;5| (|mat| |$|) (PROG (|l|) (RETURN (SEQ (LETT |l| (SPADCALL |mat| (QREFELT |$| 24)) |FFIELDC-;conditionP;MU;5|) (COND ((OR (NULL |l|) (SPADCALL (ELT |$| 14) (|SPADfirst| |l|) (QREFELT |$| 27))) (EXIT (CONS 1 "failed")))) (EXIT (CONS 0 (SPADCALL (ELT |$| 28) (|SPADfirst| |l|) (QREFELT |$| 30)))))))) +(DEFUN |FFIELDC-;conditionP;MU;5| (|mat| $) + (PROG (|l|) + (RETURN + (SEQ (LETT |l| (SPADCALL |mat| (QREFELT $ 24)) + |FFIELDC-;conditionP;MU;5|) + (COND + ((OR (NULL |l|) + (SPADCALL (ELT $ 14) (|SPADfirst| |l|) + (QREFELT $ 27))) + (EXIT (CONS 1 "failed")))) + (EXIT (CONS 0 + (SPADCALL (ELT $ 28) (|SPADfirst| |l|) + (QREFELT $ 30)))))))) -(DEFUN |FFIELDC-;charthRoot;2S;6| (|x| |$|) (SPADCALL |x| (QUOTIENT2 (SPADCALL (QREFELT |$| 35)) (SPADCALL (QREFELT |$| 36))) (QREFELT |$| 37))) +(DEFUN |FFIELDC-;charthRoot;2S;6| (|x| $) + (SPADCALL |x| + (QUOTIENT2 (SPADCALL (QREFELT $ 35)) (SPADCALL (QREFELT $ 36))) + (QREFELT $ 37))) -(DEFUN |FFIELDC-;charthRoot;SU;7| (|x| |$|) (CONS 0 (SPADCALL |x| (QREFELT |$| 28)))) +(DEFUN |FFIELDC-;charthRoot;SU;7| (|x| $) + (CONS 0 (SPADCALL |x| (QREFELT $ 28)))) -(DEFUN |FFIELDC-;createPrimitiveElement;S;8| (|$|) (PROG (|sm1| |start| |i| #1=#:G83175 |e| |found|) (RETURN (SEQ (LETT |sm1| (|-| (SPADCALL (QREFELT |$| 35)) 1) |FFIELDC-;createPrimitiveElement;S;8|) (LETT |start| (COND ((SPADCALL (SPADCALL (QREFELT |$| 42)) (CONS 1 "polynomial") (QREFELT |$| 43)) (SPADCALL (QREFELT |$| 36))) ((QUOTE T) 1)) |FFIELDC-;createPrimitiveElement;S;8|) (LETT |found| (QUOTE NIL) |FFIELDC-;createPrimitiveElement;S;8|) (SEQ (LETT |i| |start| |FFIELDC-;createPrimitiveElement;S;8|) G190 (COND ((NULL (COND (|found| (QUOTE NIL)) ((QUOTE T) (QUOTE T)))) (GO G191))) (SEQ (LETT |e| (SPADCALL (PROG1 (LETT #1# |i| |FFIELDC-;createPrimitiveElement;S;8|) (|check-subtype| (|>| #1# 0) (QUOTE (|PositiveInteger|)) #1#)) (QREFELT |$| 12)) |FFIELDC-;createPrimitiveElement;S;8|) (EXIT (LETT |found| (EQL (SPADCALL |e| (QREFELT |$| 17)) |sm1|) |FFIELDC-;createPrimitiveElement;S;8|))) (LETT |i| (|+| |i| 1) |FFIELDC-;createPrimitiveElement;S;8|) (GO G190) G191 (EXIT NIL)) (EXIT |e|))))) +(DEFUN |FFIELDC-;createPrimitiveElement;S;8| ($) + (PROG (|sm1| |start| |i| #0=#:G1434 |e| |found|) + (RETURN + (SEQ (LETT |sm1| (- (SPADCALL (QREFELT $ 35)) 1) + |FFIELDC-;createPrimitiveElement;S;8|) + (LETT |start| + (COND + ((SPADCALL (SPADCALL (QREFELT $ 42)) + (CONS 1 "polynomial") (QREFELT $ 43)) + (SPADCALL (QREFELT $ 36))) + ('T 1)) + |FFIELDC-;createPrimitiveElement;S;8|) + (LETT |found| 'NIL |FFIELDC-;createPrimitiveElement;S;8|) + (SEQ (LETT |i| |start| + |FFIELDC-;createPrimitiveElement;S;8|) + G190 + (COND + ((NULL (SPADCALL |found| (QREFELT $ 44))) (GO G191))) + (SEQ (LETT |e| + (SPADCALL + (PROG1 (LETT #0# |i| + |FFIELDC-;createPrimitiveElement;S;8|) + (|check-subtype| (> #0# 0) + '(|PositiveInteger|) #0#)) + (QREFELT $ 12)) + |FFIELDC-;createPrimitiveElement;S;8|) + (EXIT (LETT |found| + (EQL (SPADCALL |e| (QREFELT $ 17)) + |sm1|) + |FFIELDC-;createPrimitiveElement;S;8|))) + (LETT |i| (+ |i| 1) + |FFIELDC-;createPrimitiveElement;S;8|) + (GO G190) G191 (EXIT NIL)) + (EXIT |e|))))) -(DEFUN |FFIELDC-;primitive?;SB;9| (|a| |$|) (PROG (|explist| |q| |exp| #1=#:G83187 |equalone|) (RETURN (SEQ (COND ((SPADCALL |a| (QREFELT |$| 14)) (QUOTE NIL)) ((QUOTE T) (SEQ (LETT |explist| (SPADCALL (QREFELT |$| 47)) |FFIELDC-;primitive?;SB;9|) (LETT |q| (|-| (SPADCALL (QREFELT |$| 35)) 1) |FFIELDC-;primitive?;SB;9|) (LETT |equalone| (QUOTE NIL) |FFIELDC-;primitive?;SB;9|) (SEQ (LETT |exp| NIL |FFIELDC-;primitive?;SB;9|) (LETT #1# |explist| |FFIELDC-;primitive?;SB;9|) G190 (COND ((OR (ATOM #1#) (PROGN (LETT |exp| (CAR #1#) |FFIELDC-;primitive?;SB;9|) NIL) (NULL (COND (|equalone| (QUOTE NIL)) ((QUOTE T) (QUOTE T))))) (GO G191))) (SEQ (EXIT (LETT |equalone| (SPADCALL (SPADCALL |a| (QUOTIENT2 |q| (QCAR |exp|)) (QREFELT |$| 48)) (QREFELT |$| 49)) |FFIELDC-;primitive?;SB;9|))) (LETT #1# (CDR #1#) |FFIELDC-;primitive?;SB;9|) (GO G190) G191 (EXIT NIL)) (EXIT (COND (|equalone| (QUOTE NIL)) ((QUOTE T) (QUOTE T))))))))))) +(DEFUN |FFIELDC-;primitive?;SB;9| (|a| $) + (PROG (|explist| |q| |exp| #0=#:G1446 |equalone|) + (RETURN + (SEQ (COND + ((SPADCALL |a| (QREFELT $ 14)) 'NIL) + ('T + (SEQ (LETT |explist| (SPADCALL (QREFELT $ 48)) + |FFIELDC-;primitive?;SB;9|) + (LETT |q| (- (SPADCALL (QREFELT $ 35)) 1) + |FFIELDC-;primitive?;SB;9|) + (LETT |equalone| 'NIL |FFIELDC-;primitive?;SB;9|) + (SEQ (LETT |exp| NIL |FFIELDC-;primitive?;SB;9|) + (LETT #0# |explist| |FFIELDC-;primitive?;SB;9|) + G190 + (COND + ((OR (ATOM #0#) + (PROGN + (LETT |exp| (CAR #0#) + |FFIELDC-;primitive?;SB;9|) + NIL) + (NULL (SPADCALL |equalone| + (QREFELT $ 44)))) + (GO G191))) + (SEQ (EXIT (LETT |equalone| + (SPADCALL + (SPADCALL |a| + (QUOTIENT2 |q| (QCAR |exp|)) + (QREFELT $ 49)) + (|spadConstant| $ 40) + (QREFELT $ 50)) + |FFIELDC-;primitive?;SB;9|))) + (LETT #0# (CDR #0#) |FFIELDC-;primitive?;SB;9|) + (GO G190) G191 (EXIT NIL)) + (EXIT (SPADCALL |equalone| (QREFELT $ 44)))))))))) -(DEFUN |FFIELDC-;order;SPi;10| (|e| |$|) (PROG (|lof| |rec| #1=#:G83195 |primeDivisor| |j| #2=#:G83196 |a| |goon| |ord|) (RETURN (SEQ (COND ((SPADCALL |e| (|spadConstant| |$| 7) (QREFELT |$| 51)) (|error| "order(0) is not defined ")) ((QUOTE T) (SEQ (LETT |ord| (|-| (SPADCALL (QREFELT |$| 35)) 1) |FFIELDC-;order;SPi;10|) (LETT |a| 0 |FFIELDC-;order;SPi;10|) (LETT |lof| (SPADCALL (QREFELT |$| 47)) |FFIELDC-;order;SPi;10|) (SEQ (LETT |rec| NIL |FFIELDC-;order;SPi;10|) (LETT #1# |lof| |FFIELDC-;order;SPi;10|) G190 (COND ((OR (ATOM #1#) (PROGN (LETT |rec| (CAR #1#) |FFIELDC-;order;SPi;10|) NIL)) (GO G191))) (SEQ (LETT |a| (QUOTIENT2 |ord| (LETT |primeDivisor| (QCAR |rec|) |FFIELDC-;order;SPi;10|)) |FFIELDC-;order;SPi;10|) (LETT |goon| (SPADCALL (SPADCALL |e| |a| (QREFELT |$| 48)) (QREFELT |$| 49)) |FFIELDC-;order;SPi;10|) (SEQ (LETT |j| 0 |FFIELDC-;order;SPi;10|) (LETT #2# (|-| (QCDR |rec|) 2) |FFIELDC-;order;SPi;10|) G190 (COND ((OR (QSGREATERP |j| #2#) (NULL |goon|)) (GO G191))) (SEQ (LETT |ord| |a| |FFIELDC-;order;SPi;10|) (LETT |a| (QUOTIENT2 |ord| |primeDivisor|) |FFIELDC-;order;SPi;10|) (EXIT (LETT |goon| (SPADCALL (SPADCALL |e| |a| (QREFELT |$| 48)) (QREFELT |$| 49)) |FFIELDC-;order;SPi;10|))) (LETT |j| (QSADD1 |j|) |FFIELDC-;order;SPi;10|) (GO G190) G191 (EXIT NIL)) (EXIT (COND (|goon| (LETT |ord| |a| |FFIELDC-;order;SPi;10|))))) (LETT #1# (CDR #1#) |FFIELDC-;order;SPi;10|) (GO G190) G191 (EXIT NIL)) (EXIT |ord|)))))))) +(DEFUN |FFIELDC-;order;SPi;10| (|e| $) + (PROG (|lof| |rec| #0=#:G1454 |primeDivisor| |j| #1=#:G1455 |a| + |goon| |ord|) + (RETURN + (SEQ (COND + ((SPADCALL |e| (|spadConstant| $ 7) (QREFELT $ 50)) + (|error| "order(0) is not defined ")) + ('T + (SEQ (LETT |ord| (- (SPADCALL (QREFELT $ 35)) 1) + |FFIELDC-;order;SPi;10|) + (LETT |a| 0 |FFIELDC-;order;SPi;10|) + (LETT |lof| (SPADCALL (QREFELT $ 48)) + |FFIELDC-;order;SPi;10|) + (SEQ (LETT |rec| NIL |FFIELDC-;order;SPi;10|) + (LETT #0# |lof| |FFIELDC-;order;SPi;10|) G190 + (COND + ((OR (ATOM #0#) + (PROGN + (LETT |rec| (CAR #0#) + |FFIELDC-;order;SPi;10|) + NIL)) + (GO G191))) + (SEQ (LETT |a| + (QUOTIENT2 |ord| + (LETT |primeDivisor| (QCAR |rec|) + |FFIELDC-;order;SPi;10|)) + |FFIELDC-;order;SPi;10|) + (LETT |goon| + (SPADCALL + (SPADCALL |e| |a| (QREFELT $ 49)) + (|spadConstant| $ 40) + (QREFELT $ 50)) + |FFIELDC-;order;SPi;10|) + (SEQ (LETT |j| 0 |FFIELDC-;order;SPi;10|) + (LETT #1# (- (QCDR |rec|) 2) + |FFIELDC-;order;SPi;10|) + G190 + (COND + ((OR (QSGREATERP |j| #1#) + (NULL |goon|)) + (GO G191))) + (SEQ (LETT |ord| |a| + |FFIELDC-;order;SPi;10|) + (LETT |a| + (QUOTIENT2 |ord| + |primeDivisor|) + |FFIELDC-;order;SPi;10|) + (EXIT + (LETT |goon| + (SPADCALL + (SPADCALL |e| |a| + (QREFELT $ 49)) + (|spadConstant| $ 40) + (QREFELT $ 50)) + |FFIELDC-;order;SPi;10|))) + (LETT |j| (QSADD1 |j|) + |FFIELDC-;order;SPi;10|) + (GO G190) G191 (EXIT NIL)) + (EXIT (COND + (|goon| + (LETT |ord| |a| + |FFIELDC-;order;SPi;10|))))) + (LETT #0# (CDR #0#) |FFIELDC-;order;SPi;10|) + (GO G190) G191 (EXIT NIL)) + (EXIT |ord|)))))))) -(DEFUN |FFIELDC-;discreteLog;SNni;11| (|b| |$|) (PROG (|faclist| |gen| |groupord| |f| #1=#:G83216 |fac| |t| #2=#:G83217 |exp| |exptable| |n| |end| |i| |rho| |found| |disc1| |c| |mult| |disclog| |a|) (RETURN (SEQ (COND ((SPADCALL |b| (QREFELT |$| 14)) (|error| "discreteLog: logarithm of zero")) ((QUOTE T) (SEQ (LETT |faclist| (SPADCALL (QREFELT |$| 47)) |FFIELDC-;discreteLog;SNni;11|) (LETT |a| |b| |FFIELDC-;discreteLog;SNni;11|) (LETT |gen| (SPADCALL (QREFELT |$| 53)) |FFIELDC-;discreteLog;SNni;11|) (EXIT (COND ((SPADCALL |b| |gen| (QREFELT |$| 51)) 1) ((QUOTE T) (SEQ (LETT |disclog| 0 |FFIELDC-;discreteLog;SNni;11|) (LETT |mult| 1 |FFIELDC-;discreteLog;SNni;11|) (LETT |groupord| (|-| (SPADCALL (QREFELT |$| 35)) 1) |FFIELDC-;discreteLog;SNni;11|) (LETT |exp| |groupord| |FFIELDC-;discreteLog;SNni;11|) (SEQ (LETT |f| NIL |FFIELDC-;discreteLog;SNni;11|) (LETT #1# |faclist| |FFIELDC-;discreteLog;SNni;11|) G190 (COND ((OR (ATOM #1#) (PROGN (LETT |f| (CAR #1#) |FFIELDC-;discreteLog;SNni;11|) NIL)) (GO G191))) (SEQ (LETT |fac| (QCAR |f|) |FFIELDC-;discreteLog;SNni;11|) (EXIT (SEQ (LETT |t| 0 |FFIELDC-;discreteLog;SNni;11|) (LETT #2# (|-| (QCDR |f|) 1) |FFIELDC-;discreteLog;SNni;11|) G190 (COND ((QSGREATERP |t| #2#) (GO G191))) (SEQ (LETT |exp| (QUOTIENT2 |exp| |fac|) |FFIELDC-;discreteLog;SNni;11|) (LETT |exptable| (SPADCALL |fac| (QREFELT |$| 55)) |FFIELDC-;discreteLog;SNni;11|) (LETT |n| (SPADCALL |exptable| (QREFELT |$| 56)) |FFIELDC-;discreteLog;SNni;11|) (LETT |c| (SPADCALL |a| |exp| (QREFELT |$| 48)) |FFIELDC-;discreteLog;SNni;11|) (LETT |end| (QUOTIENT2 (|-| |fac| 1) |n|) |FFIELDC-;discreteLog;SNni;11|) (LETT |found| (QUOTE NIL) |FFIELDC-;discreteLog;SNni;11|) (LETT |disc1| 0 |FFIELDC-;discreteLog;SNni;11|) (SEQ (LETT |i| 0 |FFIELDC-;discreteLog;SNni;11|) G190 (COND ((OR (QSGREATERP |i| |end|) (NULL (COND (|found| (QUOTE NIL)) ((QUOTE T) (QUOTE T))))) (GO G191))) (SEQ (LETT |rho| (SPADCALL (SPADCALL |c| (QREFELT |$| 11)) |exptable| (QREFELT |$| 58)) |FFIELDC-;discreteLog;SNni;11|) (EXIT (COND ((QEQCAR |rho| 0) (SEQ (LETT |found| (QUOTE T) |FFIELDC-;discreteLog;SNni;11|) (EXIT (LETT |disc1| (|*| (|+| (|*| |n| |i|) (QCDR |rho|)) |mult|) |FFIELDC-;discreteLog;SNni;11|)))) ((QUOTE T) (LETT |c| (SPADCALL |c| (SPADCALL |gen| (|*| (QUOTIENT2 |groupord| |fac|) (|-| |n|)) (QREFELT |$| 48)) (QREFELT |$| 59)) |FFIELDC-;discreteLog;SNni;11|))))) (LETT |i| (QSADD1 |i|) |FFIELDC-;discreteLog;SNni;11|) (GO G190) G191 (EXIT NIL)) (EXIT (COND (|found| (SEQ (LETT |mult| (|*| |mult| |fac|) |FFIELDC-;discreteLog;SNni;11|) (LETT |disclog| (|+| |disclog| |disc1|) |FFIELDC-;discreteLog;SNni;11|) (EXIT (LETT |a| (SPADCALL |a| (SPADCALL |gen| (|-| |disc1|) (QREFELT |$| 48)) (QREFELT |$| 59)) |FFIELDC-;discreteLog;SNni;11|)))) ((QUOTE T) (|error| "discreteLog: ?? discrete logarithm"))))) (LETT |t| (QSADD1 |t|) |FFIELDC-;discreteLog;SNni;11|) (GO G190) G191 (EXIT NIL)))) (LETT #1# (CDR #1#) |FFIELDC-;discreteLog;SNni;11|) (GO G190) G191 (EXIT NIL)) (EXIT |disclog|)))))))))))) +(DEFUN |FFIELDC-;discreteLog;SNni;11| (|b| $) + (PROG (|faclist| |gen| |groupord| |f| #0=#:G1475 |fac| |t| #1=#:G1476 + |exp| |exptable| |n| |end| |i| |rho| |found| |disc1| |c| + |mult| |disclog| |a|) + (RETURN + (SEQ (COND + ((SPADCALL |b| (QREFELT $ 14)) + (|error| "discreteLog: logarithm of zero")) + ('T + (SEQ (LETT |faclist| (SPADCALL (QREFELT $ 48)) + |FFIELDC-;discreteLog;SNni;11|) + (LETT |a| |b| |FFIELDC-;discreteLog;SNni;11|) + (LETT |gen| (SPADCALL (QREFELT $ 53)) + |FFIELDC-;discreteLog;SNni;11|) + (EXIT (COND + ((SPADCALL |b| |gen| (QREFELT $ 50)) 1) + ('T + (SEQ (LETT |disclog| 0 + |FFIELDC-;discreteLog;SNni;11|) + (LETT |mult| 1 + |FFIELDC-;discreteLog;SNni;11|) + (LETT |groupord| + (- (SPADCALL (QREFELT $ 35)) 1) + |FFIELDC-;discreteLog;SNni;11|) + (LETT |exp| |groupord| + |FFIELDC-;discreteLog;SNni;11|) + (SEQ (LETT |f| NIL + |FFIELDC-;discreteLog;SNni;11|) + (LETT #0# |faclist| + |FFIELDC-;discreteLog;SNni;11|) + G190 + (COND + ((OR (ATOM #0#) + (PROGN + (LETT |f| (CAR #0#) + |FFIELDC-;discreteLog;SNni;11|) + NIL)) + (GO G191))) + (SEQ + (LETT |fac| (QCAR |f|) + |FFIELDC-;discreteLog;SNni;11|) + (EXIT + (SEQ + (LETT |t| 0 + |FFIELDC-;discreteLog;SNni;11|) + (LETT #1# (- (QCDR |f|) 1) + |FFIELDC-;discreteLog;SNni;11|) + G190 + (COND + ((QSGREATERP |t| #1#) + (GO G191))) + (SEQ + (LETT |exp| + (QUOTIENT2 |exp| |fac|) + |FFIELDC-;discreteLog;SNni;11|) + (LETT |exptable| + (SPADCALL |fac| + (QREFELT $ 55)) + |FFIELDC-;discreteLog;SNni;11|) + (LETT |n| + (SPADCALL |exptable| + (QREFELT $ 56)) + |FFIELDC-;discreteLog;SNni;11|) + (LETT |c| + (SPADCALL |a| |exp| + (QREFELT $ 49)) + |FFIELDC-;discreteLog;SNni;11|) + (LETT |end| + (QUOTIENT2 (- |fac| 1) |n|) + |FFIELDC-;discreteLog;SNni;11|) + (LETT |found| 'NIL + |FFIELDC-;discreteLog;SNni;11|) + (LETT |disc1| 0 + |FFIELDC-;discreteLog;SNni;11|) + (SEQ + (LETT |i| 0 + |FFIELDC-;discreteLog;SNni;11|) + G190 + (COND + ((OR + (QSGREATERP |i| |end|) + (NULL + (SPADCALL |found| + (QREFELT $ 44)))) + (GO G191))) + (SEQ + (LETT |rho| + (SPADCALL + (SPADCALL |c| + (QREFELT $ 11)) + |exptable| + (QREFELT $ 58)) + |FFIELDC-;discreteLog;SNni;11|) + (EXIT + (COND + ((QEQCAR |rho| 0) + (SEQ + (LETT |found| 'T + |FFIELDC-;discreteLog;SNni;11|) + (EXIT + (LETT |disc1| + (* + (+ (* |n| |i|) + (QCDR |rho|)) + |mult|) + |FFIELDC-;discreteLog;SNni;11|)))) + ('T + (LETT |c| + (SPADCALL |c| + (SPADCALL |gen| + (* + (QUOTIENT2 + |groupord| |fac|) + (- |n|)) + (QREFELT $ 49)) + (QREFELT $ 59)) + |FFIELDC-;discreteLog;SNni;11|))))) + (LETT |i| (QSADD1 |i|) + |FFIELDC-;discreteLog;SNni;11|) + (GO G190) G191 (EXIT NIL)) + (EXIT + (COND + (|found| + (SEQ + (LETT |mult| + (* |mult| |fac|) + |FFIELDC-;discreteLog;SNni;11|) + (LETT |disclog| + (+ |disclog| |disc1|) + |FFIELDC-;discreteLog;SNni;11|) + (EXIT + (LETT |a| + (SPADCALL |a| + (SPADCALL |gen| + (- |disc1|) + (QREFELT $ 49)) + (QREFELT $ 59)) + |FFIELDC-;discreteLog;SNni;11|)))) + ('T + (|error| + "discreteLog: ?? discrete logarithm"))))) + (LETT |t| (QSADD1 |t|) + |FFIELDC-;discreteLog;SNni;11|) + (GO G190) G191 (EXIT NIL)))) + (LETT #0# (CDR #0#) + |FFIELDC-;discreteLog;SNni;11|) + (GO G190) G191 (EXIT NIL)) + (EXIT |disclog|)))))))))))) -(DEFUN |FFIELDC-;discreteLog;2SU;12| (|logbase| |b| |$|) (PROG (|groupord| |faclist| |f| #1=#:G83235 |fac| |primroot| |t| #2=#:G83236 |exp| |rhoHelp| #3=#:G83234 |rho| |disclog| |mult| |a|) (RETURN (SEQ (EXIT (COND ((SPADCALL |b| (QREFELT |$| 14)) (SEQ (SPADCALL "discreteLog: logarithm of zero" (QREFELT |$| 64)) (EXIT (CONS 1 "failed")))) ((SPADCALL |logbase| (QREFELT |$| 14)) (SEQ (SPADCALL "discreteLog: logarithm to base zero" (QREFELT |$| 64)) (EXIT (CONS 1 "failed")))) ((SPADCALL |b| |logbase| (QREFELT |$| 51)) (CONS 0 1)) ((QUOTE T) (COND ((NULL (ZEROP (REMAINDER2 (LETT |groupord| (SPADCALL |logbase| (QREFELT |$| 17)) |FFIELDC-;discreteLog;2SU;12|) (SPADCALL |b| (QREFELT |$| 17))))) (SEQ (SPADCALL "discreteLog: second argument not in cyclic group generated by first argument" (QREFELT |$| 64)) (EXIT (CONS 1 "failed")))) ((QUOTE T) (SEQ (LETT |faclist| (SPADCALL (SPADCALL |groupord| (QREFELT |$| 66)) (QREFELT |$| 68)) |FFIELDC-;discreteLog;2SU;12|) (LETT |a| |b| |FFIELDC-;discreteLog;2SU;12|) (LETT |disclog| 0 |FFIELDC-;discreteLog;2SU;12|) (LETT |mult| 1 |FFIELDC-;discreteLog;2SU;12|) (LETT |exp| |groupord| |FFIELDC-;discreteLog;2SU;12|) (SEQ (LETT |f| NIL |FFIELDC-;discreteLog;2SU;12|) (LETT #1# |faclist| |FFIELDC-;discreteLog;2SU;12|) G190 (COND ((OR (ATOM #1#) (PROGN (LETT |f| (CAR #1#) |FFIELDC-;discreteLog;2SU;12|) NIL)) (GO G191))) (SEQ (LETT |fac| (QCAR |f|) |FFIELDC-;discreteLog;2SU;12|) (LETT |primroot| (SPADCALL |logbase| (QUOTIENT2 |groupord| |fac|) (QREFELT |$| 48)) |FFIELDC-;discreteLog;2SU;12|) (EXIT (SEQ (LETT |t| 0 |FFIELDC-;discreteLog;2SU;12|) (LETT #2# (|-| (QCDR |f|) 1) |FFIELDC-;discreteLog;2SU;12|) G190 (COND ((QSGREATERP |t| #2#) (GO G191))) (SEQ (LETT |exp| (QUOTIENT2 |exp| |fac|) |FFIELDC-;discreteLog;2SU;12|) (LETT |rhoHelp| (SPADCALL |primroot| (SPADCALL |a| |exp| (QREFELT |$| 48)) |fac| (QREFELT |$| 70)) |FFIELDC-;discreteLog;2SU;12|) (EXIT (COND ((QEQCAR |rhoHelp| 1) (PROGN (LETT #3# (CONS 1 "failed") |FFIELDC-;discreteLog;2SU;12|) (GO #3#))) ((QUOTE T) (SEQ (LETT |rho| (|*| (QCDR |rhoHelp|) |mult|) |FFIELDC-;discreteLog;2SU;12|) (LETT |disclog| (|+| |disclog| |rho|) |FFIELDC-;discreteLog;2SU;12|) (LETT |mult| (|*| |mult| |fac|) |FFIELDC-;discreteLog;2SU;12|) (EXIT (LETT |a| (SPADCALL |a| (SPADCALL |logbase| (|-| |rho|) (QREFELT |$| 48)) (QREFELT |$| 59)) |FFIELDC-;discreteLog;2SU;12|))))))) (LETT |t| (QSADD1 |t|) |FFIELDC-;discreteLog;2SU;12|) (GO G190) G191 (EXIT NIL)))) (LETT #1# (CDR #1#) |FFIELDC-;discreteLog;2SU;12|) (GO G190) G191 (EXIT NIL)) (EXIT (CONS 0 |disclog|)))))))) #3# (EXIT #3#))))) +(DEFUN |FFIELDC-;discreteLog;2SU;12| (|logbase| |b| $) + (PROG (|groupord| |faclist| |f| #0=#:G1494 |fac| |primroot| |t| + #1=#:G1495 |exp| |rhoHelp| #2=#:G1493 |rho| |disclog| + |mult| |a|) + (RETURN + (SEQ (EXIT (COND + ((SPADCALL |b| (QREFELT $ 14)) + (SEQ (SPADCALL "discreteLog: logarithm of zero" + (QREFELT $ 64)) + (EXIT (CONS 1 "failed")))) + ((SPADCALL |logbase| (QREFELT $ 14)) + (SEQ (SPADCALL + "discreteLog: logarithm to base zero" + (QREFELT $ 64)) + (EXIT (CONS 1 "failed")))) + ((SPADCALL |b| |logbase| (QREFELT $ 50)) (CONS 0 1)) + ('T + (COND + ((NULL (ZEROP (REMAINDER2 + (LETT |groupord| + (SPADCALL |logbase| + (QREFELT $ 17)) + |FFIELDC-;discreteLog;2SU;12|) + (SPADCALL |b| (QREFELT $ 17))))) + (SEQ (SPADCALL + "discreteLog: second argument not in cyclic group generated by first argument" + (QREFELT $ 64)) + (EXIT (CONS 1 "failed")))) + ('T + (SEQ (LETT |faclist| + (SPADCALL + (SPADCALL |groupord| + (QREFELT $ 66)) + (QREFELT $ 68)) + |FFIELDC-;discreteLog;2SU;12|) + (LETT |a| |b| + |FFIELDC-;discreteLog;2SU;12|) + (LETT |disclog| 0 + |FFIELDC-;discreteLog;2SU;12|) + (LETT |mult| 1 + |FFIELDC-;discreteLog;2SU;12|) + (LETT |exp| |groupord| + |FFIELDC-;discreteLog;2SU;12|) + (SEQ (LETT |f| NIL + |FFIELDC-;discreteLog;2SU;12|) + (LETT #0# |faclist| + |FFIELDC-;discreteLog;2SU;12|) + G190 + (COND + ((OR (ATOM #0#) + (PROGN + (LETT |f| (CAR #0#) + |FFIELDC-;discreteLog;2SU;12|) + NIL)) + (GO G191))) + (SEQ (LETT |fac| (QCAR |f|) + |FFIELDC-;discreteLog;2SU;12|) + (LETT |primroot| + (SPADCALL |logbase| + (QUOTIENT2 |groupord| |fac|) + (QREFELT $ 49)) + |FFIELDC-;discreteLog;2SU;12|) + (EXIT + (SEQ + (LETT |t| 0 + |FFIELDC-;discreteLog;2SU;12|) + (LETT #1# (- (QCDR |f|) 1) + |FFIELDC-;discreteLog;2SU;12|) + G190 + (COND + ((QSGREATERP |t| #1#) + (GO G191))) + (SEQ + (LETT |exp| + (QUOTIENT2 |exp| |fac|) + |FFIELDC-;discreteLog;2SU;12|) + (LETT |rhoHelp| + (SPADCALL |primroot| + (SPADCALL |a| |exp| + (QREFELT $ 49)) + |fac| (QREFELT $ 70)) + |FFIELDC-;discreteLog;2SU;12|) + (EXIT + (COND + ((QEQCAR |rhoHelp| 1) + (PROGN + (LETT #2# + (CONS 1 "failed") + |FFIELDC-;discreteLog;2SU;12|) + (GO #2#))) + ('T + (SEQ + (LETT |rho| + (* (QCDR |rhoHelp|) + |mult|) + |FFIELDC-;discreteLog;2SU;12|) + (LETT |disclog| + (+ |disclog| |rho|) + |FFIELDC-;discreteLog;2SU;12|) + (LETT |mult| + (* |mult| |fac|) + |FFIELDC-;discreteLog;2SU;12|) + (EXIT + (LETT |a| + (SPADCALL |a| + (SPADCALL |logbase| + (- |rho|) + (QREFELT $ 49)) + (QREFELT $ 59)) + |FFIELDC-;discreteLog;2SU;12|))))))) + (LETT |t| (QSADD1 |t|) + |FFIELDC-;discreteLog;2SU;12|) + (GO G190) G191 (EXIT NIL)))) + (LETT #0# (CDR #0#) + |FFIELDC-;discreteLog;2SU;12|) + (GO G190) G191 (EXIT NIL)) + (EXIT (CONS 0 |disclog|)))))))) + #2# (EXIT #2#))))) -(DEFUN |FFIELDC-;squareFreePolynomial| (|f| |$|) (SPADCALL |f| (QREFELT |$| 75))) +(DEFUN |FFIELDC-;squareFreePolynomial| (|f| $) + (SPADCALL |f| (QREFELT $ 75))) -(DEFUN |FFIELDC-;factorPolynomial| (|f| |$|) (SPADCALL |f| (QREFELT |$| 77))) +(DEFUN |FFIELDC-;factorPolynomial| (|f| $) + (SPADCALL |f| (QREFELT $ 77))) -(DEFUN |FFIELDC-;factorSquareFreePolynomial| (|f| |$|) (PROG (|flist| |u| #1=#:G83248 #2=#:G83245 #3=#:G83243 #4=#:G83244) (RETURN (SEQ (COND ((SPADCALL |f| (|spadConstant| |$| 78) (QREFELT |$| 79)) (|spadConstant| |$| 80)) ((QUOTE T) (SEQ (LETT |flist| (SPADCALL |f| (QUOTE T) (QREFELT |$| 83)) |FFIELDC-;factorSquareFreePolynomial|) (EXIT (SPADCALL (SPADCALL (QCAR |flist|) (QREFELT |$| 84)) (PROGN (LETT #4# NIL |FFIELDC-;factorSquareFreePolynomial|) (SEQ (LETT |u| NIL |FFIELDC-;factorSquareFreePolynomial|) (LETT #1# (QCDR |flist|) |FFIELDC-;factorSquareFreePolynomial|) G190 (COND ((OR (ATOM #1#) (PROGN (LETT |u| (CAR #1#) |FFIELDC-;factorSquareFreePolynomial|) NIL)) (GO G191))) (SEQ (EXIT (PROGN (LETT #2# (SPADCALL (QCAR |u|) (QCDR |u|) (QREFELT |$| 85)) |FFIELDC-;factorSquareFreePolynomial|) (COND (#4# (LETT #3# (SPADCALL #3# #2# (QREFELT |$| 86)) |FFIELDC-;factorSquareFreePolynomial|)) ((QUOTE T) (PROGN (LETT #3# #2# |FFIELDC-;factorSquareFreePolynomial|) (LETT #4# (QUOTE T) |FFIELDC-;factorSquareFreePolynomial|))))))) (LETT #1# (CDR #1#) |FFIELDC-;factorSquareFreePolynomial|) (GO G190) G191 (EXIT NIL)) (COND (#4# #3#) ((QUOTE T) (|spadConstant| |$| 87)))) (QREFELT |$| 88)))))))))) +(DEFUN |FFIELDC-;factorSquareFreePolynomial| (|f| $) + (PROG (|flist| |u| #0=#:G1507 #1=#:G1504 #2=#:G1502 #3=#:G1503) + (RETURN + (SEQ (COND + ((SPADCALL |f| (|spadConstant| $ 78) (QREFELT $ 79)) + (|spadConstant| $ 80)) + ('T + (SEQ (LETT |flist| (SPADCALL |f| 'T (QREFELT $ 83)) + |FFIELDC-;factorSquareFreePolynomial|) + (EXIT (SPADCALL + (SPADCALL (QCAR |flist|) (QREFELT $ 84)) + (PROGN + (LETT #3# NIL + |FFIELDC-;factorSquareFreePolynomial|) + (SEQ (LETT |u| NIL + |FFIELDC-;factorSquareFreePolynomial|) + (LETT #0# (QCDR |flist|) + |FFIELDC-;factorSquareFreePolynomial|) + G190 + (COND + ((OR (ATOM #0#) + (PROGN + (LETT |u| (CAR #0#) + |FFIELDC-;factorSquareFreePolynomial|) + NIL)) + (GO G191))) + (SEQ + (EXIT + (PROGN + (LETT #1# + (SPADCALL (QCAR |u|) + (QCDR |u|) (QREFELT $ 85)) + |FFIELDC-;factorSquareFreePolynomial|) + (COND + (#3# + (LETT #2# + (SPADCALL #2# #1# + (QREFELT $ 86)) + |FFIELDC-;factorSquareFreePolynomial|)) + ('T + (PROGN + (LETT #2# #1# + |FFIELDC-;factorSquareFreePolynomial|) + (LETT #3# 'T + |FFIELDC-;factorSquareFreePolynomial|))))))) + (LETT #0# (CDR #0#) + |FFIELDC-;factorSquareFreePolynomial|) + (GO G190) G191 (EXIT NIL)) + (COND + (#3# #2#) + ('T (|spadConstant| $ 87)))) + (QREFELT $ 88)))))))))) -(DEFUN |FFIELDC-;gcdPolynomial;3Sup;16| (|f| |g| |$|) (SPADCALL |f| |g| (QREFELT |$| 90))) +(DEFUN |FFIELDC-;gcdPolynomial;3Sup;16| (|f| |g| $) + (SPADCALL |f| |g| (QREFELT $ 90))) -(DEFUN |FiniteFieldCategory&| (|#1|) (PROG (|DV$1| |dv$| |$| |pv$|) (RETURN (PROGN (LETT |DV$1| (|devaluate| |#1|) . #1=(|FiniteFieldCategory&|)) (LETT |dv$| (LIST (QUOTE |FiniteFieldCategory&|) |DV$1|) . #1#) (LETT |$| (GETREFV 93) . #1#) (QSETREFV |$| 0 |dv$|) (QSETREFV |$| 3 (LETT |pv$| (|buildPredVector| 0 0 NIL) . #1#)) (|stuffDomainSlots| |$|) (QSETREFV |$| 6 |#1|) |$|)))) +(DEFUN |FiniteFieldCategory&| (|#1|) + (PROG (|dv$1| |dv$| $ |pv$|) + (RETURN + (PROGN + (LETT |dv$1| (|devaluate| |#1|) . #0=(|FiniteFieldCategory&|)) + (LETT |dv$| (LIST '|FiniteFieldCategory&| |dv$1|) . #0#) + (LETT $ (GETREFV 93) . #0#) + (QSETREFV $ 0 |dv$|) + (QSETREFV $ 3 (LETT |pv$| (|buildPredVector| 0 0 NIL) . #0#)) + (|stuffDomainSlots| $) + (QSETREFV $ 6 |#1|) + $)))) -(MAKEPROP (QUOTE |FiniteFieldCategory&|) (QUOTE |infovec|) (LIST (QUOTE #(NIL NIL NIL NIL NIL NIL (|local| |#1|) (0 . |Zero|) |FFIELDC-;differentiate;2S;1| |FFIELDC-;init;S;2| (|PositiveInteger|) (4 . |lookup|) (9 . |index|) (|Boolean|) (14 . |zero?|) (|Union| |$| (QUOTE "failed")) |FFIELDC-;nextItem;SU;3| (19 . |order|) (|Integer|) (|OnePointCompletion| 10) (24 . |coerce|) |FFIELDC-;order;SOpc;4| (|List| 26) (|Matrix| 6) (29 . |nullSpace|) (|Mapping| 13 6) (|Vector| 6) (34 . |every?|) (40 . |charthRoot|) (|Mapping| 6 6) (45 . |map|) (|Union| (|Vector| |$|) (QUOTE "failed")) (|Matrix| |$|) |FFIELDC-;conditionP;MU;5| (|NonNegativeInteger|) (51 . |size|) (55 . |characteristic|) (59 . |**|) |FFIELDC-;charthRoot;2S;6| |FFIELDC-;charthRoot;SU;7| (65 . |One|) (|Union| (QUOTE "prime") (QUOTE "polynomial") (QUOTE "normal") (QUOTE "cyclic")) (69 . |representationType|) (73 . |=|) |FFIELDC-;createPrimitiveElement;S;8| (|Record| (|:| |factor| 18) (|:| |exponent| 18)) (|List| 45) (79 . |factorsOfCyclicGroupSize|) (83 . |**|) (89 . |one?|) |FFIELDC-;primitive?;SB;9| (94 . |=|) |FFIELDC-;order;SPi;10| (100 . |primitiveElement|) (|Table| 10 34) (104 . |tableForDiscreteLogarithm|) (109 . |#|) (|Union| 34 (QUOTE "failed")) (114 . |search|) (120 . |*|) |FFIELDC-;discreteLog;SNni;11| (|Void|) (|String|) (|OutputForm|) (126 . |messagePrint|) (|Factored| |$|) (131 . |factor|) (|Factored| 18) (136 . |factors|) (|DiscreteLogarithmPackage| 6) (141 . |shanksDiscLogAlgorithm|) |FFIELDC-;discreteLog;2SU;12| (|Factored| 73) (|SparseUnivariatePolynomial| 6) (|UnivariatePolynomialSquareFree| 6 73) (148 . |squareFree|) (|DistinctDegreeFactorize| 6 73) (153 . |factor|) (158 . |Zero|) (162 . |=|) (168 . |Zero|) (|Record| (|:| |irr| 73) (|:| |pow| 18)) (|Record| (|:| |cont| 6) (|:| |factors| (|List| 81))) (172 . |distdfact|) (178 . |coerce|) (183 . |primeFactor|) (189 . |*|) (195 . |One|) (199 . |*|) (|EuclideanDomain&| 73) (205 . |gcd|) (|SparseUnivariatePolynomial| |$|) |FFIELDC-;gcdPolynomial;3Sup;16|)) (QUOTE #(|primitive?| 211 |order| 216 |nextItem| 226 |init| 231 |gcdPolynomial| 235 |discreteLog| 241 |differentiate| 252 |createPrimitiveElement| 257 |conditionP| 261 |charthRoot| 266)) (QUOTE NIL) (CONS (|makeByteWordVec2| 1 (QUOTE NIL)) (CONS (QUOTE #()) (CONS (QUOTE #()) (|makeByteWordVec2| 92 (QUOTE (0 6 0 7 1 6 10 0 11 1 6 0 10 12 1 6 13 0 14 1 6 10 0 17 1 19 0 18 20 1 23 22 0 24 2 26 13 25 0 27 1 6 0 0 28 2 26 0 29 0 30 0 6 34 35 0 6 34 36 2 6 0 0 34 37 0 6 0 40 0 6 41 42 2 41 13 0 0 43 0 6 46 47 2 6 0 0 18 48 1 6 13 0 49 2 6 13 0 0 51 0 6 0 53 1 6 54 18 55 1 54 34 0 56 2 54 57 10 0 58 2 6 0 0 0 59 1 63 61 62 64 1 18 65 0 66 1 67 46 0 68 3 69 57 6 6 34 70 1 74 72 73 75 1 76 72 73 77 0 73 0 78 2 73 13 0 0 79 0 72 0 80 2 76 82 73 13 83 1 73 0 6 84 2 72 0 73 18 85 2 72 0 0 0 86 0 72 0 87 2 72 0 73 0 88 2 89 0 0 0 90 1 0 13 0 50 1 0 10 0 52 1 0 19 0 21 1 0 15 0 16 0 0 0 9 2 0 91 91 91 92 1 0 34 0 60 2 0 57 0 0 71 1 0 0 0 8 0 0 0 44 1 0 31 32 33 1 0 0 0 38 1 0 15 0 39)))))) (QUOTE |lookupComplete|))) +(MAKEPROP '|FiniteFieldCategory&| '|infovec| + (LIST '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) (0 . |Zero|) + |FFIELDC-;differentiate;2S;1| |FFIELDC-;init;S;2| + (|PositiveInteger|) (4 . |lookup|) (9 . |index|) + (|Boolean|) (14 . |zero?|) (|Union| $ '"failed") + |FFIELDC-;nextItem;SU;3| (19 . |order|) (|Integer|) + (|OnePointCompletion| 10) (24 . |coerce|) + |FFIELDC-;order;SOpc;4| (|List| 26) (|Matrix| 6) + (29 . |nullSpace|) (|Mapping| 13 6) (|Vector| 6) + (34 . |every?|) (40 . |charthRoot|) (|Mapping| 6 6) + (45 . |map|) (|Union| (|Vector| $) '"failed") (|Matrix| $) + |FFIELDC-;conditionP;MU;5| (|NonNegativeInteger|) + (51 . |size|) (55 . |characteristic|) (59 . **) + |FFIELDC-;charthRoot;2S;6| |FFIELDC-;charthRoot;SU;7| + (65 . |One|) + (|Union| '"prime" '"polynomial" '"normal" '"cyclic") + (69 . |representationType|) (73 . =) (79 . |not|) + |FFIELDC-;createPrimitiveElement;S;8| + (|Record| (|:| |factor| 18) (|:| |exponent| 18)) + (|List| 46) (84 . |factorsOfCyclicGroupSize|) (88 . **) + (94 . =) |FFIELDC-;primitive?;SB;9| + |FFIELDC-;order;SPi;10| (100 . |primitiveElement|) + (|Table| 10 34) (104 . |tableForDiscreteLogarithm|) + (109 . |#|) (|Union| 34 '"failed") (114 . |search|) + (120 . *) |FFIELDC-;discreteLog;SNni;11| (|Void|) + (|String|) (|OutputForm|) (126 . |messagePrint|) + (|Factored| $) (131 . |factor|) (|Factored| 18) + (136 . |factors|) (|DiscreteLogarithmPackage| 6) + (141 . |shanksDiscLogAlgorithm|) + |FFIELDC-;discreteLog;2SU;12| (|Factored| 73) + (|SparseUnivariatePolynomial| 6) + (|UnivariatePolynomialSquareFree| 6 73) + (148 . |squareFree|) (|DistinctDegreeFactorize| 6 73) + (153 . |factor|) (158 . |Zero|) (162 . =) (168 . |Zero|) + (|Record| (|:| |irr| 73) (|:| |pow| 18)) + (|Record| (|:| |cont| 6) (|:| |factors| (|List| 81))) + (172 . |distdfact|) (178 . |coerce|) (183 . |primeFactor|) + (189 . *) (195 . |One|) (199 . *) (|EuclideanDomain&| 73) + (205 . |gcd|) (|SparseUnivariatePolynomial| $) + |FFIELDC-;gcdPolynomial;3Sup;16|) + '#(|primitive?| 211 |order| 216 |nextItem| 226 |init| 231 + |gcdPolynomial| 235 |discreteLog| 241 |differentiate| 252 + |createPrimitiveElement| 257 |conditionP| 261 |charthRoot| + 266) + 'NIL + (CONS (|makeByteWordVec2| 1 'NIL) + (CONS '#() + (CONS '#() + (|makeByteWordVec2| 92 + '(0 6 0 7 1 6 10 0 11 1 6 0 10 12 1 6 + 13 0 14 1 6 10 0 17 1 19 0 18 20 1 23 + 22 0 24 2 26 13 25 0 27 1 6 0 0 28 2 + 26 0 29 0 30 0 6 34 35 0 6 34 36 2 6 + 0 0 34 37 0 6 0 40 0 6 41 42 2 41 13 + 0 0 43 1 13 0 0 44 0 6 47 48 2 6 0 0 + 18 49 2 6 13 0 0 50 0 6 0 53 1 6 54 + 18 55 1 54 34 0 56 2 54 57 10 0 58 2 + 6 0 0 0 59 1 63 61 62 64 1 18 65 0 66 + 1 67 47 0 68 3 69 57 6 6 34 70 1 74 + 72 73 75 1 76 72 73 77 0 73 0 78 2 73 + 13 0 0 79 0 72 0 80 2 76 82 73 13 83 + 1 73 0 6 84 2 72 0 73 18 85 2 72 0 0 + 0 86 0 72 0 87 2 72 0 73 0 88 2 89 0 + 0 0 90 1 0 13 0 51 1 0 10 0 52 1 0 19 + 0 21 1 0 15 0 16 0 0 0 9 2 0 91 91 91 + 92 1 0 34 0 60 2 0 57 0 0 71 1 0 0 0 + 8 0 0 0 45 1 0 31 32 33 1 0 0 0 38 1 + 0 15 0 39))))) + '|lookupComplete|)) @ \section{package FFSLPE FiniteFieldSolveLinearPolynomialEquation} <<package FFSLPE FiniteFieldSolveLinearPolynomialEquation>>= diff --git a/src/algebra/fraction.spad.pamphlet b/src/algebra/fraction.spad.pamphlet index 51cbb0d4..9fc563a2 100644 --- a/src/algebra/fraction.spad.pamphlet +++ b/src/algebra/fraction.spad.pamphlet @@ -273,15 +273,110 @@ Note that this code is not included in the generated catdef.spad file. <<QFCAT.lsp BOOTSTRAP>>= -(|/VERSIONCHECK| 2) - -(SETQ |QuotientFieldCategory;CAT| (QUOTE NIL)) - -(SETQ |QuotientFieldCategory;AL| (QUOTE NIL)) - -(DEFUN |QuotientFieldCategory| (#1=#:G103631) (LET (#2=#:G103632) (COND ((SETQ #2# (|assoc| (|devaluate| #1#) |QuotientFieldCategory;AL|)) (CDR #2#)) (T (SETQ |QuotientFieldCategory;AL| (|cons5| (CONS (|devaluate| #1#) (SETQ #2# (|QuotientFieldCategory;| #1#))) |QuotientFieldCategory;AL|)) #2#)))) - -(DEFUN |QuotientFieldCategory;| (|t#1|) (PROG (#1=#:G103630) (RETURN (PROG1 (LETT #1# (|sublisV| (PAIR (QUOTE (|t#1|)) (LIST (|devaluate| |t#1|))) (COND (|QuotientFieldCategory;CAT|) ((QUOTE T) (LETT |QuotientFieldCategory;CAT| (|Join| (|Field|) (|Algebra| (QUOTE |t#1|)) (|RetractableTo| (QUOTE |t#1|)) (|FullyEvalableOver| (QUOTE |t#1|)) (|DifferentialExtension| (QUOTE |t#1|)) (|FullyLinearlyExplicitRingOver| (QUOTE |t#1|)) (|Patternable| (QUOTE |t#1|)) (|FullyPatternMatchable| (QUOTE |t#1|)) (|mkCategory| (QUOTE |domain|) (QUOTE (((|/| (|$| |t#1| |t#1|)) T) ((|numer| (|t#1| |$|)) T) ((|denom| (|t#1| |$|)) T) ((|numerator| (|$| |$|)) T) ((|denominator| (|$| |$|)) T) ((|wholePart| (|t#1| |$|)) (|has| |t#1| (|EuclideanDomain|))) ((|fractionPart| (|$| |$|)) (|has| |t#1| (|EuclideanDomain|))) ((|random| (|$|)) (|has| |t#1| (|IntegerNumberSystem|))) ((|ceiling| (|t#1| |$|)) (|has| |t#1| (|IntegerNumberSystem|))) ((|floor| (|t#1| |$|)) (|has| |t#1| (|IntegerNumberSystem|))))) (QUOTE (((|StepThrough|) (|has| |t#1| (|StepThrough|))) ((|RetractableTo| (|Integer|)) (|has| |t#1| (|RetractableTo| (|Integer|)))) ((|RetractableTo| (|Fraction| (|Integer|))) (|has| |t#1| (|RetractableTo| (|Integer|)))) ((|OrderedSet|) (|has| |t#1| (|OrderedSet|))) ((|OrderedIntegralDomain|) (|has| |t#1| (|OrderedIntegralDomain|))) ((|RealConstant|) (|has| |t#1| (|RealConstant|))) ((|ConvertibleTo| (|InputForm|)) (|has| |t#1| (|ConvertibleTo| (|InputForm|)))) ((|CharacteristicZero|) (|has| |t#1| (|CharacteristicZero|))) ((|CharacteristicNonZero|) (|has| |t#1| (|CharacteristicNonZero|))) ((|RetractableTo| (|Symbol|)) (|has| |t#1| (|RetractableTo| (|Symbol|)))) ((|PolynomialFactorizationExplicit|) (|has| |t#1| (|PolynomialFactorizationExplicit|))))) (QUOTE NIL) NIL)) . #2=(|QuotientFieldCategory|))))) . #2#) (SETELT #1# 0 (LIST (QUOTE |QuotientFieldCategory|) (|devaluate| |t#1|))))))) +(/VERSIONCHECK 2) + +(DEFPARAMETER |QuotientFieldCategory;CAT| 'NIL) + +(DEFPARAMETER |QuotientFieldCategory;AL| 'NIL) + +(DEFUN |QuotientFieldCategory| (#0=#:G1388) + (LET (#1=#:G1389) + (COND + ((SETQ #1# + (|assoc| (|devaluate| #0#) |QuotientFieldCategory;AL|)) + (CDR #1#)) + (T (SETQ |QuotientFieldCategory;AL| + (|cons5| (CONS (|devaluate| #0#) + (SETQ #1# (|QuotientFieldCategory;| #0#))) + |QuotientFieldCategory;AL|)) + #1#)))) + +(DEFUN |QuotientFieldCategory;| (|t#1|) + (PROG (#0=#:G1387) + (RETURN + (PROG1 (LETT #0# + (|sublisV| + (PAIR '(|t#1|) (LIST (|devaluate| |t#1|))) + (COND + (|QuotientFieldCategory;CAT|) + ('T + (LETT |QuotientFieldCategory;CAT| + (|Join| (|Field|) (|Algebra| '|t#1|) + (|RetractableTo| '|t#1|) + (|FullyEvalableOver| '|t#1|) + (|DifferentialExtension| + '|t#1|) + (|FullyLinearlyExplicitRingOver| + '|t#1|) + (|Patternable| '|t#1|) + (|FullyPatternMatchable| + '|t#1|) + (|mkCategory| '|domain| + '(((/ ($ |t#1| |t#1|)) T) + ((|numer| (|t#1| $)) T) + ((|denom| (|t#1| $)) T) + ((|numerator| ($ $)) T) + ((|denominator| ($ $)) T) + ((|wholePart| (|t#1| $)) + (|has| |t#1| + (|EuclideanDomain|))) + ((|fractionPart| ($ $)) + (|has| |t#1| + (|EuclideanDomain|))) + ((|random| ($)) + (|has| |t#1| + (|IntegerNumberSystem|))) + ((|ceiling| (|t#1| $)) + (|has| |t#1| + (|IntegerNumberSystem|))) + ((|floor| (|t#1| $)) + (|has| |t#1| + (|IntegerNumberSystem|)))) + '(((|StepThrough|) + (|has| |t#1| + (|StepThrough|))) + ((|RetractableTo| + (|Integer|)) + (|has| |t#1| + (|RetractableTo| + (|Integer|)))) + ((|RetractableTo| + (|Fraction| (|Integer|))) + (|has| |t#1| + (|RetractableTo| + (|Integer|)))) + ((|OrderedSet|) + (|has| |t#1| + (|OrderedSet|))) + ((|OrderedIntegralDomain|) + (|has| |t#1| + (|OrderedIntegralDomain|))) + ((|RealConstant|) + (|has| |t#1| + (|RealConstant|))) + ((|ConvertibleTo| + (|InputForm|)) + (|has| |t#1| + (|ConvertibleTo| + (|InputForm|)))) + ((|CharacteristicZero|) + (|has| |t#1| + (|CharacteristicZero|))) + ((|CharacteristicNonZero|) + (|has| |t#1| + (|CharacteristicNonZero|))) + ((|RetractableTo| + (|Symbol|)) + (|has| |t#1| + (|RetractableTo| + (|Symbol|)))) + ((|PolynomialFactorizationExplicit|) + (|has| |t#1| + (|PolynomialFactorizationExplicit|)))) + 'NIL NIL)) + . #1=(|QuotientFieldCategory|))))) . #1#) + (SETELT #0# 0 + (LIST '|QuotientFieldCategory| (|devaluate| |t#1|))))))) @ \section{QFCAT-.lsp BOOTSTRAP} {\bf QFCAT-} depends on {\bf QFCAT}. We need to break this cycle to build @@ -294,65 +389,410 @@ Note that this code is not included in the generated catdef.spad file. <<QFCAT-.lsp BOOTSTRAP>>= -(|/VERSIONCHECK| 2) - -(DEFUN |QFCAT-;numerator;2A;1| (|x| |$|) (SPADCALL (SPADCALL |x| (QREFELT |$| 8)) (QREFELT |$| 9))) - -(DEFUN |QFCAT-;denominator;2A;2| (|x| |$|) (SPADCALL (SPADCALL |x| (QREFELT |$| 11)) (QREFELT |$| 9))) - -(DEFUN |QFCAT-;init;A;3| (|$|) (SPADCALL (|spadConstant| |$| 13) (|spadConstant| |$| 14) (QREFELT |$| 15))) - -(DEFUN |QFCAT-;nextItem;AU;4| (|n| |$|) (PROG (|m|) (RETURN (SEQ (LETT |m| (SPADCALL (SPADCALL |n| (QREFELT |$| 8)) (QREFELT |$| 18)) |QFCAT-;nextItem;AU;4|) (EXIT (COND ((QEQCAR |m| 1) (|error| "We seem to have a Fraction of a finite object")) ((QUOTE T) (CONS 0 (SPADCALL (QCDR |m|) (|spadConstant| |$| 14) (QREFELT |$| 15)))))))))) - -(DEFUN |QFCAT-;map;M2A;5| (|fn| |x| |$|) (SPADCALL (SPADCALL (SPADCALL |x| (QREFELT |$| 8)) |fn|) (SPADCALL (SPADCALL |x| (QREFELT |$| 11)) |fn|) (QREFELT |$| 15))) - -(DEFUN |QFCAT-;reducedSystem;MM;6| (|m| |$|) (SPADCALL |m| (QREFELT |$| 26))) - -(DEFUN |QFCAT-;characteristic;Nni;7| (|$|) (SPADCALL (QREFELT |$| 30))) - -(DEFUN |QFCAT-;differentiate;AMA;8| (|x| |deriv| |$|) (PROG (|n| |d|) (RETURN (SEQ (LETT |n| (SPADCALL |x| (QREFELT |$| 8)) |QFCAT-;differentiate;AMA;8|) (LETT |d| (SPADCALL |x| (QREFELT |$| 11)) |QFCAT-;differentiate;AMA;8|) (EXIT (SPADCALL (SPADCALL (SPADCALL (SPADCALL |n| |deriv|) |d| (QREFELT |$| 32)) (SPADCALL |n| (SPADCALL |d| |deriv|) (QREFELT |$| 32)) (QREFELT |$| 33)) (SPADCALL |d| 2 (QREFELT |$| 35)) (QREFELT |$| 15))))))) - -(DEFUN |QFCAT-;convert;AIf;9| (|x| |$|) (SPADCALL (SPADCALL (SPADCALL |x| (QREFELT |$| 8)) (QREFELT |$| 38)) (SPADCALL (SPADCALL |x| (QREFELT |$| 11)) (QREFELT |$| 38)) (QREFELT |$| 39))) - -(DEFUN |QFCAT-;convert;AF;10| (|x| |$|) (SPADCALL (SPADCALL (SPADCALL |x| (QREFELT |$| 8)) (QREFELT |$| 42)) (SPADCALL (SPADCALL |x| (QREFELT |$| 11)) (QREFELT |$| 42)) (QREFELT |$| 43))) - -(DEFUN |QFCAT-;convert;ADf;11| (|x| |$|) (|/| (SPADCALL (SPADCALL |x| (QREFELT |$| 8)) (QREFELT |$| 46)) (SPADCALL (SPADCALL |x| (QREFELT |$| 11)) (QREFELT |$| 46)))) - -(DEFUN |QFCAT-;<;2AB;12| (|x| |y| |$|) (SPADCALL (SPADCALL (SPADCALL |x| (QREFELT |$| 8)) (SPADCALL |y| (QREFELT |$| 11)) (QREFELT |$| 32)) (SPADCALL (SPADCALL |y| (QREFELT |$| 8)) (SPADCALL |x| (QREFELT |$| 11)) (QREFELT |$| 32)) (QREFELT |$| 49))) - -(DEFUN |QFCAT-;<;2AB;13| (|x| |y| |$|) (PROG (|#G19| |#G20| |#G21| |#G22|) (RETURN (SEQ (COND ((SPADCALL (SPADCALL |x| (QREFELT |$| 11)) (|spadConstant| |$| 51) (QREFELT |$| 49)) (PROGN (LETT |#G19| |y| |QFCAT-;<;2AB;13|) (LETT |#G20| |x| |QFCAT-;<;2AB;13|) (LETT |x| |#G19| |QFCAT-;<;2AB;13|) (LETT |y| |#G20| |QFCAT-;<;2AB;13|)))) (COND ((SPADCALL (SPADCALL |y| (QREFELT |$| 11)) (|spadConstant| |$| 51) (QREFELT |$| 49)) (PROGN (LETT |#G21| |y| |QFCAT-;<;2AB;13|) (LETT |#G22| |x| |QFCAT-;<;2AB;13|) (LETT |x| |#G21| |QFCAT-;<;2AB;13|) (LETT |y| |#G22| |QFCAT-;<;2AB;13|)))) (EXIT (SPADCALL (SPADCALL (SPADCALL |x| (QREFELT |$| 8)) (SPADCALL |y| (QREFELT |$| 11)) (QREFELT |$| 32)) (SPADCALL (SPADCALL |y| (QREFELT |$| 8)) (SPADCALL |x| (QREFELT |$| 11)) (QREFELT |$| 32)) (QREFELT |$| 49))))))) - -(DEFUN |QFCAT-;<;2AB;14| (|x| |y| |$|) (SPADCALL (SPADCALL (SPADCALL |x| (QREFELT |$| 8)) (SPADCALL |y| (QREFELT |$| 11)) (QREFELT |$| 32)) (SPADCALL (SPADCALL |y| (QREFELT |$| 8)) (SPADCALL |x| (QREFELT |$| 11)) (QREFELT |$| 32)) (QREFELT |$| 49))) - -(DEFUN |QFCAT-;fractionPart;2A;15| (|x| |$|) (SPADCALL |x| (SPADCALL (SPADCALL |x| (QREFELT |$| 52)) (QREFELT |$| 9)) (QREFELT |$| 53))) - -(DEFUN |QFCAT-;coerce;SA;16| (|s| |$|) (SPADCALL (SPADCALL |s| (QREFELT |$| 56)) (QREFELT |$| 9))) - -(DEFUN |QFCAT-;retract;AS;17| (|x| |$|) (SPADCALL (SPADCALL |x| (QREFELT |$| 58)) (QREFELT |$| 59))) - -(DEFUN |QFCAT-;retractIfCan;AU;18| (|x| |$|) (PROG (|r|) (RETURN (SEQ (LETT |r| (SPADCALL |x| (QREFELT |$| 62)) |QFCAT-;retractIfCan;AU;18|) (EXIT (COND ((QEQCAR |r| 1) (CONS 1 "failed")) ((QUOTE T) (SPADCALL (QCDR |r|) (QREFELT |$| 64))))))))) - -(DEFUN |QFCAT-;convert;AP;19| (|x| |$|) (SPADCALL (SPADCALL (SPADCALL |x| (QREFELT |$| 8)) (QREFELT |$| 67)) (SPADCALL (SPADCALL |x| (QREFELT |$| 11)) (QREFELT |$| 67)) (QREFELT |$| 68))) - -(DEFUN |QFCAT-;patternMatch;AP2Pmr;20| (|x| |p| |l| |$|) (SPADCALL |x| |p| |l| (QREFELT |$| 72))) - -(DEFUN |QFCAT-;convert;AP;21| (|x| |$|) (SPADCALL (SPADCALL (SPADCALL |x| (QREFELT |$| 8)) (QREFELT |$| 76)) (SPADCALL (SPADCALL |x| (QREFELT |$| 11)) (QREFELT |$| 76)) (QREFELT |$| 77))) - -(DEFUN |QFCAT-;patternMatch;AP2Pmr;22| (|x| |p| |l| |$|) (SPADCALL |x| |p| |l| (QREFELT |$| 81))) - -(DEFUN |QFCAT-;coerce;FA;23| (|x| |$|) (SPADCALL (SPADCALL (SPADCALL |x| (QREFELT |$| 86)) (QREFELT |$| 87)) (SPADCALL (SPADCALL |x| (QREFELT |$| 88)) (QREFELT |$| 87)) (QREFELT |$| 89))) - -(DEFUN |QFCAT-;retract;AI;24| (|x| |$|) (SPADCALL (SPADCALL |x| (QREFELT |$| 58)) (QREFELT |$| 91))) - -(DEFUN |QFCAT-;retractIfCan;AU;25| (|x| |$|) (PROG (|u|) (RETURN (SEQ (LETT |u| (SPADCALL |x| (QREFELT |$| 62)) |QFCAT-;retractIfCan;AU;25|) (EXIT (COND ((QEQCAR |u| 1) (CONS 1 "failed")) ((QUOTE T) (SPADCALL (QCDR |u|) (QREFELT |$| 94))))))))) - -(DEFUN |QFCAT-;random;A;26| (|$|) (PROG (|d|) (RETURN (SEQ (SEQ G190 (COND ((NULL (SPADCALL (LETT |d| (SPADCALL (QREFELT |$| 96)) |QFCAT-;random;A;26|) (QREFELT |$| 97))) (GO G191))) (SEQ (EXIT |d|)) NIL (GO G190) G191 (EXIT NIL)) (EXIT (SPADCALL (SPADCALL (QREFELT |$| 96)) |d| (QREFELT |$| 15))))))) - -(DEFUN |QFCAT-;reducedSystem;MVR;27| (|m| |v| |$|) (PROG (|n|) (RETURN (SEQ (LETT |n| (SPADCALL (SPADCALL (SPADCALL |v| (QREFELT |$| 100)) |m| (QREFELT |$| 101)) (QREFELT |$| 102)) |QFCAT-;reducedSystem;MVR;27|) (EXIT (CONS (SPADCALL |n| (SPADCALL |n| (QREFELT |$| 103)) (SPADCALL |n| (QREFELT |$| 104)) (|+| 1 (SPADCALL |n| (QREFELT |$| 105))) (SPADCALL |n| (QREFELT |$| 106)) (QREFELT |$| 107)) (SPADCALL |n| (SPADCALL |n| (QREFELT |$| 105)) (QREFELT |$| 109)))))))) - -(DEFUN |QuotientFieldCategory&| (|#1| |#2|) (PROG (|DV$1| |DV$2| |dv$| |$| |pv$|) (RETURN (PROGN (LETT |DV$1| (|devaluate| |#1|) . #1=(|QuotientFieldCategory&|)) (LETT |DV$2| (|devaluate| |#2|) . #1#) (LETT |dv$| (LIST (QUOTE |QuotientFieldCategory&|) |DV$1| |DV$2|) . #1#) (LETT |$| (GETREFV 119) . #1#) (QSETREFV |$| 0 |dv$|) (QSETREFV |$| 3 (LETT |pv$| (|buildPredVector| 0 0 (LIST (|HasCategory| |#2| (QUOTE (|PolynomialFactorizationExplicit|))) (|HasCategory| |#2| (QUOTE (|IntegerNumberSystem|))) (|HasCategory| |#2| (QUOTE (|EuclideanDomain|))) (|HasCategory| |#2| (QUOTE (|RetractableTo| (|Symbol|)))) (|HasCategory| |#2| (QUOTE (|CharacteristicNonZero|))) (|HasCategory| |#2| (QUOTE (|CharacteristicZero|))) (|HasCategory| |#2| (QUOTE (|ConvertibleTo| (|InputForm|)))) (|HasCategory| |#2| (QUOTE (|RealConstant|))) (|HasCategory| |#2| (QUOTE (|OrderedIntegralDomain|))) (|HasCategory| |#2| (QUOTE (|OrderedSet|))) (|HasCategory| |#2| (QUOTE (|RetractableTo| (|Integer|)))) (|HasCategory| |#2| (QUOTE (|StepThrough|))))) . #1#)) (|stuffDomainSlots| |$|) (QSETREFV |$| 6 |#1|) (QSETREFV |$| 7 |#2|) (COND ((|testBitVector| |pv$| 12) (PROGN (QSETREFV |$| 16 (CONS (|dispatchFunction| |QFCAT-;init;A;3|) |$|)) (QSETREFV |$| 20 (CONS (|dispatchFunction| |QFCAT-;nextItem;AU;4|) |$|))))) (COND ((|testBitVector| |pv$| 7) (QSETREFV |$| 40 (CONS (|dispatchFunction| |QFCAT-;convert;AIf;9|) |$|)))) (COND ((|testBitVector| |pv$| 8) (PROGN (QSETREFV |$| 44 (CONS (|dispatchFunction| |QFCAT-;convert;AF;10|) |$|)) (QSETREFV |$| 47 (CONS (|dispatchFunction| |QFCAT-;convert;ADf;11|) |$|))))) (COND ((|testBitVector| |pv$| 9) (COND ((|HasAttribute| |#2| (QUOTE |canonicalUnitNormal|)) (QSETREFV |$| 50 (CONS (|dispatchFunction| |QFCAT-;<;2AB;12|) |$|))) ((QUOTE T) (QSETREFV |$| 50 (CONS (|dispatchFunction| |QFCAT-;<;2AB;13|) |$|))))) ((|testBitVector| |pv$| 10) (QSETREFV |$| 50 (CONS (|dispatchFunction| |QFCAT-;<;2AB;14|) |$|)))) (COND ((|testBitVector| |pv$| 3) (QSETREFV |$| 54 (CONS (|dispatchFunction| |QFCAT-;fractionPart;2A;15|) |$|)))) (COND ((|testBitVector| |pv$| 4) (PROGN (QSETREFV |$| 57 (CONS (|dispatchFunction| |QFCAT-;coerce;SA;16|) |$|)) (QSETREFV |$| 60 (CONS (|dispatchFunction| |QFCAT-;retract;AS;17|) |$|)) (QSETREFV |$| 65 (CONS (|dispatchFunction| |QFCAT-;retractIfCan;AU;18|) |$|))))) (COND ((|HasCategory| |#2| (QUOTE (|ConvertibleTo| (|Pattern| (|Integer|))))) (PROGN (QSETREFV |$| 69 (CONS (|dispatchFunction| |QFCAT-;convert;AP;19|) |$|)) (COND ((|HasCategory| |#2| (QUOTE (|PatternMatchable| (|Integer|)))) (QSETREFV |$| 74 (CONS (|dispatchFunction| |QFCAT-;patternMatch;AP2Pmr;20|) |$|))))))) (COND ((|HasCategory| |#2| (QUOTE (|ConvertibleTo| (|Pattern| (|Float|))))) (PROGN (QSETREFV |$| 78 (CONS (|dispatchFunction| |QFCAT-;convert;AP;21|) |$|)) (COND ((|HasCategory| |#2| (QUOTE (|PatternMatchable| (|Float|)))) (QSETREFV |$| 83 (CONS (|dispatchFunction| |QFCAT-;patternMatch;AP2Pmr;22|) |$|))))))) (COND ((|testBitVector| |pv$| 11) (PROGN (QSETREFV |$| 90 (CONS (|dispatchFunction| |QFCAT-;coerce;FA;23|) |$|)) (COND ((|domainEqual| |#2| (|Integer|))) ((QUOTE T) (PROGN (QSETREFV |$| 92 (CONS (|dispatchFunction| |QFCAT-;retract;AI;24|) |$|)) (QSETREFV |$| 95 (CONS (|dispatchFunction| |QFCAT-;retractIfCan;AU;25|) |$|)))))))) (COND ((|testBitVector| |pv$| 2) (QSETREFV |$| 98 (CONS (|dispatchFunction| |QFCAT-;random;A;26|) |$|)))) |$|)))) - -(MAKEPROP (QUOTE |QuotientFieldCategory&|) (QUOTE |infovec|) (LIST (QUOTE #(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|local| |#2|) (0 . |numer|) (5 . |coerce|) |QFCAT-;numerator;2A;1| (10 . |denom|) |QFCAT-;denominator;2A;2| (15 . |init|) (19 . |One|) (23 . |/|) (29 . |init|) (|Union| |$| (QUOTE "failed")) (33 . |nextItem|) (38 . |One|) (42 . |nextItem|) (|Mapping| 7 7) |QFCAT-;map;M2A;5| (|Matrix| 7) (|Matrix| 6) (|MatrixCommonDenominator| 7 6) (47 . |clearDenominator|) (|Matrix| |$|) |QFCAT-;reducedSystem;MM;6| (|NonNegativeInteger|) (52 . |characteristic|) |QFCAT-;characteristic;Nni;7| (56 . |*|) (62 . |-|) (|PositiveInteger|) (68 . |**|) |QFCAT-;differentiate;AMA;8| (|InputForm|) (74 . |convert|) (79 . |/|) (85 . |convert|) (|Float|) (90 . |convert|) (95 . |/|) (101 . |convert|) (|DoubleFloat|) (106 . |convert|) (111 . |convert|) (|Boolean|) (116 . |<|) (122 . |<|) (128 . |Zero|) (132 . |wholePart|) (137 . |-|) (143 . |fractionPart|) (|Symbol|) (148 . |coerce|) (153 . |coerce|) (158 . |retract|) (163 . |retract|) (168 . |retract|) (|Union| 7 (QUOTE "failed")) (173 . |retractIfCan|) (|Union| 55 (QUOTE "failed")) (178 . |retractIfCan|) (183 . |retractIfCan|) (|Pattern| 84) (188 . |convert|) (193 . |/|) (199 . |convert|) (|PatternMatchResult| 84 6) (|PatternMatchQuotientFieldCategory| 84 7 6) (204 . |patternMatch|) (|PatternMatchResult| 84 |$|) (211 . |patternMatch|) (|Pattern| 41) (218 . |convert|) (223 . |/|) (229 . |convert|) (|PatternMatchResult| 41 6) (|PatternMatchQuotientFieldCategory| 41 7 6) (234 . |patternMatch|) (|PatternMatchResult| 41 |$|) (241 . |patternMatch|) (|Integer|) (|Fraction| 84) (248 . |numer|) (253 . |coerce|) (258 . |denom|) (263 . |/|) (269 . |coerce|) (274 . |retract|) (279 . |retract|) (|Union| 84 (QUOTE "failed")) (284 . |retractIfCan|) (289 . |retractIfCan|) (294 . |random|) (298 . |zero?|) (303 . |random|) (|Vector| 6) (307 . |coerce|) (312 . |horizConcat|) (318 . |reducedSystem|) (323 . |minRowIndex|) (328 . |maxRowIndex|) (333 . |minColIndex|) (338 . |maxColIndex|) (343 . |subMatrix|) (|Vector| 7) (352 . |column|) (|Record| (|:| |mat| 23) (|:| |vec| 108)) (|Vector| |$|) |QFCAT-;reducedSystem;MVR;27| (|Union| 85 (QUOTE "failed")) (|Record| (|:| |mat| 115) (|:| |vec| (|Vector| 84))) (|Matrix| 84) (|List| 55) (|List| 29) (|OutputForm|))) (QUOTE #(|retractIfCan| 358 |retract| 368 |reducedSystem| 378 |random| 389 |patternMatch| 393 |numerator| 407 |nextItem| 412 |map| 417 |init| 423 |fractionPart| 427 |differentiate| 432 |denominator| 438 |convert| 443 |coerce| 468 |characteristic| 478 |<| 482)) (QUOTE NIL) (CONS (|makeByteWordVec2| 1 (QUOTE NIL)) (CONS (QUOTE #()) (CONS (QUOTE #()) (|makeByteWordVec2| 112 (QUOTE (1 6 7 0 8 1 6 0 7 9 1 6 7 0 11 0 7 0 13 0 7 0 14 2 6 0 7 7 15 0 0 0 16 1 7 17 0 18 0 6 0 19 1 0 17 0 20 1 25 23 24 26 0 7 29 30 2 7 0 0 0 32 2 7 0 0 0 33 2 7 0 0 34 35 1 7 37 0 38 2 37 0 0 0 39 1 0 37 0 40 1 7 41 0 42 2 41 0 0 0 43 1 0 41 0 44 1 7 45 0 46 1 0 45 0 47 2 7 48 0 0 49 2 0 48 0 0 50 0 7 0 51 1 6 7 0 52 2 6 0 0 0 53 1 0 0 0 54 1 7 0 55 56 1 0 0 55 57 1 6 7 0 58 1 7 55 0 59 1 0 55 0 60 1 6 61 0 62 1 7 63 0 64 1 0 63 0 65 1 7 66 0 67 2 66 0 0 0 68 1 0 66 0 69 3 71 70 6 66 70 72 3 0 73 0 66 73 74 1 7 75 0 76 2 75 0 0 0 77 1 0 75 0 78 3 80 79 6 75 79 81 3 0 82 0 75 82 83 1 85 84 0 86 1 6 0 84 87 1 85 84 0 88 2 6 0 0 0 89 1 0 0 85 90 1 7 84 0 91 1 0 84 0 92 1 7 93 0 94 1 0 93 0 95 0 7 0 96 1 7 48 0 97 0 0 0 98 1 24 0 99 100 2 24 0 0 0 101 1 6 23 27 102 1 23 84 0 103 1 23 84 0 104 1 23 84 0 105 1 23 84 0 106 5 23 0 0 84 84 84 84 107 2 23 108 0 84 109 1 0 93 0 95 1 0 63 0 65 1 0 84 0 92 1 0 55 0 60 2 0 110 27 111 112 1 0 23 27 28 0 0 0 98 3 0 82 0 75 82 83 3 0 73 0 66 73 74 1 0 0 0 10 1 0 17 0 20 2 0 0 21 0 22 0 0 0 16 1 0 0 0 54 2 0 0 0 21 36 1 0 0 0 12 1 0 45 0 47 1 0 37 0 40 1 0 41 0 44 1 0 66 0 69 1 0 75 0 78 1 0 0 55 57 1 0 0 85 90 0 0 29 31 2 0 48 0 0 50)))))) (QUOTE |lookupComplete|))) +(/VERSIONCHECK 2) + +(DEFUN |QFCAT-;numerator;2A;1| (|x| $) + (SPADCALL (SPADCALL |x| (QREFELT $ 8)) (QREFELT $ 9))) + +(DEFUN |QFCAT-;denominator;2A;2| (|x| $) + (SPADCALL (SPADCALL |x| (QREFELT $ 11)) (QREFELT $ 9))) + +(DEFUN |QFCAT-;init;A;3| ($) + (SPADCALL (|spadConstant| $ 13) (|spadConstant| $ 14) (QREFELT $ 15))) + +(DEFUN |QFCAT-;nextItem;AU;4| (|n| $) + (PROG (|m|) + (RETURN + (SEQ (LETT |m| + (SPADCALL (SPADCALL |n| (QREFELT $ 8)) (QREFELT $ 18)) + |QFCAT-;nextItem;AU;4|) + (EXIT (COND + ((QEQCAR |m| 1) + (|error| "We seem to have a Fraction of a finite object")) + ('T + (CONS 0 + (SPADCALL (QCDR |m|) (|spadConstant| $ 14) + (QREFELT $ 15)))))))))) + +(DEFUN |QFCAT-;map;M2A;5| (|fn| |x| $) + (SPADCALL (SPADCALL (SPADCALL |x| (QREFELT $ 8)) |fn|) + (SPADCALL (SPADCALL |x| (QREFELT $ 11)) |fn|) (QREFELT $ 15))) + +(DEFUN |QFCAT-;reducedSystem;MM;6| (|m| $) + (SPADCALL |m| (QREFELT $ 26))) + +(DEFUN |QFCAT-;characteristic;Nni;7| ($) (SPADCALL (QREFELT $ 30))) + +(DEFUN |QFCAT-;differentiate;AMA;8| (|x| |deriv| $) + (PROG (|n| |d|) + (RETURN + (SEQ (LETT |n| (SPADCALL |x| (QREFELT $ 8)) + |QFCAT-;differentiate;AMA;8|) + (LETT |d| (SPADCALL |x| (QREFELT $ 11)) + |QFCAT-;differentiate;AMA;8|) + (EXIT (SPADCALL + (SPADCALL + (SPADCALL (SPADCALL |n| |deriv|) |d| + (QREFELT $ 32)) + (SPADCALL |n| (SPADCALL |d| |deriv|) + (QREFELT $ 32)) + (QREFELT $ 33)) + (SPADCALL |d| 2 (QREFELT $ 35)) (QREFELT $ 15))))))) + +(DEFUN |QFCAT-;convert;AIf;9| (|x| $) + (SPADCALL (SPADCALL (SPADCALL |x| (QREFELT $ 8)) (QREFELT $ 38)) + (SPADCALL (SPADCALL |x| (QREFELT $ 11)) (QREFELT $ 38)) + (QREFELT $ 39))) + +(DEFUN |QFCAT-;convert;AF;10| (|x| $) + (SPADCALL (SPADCALL (SPADCALL |x| (QREFELT $ 8)) (QREFELT $ 42)) + (SPADCALL (SPADCALL |x| (QREFELT $ 11)) (QREFELT $ 42)) + (QREFELT $ 43))) + +(DEFUN |QFCAT-;convert;ADf;11| (|x| $) + (/ (SPADCALL (SPADCALL |x| (QREFELT $ 8)) (QREFELT $ 46)) + (SPADCALL (SPADCALL |x| (QREFELT $ 11)) (QREFELT $ 46)))) + +(DEFUN |QFCAT-;<;2AB;12| (|x| |y| $) + (SPADCALL + (SPADCALL (SPADCALL |x| (QREFELT $ 8)) + (SPADCALL |y| (QREFELT $ 11)) (QREFELT $ 32)) + (SPADCALL (SPADCALL |y| (QREFELT $ 8)) + (SPADCALL |x| (QREFELT $ 11)) (QREFELT $ 32)) + (QREFELT $ 49))) + +(DEFUN |QFCAT-;<;2AB;13| (|x| |y| $) + (PROG (|#G19| |#G20| |#G21| |#G22|) + (RETURN + (SEQ (COND + ((SPADCALL (SPADCALL |x| (QREFELT $ 11)) + (|spadConstant| $ 51) (QREFELT $ 49)) + (PROGN + (LETT |#G19| |y| |QFCAT-;<;2AB;13|) + (LETT |#G20| |x| |QFCAT-;<;2AB;13|) + (LETT |x| |#G19| |QFCAT-;<;2AB;13|) + (LETT |y| |#G20| |QFCAT-;<;2AB;13|)))) + (COND + ((SPADCALL (SPADCALL |y| (QREFELT $ 11)) + (|spadConstant| $ 51) (QREFELT $ 49)) + (PROGN + (LETT |#G21| |y| |QFCAT-;<;2AB;13|) + (LETT |#G22| |x| |QFCAT-;<;2AB;13|) + (LETT |x| |#G21| |QFCAT-;<;2AB;13|) + (LETT |y| |#G22| |QFCAT-;<;2AB;13|)))) + (EXIT (SPADCALL + (SPADCALL (SPADCALL |x| (QREFELT $ 8)) + (SPADCALL |y| (QREFELT $ 11)) (QREFELT $ 32)) + (SPADCALL (SPADCALL |y| (QREFELT $ 8)) + (SPADCALL |x| (QREFELT $ 11)) (QREFELT $ 32)) + (QREFELT $ 49))))))) + +(DEFUN |QFCAT-;<;2AB;14| (|x| |y| $) + (SPADCALL + (SPADCALL (SPADCALL |x| (QREFELT $ 8)) + (SPADCALL |y| (QREFELT $ 11)) (QREFELT $ 32)) + (SPADCALL (SPADCALL |y| (QREFELT $ 8)) + (SPADCALL |x| (QREFELT $ 11)) (QREFELT $ 32)) + (QREFELT $ 49))) + +(DEFUN |QFCAT-;fractionPart;2A;15| (|x| $) + (SPADCALL |x| (SPADCALL (SPADCALL |x| (QREFELT $ 52)) (QREFELT $ 9)) + (QREFELT $ 53))) + +(DEFUN |QFCAT-;coerce;SA;16| (|s| $) + (SPADCALL (SPADCALL |s| (QREFELT $ 56)) (QREFELT $ 9))) + +(DEFUN |QFCAT-;retract;AS;17| (|x| $) + (SPADCALL (SPADCALL |x| (QREFELT $ 58)) (QREFELT $ 59))) + +(DEFUN |QFCAT-;retractIfCan;AU;18| (|x| $) + (PROG (|r|) + (RETURN + (SEQ (LETT |r| (SPADCALL |x| (QREFELT $ 62)) + |QFCAT-;retractIfCan;AU;18|) + (EXIT (COND + ((QEQCAR |r| 1) (CONS 1 "failed")) + ('T (SPADCALL (QCDR |r|) (QREFELT $ 64))))))))) + +(DEFUN |QFCAT-;convert;AP;19| (|x| $) + (SPADCALL (SPADCALL (SPADCALL |x| (QREFELT $ 8)) (QREFELT $ 67)) + (SPADCALL (SPADCALL |x| (QREFELT $ 11)) (QREFELT $ 67)) + (QREFELT $ 68))) + +(DEFUN |QFCAT-;patternMatch;AP2Pmr;20| (|x| |p| |l| $) + (SPADCALL |x| |p| |l| (QREFELT $ 72))) + +(DEFUN |QFCAT-;convert;AP;21| (|x| $) + (SPADCALL (SPADCALL (SPADCALL |x| (QREFELT $ 8)) (QREFELT $ 76)) + (SPADCALL (SPADCALL |x| (QREFELT $ 11)) (QREFELT $ 76)) + (QREFELT $ 77))) + +(DEFUN |QFCAT-;patternMatch;AP2Pmr;22| (|x| |p| |l| $) + (SPADCALL |x| |p| |l| (QREFELT $ 81))) + +(DEFUN |QFCAT-;coerce;FA;23| (|x| $) + (SPADCALL (SPADCALL (SPADCALL |x| (QREFELT $ 86)) (QREFELT $ 87)) + (SPADCALL (SPADCALL |x| (QREFELT $ 88)) (QREFELT $ 87)) + (QREFELT $ 89))) + +(DEFUN |QFCAT-;retract;AI;24| (|x| $) + (SPADCALL (SPADCALL |x| (QREFELT $ 58)) (QREFELT $ 91))) + +(DEFUN |QFCAT-;retractIfCan;AU;25| (|x| $) + (PROG (|u|) + (RETURN + (SEQ (LETT |u| (SPADCALL |x| (QREFELT $ 62)) + |QFCAT-;retractIfCan;AU;25|) + (EXIT (COND + ((QEQCAR |u| 1) (CONS 1 "failed")) + ('T (SPADCALL (QCDR |u|) (QREFELT $ 94))))))))) + +(DEFUN |QFCAT-;random;A;26| ($) + (PROG (|d|) + (RETURN + (SEQ (SEQ G190 + (COND + ((NULL (SPADCALL + (LETT |d| (SPADCALL (QREFELT $ 96)) + |QFCAT-;random;A;26|) + (QREFELT $ 97))) + (GO G191))) + (SEQ (EXIT |d|)) NIL (GO G190) G191 (EXIT NIL)) + (EXIT (SPADCALL (SPADCALL (QREFELT $ 96)) |d| + (QREFELT $ 15))))))) + +(DEFUN |QFCAT-;reducedSystem;MVR;27| (|m| |v| $) + (PROG (|n|) + (RETURN + (SEQ (LETT |n| + (SPADCALL + (SPADCALL (SPADCALL |v| (QREFELT $ 100)) |m| + (QREFELT $ 101)) + (QREFELT $ 102)) + |QFCAT-;reducedSystem;MVR;27|) + (EXIT (CONS (SPADCALL |n| (SPADCALL |n| (QREFELT $ 103)) + (SPADCALL |n| (QREFELT $ 104)) + (+ 1 (SPADCALL |n| (QREFELT $ 105))) + (SPADCALL |n| (QREFELT $ 106)) + (QREFELT $ 107)) + (SPADCALL |n| (SPADCALL |n| (QREFELT $ 105)) + (QREFELT $ 109)))))))) + +(DEFUN |QuotientFieldCategory&| (|#1| |#2|) + (PROG (|dv$1| |dv$2| |dv$| $ |pv$|) + (RETURN + (PROGN + (LETT |dv$1| (|devaluate| |#1|) + . #0=(|QuotientFieldCategory&|)) + (LETT |dv$2| (|devaluate| |#2|) . #0#) + (LETT |dv$| + (LIST '|QuotientFieldCategory&| |dv$1| |dv$2|) . #0#) + (LETT $ (GETREFV 119) . #0#) + (QSETREFV $ 0 |dv$|) + (QSETREFV $ 3 + (LETT |pv$| + (|buildPredVector| 0 0 + (LIST (|HasCategory| |#2| + '(|PolynomialFactorizationExplicit|)) + (|HasCategory| |#2| + '(|IntegerNumberSystem|)) + (|HasCategory| |#2| '(|EuclideanDomain|)) + (|HasCategory| |#2| + '(|RetractableTo| (|Symbol|))) + (|HasCategory| |#2| + '(|CharacteristicNonZero|)) + (|HasCategory| |#2| + '(|CharacteristicZero|)) + (|HasCategory| |#2| + '(|ConvertibleTo| (|InputForm|))) + (|HasCategory| |#2| '(|RealConstant|)) + (|HasCategory| |#2| + '(|OrderedIntegralDomain|)) + (|HasCategory| |#2| '(|OrderedSet|)) + (|HasCategory| |#2| + '(|RetractableTo| (|Integer|))) + (|HasCategory| |#2| '(|StepThrough|)))) . #0#)) + (|stuffDomainSlots| $) + (QSETREFV $ 6 |#1|) + (QSETREFV $ 7 |#2|) + (COND + ((|testBitVector| |pv$| 12) + (PROGN + (QSETREFV $ 16 + (CONS (|dispatchFunction| |QFCAT-;init;A;3|) $)) + (QSETREFV $ 20 + (CONS (|dispatchFunction| |QFCAT-;nextItem;AU;4|) $))))) + (COND + ((|testBitVector| |pv$| 7) + (QSETREFV $ 40 + (CONS (|dispatchFunction| |QFCAT-;convert;AIf;9|) $)))) + (COND + ((|testBitVector| |pv$| 8) + (PROGN + (QSETREFV $ 44 + (CONS (|dispatchFunction| |QFCAT-;convert;AF;10|) $)) + (QSETREFV $ 47 + (CONS (|dispatchFunction| |QFCAT-;convert;ADf;11|) $))))) + (COND + ((|testBitVector| |pv$| 9) + (COND + ((|HasAttribute| |#2| '|canonicalUnitNormal|) + (QSETREFV $ 50 + (CONS (|dispatchFunction| |QFCAT-;<;2AB;12|) $))) + ('T + (QSETREFV $ 50 + (CONS (|dispatchFunction| |QFCAT-;<;2AB;13|) $))))) + ((|testBitVector| |pv$| 10) + (QSETREFV $ 50 + (CONS (|dispatchFunction| |QFCAT-;<;2AB;14|) $)))) + (COND + ((|testBitVector| |pv$| 3) + (QSETREFV $ 54 + (CONS (|dispatchFunction| |QFCAT-;fractionPart;2A;15|) + $)))) + (COND + ((|testBitVector| |pv$| 4) + (PROGN + (QSETREFV $ 57 + (CONS (|dispatchFunction| |QFCAT-;coerce;SA;16|) $)) + (QSETREFV $ 60 + (CONS (|dispatchFunction| |QFCAT-;retract;AS;17|) $)) + (QSETREFV $ 65 + (CONS (|dispatchFunction| |QFCAT-;retractIfCan;AU;18|) + $))))) + (COND + ((|HasCategory| |#2| + '(|ConvertibleTo| (|Pattern| (|Integer|)))) + (PROGN + (QSETREFV $ 69 + (CONS (|dispatchFunction| |QFCAT-;convert;AP;19|) $)) + (COND + ((|HasCategory| |#2| '(|PatternMatchable| (|Integer|))) + (QSETREFV $ 74 + (CONS (|dispatchFunction| + |QFCAT-;patternMatch;AP2Pmr;20|) + $))))))) + (COND + ((|HasCategory| |#2| + '(|ConvertibleTo| (|Pattern| (|Float|)))) + (PROGN + (QSETREFV $ 78 + (CONS (|dispatchFunction| |QFCAT-;convert;AP;21|) $)) + (COND + ((|HasCategory| |#2| '(|PatternMatchable| (|Float|))) + (QSETREFV $ 83 + (CONS (|dispatchFunction| + |QFCAT-;patternMatch;AP2Pmr;22|) + $))))))) + (COND + ((|testBitVector| |pv$| 11) + (PROGN + (QSETREFV $ 90 + (CONS (|dispatchFunction| |QFCAT-;coerce;FA;23|) $)) + (COND + ((|domainEqual| |#2| (|Integer|))) + ('T + (PROGN + (QSETREFV $ 92 + (CONS (|dispatchFunction| |QFCAT-;retract;AI;24|) + $)) + (QSETREFV $ 95 + (CONS (|dispatchFunction| + |QFCAT-;retractIfCan;AU;25|) + $)))))))) + (COND + ((|testBitVector| |pv$| 2) + (QSETREFV $ 98 + (CONS (|dispatchFunction| |QFCAT-;random;A;26|) $)))) + $)))) + +(MAKEPROP '|QuotientFieldCategory&| '|infovec| + (LIST '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|local| |#2|) + (0 . |numer|) (5 . |coerce|) |QFCAT-;numerator;2A;1| + (10 . |denom|) |QFCAT-;denominator;2A;2| (15 . |init|) + (19 . |One|) (23 . /) (29 . |init|) (|Union| $ '"failed") + (33 . |nextItem|) (38 . |One|) (42 . |nextItem|) + (|Mapping| 7 7) |QFCAT-;map;M2A;5| (|Matrix| 7) + (|Matrix| 6) (|MatrixCommonDenominator| 7 6) + (47 . |clearDenominator|) (|Matrix| $) + |QFCAT-;reducedSystem;MM;6| (|NonNegativeInteger|) + (52 . |characteristic|) |QFCAT-;characteristic;Nni;7| + (56 . *) (62 . -) (|PositiveInteger|) (68 . **) + |QFCAT-;differentiate;AMA;8| (|InputForm|) + (74 . |convert|) (79 . /) (85 . |convert|) (|Float|) + (90 . |convert|) (95 . /) (101 . |convert|) + (|DoubleFloat|) (106 . |convert|) (111 . |convert|) + (|Boolean|) (116 . <) (122 . <) (128 . |Zero|) + (132 . |wholePart|) (137 . -) (143 . |fractionPart|) + (|Symbol|) (148 . |coerce|) (153 . |coerce|) + (158 . |retract|) (163 . |retract|) (168 . |retract|) + (|Union| 7 '"failed") (173 . |retractIfCan|) + (|Union| 55 '"failed") (178 . |retractIfCan|) + (183 . |retractIfCan|) (|Pattern| 84) (188 . |convert|) + (193 . /) (199 . |convert|) (|PatternMatchResult| 84 6) + (|PatternMatchQuotientFieldCategory| 84 7 6) + (204 . |patternMatch|) (|PatternMatchResult| 84 $) + (211 . |patternMatch|) (|Pattern| 41) (218 . |convert|) + (223 . /) (229 . |convert|) (|PatternMatchResult| 41 6) + (|PatternMatchQuotientFieldCategory| 41 7 6) + (234 . |patternMatch|) (|PatternMatchResult| 41 $) + (241 . |patternMatch|) (|Integer|) (|Fraction| 84) + (248 . |numer|) (253 . |coerce|) (258 . |denom|) (263 . /) + (269 . |coerce|) (274 . |retract|) (279 . |retract|) + (|Union| 84 '"failed") (284 . |retractIfCan|) + (289 . |retractIfCan|) (294 . |random|) (298 . |zero?|) + (303 . |random|) (|Vector| 6) (307 . |coerce|) + (312 . |horizConcat|) (318 . |reducedSystem|) + (323 . |minRowIndex|) (328 . |maxRowIndex|) + (333 . |minColIndex|) (338 . |maxColIndex|) + (343 . |subMatrix|) (|Vector| 7) (352 . |column|) + (|Record| (|:| |mat| 23) (|:| |vec| 108)) (|Vector| $) + |QFCAT-;reducedSystem;MVR;27| (|Union| 85 '"failed") + (|Record| (|:| |mat| 115) (|:| |vec| (|Vector| 84))) + (|Matrix| 84) (|List| 55) (|List| 29) (|OutputForm|)) + '#(|retractIfCan| 358 |retract| 368 |reducedSystem| 378 + |random| 389 |patternMatch| 393 |numerator| 407 |nextItem| + 412 |map| 417 |init| 423 |fractionPart| 427 + |differentiate| 432 |denominator| 438 |convert| 443 + |coerce| 468 |characteristic| 478 < 482) + 'NIL + (CONS (|makeByteWordVec2| 1 'NIL) + (CONS '#() + (CONS '#() + (|makeByteWordVec2| 112 + '(1 6 7 0 8 1 6 0 7 9 1 6 7 0 11 0 7 0 + 13 0 7 0 14 2 6 0 7 7 15 0 0 0 16 1 7 + 17 0 18 0 6 0 19 1 0 17 0 20 1 25 23 + 24 26 0 7 29 30 2 7 0 0 0 32 2 7 0 0 + 0 33 2 7 0 0 34 35 1 7 37 0 38 2 37 0 + 0 0 39 1 0 37 0 40 1 7 41 0 42 2 41 0 + 0 0 43 1 0 41 0 44 1 7 45 0 46 1 0 45 + 0 47 2 7 48 0 0 49 2 0 48 0 0 50 0 7 + 0 51 1 6 7 0 52 2 6 0 0 0 53 1 0 0 0 + 54 1 7 0 55 56 1 0 0 55 57 1 6 7 0 58 + 1 7 55 0 59 1 0 55 0 60 1 6 61 0 62 1 + 7 63 0 64 1 0 63 0 65 1 7 66 0 67 2 + 66 0 0 0 68 1 0 66 0 69 3 71 70 6 66 + 70 72 3 0 73 0 66 73 74 1 7 75 0 76 2 + 75 0 0 0 77 1 0 75 0 78 3 80 79 6 75 + 79 81 3 0 82 0 75 82 83 1 85 84 0 86 + 1 6 0 84 87 1 85 84 0 88 2 6 0 0 0 89 + 1 0 0 85 90 1 7 84 0 91 1 0 84 0 92 1 + 7 93 0 94 1 0 93 0 95 0 7 0 96 1 7 48 + 0 97 0 0 0 98 1 24 0 99 100 2 24 0 0 + 0 101 1 6 23 27 102 1 23 84 0 103 1 + 23 84 0 104 1 23 84 0 105 1 23 84 0 + 106 5 23 0 0 84 84 84 84 107 2 23 108 + 0 84 109 1 0 93 0 95 1 0 63 0 65 1 0 + 84 0 92 1 0 55 0 60 2 0 110 27 111 + 112 1 0 23 27 28 0 0 0 98 3 0 82 0 75 + 82 83 3 0 73 0 66 73 74 1 0 0 0 10 1 + 0 17 0 20 2 0 0 21 0 22 0 0 0 16 1 0 + 0 0 54 2 0 0 0 21 36 1 0 0 0 12 1 0 + 45 0 47 1 0 37 0 40 1 0 41 0 44 1 0 + 66 0 69 1 0 75 0 78 1 0 0 55 57 1 0 0 + 85 90 0 0 29 31 2 0 48 0 0 50))))) + '|lookupComplete|)) @ \section{package QFCAT2 QuotientFieldCategoryFunctions2} <<package QFCAT2 QuotientFieldCategoryFunctions2>>= diff --git a/src/algebra/polset.spad.pamphlet b/src/algebra/polset.spad.pamphlet index 4e21255d..14527801 100644 --- a/src/algebra/polset.spad.pamphlet +++ b/src/algebra/polset.spad.pamphlet @@ -368,15 +368,128 @@ Note that this code is not included in the generated catdef.spad file. <<PSETCAT.lsp BOOTSTRAP>>= -(|/VERSIONCHECK| 2) - -(SETQ |PolynomialSetCategory;CAT| (QUOTE NIL)) - -(SETQ |PolynomialSetCategory;AL| (QUOTE NIL)) - -(DEFUN |PolynomialSetCategory| (|&REST| #1=#:G82375 |&AUX| #2=#:G82373) (DSETQ #2# #1#) (LET (#3=#:G82374) (COND ((SETQ #3# (|assoc| (|devaluateList| #2#) |PolynomialSetCategory;AL|)) (CDR #3#)) (T (SETQ |PolynomialSetCategory;AL| (|cons5| (CONS (|devaluateList| #2#) (SETQ #3# (APPLY (FUNCTION |PolynomialSetCategory;|) #2#))) |PolynomialSetCategory;AL|)) #3#)))) - -(DEFUN |PolynomialSetCategory;| (|t#1| |t#2| |t#3| |t#4|) (PROG (#1=#:G82372) (RETURN (PROG1 (LETT #1# (|sublisV| (PAIR (QUOTE (|t#1| |t#2| |t#3| |t#4|)) (LIST (|devaluate| |t#1|) (|devaluate| |t#2|) (|devaluate| |t#3|) (|devaluate| |t#4|))) (|sublisV| (PAIR (QUOTE (#2=#:G82371)) (LIST (QUOTE (|List| |t#4|)))) (COND (|PolynomialSetCategory;CAT|) ((QUOTE T) (LETT |PolynomialSetCategory;CAT| (|Join| (|SetCategory|) (|Collection| (QUOTE |t#4|)) (|CoercibleTo| (QUOTE #2#)) (|mkCategory| (QUOTE |domain|) (QUOTE (((|retractIfCan| ((|Union| |$| "failed") (|List| |t#4|))) T) ((|retract| (|$| (|List| |t#4|))) T) ((|mvar| (|t#3| |$|)) T) ((|variables| ((|List| |t#3|) |$|)) T) ((|mainVariables| ((|List| |t#3|) |$|)) T) ((|mainVariable?| ((|Boolean|) |t#3| |$|)) T) ((|collectUnder| (|$| |$| |t#3|)) T) ((|collect| (|$| |$| |t#3|)) T) ((|collectUpper| (|$| |$| |t#3|)) T) ((|sort| ((|Record| (|:| |under| |$|) (|:| |floor| |$|) (|:| |upper| |$|)) |$| |t#3|)) T) ((|trivialIdeal?| ((|Boolean|) |$|)) T) ((|roughBase?| ((|Boolean|) |$|)) (|has| |t#1| (|IntegralDomain|))) ((|roughSubIdeal?| ((|Boolean|) |$| |$|)) (|has| |t#1| (|IntegralDomain|))) ((|roughEqualIdeals?| ((|Boolean|) |$| |$|)) (|has| |t#1| (|IntegralDomain|))) ((|roughUnitIdeal?| ((|Boolean|) |$|)) (|has| |t#1| (|IntegralDomain|))) ((|headRemainder| ((|Record| (|:| |num| |t#4|) (|:| |den| |t#1|)) |t#4| |$|)) (|has| |t#1| (|IntegralDomain|))) ((|remainder| ((|Record| (|:| |rnum| |t#1|) (|:| |polnum| |t#4|) (|:| |den| |t#1|)) |t#4| |$|)) (|has| |t#1| (|IntegralDomain|))) ((|rewriteIdealWithHeadRemainder| ((|List| |t#4|) (|List| |t#4|) |$|)) (|has| |t#1| (|IntegralDomain|))) ((|rewriteIdealWithRemainder| ((|List| |t#4|) (|List| |t#4|) |$|)) (|has| |t#1| (|IntegralDomain|))) ((|triangular?| ((|Boolean|) |$|)) (|has| |t#1| (|IntegralDomain|))))) (QUOTE ((|finiteAggregate| T))) (QUOTE ((|Boolean|) (|List| |t#4|) (|List| |t#3|))) NIL)) . #3=(|PolynomialSetCategory|)))))) . #3#) (SETELT #1# 0 (LIST (QUOTE |PolynomialSetCategory|) (|devaluate| |t#1|) (|devaluate| |t#2|) (|devaluate| |t#3|) (|devaluate| |t#4|))))))) +(/VERSIONCHECK 2) + +(DEFPARAMETER |PolynomialSetCategory;CAT| 'NIL) + +(DEFPARAMETER |PolynomialSetCategory;AL| 'NIL) + +(DEFUN |PolynomialSetCategory| (&REST #0=#:G1422 &AUX #1=#:G1420) + (DSETQ #1# #0#) + (LET (#2=#:G1421) + (COND + ((SETQ #2# + (|assoc| (|devaluateList| #1#) |PolynomialSetCategory;AL|)) + (CDR #2#)) + (T (SETQ |PolynomialSetCategory;AL| + (|cons5| (CONS (|devaluateList| #1#) + (SETQ #2# + (APPLY #'|PolynomialSetCategory;| + #1#))) + |PolynomialSetCategory;AL|)) + #2#)))) + +(DEFUN |PolynomialSetCategory;| (|t#1| |t#2| |t#3| |t#4|) + (PROG (#0=#:G1419) + (RETURN + (PROG1 (LETT #0# + (|sublisV| + (PAIR '(|t#1| |t#2| |t#3| |t#4|) + (LIST (|devaluate| |t#1|) + (|devaluate| |t#2|) + (|devaluate| |t#3|) + (|devaluate| |t#4|))) + (|sublisV| + (PAIR '(#1=#:G1418) (LIST '(|List| |t#4|))) + (COND + (|PolynomialSetCategory;CAT|) + ('T + (LETT |PolynomialSetCategory;CAT| + (|Join| (|SetCategory|) + (|Collection| '|t#4|) + (|CoercibleTo| '#1#) + (|mkCategory| '|domain| + '(((|retractIfCan| + ((|Union| $ "failed") + (|List| |t#4|))) + T) + ((|retract| ($ (|List| |t#4|))) + T) + ((|mvar| (|t#3| $)) T) + ((|variables| + ((|List| |t#3|) $)) + T) + ((|mainVariables| + ((|List| |t#3|) $)) + T) + ((|mainVariable?| + ((|Boolean|) |t#3| $)) + T) + ((|collectUnder| ($ $ |t#3|)) + T) + ((|collect| ($ $ |t#3|)) T) + ((|collectUpper| ($ $ |t#3|)) + T) + ((|sort| + ((|Record| (|:| |under| $) + (|:| |floor| $) + (|:| |upper| $)) + $ |t#3|)) + T) + ((|trivialIdeal?| + ((|Boolean|) $)) + T) + ((|roughBase?| ((|Boolean|) $)) + (|has| |t#1| + (|IntegralDomain|))) + ((|roughSubIdeal?| + ((|Boolean|) $ $)) + (|has| |t#1| + (|IntegralDomain|))) + ((|roughEqualIdeals?| + ((|Boolean|) $ $)) + (|has| |t#1| + (|IntegralDomain|))) + ((|roughUnitIdeal?| + ((|Boolean|) $)) + (|has| |t#1| + (|IntegralDomain|))) + ((|headRemainder| + ((|Record| (|:| |num| |t#4|) + (|:| |den| |t#1|)) + |t#4| $)) + (|has| |t#1| + (|IntegralDomain|))) + ((|remainder| + ((|Record| (|:| |rnum| |t#1|) + (|:| |polnum| |t#4|) + (|:| |den| |t#1|)) + |t#4| $)) + (|has| |t#1| + (|IntegralDomain|))) + ((|rewriteIdealWithHeadRemainder| + ((|List| |t#4|) + (|List| |t#4|) $)) + (|has| |t#1| + (|IntegralDomain|))) + ((|rewriteIdealWithRemainder| + ((|List| |t#4|) + (|List| |t#4|) $)) + (|has| |t#1| + (|IntegralDomain|))) + ((|triangular?| + ((|Boolean|) $)) + (|has| |t#1| + (|IntegralDomain|)))) + '((|finiteAggregate| T)) + '((|Boolean|) (|List| |t#4|) + (|List| |t#3|)) + NIL)) + . #2=(|PolynomialSetCategory|)))))) . #2#) + (SETELT #0# 0 + (LIST '|PolynomialSetCategory| (|devaluate| |t#1|) + (|devaluate| |t#2|) (|devaluate| |t#3|) + (|devaluate| |t#4|))))))) @ \section{PSETCAT-.lsp BOOTSTRAP} {\bf PSETCAT-} depends on {\bf PSETCAT}. We need to break this cycle to build @@ -389,71 +502,852 @@ Note that this code is not included in the generated catdef.spad file. <<PSETCAT-.lsp BOOTSTRAP>>= -(|/VERSIONCHECK| 2) - -(DEFUN |PSETCAT-;elements| (|ps| |$|) (PROG (|lp|) (RETURN (LETT |lp| (SPADCALL |ps| (QREFELT |$| 12)) |PSETCAT-;elements|)))) - -(DEFUN |PSETCAT-;variables1| (|lp| |$|) (PROG (#1=#:G82392 |p| #2=#:G82393 |lvars|) (RETURN (SEQ (LETT |lvars| (PROGN (LETT #1# NIL |PSETCAT-;variables1|) (SEQ (LETT |p| NIL |PSETCAT-;variables1|) (LETT #2# |lp| |PSETCAT-;variables1|) G190 (COND ((OR (ATOM #2#) (PROGN (LETT |p| (CAR #2#) |PSETCAT-;variables1|) NIL)) (GO G191))) (SEQ (EXIT (LETT #1# (CONS (SPADCALL |p| (QREFELT |$| 14)) #1#) |PSETCAT-;variables1|))) (LETT #2# (CDR #2#) |PSETCAT-;variables1|) (GO G190) G191 (EXIT (NREVERSE0 #1#)))) |PSETCAT-;variables1|) (EXIT (SPADCALL (CONS (FUNCTION |PSETCAT-;variables1!0|) |$|) (SPADCALL (SPADCALL |lvars| (QREFELT |$| 18)) (QREFELT |$| 19)) (QREFELT |$| 21))))))) - -(DEFUN |PSETCAT-;variables1!0| (|#1| |#2| |$|) (SPADCALL |#2| |#1| (QREFELT |$| 16))) - -(DEFUN |PSETCAT-;variables2| (|lp| |$|) (PROG (#1=#:G82397 |p| #2=#:G82398 |lvars|) (RETURN (SEQ (LETT |lvars| (PROGN (LETT #1# NIL |PSETCAT-;variables2|) (SEQ (LETT |p| NIL |PSETCAT-;variables2|) (LETT #2# |lp| |PSETCAT-;variables2|) G190 (COND ((OR (ATOM #2#) (PROGN (LETT |p| (CAR #2#) |PSETCAT-;variables2|) NIL)) (GO G191))) (SEQ (EXIT (LETT #1# (CONS (SPADCALL |p| (QREFELT |$| 22)) #1#) |PSETCAT-;variables2|))) (LETT #2# (CDR #2#) |PSETCAT-;variables2|) (GO G190) G191 (EXIT (NREVERSE0 #1#)))) |PSETCAT-;variables2|) (EXIT (SPADCALL (CONS (FUNCTION |PSETCAT-;variables2!0|) |$|) (SPADCALL |lvars| (QREFELT |$| 19)) (QREFELT |$| 21))))))) - -(DEFUN |PSETCAT-;variables2!0| (|#1| |#2| |$|) (SPADCALL |#2| |#1| (QREFELT |$| 16))) - -(DEFUN |PSETCAT-;variables;SL;4| (|ps| |$|) (|PSETCAT-;variables1| (|PSETCAT-;elements| |ps| |$|) |$|)) - -(DEFUN |PSETCAT-;mainVariables;SL;5| (|ps| |$|) (|PSETCAT-;variables2| (SPADCALL (ELT |$| 24) (|PSETCAT-;elements| |ps| |$|) (QREFELT |$| 26)) |$|)) - -(DEFUN |PSETCAT-;mainVariable?;VarSetSB;6| (|v| |ps| |$|) (PROG (|lp|) (RETURN (SEQ (LETT |lp| (SPADCALL (ELT |$| 24) (|PSETCAT-;elements| |ps| |$|) (QREFELT |$| 26)) |PSETCAT-;mainVariable?;VarSetSB;6|) (SEQ G190 (COND ((NULL (COND ((OR (NULL |lp|) (SPADCALL (SPADCALL (|SPADfirst| |lp|) (QREFELT |$| 22)) |v| (QREFELT |$| 28))) (QUOTE NIL)) ((QUOTE T) (QUOTE T)))) (GO G191))) (SEQ (EXIT (LETT |lp| (CDR |lp|) |PSETCAT-;mainVariable?;VarSetSB;6|))) NIL (GO G190) G191 (EXIT NIL)) (EXIT (COND ((NULL |lp|) (QUOTE NIL)) ((QUOTE T) (QUOTE T)))))))) - -(DEFUN |PSETCAT-;collectUnder;SVarSetS;7| (|ps| |v| |$|) (PROG (|p| |lp| |lq|) (RETURN (SEQ (LETT |lp| (|PSETCAT-;elements| |ps| |$|) |PSETCAT-;collectUnder;SVarSetS;7|) (LETT |lq| NIL |PSETCAT-;collectUnder;SVarSetS;7|) (SEQ G190 (COND ((NULL (COND ((NULL |lp|) (QUOTE NIL)) ((QUOTE T) (QUOTE T)))) (GO G191))) (SEQ (LETT |p| (|SPADfirst| |lp|) |PSETCAT-;collectUnder;SVarSetS;7|) (LETT |lp| (CDR |lp|) |PSETCAT-;collectUnder;SVarSetS;7|) (EXIT (COND ((OR (SPADCALL |p| (QREFELT |$| 24)) (SPADCALL (SPADCALL |p| (QREFELT |$| 22)) |v| (QREFELT |$| 16))) (LETT |lq| (CONS |p| |lq|) |PSETCAT-;collectUnder;SVarSetS;7|))))) NIL (GO G190) G191 (EXIT NIL)) (EXIT (SPADCALL |lq| (QREFELT |$| 30))))))) - -(DEFUN |PSETCAT-;collectUpper;SVarSetS;8| (|ps| |v| |$|) (PROG (|p| |lp| |lq|) (RETURN (SEQ (LETT |lp| (|PSETCAT-;elements| |ps| |$|) |PSETCAT-;collectUpper;SVarSetS;8|) (LETT |lq| NIL |PSETCAT-;collectUpper;SVarSetS;8|) (SEQ G190 (COND ((NULL (COND ((NULL |lp|) (QUOTE NIL)) ((QUOTE T) (QUOTE T)))) (GO G191))) (SEQ (LETT |p| (|SPADfirst| |lp|) |PSETCAT-;collectUpper;SVarSetS;8|) (LETT |lp| (CDR |lp|) |PSETCAT-;collectUpper;SVarSetS;8|) (EXIT (COND ((NULL (SPADCALL |p| (QREFELT |$| 24))) (COND ((SPADCALL |v| (SPADCALL |p| (QREFELT |$| 22)) (QREFELT |$| 16)) (LETT |lq| (CONS |p| |lq|) |PSETCAT-;collectUpper;SVarSetS;8|))))))) NIL (GO G190) G191 (EXIT NIL)) (EXIT (SPADCALL |lq| (QREFELT |$| 30))))))) - -(DEFUN |PSETCAT-;collect;SVarSetS;9| (|ps| |v| |$|) (PROG (|p| |lp| |lq|) (RETURN (SEQ (LETT |lp| (|PSETCAT-;elements| |ps| |$|) |PSETCAT-;collect;SVarSetS;9|) (LETT |lq| NIL |PSETCAT-;collect;SVarSetS;9|) (SEQ G190 (COND ((NULL (COND ((NULL |lp|) (QUOTE NIL)) ((QUOTE T) (QUOTE T)))) (GO G191))) (SEQ (LETT |p| (|SPADfirst| |lp|) |PSETCAT-;collect;SVarSetS;9|) (LETT |lp| (CDR |lp|) |PSETCAT-;collect;SVarSetS;9|) (EXIT (COND ((NULL (SPADCALL |p| (QREFELT |$| 24))) (COND ((SPADCALL (SPADCALL |p| (QREFELT |$| 22)) |v| (QREFELT |$| 28)) (LETT |lq| (CONS |p| |lq|) |PSETCAT-;collect;SVarSetS;9|))))))) NIL (GO G190) G191 (EXIT NIL)) (EXIT (SPADCALL |lq| (QREFELT |$| 30))))))) - -(DEFUN |PSETCAT-;sort;SVarSetR;10| (|ps| |v| |$|) (PROG (|p| |lp| |us| |vs| |ws|) (RETURN (SEQ (LETT |lp| (|PSETCAT-;elements| |ps| |$|) |PSETCAT-;sort;SVarSetR;10|) (LETT |us| NIL |PSETCAT-;sort;SVarSetR;10|) (LETT |vs| NIL |PSETCAT-;sort;SVarSetR;10|) (LETT |ws| NIL |PSETCAT-;sort;SVarSetR;10|) (SEQ G190 (COND ((NULL (COND ((NULL |lp|) (QUOTE NIL)) ((QUOTE T) (QUOTE T)))) (GO G191))) (SEQ (LETT |p| (|SPADfirst| |lp|) |PSETCAT-;sort;SVarSetR;10|) (LETT |lp| (CDR |lp|) |PSETCAT-;sort;SVarSetR;10|) (EXIT (COND ((OR (SPADCALL |p| (QREFELT |$| 24)) (SPADCALL (SPADCALL |p| (QREFELT |$| 22)) |v| (QREFELT |$| 16))) (LETT |us| (CONS |p| |us|) |PSETCAT-;sort;SVarSetR;10|)) ((SPADCALL (SPADCALL |p| (QREFELT |$| 22)) |v| (QREFELT |$| 28)) (LETT |vs| (CONS |p| |vs|) |PSETCAT-;sort;SVarSetR;10|)) ((QUOTE T) (LETT |ws| (CONS |p| |ws|) |PSETCAT-;sort;SVarSetR;10|))))) NIL (GO G190) G191 (EXIT NIL)) (EXIT (VECTOR (SPADCALL |us| (QREFELT |$| 30)) (SPADCALL |vs| (QREFELT |$| 30)) (SPADCALL |ws| (QREFELT |$| 30)))))))) - -(DEFUN |PSETCAT-;=;2SB;11| (|ps1| |ps2| |$|) (PROG (#1=#:G82439 #2=#:G82440 #3=#:G82437 |p| #4=#:G82438) (RETURN (SEQ (SPADCALL (SPADCALL (PROGN (LETT #1# NIL |PSETCAT-;=;2SB;11|) (SEQ (LETT |p| NIL |PSETCAT-;=;2SB;11|) (LETT #2# (|PSETCAT-;elements| |ps1| |$|) |PSETCAT-;=;2SB;11|) G190 (COND ((OR (ATOM #2#) (PROGN (LETT |p| (CAR #2#) |PSETCAT-;=;2SB;11|) NIL)) (GO G191))) (SEQ (EXIT (LETT #1# (CONS |p| #1#) |PSETCAT-;=;2SB;11|))) (LETT #2# (CDR #2#) |PSETCAT-;=;2SB;11|) (GO G190) G191 (EXIT (NREVERSE0 #1#)))) (QREFELT |$| 37)) (SPADCALL (PROGN (LETT #3# NIL |PSETCAT-;=;2SB;11|) (SEQ (LETT |p| NIL |PSETCAT-;=;2SB;11|) (LETT #4# (|PSETCAT-;elements| |ps2| |$|) |PSETCAT-;=;2SB;11|) G190 (COND ((OR (ATOM #4#) (PROGN (LETT |p| (CAR #4#) |PSETCAT-;=;2SB;11|) NIL)) (GO G191))) (SEQ (EXIT (LETT #3# (CONS |p| #3#) |PSETCAT-;=;2SB;11|))) (LETT #4# (CDR #4#) |PSETCAT-;=;2SB;11|) (GO G190) G191 (EXIT (NREVERSE0 #3#)))) (QREFELT |$| 37)) (QREFELT |$| 38)))))) - -(DEFUN |PSETCAT-;localInf?| (|p| |q| |$|) (SPADCALL (SPADCALL |p| (QREFELT |$| 40)) (SPADCALL |q| (QREFELT |$| 40)) (QREFELT |$| 41))) - -(DEFUN |PSETCAT-;localTriangular?| (|lp| |$|) (PROG (|q| |p|) (RETURN (SEQ (LETT |lp| (SPADCALL (ELT |$| 42) |lp| (QREFELT |$| 26)) |PSETCAT-;localTriangular?|) (EXIT (COND ((NULL |lp|) (QUOTE T)) ((SPADCALL (ELT |$| 24) |lp| (QREFELT |$| 43)) (QUOTE NIL)) ((QUOTE T) (SEQ (LETT |lp| (SPADCALL (CONS (FUNCTION |PSETCAT-;localTriangular?!0|) |$|) |lp| (QREFELT |$| 45)) |PSETCAT-;localTriangular?|) (LETT |p| (|SPADfirst| |lp|) |PSETCAT-;localTriangular?|) (LETT |lp| (CDR |lp|) |PSETCAT-;localTriangular?|) (SEQ G190 (COND ((NULL (COND ((NULL |lp|) (QUOTE NIL)) ((QUOTE T) (SPADCALL (SPADCALL (LETT |q| (|SPADfirst| |lp|) |PSETCAT-;localTriangular?|) (QREFELT |$| 22)) (SPADCALL |p| (QREFELT |$| 22)) (QREFELT |$| 16))))) (GO G191))) (SEQ (LETT |p| |q| |PSETCAT-;localTriangular?|) (EXIT (LETT |lp| (CDR |lp|) |PSETCAT-;localTriangular?|))) NIL (GO G190) G191 (EXIT NIL)) (EXIT (NULL |lp|)))))))))) - -(DEFUN |PSETCAT-;localTriangular?!0| (|#1| |#2| |$|) (SPADCALL (SPADCALL |#2| (QREFELT |$| 22)) (SPADCALL |#1| (QREFELT |$| 22)) (QREFELT |$| 16))) - -(DEFUN |PSETCAT-;triangular?;SB;14| (|ps| |$|) (|PSETCAT-;localTriangular?| (|PSETCAT-;elements| |ps| |$|) |$|)) - -(DEFUN |PSETCAT-;trivialIdeal?;SB;15| (|ps| |$|) (NULL (SPADCALL (ELT |$| 42) (|PSETCAT-;elements| |ps| |$|) (QREFELT |$| 26)))) - -(DEFUN |PSETCAT-;roughUnitIdeal?;SB;16| (|ps| |$|) (SPADCALL (ELT |$| 24) (SPADCALL (ELT |$| 42) (|PSETCAT-;elements| |ps| |$|) (QREFELT |$| 26)) (QREFELT |$| 43))) - -(DEFUN |PSETCAT-;relativelyPrimeLeadingMonomials?| (|p| |q| |$|) (PROG (|dp| |dq|) (RETURN (SEQ (LETT |dp| (SPADCALL |p| (QREFELT |$| 40)) |PSETCAT-;relativelyPrimeLeadingMonomials?|) (LETT |dq| (SPADCALL |q| (QREFELT |$| 40)) |PSETCAT-;relativelyPrimeLeadingMonomials?|) (EXIT (SPADCALL (SPADCALL |dp| |dq| (QREFELT |$| 49)) (SPADCALL |dp| |dq| (QREFELT |$| 50)) (QREFELT |$| 51))))))) - -(DEFUN |PSETCAT-;roughBase?;SB;18| (|ps| |$|) (PROG (|p| |lp| |rB?| |copylp|) (RETURN (SEQ (LETT |lp| (SPADCALL (ELT |$| 42) (|PSETCAT-;elements| |ps| |$|) (QREFELT |$| 26)) |PSETCAT-;roughBase?;SB;18|) (EXIT (COND ((NULL |lp|) (QUOTE T)) ((QUOTE T) (SEQ (LETT |rB?| (QUOTE T) |PSETCAT-;roughBase?;SB;18|) (SEQ G190 (COND ((NULL (COND ((NULL |lp|) (QUOTE NIL)) ((QUOTE T) |rB?|))) (GO G191))) (SEQ (LETT |p| (|SPADfirst| |lp|) |PSETCAT-;roughBase?;SB;18|) (LETT |lp| (CDR |lp|) |PSETCAT-;roughBase?;SB;18|) (LETT |copylp| |lp| |PSETCAT-;roughBase?;SB;18|) (EXIT (SEQ G190 (COND ((NULL (COND ((NULL |copylp|) (QUOTE NIL)) ((QUOTE T) |rB?|))) (GO G191))) (SEQ (LETT |rB?| (|PSETCAT-;relativelyPrimeLeadingMonomials?| |p| (|SPADfirst| |copylp|) |$|) |PSETCAT-;roughBase?;SB;18|) (EXIT (LETT |copylp| (CDR |copylp|) |PSETCAT-;roughBase?;SB;18|))) NIL (GO G190) G191 (EXIT NIL)))) NIL (GO G190) G191 (EXIT NIL)) (EXIT |rB?|))))))))) - -(DEFUN |PSETCAT-;roughSubIdeal?;2SB;19| (|ps1| |ps2| |$|) (PROG (|lp|) (RETURN (SEQ (LETT |lp| (SPADCALL (|PSETCAT-;elements| |ps1| |$|) |ps2| (QREFELT |$| 53)) |PSETCAT-;roughSubIdeal?;2SB;19|) (EXIT (NULL (SPADCALL (ELT |$| 42) |lp| (QREFELT |$| 26)))))))) - -(DEFUN |PSETCAT-;roughEqualIdeals?;2SB;20| (|ps1| |ps2| |$|) (COND ((SPADCALL |ps1| |ps2| (QREFELT |$| 55)) (QUOTE T)) ((SPADCALL |ps1| |ps2| (QREFELT |$| 56)) (SPADCALL |ps2| |ps1| (QREFELT |$| 56))) ((QUOTE T) (QUOTE NIL)))) - -(DEFUN |PSETCAT-;exactQuo| (|r| |s| |$|) (SPADCALL |r| |s| (QREFELT |$| 58))) - -(DEFUN |PSETCAT-;exactQuo| (|r| |s| |$|) (PROG (#1=#:G82473) (RETURN (PROG2 (LETT #1# (SPADCALL |r| |s| (QREFELT |$| 60)) |PSETCAT-;exactQuo|) (QCDR #1#) (|check-union| (QEQCAR #1# 0) (QREFELT |$| 7) #1#))))) - -(DEFUN |PSETCAT-;headRemainder;PSR;23| (|a| |ps| |$|) (PROG (|lp1| |p| |e| |g| |#G47| |#G48| |lca| |lcp| |r| |lp2|) (RETURN (SEQ (LETT |lp1| (SPADCALL (ELT |$| 42) (|PSETCAT-;elements| |ps| |$|) (QREFELT |$| 26)) |PSETCAT-;headRemainder;PSR;23|) (EXIT (COND ((NULL |lp1|) (CONS |a| (|spadConstant| |$| 61))) ((SPADCALL (ELT |$| 24) |lp1| (QREFELT |$| 43)) (CONS (SPADCALL |a| (QREFELT |$| 62)) (|spadConstant| |$| 61))) ((QUOTE T) (SEQ (LETT |r| (|spadConstant| |$| 61) |PSETCAT-;headRemainder;PSR;23|) (LETT |lp1| (SPADCALL (CONS (|function| |PSETCAT-;localInf?|) |$|) (REVERSE (|PSETCAT-;elements| |ps| |$|)) (QREFELT |$| 45)) |PSETCAT-;headRemainder;PSR;23|) (LETT |lp2| |lp1| |PSETCAT-;headRemainder;PSR;23|) (SEQ G190 (COND ((NULL (COND ((OR (SPADCALL |a| (QREFELT |$| 42)) (NULL |lp2|)) (QUOTE NIL)) ((QUOTE T) (QUOTE T)))) (GO G191))) (SEQ (LETT |p| (|SPADfirst| |lp2|) |PSETCAT-;headRemainder;PSR;23|) (LETT |e| (SPADCALL (SPADCALL |a| (QREFELT |$| 40)) (SPADCALL |p| (QREFELT |$| 40)) (QREFELT |$| 63)) |PSETCAT-;headRemainder;PSR;23|) (EXIT (COND ((QEQCAR |e| 0) (SEQ (LETT |g| (SPADCALL (LETT |lca| (SPADCALL |a| (QREFELT |$| 64)) |PSETCAT-;headRemainder;PSR;23|) (LETT |lcp| (SPADCALL |p| (QREFELT |$| 64)) |PSETCAT-;headRemainder;PSR;23|) (QREFELT |$| 65)) |PSETCAT-;headRemainder;PSR;23|) (PROGN (LETT |#G47| (|PSETCAT-;exactQuo| |lca| |g| |$|) |PSETCAT-;headRemainder;PSR;23|) (LETT |#G48| (|PSETCAT-;exactQuo| |lcp| |g| |$|) |PSETCAT-;headRemainder;PSR;23|) (LETT |lca| |#G47| |PSETCAT-;headRemainder;PSR;23|) (LETT |lcp| |#G48| |PSETCAT-;headRemainder;PSR;23|)) (LETT |a| (SPADCALL (SPADCALL |lcp| (SPADCALL |a| (QREFELT |$| 62)) (QREFELT |$| 66)) (SPADCALL (SPADCALL |lca| (QCDR |e|) (QREFELT |$| 67)) (SPADCALL |p| (QREFELT |$| 62)) (QREFELT |$| 68)) (QREFELT |$| 69)) |PSETCAT-;headRemainder;PSR;23|) (LETT |r| (SPADCALL |r| |lcp| (QREFELT |$| 70)) |PSETCAT-;headRemainder;PSR;23|) (EXIT (LETT |lp2| |lp1| |PSETCAT-;headRemainder;PSR;23|)))) ((QUOTE T) (LETT |lp2| (CDR |lp2|) |PSETCAT-;headRemainder;PSR;23|))))) NIL (GO G190) G191 (EXIT NIL)) (EXIT (CONS |a| |r|)))))))))) - -(DEFUN |PSETCAT-;makeIrreducible!| (|frac| |$|) (PROG (|g|) (RETURN (SEQ (LETT |g| (SPADCALL (QCDR |frac|) (QCAR |frac|) (QREFELT |$| 73)) |PSETCAT-;makeIrreducible!|) (EXIT (COND ((SPADCALL |g| (QREFELT |$| 74)) |frac|) ((QUOTE T) (SEQ (PROGN (RPLACA |frac| (SPADCALL (QCAR |frac|) |g| (QREFELT |$| 75))) (QCAR |frac|)) (PROGN (RPLACD |frac| (|PSETCAT-;exactQuo| (QCDR |frac|) |g| |$|)) (QCDR |frac|)) (EXIT |frac|))))))))) - -(DEFUN |PSETCAT-;remainder;PSR;25| (|a| |ps| |$|) (PROG (|hRa| |r| |lca| |g| |b| |c|) (RETURN (SEQ (LETT |hRa| (|PSETCAT-;makeIrreducible!| (SPADCALL |a| |ps| (QREFELT |$| 76)) |$|) |PSETCAT-;remainder;PSR;25|) (LETT |a| (QCAR |hRa|) |PSETCAT-;remainder;PSR;25|) (LETT |r| (QCDR |hRa|) |PSETCAT-;remainder;PSR;25|) (EXIT (COND ((SPADCALL |a| (QREFELT |$| 42)) (VECTOR (|spadConstant| |$| 61) |a| |r|)) ((QUOTE T) (SEQ (LETT |b| (SPADCALL (|spadConstant| |$| 61) (SPADCALL |a| (QREFELT |$| 40)) (QREFELT |$| 67)) |PSETCAT-;remainder;PSR;25|) (LETT |c| (SPADCALL |a| (QREFELT |$| 64)) |PSETCAT-;remainder;PSR;25|) (SEQ G190 (COND ((NULL (COND ((SPADCALL (LETT |a| (SPADCALL |a| (QREFELT |$| 62)) |PSETCAT-;remainder;PSR;25|) (QREFELT |$| 42)) (QUOTE NIL)) ((QUOTE T) (QUOTE T)))) (GO G191))) (SEQ (LETT |hRa| (|PSETCAT-;makeIrreducible!| (SPADCALL |a| |ps| (QREFELT |$| 76)) |$|) |PSETCAT-;remainder;PSR;25|) (LETT |a| (QCAR |hRa|) |PSETCAT-;remainder;PSR;25|) (LETT |r| (SPADCALL |r| (QCDR |hRa|) (QREFELT |$| 70)) |PSETCAT-;remainder;PSR;25|) (LETT |g| (SPADCALL |c| (LETT |lca| (SPADCALL |a| (QREFELT |$| 64)) |PSETCAT-;remainder;PSR;25|) (QREFELT |$| 65)) |PSETCAT-;remainder;PSR;25|) (LETT |b| (SPADCALL (SPADCALL (SPADCALL (QCDR |hRa|) (|PSETCAT-;exactQuo| |c| |g| |$|) (QREFELT |$| 70)) |b| (QREFELT |$| 66)) (SPADCALL (|PSETCAT-;exactQuo| |lca| |g| |$|) (SPADCALL |a| (QREFELT |$| 40)) (QREFELT |$| 67)) (QREFELT |$| 77)) |PSETCAT-;remainder;PSR;25|) (EXIT (LETT |c| |g| |PSETCAT-;remainder;PSR;25|))) NIL (GO G190) G191 (EXIT NIL)) (EXIT (VECTOR |c| |b| |r|)))))))))) - -(DEFUN |PSETCAT-;rewriteIdealWithHeadRemainder;LSL;26| (|ps| |cs| |$|) (PROG (|p| |rs|) (RETURN (SEQ (COND ((SPADCALL |cs| (QREFELT |$| 80)) |ps|) ((SPADCALL |cs| (QREFELT |$| 81)) (LIST (|spadConstant| |$| 82))) ((QUOTE T) (SEQ (LETT |ps| (SPADCALL (ELT |$| 42) |ps| (QREFELT |$| 26)) |PSETCAT-;rewriteIdealWithHeadRemainder;LSL;26|) (EXIT (COND ((NULL |ps|) |ps|) ((SPADCALL (ELT |$| 24) |ps| (QREFELT |$| 43)) (LIST (|spadConstant| |$| 83))) ((QUOTE T) (SEQ (LETT |rs| NIL |PSETCAT-;rewriteIdealWithHeadRemainder;LSL;26|) (SEQ G190 (COND ((NULL (COND ((NULL |ps|) (QUOTE NIL)) ((QUOTE T) (QUOTE T)))) (GO G191))) (SEQ (LETT |p| (|SPADfirst| |ps|) |PSETCAT-;rewriteIdealWithHeadRemainder;LSL;26|) (LETT |ps| (CDR |ps|) |PSETCAT-;rewriteIdealWithHeadRemainder;LSL;26|) (LETT |p| (QCAR (SPADCALL |p| |cs| (QREFELT |$| 76))) |PSETCAT-;rewriteIdealWithHeadRemainder;LSL;26|) (EXIT (COND ((NULL (SPADCALL |p| (QREFELT |$| 42))) (COND ((SPADCALL |p| (QREFELT |$| 24)) (SEQ (LETT |ps| NIL |PSETCAT-;rewriteIdealWithHeadRemainder;LSL;26|) (EXIT (LETT |rs| (LIST (|spadConstant| |$| 83)) |PSETCAT-;rewriteIdealWithHeadRemainder;LSL;26|)))) ((QUOTE T) (SEQ (SPADCALL |p| (QREFELT |$| 84)) (EXIT (LETT |rs| (CONS |p| |rs|) |PSETCAT-;rewriteIdealWithHeadRemainder;LSL;26|))))))))) NIL (GO G190) G191 (EXIT NIL)) (EXIT (SPADCALL |rs| (QREFELT |$| 85)))))))))))))) - -(DEFUN |PSETCAT-;rewriteIdealWithRemainder;LSL;27| (|ps| |cs| |$|) (PROG (|p| |rs|) (RETURN (SEQ (COND ((SPADCALL |cs| (QREFELT |$| 80)) |ps|) ((SPADCALL |cs| (QREFELT |$| 81)) (LIST (|spadConstant| |$| 82))) ((QUOTE T) (SEQ (LETT |ps| (SPADCALL (ELT |$| 42) |ps| (QREFELT |$| 26)) |PSETCAT-;rewriteIdealWithRemainder;LSL;27|) (EXIT (COND ((NULL |ps|) |ps|) ((SPADCALL (ELT |$| 24) |ps| (QREFELT |$| 43)) (LIST (|spadConstant| |$| 83))) ((QUOTE T) (SEQ (LETT |rs| NIL |PSETCAT-;rewriteIdealWithRemainder;LSL;27|) (SEQ G190 (COND ((NULL (COND ((NULL |ps|) (QUOTE NIL)) ((QUOTE T) (QUOTE T)))) (GO G191))) (SEQ (LETT |p| (|SPADfirst| |ps|) |PSETCAT-;rewriteIdealWithRemainder;LSL;27|) (LETT |ps| (CDR |ps|) |PSETCAT-;rewriteIdealWithRemainder;LSL;27|) (LETT |p| (QVELT (SPADCALL |p| |cs| (QREFELT |$| 87)) 1) |PSETCAT-;rewriteIdealWithRemainder;LSL;27|) (EXIT (COND ((NULL (SPADCALL |p| (QREFELT |$| 42))) (COND ((SPADCALL |p| (QREFELT |$| 24)) (SEQ (LETT |ps| NIL |PSETCAT-;rewriteIdealWithRemainder;LSL;27|) (EXIT (LETT |rs| (LIST (|spadConstant| |$| 83)) |PSETCAT-;rewriteIdealWithRemainder;LSL;27|)))) ((QUOTE T) (LETT |rs| (CONS (SPADCALL |p| (QREFELT |$| 88)) |rs|) |PSETCAT-;rewriteIdealWithRemainder;LSL;27|))))))) NIL (GO G190) G191 (EXIT NIL)) (EXIT (SPADCALL |rs| (QREFELT |$| 85)))))))))))))) - -(DEFUN |PolynomialSetCategory&| (|#1| |#2| |#3| |#4| |#5|) (PROG (|DV$1| |DV$2| |DV$3| |DV$4| |DV$5| |dv$| |$| |pv$|) (RETURN (PROGN (LETT |DV$1| (|devaluate| |#1|) . #1=(|PolynomialSetCategory&|)) (LETT |DV$2| (|devaluate| |#2|) . #1#) (LETT |DV$3| (|devaluate| |#3|) . #1#) (LETT |DV$4| (|devaluate| |#4|) . #1#) (LETT |DV$5| (|devaluate| |#5|) . #1#) (LETT |dv$| (LIST (QUOTE |PolynomialSetCategory&|) |DV$1| |DV$2| |DV$3| |DV$4| |DV$5|) . #1#) (LETT |$| (GETREFV 90) . #1#) (QSETREFV |$| 0 |dv$|) (QSETREFV |$| 3 (LETT |pv$| (|buildPredVector| 0 0 (LIST (|HasCategory| |#2| (QUOTE (|IntegralDomain|))))) . #1#)) (|stuffDomainSlots| |$|) (QSETREFV |$| 6 |#1|) (QSETREFV |$| 7 |#2|) (QSETREFV |$| 8 |#3|) (QSETREFV |$| 9 |#4|) (QSETREFV |$| 10 |#5|) (COND ((|testBitVector| |pv$| 1) (PROGN (QSETREFV |$| 48 (CONS (|dispatchFunction| |PSETCAT-;roughUnitIdeal?;SB;16|) |$|)) (QSETREFV |$| 52 (CONS (|dispatchFunction| |PSETCAT-;roughBase?;SB;18|) |$|)) (QSETREFV |$| 54 (CONS (|dispatchFunction| |PSETCAT-;roughSubIdeal?;2SB;19|) |$|)) (QSETREFV |$| 57 (CONS (|dispatchFunction| |PSETCAT-;roughEqualIdeals?;2SB;20|) |$|))))) (COND ((|HasCategory| |#2| (QUOTE (|GcdDomain|))) (COND ((|HasCategory| |#4| (QUOTE (|ConvertibleTo| (|Symbol|)))) (PROGN (QSETREFV |$| 72 (CONS (|dispatchFunction| |PSETCAT-;headRemainder;PSR;23|) |$|)) (QSETREFV |$| 79 (CONS (|dispatchFunction| |PSETCAT-;remainder;PSR;25|) |$|)) (QSETREFV |$| 86 (CONS (|dispatchFunction| |PSETCAT-;rewriteIdealWithHeadRemainder;LSL;26|) |$|)) (QSETREFV |$| 89 (CONS (|dispatchFunction| |PSETCAT-;rewriteIdealWithRemainder;LSL;27|) |$|))))))) |$|)))) - -(MAKEPROP (QUOTE |PolynomialSetCategory&|) (QUOTE |infovec|) (LIST (QUOTE #(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|local| |#2|) (|local| |#3|) (|local| |#4|) (|local| |#5|) (|List| 10) (0 . |members|) (|List| 9) (5 . |variables|) (|Boolean|) (10 . |<|) (|List| |$|) (16 . |concat|) (21 . |removeDuplicates|) (|Mapping| 15 9 9) (26 . |sort|) (32 . |mvar|) |PSETCAT-;variables;SL;4| (37 . |ground?|) (|Mapping| 15 10) (42 . |remove|) |PSETCAT-;mainVariables;SL;5| (48 . |=|) |PSETCAT-;mainVariable?;VarSetSB;6| (54 . |construct|) |PSETCAT-;collectUnder;SVarSetS;7| |PSETCAT-;collectUpper;SVarSetS;8| |PSETCAT-;collect;SVarSetS;9| (|Record| (|:| |under| |$|) (|:| |floor| |$|) (|:| |upper| |$|)) |PSETCAT-;sort;SVarSetR;10| (|Set| 10) (59 . |brace|) (64 . |=|) |PSETCAT-;=;2SB;11| (70 . |degree|) (75 . |<|) (81 . |zero?|) (86 . |any?|) (|Mapping| 15 10 10) (92 . |sort|) |PSETCAT-;triangular?;SB;14| |PSETCAT-;trivialIdeal?;SB;15| (98 . |roughUnitIdeal?|) (103 . |sup|) (109 . |+|) (115 . |=|) (121 . |roughBase?|) (126 . |rewriteIdealWithRemainder|) (132 . |roughSubIdeal?|) (138 . |=|) (144 . |roughSubIdeal?|) (150 . |roughEqualIdeals?|) (156 . |quo|) (|Union| |$| (QUOTE "failed")) (162 . |exquo|) (168 . |One|) (172 . |reductum|) (177 . |subtractIfCan|) (183 . |leadingCoefficient|) (188 . |gcd|) (194 . |*|) (200 . |monomial|) (206 . |*|) (212 . |-|) (218 . |*|) (|Record| (|:| |num| 10) (|:| |den| 7)) (224 . |headRemainder|) (230 . |gcd|) (236 . |one?|) (241 . |exactQuotient!|) (247 . |headRemainder|) (253 . |+|) (|Record| (|:| |rnum| 7) (|:| |polnum| 10) (|:| |den| 7)) (259 . |remainder|) (265 . |trivialIdeal?|) (270 . |roughUnitIdeal?|) (275 . |Zero|) (279 . |One|) (283 . |primitivePart!|) (288 . |removeDuplicates|) (293 . |rewriteIdealWithHeadRemainder|) (299 . |remainder|) (305 . |unitCanonical|) (310 . |rewriteIdealWithRemainder|))) (QUOTE #(|variables| 316 |trivialIdeal?| 321 |triangular?| 326 |sort| 331 |roughUnitIdeal?| 337 |roughSubIdeal?| 342 |roughEqualIdeals?| 348 |roughBase?| 354 |rewriteIdealWithRemainder| 359 |rewriteIdealWithHeadRemainder| 365 |remainder| 371 |mainVariables| 377 |mainVariable?| 382 |headRemainder| 388 |collectUpper| 394 |collectUnder| 400 |collect| 406 |=| 412)) (QUOTE NIL) (CONS (|makeByteWordVec2| 1 (QUOTE NIL)) (CONS (QUOTE #()) (CONS (QUOTE #()) (|makeByteWordVec2| 89 (QUOTE (1 6 11 0 12 1 10 13 0 14 2 9 15 0 0 16 1 13 0 17 18 1 13 0 0 19 2 13 0 20 0 21 1 10 9 0 22 1 10 15 0 24 2 11 0 25 0 26 2 9 15 0 0 28 1 6 0 11 30 1 36 0 11 37 2 36 15 0 0 38 1 10 8 0 40 2 8 15 0 0 41 1 10 15 0 42 2 11 15 25 0 43 2 11 0 44 0 45 1 0 15 0 48 2 8 0 0 0 49 2 8 0 0 0 50 2 8 15 0 0 51 1 0 15 0 52 2 6 11 11 0 53 2 0 15 0 0 54 2 6 15 0 0 55 2 6 15 0 0 56 2 0 15 0 0 57 2 7 0 0 0 58 2 7 59 0 0 60 0 7 0 61 1 10 0 0 62 2 8 59 0 0 63 1 10 7 0 64 2 7 0 0 0 65 2 10 0 7 0 66 2 10 0 7 8 67 2 10 0 0 0 68 2 10 0 0 0 69 2 7 0 0 0 70 2 0 71 10 0 72 2 10 7 7 0 73 1 7 15 0 74 2 10 0 0 7 75 2 6 71 10 0 76 2 10 0 0 0 77 2 0 78 10 0 79 1 6 15 0 80 1 6 15 0 81 0 10 0 82 0 10 0 83 1 10 0 0 84 1 11 0 0 85 2 0 11 11 0 86 2 6 78 10 0 87 1 10 0 0 88 2 0 11 11 0 89 1 0 13 0 23 1 0 15 0 47 1 0 15 0 46 2 0 34 0 9 35 1 0 15 0 48 2 0 15 0 0 54 2 0 15 0 0 57 1 0 15 0 52 2 0 11 11 0 89 2 0 11 11 0 86 2 0 78 10 0 79 1 0 13 0 27 2 0 15 9 0 29 2 0 71 10 0 72 2 0 0 0 9 32 2 0 0 0 9 31 2 0 0 0 9 33 2 0 15 0 0 39)))))) (QUOTE |lookupComplete|))) +(/VERSIONCHECK 2) + +(DEFUN |PSETCAT-;elements| (|ps| $) + (PROG (|lp|) + (RETURN + (LETT |lp| (SPADCALL |ps| (QREFELT $ 12)) |PSETCAT-;elements|)))) + +(DEFUN |PSETCAT-;variables1| (|lp| $) + (PROG (#0=#:G1428 |p| #1=#:G1429 |lvars|) + (RETURN + (SEQ (LETT |lvars| + (PROGN + (LETT #0# NIL |PSETCAT-;variables1|) + (SEQ (LETT |p| NIL |PSETCAT-;variables1|) + (LETT #1# |lp| |PSETCAT-;variables1|) G190 + (COND + ((OR (ATOM #1#) + (PROGN + (LETT |p| (CAR #1#) + |PSETCAT-;variables1|) + NIL)) + (GO G191))) + (SEQ (EXIT (LETT #0# + (CONS (SPADCALL |p| (QREFELT $ 14)) + #0#) + |PSETCAT-;variables1|))) + (LETT #1# (CDR #1#) |PSETCAT-;variables1|) + (GO G190) G191 (EXIT (NREVERSE0 #0#)))) + |PSETCAT-;variables1|) + (EXIT (SPADCALL (CONS #'|PSETCAT-;variables1!0| $) + (SPADCALL (SPADCALL |lvars| (QREFELT $ 18)) + (QREFELT $ 19)) + (QREFELT $ 21))))))) + +(DEFUN |PSETCAT-;variables1!0| (|#1| |#2| $) + (SPADCALL |#2| |#1| (QREFELT $ 16))) + +(DEFUN |PSETCAT-;variables2| (|lp| $) + (PROG (#0=#:G1433 |p| #1=#:G1434 |lvars|) + (RETURN + (SEQ (LETT |lvars| + (PROGN + (LETT #0# NIL |PSETCAT-;variables2|) + (SEQ (LETT |p| NIL |PSETCAT-;variables2|) + (LETT #1# |lp| |PSETCAT-;variables2|) G190 + (COND + ((OR (ATOM #1#) + (PROGN + (LETT |p| (CAR #1#) + |PSETCAT-;variables2|) + NIL)) + (GO G191))) + (SEQ (EXIT (LETT #0# + (CONS (SPADCALL |p| (QREFELT $ 22)) + #0#) + |PSETCAT-;variables2|))) + (LETT #1# (CDR #1#) |PSETCAT-;variables2|) + (GO G190) G191 (EXIT (NREVERSE0 #0#)))) + |PSETCAT-;variables2|) + (EXIT (SPADCALL (CONS #'|PSETCAT-;variables2!0| $) + (SPADCALL |lvars| (QREFELT $ 19)) (QREFELT $ 21))))))) + +(DEFUN |PSETCAT-;variables2!0| (|#1| |#2| $) + (SPADCALL |#2| |#1| (QREFELT $ 16))) + +(DEFUN |PSETCAT-;variables;SL;4| (|ps| $) + (|PSETCAT-;variables1| (|PSETCAT-;elements| |ps| $) $)) + +(DEFUN |PSETCAT-;mainVariables;SL;5| (|ps| $) + (|PSETCAT-;variables2| + (SPADCALL (ELT $ 24) (|PSETCAT-;elements| |ps| $) (QREFELT $ 26)) + $)) + +(DEFUN |PSETCAT-;mainVariable?;VarSetSB;6| (|v| |ps| $) + (PROG (|lp|) + (RETURN + (SEQ (LETT |lp| + (SPADCALL (ELT $ 24) (|PSETCAT-;elements| |ps| $) + (QREFELT $ 26)) + |PSETCAT-;mainVariable?;VarSetSB;6|) + (SEQ G190 + (COND + ((NULL (COND + ((NULL |lp|) 'NIL) + ('T + (SPADCALL + (SPADCALL + (SPADCALL (|SPADfirst| |lp|) + (QREFELT $ 22)) + |v| (QREFELT $ 28)) + (QREFELT $ 29))))) + (GO G191))) + (SEQ (EXIT (LETT |lp| (CDR |lp|) + |PSETCAT-;mainVariable?;VarSetSB;6|))) + NIL (GO G190) G191 (EXIT NIL)) + (EXIT (SPADCALL (NULL |lp|) (QREFELT $ 29))))))) + +(DEFUN |PSETCAT-;collectUnder;SVarSetS;7| (|ps| |v| $) + (PROG (|p| |lp| |lq|) + (RETURN + (SEQ (LETT |lp| (|PSETCAT-;elements| |ps| $) + |PSETCAT-;collectUnder;SVarSetS;7|) + (LETT |lq| NIL |PSETCAT-;collectUnder;SVarSetS;7|) + (SEQ G190 + (COND + ((NULL (SPADCALL (NULL |lp|) (QREFELT $ 29))) + (GO G191))) + (SEQ (LETT |p| (|SPADfirst| |lp|) + |PSETCAT-;collectUnder;SVarSetS;7|) + (LETT |lp| (CDR |lp|) + |PSETCAT-;collectUnder;SVarSetS;7|) + (EXIT (COND + ((OR (SPADCALL |p| (QREFELT $ 24)) + (SPADCALL + (SPADCALL |p| (QREFELT $ 22)) |v| + (QREFELT $ 16))) + (LETT |lq| (CONS |p| |lq|) + |PSETCAT-;collectUnder;SVarSetS;7|))))) + NIL (GO G190) G191 (EXIT NIL)) + (EXIT (SPADCALL |lq| (QREFELT $ 31))))))) + +(DEFUN |PSETCAT-;collectUpper;SVarSetS;8| (|ps| |v| $) + (PROG (|p| |lp| |lq|) + (RETURN + (SEQ (LETT |lp| (|PSETCAT-;elements| |ps| $) + |PSETCAT-;collectUpper;SVarSetS;8|) + (LETT |lq| NIL |PSETCAT-;collectUpper;SVarSetS;8|) + (SEQ G190 + (COND + ((NULL (SPADCALL (NULL |lp|) (QREFELT $ 29))) + (GO G191))) + (SEQ (LETT |p| (|SPADfirst| |lp|) + |PSETCAT-;collectUpper;SVarSetS;8|) + (LETT |lp| (CDR |lp|) + |PSETCAT-;collectUpper;SVarSetS;8|) + (EXIT (COND + ((NULL (SPADCALL |p| (QREFELT $ 24))) + (COND + ((SPADCALL |v| + (SPADCALL |p| (QREFELT $ 22)) + (QREFELT $ 16)) + (LETT |lq| (CONS |p| |lq|) + |PSETCAT-;collectUpper;SVarSetS;8|))))))) + NIL (GO G190) G191 (EXIT NIL)) + (EXIT (SPADCALL |lq| (QREFELT $ 31))))))) + +(DEFUN |PSETCAT-;collect;SVarSetS;9| (|ps| |v| $) + (PROG (|p| |lp| |lq|) + (RETURN + (SEQ (LETT |lp| (|PSETCAT-;elements| |ps| $) + |PSETCAT-;collect;SVarSetS;9|) + (LETT |lq| NIL |PSETCAT-;collect;SVarSetS;9|) + (SEQ G190 + (COND + ((NULL (SPADCALL (NULL |lp|) (QREFELT $ 29))) + (GO G191))) + (SEQ (LETT |p| (|SPADfirst| |lp|) + |PSETCAT-;collect;SVarSetS;9|) + (LETT |lp| (CDR |lp|) + |PSETCAT-;collect;SVarSetS;9|) + (EXIT (COND + ((NULL (SPADCALL |p| (QREFELT $ 24))) + (COND + ((SPADCALL + (SPADCALL |p| (QREFELT $ 22)) |v| + (QREFELT $ 28)) + (LETT |lq| (CONS |p| |lq|) + |PSETCAT-;collect;SVarSetS;9|))))))) + NIL (GO G190) G191 (EXIT NIL)) + (EXIT (SPADCALL |lq| (QREFELT $ 31))))))) + +(DEFUN |PSETCAT-;sort;SVarSetR;10| (|ps| |v| $) + (PROG (|p| |lp| |us| |vs| |ws|) + (RETURN + (SEQ (LETT |lp| (|PSETCAT-;elements| |ps| $) + |PSETCAT-;sort;SVarSetR;10|) + (LETT |us| NIL |PSETCAT-;sort;SVarSetR;10|) + (LETT |vs| NIL |PSETCAT-;sort;SVarSetR;10|) + (LETT |ws| NIL |PSETCAT-;sort;SVarSetR;10|) + (SEQ G190 + (COND + ((NULL (SPADCALL (NULL |lp|) (QREFELT $ 29))) + (GO G191))) + (SEQ (LETT |p| (|SPADfirst| |lp|) + |PSETCAT-;sort;SVarSetR;10|) + (LETT |lp| (CDR |lp|) |PSETCAT-;sort;SVarSetR;10|) + (EXIT (COND + ((OR (SPADCALL |p| (QREFELT $ 24)) + (SPADCALL + (SPADCALL |p| (QREFELT $ 22)) |v| + (QREFELT $ 16))) + (LETT |us| (CONS |p| |us|) + |PSETCAT-;sort;SVarSetR;10|)) + ((SPADCALL (SPADCALL |p| (QREFELT $ 22)) + |v| (QREFELT $ 28)) + (LETT |vs| (CONS |p| |vs|) + |PSETCAT-;sort;SVarSetR;10|)) + ('T + (LETT |ws| (CONS |p| |ws|) + |PSETCAT-;sort;SVarSetR;10|))))) + NIL (GO G190) G191 (EXIT NIL)) + (EXIT (VECTOR (SPADCALL |us| (QREFELT $ 31)) + (SPADCALL |vs| (QREFELT $ 31)) + (SPADCALL |ws| (QREFELT $ 31)))))))) + +(DEFUN |PSETCAT-;=;2SB;11| (|ps1| |ps2| $) + (PROG (#0=#:G1468 #1=#:G1469 #2=#:G1470 |p| #3=#:G1471) + (RETURN + (SEQ (SPADCALL + (SPADCALL + (PROGN + (LETT #0# NIL |PSETCAT-;=;2SB;11|) + (SEQ (LETT |p| NIL |PSETCAT-;=;2SB;11|) + (LETT #1# (|PSETCAT-;elements| |ps1| $) + |PSETCAT-;=;2SB;11|) + G190 + (COND + ((OR (ATOM #1#) + (PROGN + (LETT |p| (CAR #1#) + |PSETCAT-;=;2SB;11|) + NIL)) + (GO G191))) + (SEQ (EXIT (LETT #0# (CONS |p| #0#) + |PSETCAT-;=;2SB;11|))) + (LETT #1# (CDR #1#) |PSETCAT-;=;2SB;11|) + (GO G190) G191 (EXIT (NREVERSE0 #0#)))) + (QREFELT $ 38)) + (SPADCALL + (PROGN + (LETT #2# NIL |PSETCAT-;=;2SB;11|) + (SEQ (LETT |p| NIL |PSETCAT-;=;2SB;11|) + (LETT #3# (|PSETCAT-;elements| |ps2| $) + |PSETCAT-;=;2SB;11|) + G190 + (COND + ((OR (ATOM #3#) + (PROGN + (LETT |p| (CAR #3#) + |PSETCAT-;=;2SB;11|) + NIL)) + (GO G191))) + (SEQ (EXIT (LETT #2# (CONS |p| #2#) + |PSETCAT-;=;2SB;11|))) + (LETT #3# (CDR #3#) |PSETCAT-;=;2SB;11|) + (GO G190) G191 (EXIT (NREVERSE0 #2#)))) + (QREFELT $ 38)) + (QREFELT $ 39)))))) + +(DEFUN |PSETCAT-;localInf?| (|p| |q| $) + (SPADCALL (SPADCALL |p| (QREFELT $ 41)) (SPADCALL |q| (QREFELT $ 41)) + (QREFELT $ 42))) + +(DEFUN |PSETCAT-;localTriangular?| (|lp| $) + (PROG (|q| |p|) + (RETURN + (SEQ (LETT |lp| (SPADCALL (ELT $ 43) |lp| (QREFELT $ 26)) + |PSETCAT-;localTriangular?|) + (EXIT (COND + ((NULL |lp|) 'T) + ((SPADCALL (ELT $ 24) |lp| (QREFELT $ 44)) 'NIL) + ('T + (SEQ (LETT |lp| + (SPADCALL + (CONS + #'|PSETCAT-;localTriangular?!0| $) + |lp| (QREFELT $ 46)) + |PSETCAT-;localTriangular?|) + (LETT |p| (|SPADfirst| |lp|) + |PSETCAT-;localTriangular?|) + (LETT |lp| (CDR |lp|) + |PSETCAT-;localTriangular?|) + (SEQ G190 + (COND + ((NULL (COND + ((NULL |lp|) 'NIL) + ('T + (SPADCALL + (SPADCALL + (LETT |q| + (|SPADfirst| |lp|) + |PSETCAT-;localTriangular?|) + (QREFELT $ 22)) + (SPADCALL |p| + (QREFELT $ 22)) + (QREFELT $ 16))))) + (GO G191))) + (SEQ (LETT |p| |q| + |PSETCAT-;localTriangular?|) + (EXIT + (LETT |lp| (CDR |lp|) + |PSETCAT-;localTriangular?|))) + NIL (GO G190) G191 (EXIT NIL)) + (EXIT (NULL |lp|)))))))))) + +(DEFUN |PSETCAT-;localTriangular?!0| (|#1| |#2| $) + (SPADCALL (SPADCALL |#2| (QREFELT $ 22)) + (SPADCALL |#1| (QREFELT $ 22)) (QREFELT $ 16))) + +(DEFUN |PSETCAT-;triangular?;SB;14| (|ps| $) + (|PSETCAT-;localTriangular?| (|PSETCAT-;elements| |ps| $) $)) + +(DEFUN |PSETCAT-;trivialIdeal?;SB;15| (|ps| $) + (NULL (SPADCALL (ELT $ 43) (|PSETCAT-;elements| |ps| $) + (QREFELT $ 26)))) + +(DEFUN |PSETCAT-;roughUnitIdeal?;SB;16| (|ps| $) + (SPADCALL (ELT $ 24) + (SPADCALL (ELT $ 43) (|PSETCAT-;elements| |ps| $) (QREFELT $ 26)) + (QREFELT $ 44))) + +(DEFUN |PSETCAT-;relativelyPrimeLeadingMonomials?| (|p| |q| $) + (PROG (|dp| |dq|) + (RETURN + (SEQ (LETT |dp| (SPADCALL |p| (QREFELT $ 41)) + |PSETCAT-;relativelyPrimeLeadingMonomials?|) + (LETT |dq| (SPADCALL |q| (QREFELT $ 41)) + |PSETCAT-;relativelyPrimeLeadingMonomials?|) + (EXIT (SPADCALL (SPADCALL |dp| |dq| (QREFELT $ 50)) + (SPADCALL |dp| |dq| (QREFELT $ 51)) + (QREFELT $ 52))))))) + +(DEFUN |PSETCAT-;roughBase?;SB;18| (|ps| $) + (PROG (|p| |lp| |rB?| |copylp|) + (RETURN + (SEQ (LETT |lp| + (SPADCALL (ELT $ 43) (|PSETCAT-;elements| |ps| $) + (QREFELT $ 26)) + |PSETCAT-;roughBase?;SB;18|) + (EXIT (COND + ((NULL |lp|) 'T) + ('T + (SEQ (LETT |rB?| 'T |PSETCAT-;roughBase?;SB;18|) + (SEQ G190 + (COND + ((NULL (COND + ((NULL |lp|) 'NIL) + ('T |rB?|))) + (GO G191))) + (SEQ (LETT |p| (|SPADfirst| |lp|) + |PSETCAT-;roughBase?;SB;18|) + (LETT |lp| (CDR |lp|) + |PSETCAT-;roughBase?;SB;18|) + (LETT |copylp| |lp| + |PSETCAT-;roughBase?;SB;18|) + (EXIT + (SEQ G190 + (COND + ((NULL + (COND + ((NULL |copylp|) 'NIL) + ('T |rB?|))) + (GO G191))) + (SEQ + (LETT |rB?| + (|PSETCAT-;relativelyPrimeLeadingMonomials?| + |p| (|SPADfirst| |copylp|) $) + |PSETCAT-;roughBase?;SB;18|) + (EXIT + (LETT |copylp| (CDR |copylp|) + |PSETCAT-;roughBase?;SB;18|))) + NIL (GO G190) G191 (EXIT NIL)))) + NIL (GO G190) G191 (EXIT NIL)) + (EXIT |rB?|))))))))) + +(DEFUN |PSETCAT-;roughSubIdeal?;2SB;19| (|ps1| |ps2| $) + (PROG (|lp|) + (RETURN + (SEQ (LETT |lp| + (SPADCALL (|PSETCAT-;elements| |ps1| $) |ps2| + (QREFELT $ 54)) + |PSETCAT-;roughSubIdeal?;2SB;19|) + (EXIT (NULL (SPADCALL (ELT $ 43) |lp| (QREFELT $ 26)))))))) + +(DEFUN |PSETCAT-;roughEqualIdeals?;2SB;20| (|ps1| |ps2| $) + (COND + ((SPADCALL |ps1| |ps2| (QREFELT $ 56)) 'T) + ((SPADCALL |ps1| |ps2| (QREFELT $ 57)) + (SPADCALL |ps2| |ps1| (QREFELT $ 57))) + ('T 'NIL))) + +(DEFUN |PSETCAT-;exactQuo| (|r| |s| $) + (SPADCALL |r| |s| (QREFELT $ 59))) + +(DEFUN |PSETCAT-;exactQuo| (|r| |s| $) + (PROG (#0=#:G1504) + (RETURN + (PROG2 (LETT #0# (SPADCALL |r| |s| (QREFELT $ 61)) + |PSETCAT-;exactQuo|) + (QCDR #0#) + (|check-union| (QEQCAR #0# 0) (QREFELT $ 7) #0#))))) + +(DEFUN |PSETCAT-;headRemainder;PSR;23| (|a| |ps| $) + (PROG (|lp1| |p| |e| |g| |#G47| |#G48| |lca| |lcp| |r| |lp2|) + (RETURN + (SEQ (LETT |lp1| + (SPADCALL (ELT $ 43) (|PSETCAT-;elements| |ps| $) + (QREFELT $ 26)) + |PSETCAT-;headRemainder;PSR;23|) + (EXIT (COND + ((NULL |lp1|) (CONS |a| (|spadConstant| $ 62))) + ((SPADCALL (ELT $ 24) |lp1| (QREFELT $ 44)) + (CONS (SPADCALL |a| (QREFELT $ 63)) + (|spadConstant| $ 62))) + ('T + (SEQ (LETT |r| (|spadConstant| $ 62) + |PSETCAT-;headRemainder;PSR;23|) + (LETT |lp1| + (SPADCALL + (CONS + (|function| |PSETCAT-;localInf?|) + $) + (REVERSE + (|PSETCAT-;elements| |ps| $)) + (QREFELT $ 46)) + |PSETCAT-;headRemainder;PSR;23|) + (LETT |lp2| |lp1| + |PSETCAT-;headRemainder;PSR;23|) + (SEQ G190 + (COND + ((NULL (COND + ((SPADCALL |a| (QREFELT $ 43)) + 'NIL) + ('T + (SPADCALL (NULL |lp2|) + (QREFELT $ 29))))) + (GO G191))) + (SEQ (LETT |p| (|SPADfirst| |lp2|) + |PSETCAT-;headRemainder;PSR;23|) + (LETT |e| + (SPADCALL + (SPADCALL |a| (QREFELT $ 41)) + (SPADCALL |p| (QREFELT $ 41)) + (QREFELT $ 64)) + |PSETCAT-;headRemainder;PSR;23|) + (EXIT + (COND + ((QEQCAR |e| 0) + (SEQ + (LETT |g| + (SPADCALL + (LETT |lca| + (SPADCALL |a| + (QREFELT $ 65)) + |PSETCAT-;headRemainder;PSR;23|) + (LETT |lcp| + (SPADCALL |p| + (QREFELT $ 65)) + |PSETCAT-;headRemainder;PSR;23|) + (QREFELT $ 66)) + |PSETCAT-;headRemainder;PSR;23|) + (PROGN + (LETT |#G47| + (|PSETCAT-;exactQuo| |lca| + |g| $) + |PSETCAT-;headRemainder;PSR;23|) + (LETT |#G48| + (|PSETCAT-;exactQuo| |lcp| + |g| $) + |PSETCAT-;headRemainder;PSR;23|) + (LETT |lca| |#G47| + |PSETCAT-;headRemainder;PSR;23|) + (LETT |lcp| |#G48| + |PSETCAT-;headRemainder;PSR;23|)) + (LETT |a| + (SPADCALL + (SPADCALL |lcp| + (SPADCALL |a| + (QREFELT $ 63)) + (QREFELT $ 67)) + (SPADCALL + (SPADCALL |lca| (QCDR |e|) + (QREFELT $ 68)) + (SPADCALL |p| + (QREFELT $ 63)) + (QREFELT $ 69)) + (QREFELT $ 70)) + |PSETCAT-;headRemainder;PSR;23|) + (LETT |r| + (SPADCALL |r| |lcp| + (QREFELT $ 71)) + |PSETCAT-;headRemainder;PSR;23|) + (EXIT + (LETT |lp2| |lp1| + |PSETCAT-;headRemainder;PSR;23|)))) + ('T + (LETT |lp2| (CDR |lp2|) + |PSETCAT-;headRemainder;PSR;23|))))) + NIL (GO G190) G191 (EXIT NIL)) + (EXIT (CONS |a| |r|)))))))))) + +(DEFUN |PSETCAT-;makeIrreducible!| (|frac| $) + (PROG (|g|) + (RETURN + (SEQ (LETT |g| + (SPADCALL (QCDR |frac|) (QCAR |frac|) (QREFELT $ 74)) + |PSETCAT-;makeIrreducible!|) + (EXIT (COND + ((SPADCALL |g| (|spadConstant| $ 62) (QREFELT $ 76)) + |frac|) + ('T + (SEQ (PROGN + (RPLACA |frac| + (SPADCALL (QCAR |frac|) |g| + (QREFELT $ 77))) + (QCAR |frac|)) + (PROGN + (RPLACD |frac| + (|PSETCAT-;exactQuo| (QCDR |frac|) + |g| $)) + (QCDR |frac|)) + (EXIT |frac|))))))))) + +(DEFUN |PSETCAT-;remainder;PSR;25| (|a| |ps| $) + (PROG (|hRa| |r| |lca| |g| |b| |c|) + (RETURN + (SEQ (LETT |hRa| + (|PSETCAT-;makeIrreducible!| + (SPADCALL |a| |ps| (QREFELT $ 78)) $) + |PSETCAT-;remainder;PSR;25|) + (LETT |a| (QCAR |hRa|) |PSETCAT-;remainder;PSR;25|) + (LETT |r| (QCDR |hRa|) |PSETCAT-;remainder;PSR;25|) + (EXIT (COND + ((SPADCALL |a| (QREFELT $ 43)) + (VECTOR (|spadConstant| $ 62) |a| |r|)) + ('T + (SEQ (LETT |b| + (SPADCALL (|spadConstant| $ 62) + (SPADCALL |a| (QREFELT $ 41)) + (QREFELT $ 68)) + |PSETCAT-;remainder;PSR;25|) + (LETT |c| (SPADCALL |a| (QREFELT $ 65)) + |PSETCAT-;remainder;PSR;25|) + (SEQ G190 + (COND + ((NULL (SPADCALL + (SPADCALL + (LETT |a| + (SPADCALL |a| (QREFELT $ 63)) + |PSETCAT-;remainder;PSR;25|) + (QREFELT $ 43)) + (QREFELT $ 29))) + (GO G191))) + (SEQ (LETT |hRa| + (|PSETCAT-;makeIrreducible!| + (SPADCALL |a| |ps| (QREFELT $ 78)) + $) + |PSETCAT-;remainder;PSR;25|) + (LETT |a| (QCAR |hRa|) + |PSETCAT-;remainder;PSR;25|) + (LETT |r| + (SPADCALL |r| (QCDR |hRa|) + (QREFELT $ 71)) + |PSETCAT-;remainder;PSR;25|) + (LETT |g| + (SPADCALL |c| + (LETT |lca| + (SPADCALL |a| (QREFELT $ 65)) + |PSETCAT-;remainder;PSR;25|) + (QREFELT $ 66)) + |PSETCAT-;remainder;PSR;25|) + (LETT |b| + (SPADCALL + (SPADCALL + (SPADCALL (QCDR |hRa|) + (|PSETCAT-;exactQuo| |c| |g| $) + (QREFELT $ 71)) + |b| (QREFELT $ 67)) + (SPADCALL + (|PSETCAT-;exactQuo| |lca| |g| $) + (SPADCALL |a| (QREFELT $ 41)) + (QREFELT $ 68)) + (QREFELT $ 79)) + |PSETCAT-;remainder;PSR;25|) + (EXIT + (LETT |c| |g| + |PSETCAT-;remainder;PSR;25|))) + NIL (GO G190) G191 (EXIT NIL)) + (EXIT (VECTOR |c| |b| |r|)))))))))) + +(DEFUN |PSETCAT-;rewriteIdealWithHeadRemainder;LSL;26| (|ps| |cs| $) + (PROG (|p| |rs|) + (RETURN + (SEQ (COND + ((SPADCALL |cs| (QREFELT $ 82)) |ps|) + ((SPADCALL |cs| (QREFELT $ 83)) + (LIST (|spadConstant| $ 84))) + ('T + (SEQ (LETT |ps| (SPADCALL (ELT $ 43) |ps| (QREFELT $ 26)) + |PSETCAT-;rewriteIdealWithHeadRemainder;LSL;26|) + (EXIT (COND + ((NULL |ps|) |ps|) + ((SPADCALL (ELT $ 24) |ps| (QREFELT $ 44)) + (LIST (|spadConstant| $ 75))) + ('T + (SEQ (LETT |rs| NIL + |PSETCAT-;rewriteIdealWithHeadRemainder;LSL;26|) + (SEQ G190 + (COND + ((NULL + (SPADCALL (NULL |ps|) + (QREFELT $ 29))) + (GO G191))) + (SEQ + (LETT |p| (|SPADfirst| |ps|) + |PSETCAT-;rewriteIdealWithHeadRemainder;LSL;26|) + (LETT |ps| (CDR |ps|) + |PSETCAT-;rewriteIdealWithHeadRemainder;LSL;26|) + (LETT |p| + (QCAR + (SPADCALL |p| |cs| + (QREFELT $ 78))) + |PSETCAT-;rewriteIdealWithHeadRemainder;LSL;26|) + (EXIT + (COND + ((NULL + (SPADCALL |p| + (QREFELT $ 43))) + (COND + ((SPADCALL |p| + (QREFELT $ 24)) + (SEQ + (LETT |ps| NIL + |PSETCAT-;rewriteIdealWithHeadRemainder;LSL;26|) + (EXIT + (LETT |rs| + (LIST + (|spadConstant| $ 75)) + |PSETCAT-;rewriteIdealWithHeadRemainder;LSL;26|)))) + ('T + (SEQ + (SPADCALL |p| + (QREFELT $ 85)) + (EXIT + (LETT |rs| + (CONS |p| |rs|) + |PSETCAT-;rewriteIdealWithHeadRemainder;LSL;26|))))))))) + NIL (GO G190) G191 (EXIT NIL)) + (EXIT (SPADCALL |rs| (QREFELT $ 86)))))))))))))) + +(DEFUN |PSETCAT-;rewriteIdealWithRemainder;LSL;27| (|ps| |cs| $) + (PROG (|p| |rs|) + (RETURN + (SEQ (COND + ((SPADCALL |cs| (QREFELT $ 82)) |ps|) + ((SPADCALL |cs| (QREFELT $ 83)) + (LIST (|spadConstant| $ 84))) + ('T + (SEQ (LETT |ps| (SPADCALL (ELT $ 43) |ps| (QREFELT $ 26)) + |PSETCAT-;rewriteIdealWithRemainder;LSL;27|) + (EXIT (COND + ((NULL |ps|) |ps|) + ((SPADCALL (ELT $ 24) |ps| (QREFELT $ 44)) + (LIST (|spadConstant| $ 75))) + ('T + (SEQ (LETT |rs| NIL + |PSETCAT-;rewriteIdealWithRemainder;LSL;27|) + (SEQ G190 + (COND + ((NULL + (SPADCALL (NULL |ps|) + (QREFELT $ 29))) + (GO G191))) + (SEQ + (LETT |p| (|SPADfirst| |ps|) + |PSETCAT-;rewriteIdealWithRemainder;LSL;27|) + (LETT |ps| (CDR |ps|) + |PSETCAT-;rewriteIdealWithRemainder;LSL;27|) + (LETT |p| + (QVELT + (SPADCALL |p| |cs| + (QREFELT $ 88)) + 1) + |PSETCAT-;rewriteIdealWithRemainder;LSL;27|) + (EXIT + (COND + ((NULL + (SPADCALL |p| + (QREFELT $ 43))) + (COND + ((SPADCALL |p| + (QREFELT $ 24)) + (SEQ + (LETT |ps| NIL + |PSETCAT-;rewriteIdealWithRemainder;LSL;27|) + (EXIT + (LETT |rs| + (LIST + (|spadConstant| $ 75)) + |PSETCAT-;rewriteIdealWithRemainder;LSL;27|)))) + ('T + (LETT |rs| + (CONS + (SPADCALL |p| + (QREFELT $ 89)) + |rs|) + |PSETCAT-;rewriteIdealWithRemainder;LSL;27|))))))) + NIL (GO G190) G191 (EXIT NIL)) + (EXIT (SPADCALL |rs| (QREFELT $ 86)))))))))))))) + +(DEFUN |PolynomialSetCategory&| (|#1| |#2| |#3| |#4| |#5|) + (PROG (|dv$1| |dv$2| |dv$3| |dv$4| |dv$5| |dv$| $ |pv$|) + (RETURN + (PROGN + (LETT |dv$1| (|devaluate| |#1|) + . #0=(|PolynomialSetCategory&|)) + (LETT |dv$2| (|devaluate| |#2|) . #0#) + (LETT |dv$3| (|devaluate| |#3|) . #0#) + (LETT |dv$4| (|devaluate| |#4|) . #0#) + (LETT |dv$5| (|devaluate| |#5|) . #0#) + (LETT |dv$| + (LIST '|PolynomialSetCategory&| |dv$1| |dv$2| |dv$3| + |dv$4| |dv$5|) . #0#) + (LETT $ (GETREFV 91) . #0#) + (QSETREFV $ 0 |dv$|) + (QSETREFV $ 3 + (LETT |pv$| + (|buildPredVector| 0 0 + (LIST (|HasCategory| |#2| '(|IntegralDomain|)))) . #0#)) + (|stuffDomainSlots| $) + (QSETREFV $ 6 |#1|) + (QSETREFV $ 7 |#2|) + (QSETREFV $ 8 |#3|) + (QSETREFV $ 9 |#4|) + (QSETREFV $ 10 |#5|) + (COND + ((|testBitVector| |pv$| 1) + (PROGN + (QSETREFV $ 49 + (CONS (|dispatchFunction| + |PSETCAT-;roughUnitIdeal?;SB;16|) + $)) + (QSETREFV $ 53 + (CONS (|dispatchFunction| |PSETCAT-;roughBase?;SB;18|) + $)) + (QSETREFV $ 55 + (CONS (|dispatchFunction| + |PSETCAT-;roughSubIdeal?;2SB;19|) + $)) + (QSETREFV $ 58 + (CONS (|dispatchFunction| + |PSETCAT-;roughEqualIdeals?;2SB;20|) + $))))) + (COND + ((|HasCategory| |#2| '(|GcdDomain|)) + (COND + ((|HasCategory| |#4| '(|ConvertibleTo| (|Symbol|))) + (PROGN + (QSETREFV $ 73 + (CONS (|dispatchFunction| + |PSETCAT-;headRemainder;PSR;23|) + $)) + (QSETREFV $ 81 + (CONS (|dispatchFunction| + |PSETCAT-;remainder;PSR;25|) + $)) + (QSETREFV $ 87 + (CONS (|dispatchFunction| + |PSETCAT-;rewriteIdealWithHeadRemainder;LSL;26|) + $)) + (QSETREFV $ 90 + (CONS (|dispatchFunction| + |PSETCAT-;rewriteIdealWithRemainder;LSL;27|) + $))))))) + $)))) + +(MAKEPROP '|PolynomialSetCategory&| '|infovec| + (LIST '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|local| |#2|) + (|local| |#3|) (|local| |#4|) (|local| |#5|) (|List| 10) + (0 . |members|) (|List| 9) (5 . |variables|) (|Boolean|) + (10 . <) (|List| $) (16 . |concat|) + (21 . |removeDuplicates|) (|Mapping| 15 9 9) (26 . |sort|) + (32 . |mvar|) |PSETCAT-;variables;SL;4| (37 . |ground?|) + (|Mapping| 15 10) (42 . |remove|) + |PSETCAT-;mainVariables;SL;5| (48 . =) (54 . |not|) + |PSETCAT-;mainVariable?;VarSetSB;6| (59 . |construct|) + |PSETCAT-;collectUnder;SVarSetS;7| + |PSETCAT-;collectUpper;SVarSetS;8| + |PSETCAT-;collect;SVarSetS;9| + (|Record| (|:| |under| $) (|:| |floor| $) (|:| |upper| $)) + |PSETCAT-;sort;SVarSetR;10| (|Set| 10) (64 . |brace|) + (69 . =) |PSETCAT-;=;2SB;11| (75 . |degree|) (80 . <) + (86 . |zero?|) (91 . |any?|) (|Mapping| 15 10 10) + (97 . |sort|) |PSETCAT-;triangular?;SB;14| + |PSETCAT-;trivialIdeal?;SB;15| (103 . |roughUnitIdeal?|) + (108 . |sup|) (114 . +) (120 . =) (126 . |roughBase?|) + (131 . |rewriteIdealWithRemainder|) + (137 . |roughSubIdeal?|) (143 . =) + (149 . |roughSubIdeal?|) (155 . |roughEqualIdeals?|) + (161 . |quo|) (|Union| $ '"failed") (167 . |exquo|) + (173 . |One|) (177 . |reductum|) (182 . |subtractIfCan|) + (188 . |leadingCoefficient|) (193 . |gcd|) (199 . *) + (205 . |monomial|) (211 . *) (217 . -) (223 . *) + (|Record| (|:| |num| 10) (|:| |den| 7)) + (229 . |headRemainder|) (235 . |gcd|) (241 . |One|) + (245 . =) (251 . |exactQuotient!|) (257 . |headRemainder|) + (263 . +) + (|Record| (|:| |rnum| 7) (|:| |polnum| 10) (|:| |den| 7)) + (269 . |remainder|) (275 . |trivialIdeal?|) + (280 . |roughUnitIdeal?|) (285 . |Zero|) + (289 . |primitivePart!|) (294 . |removeDuplicates|) + (299 . |rewriteIdealWithHeadRemainder|) + (305 . |remainder|) (311 . |unitCanonical|) + (316 . |rewriteIdealWithRemainder|)) + '#(|variables| 322 |trivialIdeal?| 327 |triangular?| 332 + |sort| 337 |roughUnitIdeal?| 343 |roughSubIdeal?| 348 + |roughEqualIdeals?| 354 |roughBase?| 360 + |rewriteIdealWithRemainder| 365 + |rewriteIdealWithHeadRemainder| 371 |remainder| 377 + |mainVariables| 383 |mainVariable?| 388 |headRemainder| + 394 |collectUpper| 400 |collectUnder| 406 |collect| 412 = + 418) + 'NIL + (CONS (|makeByteWordVec2| 1 'NIL) + (CONS '#() + (CONS '#() + (|makeByteWordVec2| 90 + '(1 6 11 0 12 1 10 13 0 14 2 9 15 0 0 + 16 1 13 0 17 18 1 13 0 0 19 2 13 0 20 + 0 21 1 10 9 0 22 1 10 15 0 24 2 11 0 + 25 0 26 2 9 15 0 0 28 1 15 0 0 29 1 6 + 0 11 31 1 37 0 11 38 2 37 15 0 0 39 1 + 10 8 0 41 2 8 15 0 0 42 1 10 15 0 43 + 2 11 15 25 0 44 2 11 0 45 0 46 1 0 15 + 0 49 2 8 0 0 0 50 2 8 0 0 0 51 2 8 15 + 0 0 52 1 0 15 0 53 2 6 11 11 0 54 2 0 + 15 0 0 55 2 6 15 0 0 56 2 6 15 0 0 57 + 2 0 15 0 0 58 2 7 0 0 0 59 2 7 60 0 0 + 61 0 7 0 62 1 10 0 0 63 2 8 60 0 0 64 + 1 10 7 0 65 2 7 0 0 0 66 2 10 0 7 0 + 67 2 10 0 7 8 68 2 10 0 0 0 69 2 10 0 + 0 0 70 2 7 0 0 0 71 2 0 72 10 0 73 2 + 10 7 7 0 74 0 10 0 75 2 7 15 0 0 76 2 + 10 0 0 7 77 2 6 72 10 0 78 2 10 0 0 0 + 79 2 0 80 10 0 81 1 6 15 0 82 1 6 15 + 0 83 0 10 0 84 1 10 0 0 85 1 11 0 0 + 86 2 0 11 11 0 87 2 6 80 10 0 88 1 10 + 0 0 89 2 0 11 11 0 90 1 0 13 0 23 1 0 + 15 0 48 1 0 15 0 47 2 0 35 0 9 36 1 0 + 15 0 49 2 0 15 0 0 55 2 0 15 0 0 58 1 + 0 15 0 53 2 0 11 11 0 90 2 0 11 11 0 + 87 2 0 80 10 0 81 1 0 13 0 27 2 0 15 + 9 0 30 2 0 72 10 0 73 2 0 0 0 9 33 2 + 0 0 0 9 32 2 0 0 0 9 34 2 0 15 0 0 + 40))))) + '|lookupComplete|)) @ \section{domain GPOLSET GeneralPolynomialSet} <<domain GPOLSET GeneralPolynomialSet>>= diff --git a/src/algebra/polycat.spad.pamphlet b/src/algebra/polycat.spad.pamphlet index 01cbbccc..bb940038 100644 --- a/src/algebra/polycat.spad.pamphlet +++ b/src/algebra/polycat.spad.pamphlet @@ -617,172 +617,243 @@ Note that this code is not included in the generated catdef.spad file. <<POLYCAT.lsp BOOTSTRAP>>= -(|/VERSIONCHECK| 2) - -(SETQ |PolynomialCategory;CAT| (QUOTE NIL)) - -(SETQ |PolynomialCategory;AL| (QUOTE NIL)) - -(DEFUN |PolynomialCategory| (|&REST| #1=#:G101841 |&AUX| #2=#:G101839) - (DSETQ #2# #1#) - (LET (#3=#:G101840) - (COND - ((SETQ #3# (|assoc| (|devaluateList| #2#) |PolynomialCategory;AL|)) - (CDR #3#)) - (T - (SETQ |PolynomialCategory;AL| - (|cons5| - (CONS - (|devaluateList| #2#) - (SETQ #3# (APPLY (FUNCTION |PolynomialCategory;|) #2#))) - |PolynomialCategory;AL|)) - #3#)))) - -(DEFUN |PolynomialCategory;| (|t#1| |t#2| |t#3|) - (PROG (#1=#:G101838) - (RETURN - (PROG1 - (LETT #1# - (|sublisV| - (PAIR - (QUOTE (|t#1| |t#2| |t#3|)) - (LIST - (|devaluate| |t#1|) - (|devaluate| |t#2|) - (|devaluate| |t#3|))) - (COND - (|PolynomialCategory;CAT|) - ((QUOTE T) - (LETT |PolynomialCategory;CAT| - (|Join| - (|PartialDifferentialRing| (QUOTE |t#3|)) - (|FiniteAbelianMonoidRing| (QUOTE |t#1|) (QUOTE |t#2|)) - (|Evalable| (QUOTE |$|)) - (|InnerEvalable| (QUOTE |t#3|) (QUOTE |t#1|)) - (|InnerEvalable| (QUOTE |t#3|) (QUOTE |$|)) - (|RetractableTo| (QUOTE |t#3|)) - (|FullyLinearlyExplicitRingOver| (QUOTE |t#1|)) - (|mkCategory| - (QUOTE |domain|) - (QUOTE ( - ((|degree| ((|NonNegativeInteger|) |$| |t#3|)) T) - ((|degree| - ((|List| (|NonNegativeInteger|)) - |$| - (|List| |t#3|))) T) - ((|coefficient| - (|$| |$| |t#3| (|NonNegativeInteger|))) T) - ((|coefficient| - (|$| - |$| - (|List| |t#3|) - (|List| (|NonNegativeInteger|)))) T) - ((|monomials| ((|List| |$|) |$|)) T) - ((|univariate| - ((|SparseUnivariatePolynomial| |$|) |$| |t#3|)) T) - ((|univariate| - ((|SparseUnivariatePolynomial| |t#1|) |$|)) T) - ((|mainVariable| ((|Union| |t#3| "failed") |$|)) T) - ((|minimumDegree| - ((|NonNegativeInteger|) |$| |t#3|)) T) - ((|minimumDegree| - ((|List| (|NonNegativeInteger|)) - |$| - (|List| |t#3|))) T) - ((|monicDivide| - ((|Record| - (|:| |quotient| |$|) - (|:| |remainder| |$|)) - |$| - |$| - |t#3|)) T) - ((|monomial| (|$| |$| |t#3| (|NonNegativeInteger|))) T) - ((|monomial| - (|$| - |$| - (|List| |t#3|) - (|List| (|NonNegativeInteger|)))) T) - ((|multivariate| - (|$| (|SparseUnivariatePolynomial| |t#1|) |t#3|)) T) - ((|multivariate| - (|$| (|SparseUnivariatePolynomial| |$|) |t#3|)) T) - ((|isPlus| ((|Union| (|List| |$|) "failed") |$|)) T) - ((|isTimes| ((|Union| (|List| |$|) "failed") |$|)) T) - ((|isExpt| - ((|Union| - (|Record| - (|:| |var| |t#3|) - (|:| |exponent| (|NonNegativeInteger|))) - "failed") - |$|)) T) - ((|totalDegree| ((|NonNegativeInteger|) |$|)) T) - ((|totalDegree| - ((|NonNegativeInteger|) |$| (|List| |t#3|))) T) - ((|variables| ((|List| |t#3|) |$|)) T) - ((|primitiveMonomials| ((|List| |$|) |$|)) T) - ((|resultant| (|$| |$| |$| |t#3|)) - (|has| |t#1| (|CommutativeRing|))) - ((|discriminant| (|$| |$| |t#3|)) - (|has| |t#1| (|CommutativeRing|))) - ((|content| (|$| |$| |t#3|)) - (|has| |t#1| (|GcdDomain|))) - ((|primitivePart| (|$| |$|)) - (|has| |t#1| (|GcdDomain|))) - ((|primitivePart| (|$| |$| |t#3|)) - (|has| |t#1| (|GcdDomain|))) - ((|squareFree| ((|Factored| |$|) |$|)) - (|has| |t#1| (|GcdDomain|))) - ((|squareFreePart| (|$| |$|)) ( - |has| |t#1| (|GcdDomain|))))) - (QUOTE ( - ((|OrderedSet|) (|has| |t#1| (|OrderedSet|))) - ((|ConvertibleTo| (|InputForm|)) - (AND - (|has| |t#3| (|ConvertibleTo| (|InputForm|))) - (|has| |t#1| (|ConvertibleTo| (|InputForm|))))) - ((|ConvertibleTo| (|Pattern| (|Integer|))) - (AND - (|has| |t#3| - (|ConvertibleTo| (|Pattern| (|Integer|)))) - (|has| |t#1| - (|ConvertibleTo| (|Pattern| (|Integer|)))))) - ((|ConvertibleTo| (|Pattern| (|Float|))) - (AND - (|has| |t#3| - (|ConvertibleTo| (|Pattern| (|Float|)))) - (|has| |t#1| - (|ConvertibleTo| (|Pattern| (|Float|)))))) - ((|PatternMatchable| (|Integer|)) - (AND - (|has| |t#3| (|PatternMatchable| (|Integer|))) - (|has| |t#1| (|PatternMatchable| (|Integer|))))) - ((|PatternMatchable| (|Float|)) - (AND - (|has| |t#3| (|PatternMatchable| (|Float|))) - (|has| |t#1| (|PatternMatchable| (|Float|))))) - ((|GcdDomain|) (|has| |t#1| (|GcdDomain|))) - (|canonicalUnitNormal| - (|has| |t#1| (ATTRIBUTE |canonicalUnitNormal|))) - ((|PolynomialFactorizationExplicit|) - (|has| |t#1| (|PolynomialFactorizationExplicit|))))) - (QUOTE ( - (|Factored| |$|) - (|List| |$|) - (|List| |t#3|) - (|NonNegativeInteger|) - (|SparseUnivariatePolynomial| |$|) - (|SparseUnivariatePolynomial| |t#1|) - (|List| (|NonNegativeInteger|)))) - NIL)) - . #2=(|PolynomialCategory|))))) - . #2#) - (SETELT #1# 0 - (LIST - (QUOTE |PolynomialCategory|) - (|devaluate| |t#1|) - (|devaluate| |t#2|) - (|devaluate| |t#3|))))))) +(/VERSIONCHECK 2) + +(DEFPARAMETER |PolynomialCategory;CAT| 'NIL) + +(DEFPARAMETER |PolynomialCategory;AL| 'NIL) + +(DEFUN |PolynomialCategory| (&REST #0=#:G1406 &AUX #1=#:G1404) + (DSETQ #1# #0#) + (LET (#2=#:G1405) + (COND + ((SETQ #2# + (|assoc| (|devaluateList| #1#) |PolynomialCategory;AL|)) + (CDR #2#)) + (T (SETQ |PolynomialCategory;AL| + (|cons5| (CONS (|devaluateList| #1#) + (SETQ #2# + (APPLY #'|PolynomialCategory;| #1#))) + |PolynomialCategory;AL|)) + #2#)))) +(DEFUN |PolynomialCategory;| (|t#1| |t#2| |t#3|) + (PROG (#0=#:G1403) + (RETURN + (PROG1 (LETT #0# + (|sublisV| + (PAIR '(|t#1| |t#2| |t#3|) + (LIST (|devaluate| |t#1|) + (|devaluate| |t#2|) + (|devaluate| |t#3|))) + (COND + (|PolynomialCategory;CAT|) + ('T + (LETT |PolynomialCategory;CAT| + (|Join| (|PartialDifferentialRing| + '|t#3|) + (|FiniteAbelianMonoidRing| + '|t#1| '|t#2|) + (|Evalable| '$) + (|InnerEvalable| '|t#3| '|t#1|) + (|InnerEvalable| '|t#3| '$) + (|RetractableTo| '|t#3|) + (|FullyLinearlyExplicitRingOver| + '|t#1|) + (|mkCategory| '|domain| + '(((|degree| + ((|NonNegativeInteger|) $ + |t#3|)) + T) + ((|degree| + ((|List| + (|NonNegativeInteger|)) + $ (|List| |t#3|))) + T) + ((|coefficient| + ($ $ |t#3| + (|NonNegativeInteger|))) + T) + ((|coefficient| + ($ $ (|List| |t#3|) + (|List| + (|NonNegativeInteger|)))) + T) + ((|monomials| + ((|List| $) $)) + T) + ((|univariate| + ((|SparseUnivariatePolynomial| + $) + $ |t#3|)) + T) + ((|univariate| + ((|SparseUnivariatePolynomial| + |t#1|) + $)) + T) + ((|mainVariable| + ((|Union| |t#3| "failed") + $)) + T) + ((|minimumDegree| + ((|NonNegativeInteger|) $ + |t#3|)) + T) + ((|minimumDegree| + ((|List| + (|NonNegativeInteger|)) + $ (|List| |t#3|))) + T) + ((|monicDivide| + ((|Record| + (|:| |quotient| $) + (|:| |remainder| $)) + $ $ |t#3|)) + T) + ((|monomial| + ($ $ |t#3| + (|NonNegativeInteger|))) + T) + ((|monomial| + ($ $ (|List| |t#3|) + (|List| + (|NonNegativeInteger|)))) + T) + ((|multivariate| + ($ + (|SparseUnivariatePolynomial| + |t#1|) + |t#3|)) + T) + ((|multivariate| + ($ + (|SparseUnivariatePolynomial| + $) + |t#3|)) + T) + ((|isPlus| + ((|Union| (|List| $) + "failed") + $)) + T) + ((|isTimes| + ((|Union| (|List| $) + "failed") + $)) + T) + ((|isExpt| + ((|Union| + (|Record| + (|:| |var| |t#3|) + (|:| |exponent| + (|NonNegativeInteger|))) + "failed") + $)) + T) + ((|totalDegree| + ((|NonNegativeInteger|) $)) + T) + ((|totalDegree| + ((|NonNegativeInteger|) $ + (|List| |t#3|))) + T) + ((|variables| + ((|List| |t#3|) $)) + T) + ((|primitiveMonomials| + ((|List| $) $)) + T) + ((|resultant| ($ $ $ |t#3|)) + (|has| |t#1| + (|CommutativeRing|))) + ((|discriminant| + ($ $ |t#3|)) + (|has| |t#1| + (|CommutativeRing|))) + ((|content| ($ $ |t#3|)) + (|has| |t#1| (|GcdDomain|))) + ((|primitivePart| ($ $)) + (|has| |t#1| (|GcdDomain|))) + ((|primitivePart| + ($ $ |t#3|)) + (|has| |t#1| (|GcdDomain|))) + ((|squareFree| + ((|Factored| $) $)) + (|has| |t#1| (|GcdDomain|))) + ((|squareFreePart| ($ $)) + (|has| |t#1| (|GcdDomain|)))) + '(((|OrderedSet|) + (|has| |t#1| + (|OrderedSet|))) + ((|ConvertibleTo| + (|InputForm|)) + (AND + (|has| |t#3| + (|ConvertibleTo| + (|InputForm|))) + (|has| |t#1| + (|ConvertibleTo| + (|InputForm|))))) + ((|ConvertibleTo| + (|Pattern| (|Integer|))) + (AND + (|has| |t#3| + (|ConvertibleTo| + (|Pattern| (|Integer|)))) + (|has| |t#1| + (|ConvertibleTo| + (|Pattern| (|Integer|)))))) + ((|ConvertibleTo| + (|Pattern| (|Float|))) + (AND + (|has| |t#3| + (|ConvertibleTo| + (|Pattern| (|Float|)))) + (|has| |t#1| + (|ConvertibleTo| + (|Pattern| (|Float|)))))) + ((|PatternMatchable| + (|Integer|)) + (AND + (|has| |t#3| + (|PatternMatchable| + (|Integer|))) + (|has| |t#1| + (|PatternMatchable| + (|Integer|))))) + ((|PatternMatchable| + (|Float|)) + (AND + (|has| |t#3| + (|PatternMatchable| + (|Float|))) + (|has| |t#1| + (|PatternMatchable| + (|Float|))))) + ((|GcdDomain|) + (|has| |t#1| (|GcdDomain|))) + (|canonicalUnitNormal| + (|has| |t#1| + (ATTRIBUTE + |canonicalUnitNormal|))) + ((|PolynomialFactorizationExplicit|) + (|has| |t#1| + (|PolynomialFactorizationExplicit|)))) + '((|Factored| $) (|List| $) + (|List| |t#3|) + (|NonNegativeInteger|) + (|SparseUnivariatePolynomial| + $) + (|SparseUnivariatePolynomial| + |t#1|) + (|List| + (|NonNegativeInteger|))) + NIL)) + . #1=(|PolynomialCategory|))))) . #1#) + (SETELT #0# 0 + (LIST '|PolynomialCategory| (|devaluate| |t#1|) + (|devaluate| |t#2|) (|devaluate| |t#3|))))))) @ \section{POLYCAT-.lsp BOOTSTRAP} {\bf POLYCAT-} depends on {\bf POLYCAT}. We need to break this cycle to build @@ -795,1927 +866,1709 @@ Note that this code is not included in the generated catdef.spad file. <<POLYCAT-.lsp BOOTSTRAP>>= -(|/VERSIONCHECK| 2) - -(DEFUN |POLYCAT-;eval;SLS;1| (|p| |l| |$|) - (PROG (#1=#:G101870 #2=#:G101860 #3=#:G101868 #4=#:G101869 - |lvar| #5=#:G101866 |e| #6=#:G101867) - (RETURN - (SEQ - (COND - ((NULL |l|) |p|) - ((QUOTE T) - (SEQ - (SEQ - (EXIT - (SEQ - (LETT |e| NIL |POLYCAT-;eval;SLS;1|) - (LETT #1# |l| |POLYCAT-;eval;SLS;1|) - G190 - (COND - ((OR - (ATOM #1#) - (PROGN (LETT |e| (CAR #1#) |POLYCAT-;eval;SLS;1|) NIL)) - (GO G191))) - (SEQ - (EXIT - (COND - ((QEQCAR - (SPADCALL - (SPADCALL |e| (QREFELT |$| 11)) - (QREFELT |$| 13)) - 1) - (PROGN - (LETT #2# - (|error| "cannot find a variable to evaluate") - |POLYCAT-;eval;SLS;1|) - (GO #2#)))))) - (LETT #1# (CDR #1#) |POLYCAT-;eval;SLS;1|) - (GO G190) - G191 - (EXIT NIL))) - #2# - (EXIT #2#)) - (LETT |lvar| - (PROGN - (LETT #3# NIL |POLYCAT-;eval;SLS;1|) - (SEQ - (LETT |e| NIL |POLYCAT-;eval;SLS;1|) - (LETT #4# |l| |POLYCAT-;eval;SLS;1|) - G190 - (COND - ((OR - (ATOM #4#) - (PROGN - (LETT |e| (CAR #4#) |POLYCAT-;eval;SLS;1|) NIL)) - (GO G191))) - (SEQ - (EXIT - (LETT #3# - (CONS - (SPADCALL - (SPADCALL |e| (QREFELT |$| 11)) - (QREFELT |$| 14)) - #3#) - |POLYCAT-;eval;SLS;1|))) - (LETT #4# (CDR #4#) |POLYCAT-;eval;SLS;1|) - (GO G190) - G191 - (EXIT (NREVERSE0 #3#)))) - |POLYCAT-;eval;SLS;1|) - (EXIT - (SPADCALL - |p| - |lvar| - (PROGN - (LETT #5# NIL |POLYCAT-;eval;SLS;1|) - (SEQ - (LETT |e| NIL |POLYCAT-;eval;SLS;1|) - (LETT #6# |l| |POLYCAT-;eval;SLS;1|) - G190 - (COND - ((OR - (ATOM #6#) - (PROGN - (LETT |e| (CAR #6#) |POLYCAT-;eval;SLS;1|) - NIL)) - (GO G191))) - (SEQ - (EXIT - (LETT #5# - (CONS (SPADCALL |e| (QREFELT |$| 15)) #5#) - |POLYCAT-;eval;SLS;1|))) - (LETT #6# (CDR #6#) |POLYCAT-;eval;SLS;1|) - (GO G190) - G191 - (EXIT (NREVERSE0 #5#)))) - (QREFELT |$| 18)))))))))) - -(DEFUN |POLYCAT-;monomials;SL;2| (|p| |$|) - (PROG (|ml|) - (RETURN - (SEQ - (LETT |ml| NIL |POLYCAT-;monomials;SL;2|) - (SEQ G190 - (COND - ((NULL - (COND - ((SPADCALL |p| (|spadConstant| |$| 21) (QREFELT |$| 24)) - (QUOTE NIL)) - ((QUOTE T) (QUOTE T)))) - (GO G191))) - (SEQ - (LETT |ml| - (CONS (SPADCALL |p| (QREFELT |$| 25)) |ml|) - |POLYCAT-;monomials;SL;2|) - (EXIT - (LETT |p| - (SPADCALL |p| (QREFELT |$| 26)) - |POLYCAT-;monomials;SL;2|))) - NIL - (GO G190) - G191 - (EXIT NIL)) - (EXIT (REVERSE |ml|)))))) - -(DEFUN |POLYCAT-;isPlus;SU;3| (|p| |$|) - (PROG (|l|) - (RETURN - (COND - ((NULL - (CDR - (LETT |l| - (SPADCALL |p| (QREFELT |$| 28)) - |POLYCAT-;isPlus;SU;3|))) - (CONS 1 "failed")) - ((QUOTE T) (CONS 0 |l|)))))) - -(DEFUN |POLYCAT-;isTimes;SU;4| (|p| |$|) - (PROG (|lv| #1=#:G101892 |v| #2=#:G101893 |l| |r|) - (RETURN - (SEQ - (COND - ((OR - (NULL - (LETT |lv| - (SPADCALL |p| (QREFELT |$| 31)) - |POLYCAT-;isTimes;SU;4|)) - (NULL (SPADCALL |p| (QREFELT |$| 32)))) - (CONS 1 "failed")) - ((QUOTE T) - (SEQ - (LETT |l| - (PROGN - (LETT #1# NIL |POLYCAT-;isTimes;SU;4|) - (SEQ - (LETT |v| NIL |POLYCAT-;isTimes;SU;4|) - (LETT #2# |lv| |POLYCAT-;isTimes;SU;4|) - G190 - (COND - ((OR - (ATOM #2#) - (PROGN - (LETT |v| (CAR #2#) |POLYCAT-;isTimes;SU;4|) - NIL)) - (GO G191))) - (SEQ - (EXIT - (LETT #1# - (CONS - (SPADCALL - (|spadConstant| |$| 33) - |v| - (SPADCALL |p| |v| (QREFELT |$| 36)) - (QREFELT |$| 37)) - #1#) - |POLYCAT-;isTimes;SU;4|))) - (LETT #2# (CDR #2#) |POLYCAT-;isTimes;SU;4|) - (GO G190) - G191 - (EXIT (NREVERSE0 #1#)))) - |POLYCAT-;isTimes;SU;4|) - (EXIT - (COND - ((SPADCALL - (LETT |r| - (SPADCALL |p| (QREFELT |$| 38)) - |POLYCAT-;isTimes;SU;4|) - (QREFELT |$| 39)) - (COND - ((NULL (CDR |lv|)) (CONS 1 "failed")) - ((QUOTE T) (CONS 0 |l|)))) - ((QUOTE T) - (CONS 0 - (CONS (SPADCALL |r| (QREFELT |$| 40)) |l|)))))))))))) - -(DEFUN |POLYCAT-;isExpt;SU;5| (|p| |$|) - (PROG (|u| |d|) - (RETURN - (SEQ - (LETT |u| (SPADCALL |p| (QREFELT |$| 42)) |POLYCAT-;isExpt;SU;5|) - (EXIT - (COND - ((OR - (QEQCAR |u| 1) - (NULL - (SPADCALL |p| - (SPADCALL - (|spadConstant| |$| 33) - (QCDR |u|) - (LETT |d| - (SPADCALL |p| (QCDR |u|) (QREFELT |$| 36)) - |POLYCAT-;isExpt;SU;5|) - (QREFELT |$| 37)) - (QREFELT |$| 24)))) +(/VERSIONCHECK 2) + +(DEFUN |POLYCAT-;eval;SLS;1| (|p| |l| $) + (PROG (#0=#:G1420 #1=#:G1414 #2=#:G1421 #3=#:G1422 |lvar| #4=#:G1423 + |e| #5=#:G1424) + (RETURN + (SEQ (COND + ((NULL |l|) |p|) + ('T + (SEQ (SEQ (EXIT (SEQ (LETT |e| NIL |POLYCAT-;eval;SLS;1|) + (LETT #0# |l| |POLYCAT-;eval;SLS;1|) + G190 + (COND + ((OR (ATOM #0#) + (PROGN + (LETT |e| (CAR #0#) + |POLYCAT-;eval;SLS;1|) + NIL)) + (GO G191))) + (SEQ + (EXIT + (COND + ((QEQCAR + (SPADCALL + (SPADCALL |e| (QREFELT $ 11)) + (QREFELT $ 13)) + 1) + (PROGN + (LETT #1# + (|error| + "cannot find a variable to evaluate") + |POLYCAT-;eval;SLS;1|) + (GO #1#)))))) + (LETT #0# (CDR #0#) + |POLYCAT-;eval;SLS;1|) + (GO G190) G191 (EXIT NIL))) + #1# (EXIT #1#)) + (LETT |lvar| + (PROGN + (LETT #2# NIL |POLYCAT-;eval;SLS;1|) + (SEQ (LETT |e| NIL |POLYCAT-;eval;SLS;1|) + (LETT #3# |l| |POLYCAT-;eval;SLS;1|) + G190 + (COND + ((OR (ATOM #3#) + (PROGN + (LETT |e| (CAR #3#) + |POLYCAT-;eval;SLS;1|) + NIL)) + (GO G191))) + (SEQ (EXIT + (LETT #2# + (CONS + (SPADCALL + (SPADCALL |e| (QREFELT $ 11)) + (QREFELT $ 14)) + #2#) + |POLYCAT-;eval;SLS;1|))) + (LETT #3# (CDR #3#) + |POLYCAT-;eval;SLS;1|) + (GO G190) G191 (EXIT (NREVERSE0 #2#)))) + |POLYCAT-;eval;SLS;1|) + (EXIT (SPADCALL |p| |lvar| + (PROGN + (LETT #4# NIL |POLYCAT-;eval;SLS;1|) + (SEQ (LETT |e| NIL + |POLYCAT-;eval;SLS;1|) + (LETT #5# |l| + |POLYCAT-;eval;SLS;1|) + G190 + (COND + ((OR (ATOM #5#) + (PROGN + (LETT |e| (CAR #5#) + |POLYCAT-;eval;SLS;1|) + NIL)) + (GO G191))) + (SEQ + (EXIT + (LETT #4# + (CONS + (SPADCALL |e| (QREFELT $ 15)) + #4#) + |POLYCAT-;eval;SLS;1|))) + (LETT #5# (CDR #5#) + |POLYCAT-;eval;SLS;1|) + (GO G190) G191 + (EXIT (NREVERSE0 #4#)))) + (QREFELT $ 18)))))))))) + +(DEFUN |POLYCAT-;monomials;SL;2| (|p| $) + (PROG (|ml|) + (RETURN + (SEQ (LETT |ml| NIL |POLYCAT-;monomials;SL;2|) + (SEQ G190 + (COND + ((NULL (SPADCALL + (SPADCALL |p| (|spadConstant| $ 21) + (QREFELT $ 24)) + (QREFELT $ 25))) + (GO G191))) + (SEQ (LETT |ml| + (CONS (SPADCALL |p| (QREFELT $ 26)) |ml|) + |POLYCAT-;monomials;SL;2|) + (EXIT (LETT |p| (SPADCALL |p| (QREFELT $ 27)) + |POLYCAT-;monomials;SL;2|))) + NIL (GO G190) G191 (EXIT NIL)) + (EXIT (REVERSE |ml|)))))) + +(DEFUN |POLYCAT-;isPlus;SU;3| (|p| $) + (PROG (|l|) + (RETURN + (COND + ((NULL (CDR (LETT |l| (SPADCALL |p| (QREFELT $ 29)) + |POLYCAT-;isPlus;SU;3|))) + (CONS 1 "failed")) + ('T (CONS 0 |l|)))))) + +(DEFUN |POLYCAT-;isTimes;SU;4| (|p| $) + (PROG (|lv| #0=#:G1446 |v| #1=#:G1447 |l| |r|) + (RETURN + (SEQ (COND + ((OR (NULL (LETT |lv| (SPADCALL |p| (QREFELT $ 32)) + |POLYCAT-;isTimes;SU;4|)) + (NULL (SPADCALL |p| (QREFELT $ 33)))) (CONS 1 "failed")) - ((QUOTE T) (CONS 0 (CONS (QCDR |u|) |d|))))))))) - -(DEFUN |POLYCAT-;coefficient;SVarSetNniS;6| (|p| |v| |n| |$|) - (SPADCALL (SPADCALL |p| |v| (QREFELT |$| 47)) |n| (QREFELT |$| 49))) - -(DEFUN |POLYCAT-;coefficient;SLLS;7| (|p| |lv| |ln| |$|) - (COND - ((NULL |lv|) - (COND - ((NULL |ln|) |p|) - ((QUOTE T) (|error| "mismatched lists in coefficient")))) - ((NULL |ln|) - (|error| "mismatched lists in coefficient")) - ((QUOTE T) - (SPADCALL - (SPADCALL - (SPADCALL |p| (|SPADfirst| |lv|) (QREFELT |$| 47)) - (|SPADfirst| |ln|) - (QREFELT |$| 49)) - (CDR |lv|) - (CDR |ln|) - (QREFELT |$| 52))))) - -(DEFUN |POLYCAT-;monomial;SLLS;8| (|p| |lv| |ln| |$|) - (COND - ((NULL |lv|) - (COND - ((NULL |ln|) |p|) - ((QUOTE T) (|error| "mismatched lists in monomial")))) - ((NULL |ln|) - (|error| "mismatched lists in monomial")) - ((QUOTE T) - (SPADCALL - (SPADCALL |p| (|SPADfirst| |lv|) (|SPADfirst| |ln|) (QREFELT |$| 37)) - (CDR |lv|) - (CDR |ln|) - (QREFELT |$| 54))))) - -(DEFUN |POLYCAT-;retract;SVarSet;9| (|p| |$|) - (PROG (#1=#:G101918 |q|) - (RETURN - (SEQ - (LETT |q| - (PROG2 - (LETT #1# - (SPADCALL |p| (QREFELT |$| 42)) - |POLYCAT-;retract;SVarSet;9|) - (QCDR #1#) - (|check-union| (QEQCAR #1# 0) (QREFELT |$| 9) #1#)) - |POLYCAT-;retract;SVarSet;9|) - (EXIT - (COND - ((SPADCALL - (SPADCALL |q| (QREFELT |$| 56)) - |p| - (QREFELT |$| 24)) - |q|) - ((QUOTE T) - (|error| "Polynomial is not a single variable")))))))) - -(DEFUN |POLYCAT-;retractIfCan;SU;10| (|p| |$|) - (PROG (|q| #1=#:G101926) - (RETURN - (SEQ - (EXIT - (SEQ - (SEQ - (LETT |q| - (SPADCALL |p| (QREFELT |$| 42)) - |POLYCAT-;retractIfCan;SU;10|) - (EXIT - (COND - ((QEQCAR |q| 0) - (COND - ((SPADCALL - (SPADCALL (QCDR |q|) (QREFELT |$| 56)) - |p| - (QREFELT |$| 24)) - (PROGN - (LETT #1# |q| |POLYCAT-;retractIfCan;SU;10|) - (GO #1#)))))))) - (EXIT (CONS 1 "failed")))) - #1# - (EXIT #1#))))) - -(DEFUN |POLYCAT-;mkPrim| (|p| |$|) - (SPADCALL - (|spadConstant| |$| 34) - (SPADCALL |p| (QREFELT |$| 59)) - (QREFELT |$| 60))) - -(DEFUN |POLYCAT-;primitiveMonomials;SL;12| (|p| |$|) - (PROG (#1=#:G101931 |q| #2=#:G101932) - (RETURN - (SEQ - (PROGN - (LETT #1# NIL |POLYCAT-;primitiveMonomials;SL;12|) - (SEQ - (LETT |q| NIL |POLYCAT-;primitiveMonomials;SL;12|) - (LETT #2# - (SPADCALL |p| (QREFELT |$| 28)) - |POLYCAT-;primitiveMonomials;SL;12|) - G190 - (COND - ((OR - (ATOM #2#) - (PROGN - (LETT |q| (CAR #2#) |POLYCAT-;primitiveMonomials;SL;12|) - NIL)) - (GO G191))) - (SEQ - (EXIT - (LETT #1# - (CONS - (|POLYCAT-;mkPrim| |q| |$|) - #1#) - |POLYCAT-;primitiveMonomials;SL;12|))) - (LETT #2# (CDR #2#) |POLYCAT-;primitiveMonomials;SL;12|) - (GO G190) - G191 - (EXIT (NREVERSE0 #1#)))))))) - -(DEFUN |POLYCAT-;totalDegree;SNni;13| (|p| |$|) - (PROG (#1=#:G101934 |d| |u|) - (RETURN - (SEQ - (COND - ((SPADCALL |p| (QREFELT |$| 62)) 0) - ((QUOTE T) - (SEQ - (LETT |u| - (SPADCALL |p| - (PROG2 - (LETT #1# - (SPADCALL |p| (QREFELT |$| 42)) - |POLYCAT-;totalDegree;SNni;13|) - (QCDR #1#) - (|check-union| (QEQCAR #1# 0) (QREFELT |$| 9) #1#)) - (QREFELT |$| 47)) - |POLYCAT-;totalDegree;SNni;13|) - (LETT |d| 0 |POLYCAT-;totalDegree;SNni;13|) - (SEQ G190 - (COND - ((NULL - (COND - ((SPADCALL |u| (|spadConstant| |$| 63) (QREFELT |$| 64)) - (QUOTE NIL)) - ((QUOTE T) (QUOTE T)))) (GO G191))) - (SEQ - (LETT |d| - (MAX |d| - (|+| - (SPADCALL |u| (QREFELT |$| 65)) - (SPADCALL - (SPADCALL |u| (QREFELT |$| 66)) - (QREFELT |$| 67)))) - |POLYCAT-;totalDegree;SNni;13|) - (EXIT - (LETT |u| - (SPADCALL |u| (QREFELT |$| 68)) - |POLYCAT-;totalDegree;SNni;13|))) - NIL - (GO G190) - G191 - (EXIT NIL)) - (EXIT |d|)))))))) - -(DEFUN |POLYCAT-;totalDegree;SLNni;14| (|p| |lv| |$|) - (PROG (#1=#:G101942 |v| |w| |d| |u|) - (RETURN - (SEQ - (COND - ((SPADCALL |p| (QREFELT |$| 62)) 0) - ((QUOTE T) - (SEQ - (LETT |u| - (SPADCALL |p| - (LETT |v| - (PROG2 - (LETT #1# - (SPADCALL |p| (QREFELT |$| 42)) - |POLYCAT-;totalDegree;SLNni;14|) - (QCDR #1#) - (|check-union| (QEQCAR #1# 0) (QREFELT |$| 9) #1#)) - |POLYCAT-;totalDegree;SLNni;14|) - (QREFELT |$| 47)) - |POLYCAT-;totalDegree;SLNni;14|) - (LETT |d| 0 |POLYCAT-;totalDegree;SLNni;14|) - (LETT |w| 0 |POLYCAT-;totalDegree;SLNni;14|) - (COND - ((SPADCALL |v| |lv| (QREFELT |$| 70)) - (LETT |w| 1 |POLYCAT-;totalDegree;SLNni;14|))) - (SEQ G190 - (COND - ((NULL - (COND - ((SPADCALL |u| (|spadConstant| |$| 63) (QREFELT |$| 64)) - (QUOTE NIL)) - ((QUOTE T) (QUOTE T)))) - (GO G191))) - (SEQ - (LETT |d| - (MAX |d| - (|+| - (|*| |w| (SPADCALL |u| (QREFELT |$| 65))) - (SPADCALL - (SPADCALL |u| (QREFELT |$| 66)) - |lv| - (QREFELT |$| 71)))) - |POLYCAT-;totalDegree;SLNni;14|) - (EXIT - (LETT |u| - (SPADCALL |u| (QREFELT |$| 68)) - |POLYCAT-;totalDegree;SLNni;14|))) - NIL - (GO G190) - G191 - (EXIT NIL)) - (EXIT |d|)))))))) - -(DEFUN |POLYCAT-;resultant;2SVarSetS;15| (|p1| |p2| |mvar| |$|) - (SPADCALL - (SPADCALL |p1| |mvar| (QREFELT |$| 47)) - (SPADCALL |p2| |mvar| (QREFELT |$| 47)) - (QREFELT |$| 73))) - -(DEFUN |POLYCAT-;discriminant;SVarSetS;16| (|p| |var| |$|) - (SPADCALL (SPADCALL |p| |var| (QREFELT |$| 47)) (QREFELT |$| 75))) - -(DEFUN |POLYCAT-;allMonoms| (|l| |$|) - (PROG (#1=#:G101954 |p| #2=#:G101955) - (RETURN - (SEQ - (SPADCALL - (SPADCALL - (PROGN - (LETT #1# NIL |POLYCAT-;allMonoms|) - (SEQ - (LETT |p| NIL |POLYCAT-;allMonoms|) - (LETT #2# |l| |POLYCAT-;allMonoms|) - G190 - (COND - ((OR - (ATOM #2#) - (PROGN (LETT |p| (CAR #2#) |POLYCAT-;allMonoms|) NIL)) - (GO G191))) - (SEQ - (EXIT - (LETT #1# - (CONS (SPADCALL |p| (QREFELT |$| 77)) #1#) - |POLYCAT-;allMonoms|))) - (LETT #2# (CDR #2#) |POLYCAT-;allMonoms|) - (GO G190) - G191 - (EXIT (NREVERSE0 #1#)))) - (QREFELT |$| 79)) - (QREFELT |$| 80)))))) - -(DEFUN |POLYCAT-;P2R| (|p| |b| |n| |$|) - (PROG (|w| |bj| #1=#:G101960 |i| #2=#:G101959) - (RETURN - (SEQ - (LETT |w| - (SPADCALL |n| (|spadConstant| |$| 22) (QREFELT |$| 82)) - |POLYCAT-;P2R|) - (SEQ - (LETT |bj| NIL |POLYCAT-;P2R|) - (LETT #1# |b| |POLYCAT-;P2R|) - (LETT |i| (SPADCALL |w| (QREFELT |$| 84)) |POLYCAT-;P2R|) - (LETT #2# (QVSIZE |w|) |POLYCAT-;P2R|) - G190 - (COND - ((OR - (|>| |i| #2#) - (ATOM #1#) - (PROGN (LETT |bj| (CAR #1#) |POLYCAT-;P2R|) NIL)) - (GO G191))) - (SEQ - (EXIT - (SPADCALL |w| |i| - (SPADCALL |p| |bj| (QREFELT |$| 85)) - (QREFELT |$| 86)))) - (LETT |i| - (PROG1 - (|+| |i| 1) - (LETT #1# (CDR #1#) |POLYCAT-;P2R|)) - |POLYCAT-;P2R|) - (GO G190) - G191 - (EXIT NIL)) - (EXIT |w|))))) - -(DEFUN |POLYCAT-;eq2R| (|l| |b| |$|) - (PROG (#1=#:G101964 |bj| #2=#:G101965 #3=#:G101966 |p| #4=#:G101967) - (RETURN - (SEQ - (SPADCALL - (PROGN - (LETT #1# NIL |POLYCAT-;eq2R|) - (SEQ - (LETT |bj| NIL |POLYCAT-;eq2R|) - (LETT #2# |b| |POLYCAT-;eq2R|) - G190 - (COND - ((OR - (ATOM #2#) - (PROGN (LETT |bj| (CAR #2#) |POLYCAT-;eq2R|) NIL)) - (GO G191))) - (SEQ - (EXIT - (LETT #1# - (CONS - (PROGN - (LETT #3# NIL |POLYCAT-;eq2R|) - (SEQ - (LETT |p| NIL |POLYCAT-;eq2R|) - (LETT #4# |l| |POLYCAT-;eq2R|) - G190 - (COND - ((OR - (ATOM #4#) - (PROGN - (LETT |p| (CAR #4#) |POLYCAT-;eq2R|) - NIL)) - (GO G191))) - (SEQ - (EXIT - (LETT #3# - (CONS (SPADCALL |p| |bj| (QREFELT |$| 85)) #3#) - |POLYCAT-;eq2R|))) - (LETT #4# (CDR #4#) |POLYCAT-;eq2R|) - (GO G190) - G191 - (EXIT (NREVERSE0 #3#)))) - #1#) - |POLYCAT-;eq2R|))) - (LETT #2# (CDR #2#) |POLYCAT-;eq2R|) - (GO G190) - G191 - (EXIT (NREVERSE0 #1#)))) - (QREFELT |$| 89)))))) - -(DEFUN |POLYCAT-;reducedSystem;MM;20| (|m| |$|) - (PROG (#1=#:G101979 |r| #2=#:G101980 |b| #3=#:G101977 - |bj| #4=#:G101978 |d| |mm| |l|) - (RETURN - (SEQ - (LETT |l| - (SPADCALL |m| (QREFELT |$| 92)) - |POLYCAT-;reducedSystem;MM;20|) - (LETT |b| - (SPADCALL - (SPADCALL - (PROGN - (LETT #1# NIL |POLYCAT-;reducedSystem;MM;20|) - (SEQ - (LETT |r| NIL |POLYCAT-;reducedSystem;MM;20|) - (LETT #2# |l| |POLYCAT-;reducedSystem;MM;20|) + ('T + (SEQ (LETT |l| + (PROGN + (LETT #0# NIL |POLYCAT-;isTimes;SU;4|) + (SEQ (LETT |v| NIL |POLYCAT-;isTimes;SU;4|) + (LETT #1# |lv| |POLYCAT-;isTimes;SU;4|) + G190 + (COND + ((OR (ATOM #1#) + (PROGN + (LETT |v| (CAR #1#) + |POLYCAT-;isTimes;SU;4|) + NIL)) + (GO G191))) + (SEQ (EXIT + (LETT #0# + (CONS + (SPADCALL (|spadConstant| $ 34) + |v| + (SPADCALL |p| |v| + (QREFELT $ 37)) + (QREFELT $ 38)) + #0#) + |POLYCAT-;isTimes;SU;4|))) + (LETT #1# (CDR #1#) + |POLYCAT-;isTimes;SU;4|) + (GO G190) G191 (EXIT (NREVERSE0 #0#)))) + |POLYCAT-;isTimes;SU;4|) + (LETT |r| (SPADCALL |p| (QREFELT $ 39)) + |POLYCAT-;isTimes;SU;4|) + (EXIT (COND + ((SPADCALL |r| (|spadConstant| $ 35) + (QREFELT $ 40)) + (COND + ((NULL (CDR |lv|)) (CONS 1 "failed")) + ('T (CONS 0 |l|)))) + ('T + (CONS 0 + (CONS (SPADCALL |r| (QREFELT $ 41)) + |l|)))))))))))) + +(DEFUN |POLYCAT-;isExpt;SU;5| (|p| $) + (PROG (|u| |d|) + (RETURN + (SEQ (LETT |u| (SPADCALL |p| (QREFELT $ 43)) + |POLYCAT-;isExpt;SU;5|) + (EXIT (COND + ((OR (QEQCAR |u| 1) + (NULL (SPADCALL |p| + (SPADCALL (|spadConstant| $ 34) + (QCDR |u|) + (LETT |d| + (SPADCALL |p| (QCDR |u|) + (QREFELT $ 37)) + |POLYCAT-;isExpt;SU;5|) + (QREFELT $ 38)) + (QREFELT $ 24)))) + (CONS 1 "failed")) + ('T (CONS 0 (CONS (QCDR |u|) |d|))))))))) + +(DEFUN |POLYCAT-;coefficient;SVarSetNniS;6| (|p| |v| |n| $) + (SPADCALL (SPADCALL |p| |v| (QREFELT $ 48)) |n| (QREFELT $ 50))) + +(DEFUN |POLYCAT-;coefficient;SLLS;7| (|p| |lv| |ln| $) + (COND + ((NULL |lv|) + (COND + ((NULL |ln|) |p|) + ('T (|error| "mismatched lists in coefficient")))) + ((NULL |ln|) (|error| "mismatched lists in coefficient")) + ('T + (SPADCALL + (SPADCALL (SPADCALL |p| (|SPADfirst| |lv|) (QREFELT $ 48)) + (|SPADfirst| |ln|) (QREFELT $ 50)) + (CDR |lv|) (CDR |ln|) (QREFELT $ 53))))) + +(DEFUN |POLYCAT-;monomial;SLLS;8| (|p| |lv| |ln| $) + (COND + ((NULL |lv|) + (COND + ((NULL |ln|) |p|) + ('T (|error| "mismatched lists in monomial")))) + ((NULL |ln|) (|error| "mismatched lists in monomial")) + ('T + (SPADCALL + (SPADCALL |p| (|SPADfirst| |lv|) (|SPADfirst| |ln|) + (QREFELT $ 38)) + (CDR |lv|) (CDR |ln|) (QREFELT $ 55))))) + +(DEFUN |POLYCAT-;retract;SVarSet;9| (|p| $) + (PROG (#0=#:G1472 |q|) + (RETURN + (SEQ (LETT |q| + (PROG2 (LETT #0# (SPADCALL |p| (QREFELT $ 43)) + |POLYCAT-;retract;SVarSet;9|) + (QCDR #0#) + (|check-union| (QEQCAR #0# 0) (QREFELT $ 9) #0#)) + |POLYCAT-;retract;SVarSet;9|) + (EXIT (COND + ((SPADCALL (SPADCALL |q| (QREFELT $ 57)) |p| + (QREFELT $ 24)) + |q|) + ('T (|error| "Polynomial is not a single variable")))))))) + +(DEFUN |POLYCAT-;retractIfCan;SU;10| (|p| $) + (PROG (|q| #0=#:G1480) + (RETURN + (SEQ (EXIT (SEQ (SEQ (LETT |q| (SPADCALL |p| (QREFELT $ 43)) + |POLYCAT-;retractIfCan;SU;10|) + (EXIT (COND + ((QEQCAR |q| 0) + (COND + ((SPADCALL + (SPADCALL (QCDR |q|) + (QREFELT $ 57)) + |p| (QREFELT $ 24)) + (PROGN + (LETT #0# |q| + |POLYCAT-;retractIfCan;SU;10|) + (GO #0#)))))))) + (EXIT (CONS 1 "failed")))) + #0# (EXIT #0#))))) + +(DEFUN |POLYCAT-;mkPrim| (|p| $) + (SPADCALL (|spadConstant| $ 35) (SPADCALL |p| (QREFELT $ 60)) + (QREFELT $ 61))) + +(DEFUN |POLYCAT-;primitiveMonomials;SL;12| (|p| $) + (PROG (#0=#:G1485 |q| #1=#:G1486) + (RETURN + (SEQ (PROGN + (LETT #0# NIL |POLYCAT-;primitiveMonomials;SL;12|) + (SEQ (LETT |q| NIL |POLYCAT-;primitiveMonomials;SL;12|) + (LETT #1# (SPADCALL |p| (QREFELT $ 29)) + |POLYCAT-;primitiveMonomials;SL;12|) G190 - (COND - ((OR - (ATOM #2#) - (PROGN - (LETT |r| (CAR #2#) |POLYCAT-;reducedSystem;MM;20|) - NIL)) - (GO G191))) - (SEQ - (EXIT - (LETT #1# - (CONS (|POLYCAT-;allMonoms| |r| |$|) #1#) - |POLYCAT-;reducedSystem;MM;20|))) - (LETT #2# (CDR #2#) |POLYCAT-;reducedSystem;MM;20|) - (GO G190) - G191 - (EXIT (NREVERSE0 #1#)))) - (QREFELT |$| 79)) - (QREFELT |$| 80)) - |POLYCAT-;reducedSystem;MM;20|) - (LETT |d| - (PROGN - (LETT #3# NIL |POLYCAT-;reducedSystem;MM;20|) - (SEQ - (LETT |bj| NIL |POLYCAT-;reducedSystem;MM;20|) - (LETT #4# |b| |POLYCAT-;reducedSystem;MM;20|) - G190 - (COND - ((OR - (ATOM #4#) - (PROGN - (LETT |bj| (CAR #4#) |POLYCAT-;reducedSystem;MM;20|) - NIL)) - (GO G191))) - (SEQ - (EXIT - (LETT #3# - (CONS (SPADCALL |bj| (QREFELT |$| 59)) #3#) - |POLYCAT-;reducedSystem;MM;20|))) - (LETT #4# (CDR #4#) |POLYCAT-;reducedSystem;MM;20|) - (GO G190) - G191 - (EXIT (NREVERSE0 #3#)))) - |POLYCAT-;reducedSystem;MM;20|) - (LETT |mm| - (|POLYCAT-;eq2R| (|SPADfirst| |l|) |d| |$|) - |POLYCAT-;reducedSystem;MM;20|) - (LETT |l| (CDR |l|) |POLYCAT-;reducedSystem;MM;20|) - (SEQ G190 - (COND - ((NULL (COND ((NULL |l|) (QUOTE NIL)) ((QUOTE T) (QUOTE T)))) - (GO G191))) - (SEQ - (LETT |mm| - (SPADCALL |mm| - (|POLYCAT-;eq2R| (|SPADfirst| |l|) |d| |$|) (QREFELT |$| 93)) - |POLYCAT-;reducedSystem;MM;20|) - (EXIT (LETT |l| (CDR |l|) |POLYCAT-;reducedSystem;MM;20|))) - NIL - (GO G190) - G191 - (EXIT NIL)) - (EXIT |mm|))))) - -(DEFUN |POLYCAT-;reducedSystem;MVR;21| (|m| |v| |$|) - (PROG (#1=#:G101994 |s| #2=#:G101995 |b| #3=#:G101992 |bj| #4=#:G101993 - |d| |n| |mm| |w| |l| |r|) - (RETURN - (SEQ - (LETT |l| (SPADCALL |m| (QREFELT |$| 92)) |POLYCAT-;reducedSystem;MVR;21|) - (LETT |r| (SPADCALL |v| (QREFELT |$| 97)) |POLYCAT-;reducedSystem;MVR;21|) - (LETT |b| - (SPADCALL - (SPADCALL - (|POLYCAT-;allMonoms| |r| |$|) - (SPADCALL - (PROGN - (LETT #1# NIL |POLYCAT-;reducedSystem;MVR;21|) - (SEQ - (LETT |s| NIL |POLYCAT-;reducedSystem;MVR;21|) - (LETT #2# |l| |POLYCAT-;reducedSystem;MVR;21|) - G190 - (COND - ((OR - (ATOM #2#) - (PROGN - (LETT |s| (CAR #2#) |POLYCAT-;reducedSystem;MVR;21|) + (COND + ((OR (ATOM #1#) + (PROGN + (LETT |q| (CAR #1#) + |POLYCAT-;primitiveMonomials;SL;12|) NIL)) - (GO G191))) - (SEQ - (EXIT - (LETT #1# - (CONS (|POLYCAT-;allMonoms| |s| |$|) #1#) - |POLYCAT-;reducedSystem;MVR;21|))) - (LETT #2# (CDR #2#) |POLYCAT-;reducedSystem;MVR;21|) - (GO G190) - G191 - (EXIT (NREVERSE0 #1#)))) - (QREFELT |$| 79)) - (QREFELT |$| 98)) - (QREFELT |$| 80)) - |POLYCAT-;reducedSystem;MVR;21|) - (LETT |d| - (PROGN - (LETT #3# NIL |POLYCAT-;reducedSystem;MVR;21|) - (SEQ - (LETT |bj| NIL |POLYCAT-;reducedSystem;MVR;21|) - (LETT #4# |b| |POLYCAT-;reducedSystem;MVR;21|) - G190 - (COND - ((OR - (ATOM #4#) - (PROGN - (LETT |bj| (CAR #4#) |POLYCAT-;reducedSystem;MVR;21|) - NIL)) - (GO G191))) - (SEQ - (EXIT - (LETT #3# - (CONS (SPADCALL |bj| (QREFELT |$| 59)) #3#) - |POLYCAT-;reducedSystem;MVR;21|))) - (LETT #4# (CDR #4#) |POLYCAT-;reducedSystem;MVR;21|) - (GO G190) - G191 - (EXIT (NREVERSE0 #3#)))) - |POLYCAT-;reducedSystem;MVR;21|) - (LETT |n| (LENGTH |d|) |POLYCAT-;reducedSystem;MVR;21|) - (LETT |mm| - (|POLYCAT-;eq2R| (|SPADfirst| |l|) |d| |$|) - |POLYCAT-;reducedSystem;MVR;21|) - (LETT |w| - (|POLYCAT-;P2R| (|SPADfirst| |r|) |d| |n| |$|) - |POLYCAT-;reducedSystem;MVR;21|) - (LETT |l| (CDR |l|) |POLYCAT-;reducedSystem;MVR;21|) - (LETT |r| (CDR |r|) |POLYCAT-;reducedSystem;MVR;21|) - (SEQ G190 - (COND - ((NULL (COND ((NULL |l|) (QUOTE NIL)) ((QUOTE T) (QUOTE T)))) - (GO G191))) - (SEQ - (LETT |mm| - (SPADCALL |mm| - (|POLYCAT-;eq2R| (|SPADfirst| |l|) |d| |$|) - (QREFELT |$| 93)) - |POLYCAT-;reducedSystem;MVR;21|) - (LETT |w| - (SPADCALL |w| - (|POLYCAT-;P2R| (|SPADfirst| |r|) |d| |n| |$|) - (QREFELT |$| 99)) - |POLYCAT-;reducedSystem;MVR;21|) - (LETT |l| (CDR |l|) |POLYCAT-;reducedSystem;MVR;21|) - (EXIT (LETT |r| (CDR |r|) |POLYCAT-;reducedSystem;MVR;21|))) - NIL - (GO G190) - G191 - (EXIT NIL)) - (EXIT (CONS |mm| |w|)))))) - -(DEFUN |POLYCAT-;gcdPolynomial;3Sup;22| (|pp| |qq| |$|) - (SPADCALL |pp| |qq| (QREFELT |$| 104))) - -(DEFUN |POLYCAT-;solveLinearPolynomialEquation;LSupU;23| (|lpp| |pp| |$|) - (SPADCALL |lpp| |pp| (QREFELT |$| 109))) - -(DEFUN |POLYCAT-;factorPolynomial;SupF;24| (|pp| |$|) - (SPADCALL |pp| (QREFELT |$| 114))) - -(DEFUN |POLYCAT-;factorSquareFreePolynomial;SupF;25| (|pp| |$|) - (SPADCALL |pp| (QREFELT |$| 117))) - -(DEFUN |POLYCAT-;factor;SF;26| (|p| |$|) - (PROG (|v| |ansR| #1=#:G102039 |w| #2=#:G102040 |up| |ansSUP| - #3=#:G102037 |ww| #4=#:G102038) - (RETURN - (SEQ - (LETT |v| (SPADCALL |p| (QREFELT |$| 42)) |POLYCAT-;factor;SF;26|) - (EXIT - (COND - ((QEQCAR |v| 1) - (SEQ - (LETT |ansR| - (SPADCALL (SPADCALL |p| (QREFELT |$| 38)) (QREFELT |$| 120)) - |POLYCAT-;factor;SF;26|) - (EXIT - (SPADCALL - (SPADCALL - (SPADCALL |ansR| (QREFELT |$| 122)) - (QREFELT |$| 40)) - (PROGN - (LETT #1# NIL |POLYCAT-;factor;SF;26|) - (SEQ - (LETT |w| NIL |POLYCAT-;factor;SF;26|) - (LETT #2# - (SPADCALL |ansR| (QREFELT |$| 126)) - |POLYCAT-;factor;SF;26|) + (GO G191))) + (SEQ (EXIT (LETT #0# + (CONS (|POLYCAT-;mkPrim| |q| $) #0#) + |POLYCAT-;primitiveMonomials;SL;12|))) + (LETT #1# (CDR #1#) + |POLYCAT-;primitiveMonomials;SL;12|) + (GO G190) G191 (EXIT (NREVERSE0 #0#)))))))) + +(DEFUN |POLYCAT-;totalDegree;SNni;13| (|p| $) + (PROG (#0=#:G1488 |d| |u|) + (RETURN + (SEQ (COND + ((SPADCALL |p| (QREFELT $ 63)) 0) + ('T + (SEQ (LETT |u| + (SPADCALL |p| + (PROG2 (LETT #0# + (SPADCALL |p| (QREFELT $ 43)) + |POLYCAT-;totalDegree;SNni;13|) + (QCDR #0#) + (|check-union| (QEQCAR #0# 0) + (QREFELT $ 9) #0#)) + (QREFELT $ 48)) + |POLYCAT-;totalDegree;SNni;13|) + (LETT |d| 0 |POLYCAT-;totalDegree;SNni;13|) + (SEQ G190 + (COND + ((NULL (SPADCALL + (SPADCALL |u| + (|spadConstant| $ 64) + (QREFELT $ 65)) + (QREFELT $ 25))) + (GO G191))) + (SEQ (LETT |d| + (MAX |d| + (+ (SPADCALL |u| (QREFELT $ 66)) + (SPADCALL + (SPADCALL |u| (QREFELT $ 67)) + (QREFELT $ 68)))) + |POLYCAT-;totalDegree;SNni;13|) + (EXIT (LETT |u| + (SPADCALL |u| (QREFELT $ 69)) + |POLYCAT-;totalDegree;SNni;13|))) + NIL (GO G190) G191 (EXIT NIL)) + (EXIT |d|)))))))) + +(DEFUN |POLYCAT-;totalDegree;SLNni;14| (|p| |lv| $) + (PROG (#0=#:G1496 |v| |w| |d| |u|) + (RETURN + (SEQ (COND + ((SPADCALL |p| (QREFELT $ 63)) 0) + ('T + (SEQ (LETT |u| + (SPADCALL |p| + (LETT |v| + (PROG2 + (LETT #0# + (SPADCALL |p| (QREFELT $ 43)) + |POLYCAT-;totalDegree;SLNni;14|) + (QCDR #0#) + (|check-union| (QEQCAR #0# 0) + (QREFELT $ 9) #0#)) + |POLYCAT-;totalDegree;SLNni;14|) + (QREFELT $ 48)) + |POLYCAT-;totalDegree;SLNni;14|) + (LETT |d| 0 |POLYCAT-;totalDegree;SLNni;14|) + (LETT |w| 0 |POLYCAT-;totalDegree;SLNni;14|) + (COND + ((SPADCALL |v| |lv| (QREFELT $ 71)) + (LETT |w| 1 |POLYCAT-;totalDegree;SLNni;14|))) + (SEQ G190 + (COND + ((NULL (SPADCALL + (SPADCALL |u| + (|spadConstant| $ 64) + (QREFELT $ 65)) + (QREFELT $ 25))) + (GO G191))) + (SEQ (LETT |d| + (MAX |d| + (+ + (* |w| + (SPADCALL |u| (QREFELT $ 66))) + (SPADCALL + (SPADCALL |u| (QREFELT $ 67)) + |lv| (QREFELT $ 72)))) + |POLYCAT-;totalDegree;SLNni;14|) + (EXIT (LETT |u| + (SPADCALL |u| (QREFELT $ 69)) + |POLYCAT-;totalDegree;SLNni;14|))) + NIL (GO G190) G191 (EXIT NIL)) + (EXIT |d|)))))))) + +(DEFUN |POLYCAT-;resultant;2SVarSetS;15| (|p1| |p2| |mvar| $) + (SPADCALL (SPADCALL |p1| |mvar| (QREFELT $ 48)) + (SPADCALL |p2| |mvar| (QREFELT $ 48)) (QREFELT $ 74))) + +(DEFUN |POLYCAT-;discriminant;SVarSetS;16| (|p| |var| $) + (SPADCALL (SPADCALL |p| |var| (QREFELT $ 48)) (QREFELT $ 76))) + +(DEFUN |POLYCAT-;allMonoms| (|l| $) + (PROG (#0=#:G1508 |p| #1=#:G1509) + (RETURN + (SEQ (SPADCALL + (SPADCALL + (PROGN + (LETT #0# NIL |POLYCAT-;allMonoms|) + (SEQ (LETT |p| NIL |POLYCAT-;allMonoms|) + (LETT #1# |l| |POLYCAT-;allMonoms|) G190 + (COND + ((OR (ATOM #1#) + (PROGN + (LETT |p| (CAR #1#) + |POLYCAT-;allMonoms|) + NIL)) + (GO G191))) + (SEQ (EXIT (LETT #0# + (CONS + (SPADCALL |p| (QREFELT $ 78)) + #0#) + |POLYCAT-;allMonoms|))) + (LETT #1# (CDR #1#) |POLYCAT-;allMonoms|) + (GO G190) G191 (EXIT (NREVERSE0 #0#)))) + (QREFELT $ 80)) + (QREFELT $ 81)))))) + +(DEFUN |POLYCAT-;P2R| (|p| |b| |n| $) + (PROG (|w| |bj| #0=#:G1514 |i| #1=#:G1513) + (RETURN + (SEQ (LETT |w| + (SPADCALL |n| (|spadConstant| $ 22) (QREFELT $ 83)) + |POLYCAT-;P2R|) + (SEQ (LETT |bj| NIL |POLYCAT-;P2R|) + (LETT #0# |b| |POLYCAT-;P2R|) + (LETT |i| (SPADCALL |w| (QREFELT $ 85)) |POLYCAT-;P2R|) + (LETT #1# (QVSIZE |w|) |POLYCAT-;P2R|) G190 + (COND + ((OR (> |i| #1#) (ATOM #0#) + (PROGN + (LETT |bj| (CAR #0#) |POLYCAT-;P2R|) + NIL)) + (GO G191))) + (SEQ (EXIT (SPADCALL |w| |i| + (SPADCALL |p| |bj| (QREFELT $ 86)) + (QREFELT $ 87)))) + (LETT |i| + (PROG1 (+ |i| 1) + (LETT #0# (CDR #0#) |POLYCAT-;P2R|)) + |POLYCAT-;P2R|) + (GO G190) G191 (EXIT NIL)) + (EXIT |w|))))) + +(DEFUN |POLYCAT-;eq2R| (|l| |b| $) + (PROG (#0=#:G1518 |bj| #1=#:G1519 #2=#:G1520 |p| #3=#:G1521) + (RETURN + (SEQ (SPADCALL + (PROGN + (LETT #0# NIL |POLYCAT-;eq2R|) + (SEQ (LETT |bj| NIL |POLYCAT-;eq2R|) + (LETT #1# |b| |POLYCAT-;eq2R|) G190 + (COND + ((OR (ATOM #1#) + (PROGN + (LETT |bj| (CAR #1#) |POLYCAT-;eq2R|) + NIL)) + (GO G191))) + (SEQ (EXIT (LETT #0# + (CONS + (PROGN + (LETT #2# NIL + |POLYCAT-;eq2R|) + (SEQ + (LETT |p| NIL + |POLYCAT-;eq2R|) + (LETT #3# |l| + |POLYCAT-;eq2R|) + G190 + (COND + ((OR (ATOM #3#) + (PROGN + (LETT |p| (CAR #3#) + |POLYCAT-;eq2R|) + NIL)) + (GO G191))) + (SEQ + (EXIT + (LETT #2# + (CONS + (SPADCALL |p| |bj| + (QREFELT $ 86)) + #2#) + |POLYCAT-;eq2R|))) + (LETT #3# (CDR #3#) + |POLYCAT-;eq2R|) + (GO G190) G191 + (EXIT (NREVERSE0 #2#)))) + #0#) + |POLYCAT-;eq2R|))) + (LETT #1# (CDR #1#) |POLYCAT-;eq2R|) (GO G190) + G191 (EXIT (NREVERSE0 #0#)))) + (QREFELT $ 90)))))) + +(DEFUN |POLYCAT-;reducedSystem;MM;20| (|m| $) + (PROG (#0=#:G1530 |r| #1=#:G1531 |b| #2=#:G1532 |bj| #3=#:G1533 |d| + |mm| |l|) + (RETURN + (SEQ (LETT |l| (SPADCALL |m| (QREFELT $ 93)) + |POLYCAT-;reducedSystem;MM;20|) + (LETT |b| + (SPADCALL + (SPADCALL + (PROGN + (LETT #0# NIL + |POLYCAT-;reducedSystem;MM;20|) + (SEQ (LETT |r| NIL + |POLYCAT-;reducedSystem;MM;20|) + (LETT #1# |l| + |POLYCAT-;reducedSystem;MM;20|) + G190 + (COND + ((OR (ATOM #1#) + (PROGN + (LETT |r| (CAR #1#) + |POLYCAT-;reducedSystem;MM;20|) + NIL)) + (GO G191))) + (SEQ (EXIT + (LETT #0# + (CONS + (|POLYCAT-;allMonoms| |r| $) + #0#) + |POLYCAT-;reducedSystem;MM;20|))) + (LETT #1# (CDR #1#) + |POLYCAT-;reducedSystem;MM;20|) + (GO G190) G191 (EXIT (NREVERSE0 #0#)))) + (QREFELT $ 80)) + (QREFELT $ 81)) + |POLYCAT-;reducedSystem;MM;20|) + (LETT |d| + (PROGN + (LETT #2# NIL |POLYCAT-;reducedSystem;MM;20|) + (SEQ (LETT |bj| NIL |POLYCAT-;reducedSystem;MM;20|) + (LETT #3# |b| |POLYCAT-;reducedSystem;MM;20|) G190 - (COND - ((OR - (ATOM #2#) - (PROGN - (LETT |w| (CAR #2#) |POLYCAT-;factor;SF;26|) - NIL)) + (COND + ((OR (ATOM #3#) + (PROGN + (LETT |bj| (CAR #3#) + |POLYCAT-;reducedSystem;MM;20|) + NIL)) (GO G191))) - (SEQ - (EXIT - (LETT #1# - (CONS - (VECTOR - (QVELT |w| 0) - (SPADCALL (QVELT |w| 1) (QREFELT |$| 40)) - (QVELT |w| 2)) - #1#) - |POLYCAT-;factor;SF;26|))) - (LETT #2# (CDR #2#) |POLYCAT-;factor;SF;26|) - (GO G190) - G191 - (EXIT (NREVERSE0 #1#)))) - (QREFELT |$| 130))))) - ((QUOTE T) - (SEQ - (LETT |up| - (SPADCALL |p| (QCDR |v|) (QREFELT |$| 47)) - |POLYCAT-;factor;SF;26|) - (LETT |ansSUP| - (SPADCALL |up| (QREFELT |$| 114)) - |POLYCAT-;factor;SF;26|) - (EXIT - (SPADCALL - (SPADCALL - (SPADCALL |ansSUP| (QREFELT |$| 131)) - (QCDR |v|) - (QREFELT |$| 132)) - (PROGN - (LETT #3# NIL |POLYCAT-;factor;SF;26|) - (SEQ - (LETT |ww| NIL |POLYCAT-;factor;SF;26|) - (LETT #4# - (SPADCALL |ansSUP| (QREFELT |$| 135)) - |POLYCAT-;factor;SF;26|) + (SEQ (EXIT (LETT #2# + (CONS + (SPADCALL |bj| (QREFELT $ 60)) + #2#) + |POLYCAT-;reducedSystem;MM;20|))) + (LETT #3# (CDR #3#) + |POLYCAT-;reducedSystem;MM;20|) + (GO G190) G191 (EXIT (NREVERSE0 #2#)))) + |POLYCAT-;reducedSystem;MM;20|) + (LETT |mm| (|POLYCAT-;eq2R| (|SPADfirst| |l|) |d| $) + |POLYCAT-;reducedSystem;MM;20|) + (LETT |l| (CDR |l|) |POLYCAT-;reducedSystem;MM;20|) + (SEQ G190 + (COND + ((NULL (SPADCALL (NULL |l|) (QREFELT $ 25))) + (GO G191))) + (SEQ (LETT |mm| + (SPADCALL |mm| + (|POLYCAT-;eq2R| (|SPADfirst| |l|) |d| + $) + (QREFELT $ 94)) + |POLYCAT-;reducedSystem;MM;20|) + (EXIT (LETT |l| (CDR |l|) + |POLYCAT-;reducedSystem;MM;20|))) + NIL (GO G190) G191 (EXIT NIL)) + (EXIT |mm|))))) + +(DEFUN |POLYCAT-;reducedSystem;MVR;21| (|m| |v| $) + (PROG (#0=#:G1544 |s| #1=#:G1545 |b| #2=#:G1546 |bj| #3=#:G1547 |d| + |n| |mm| |w| |l| |r|) + (RETURN + (SEQ (LETT |l| (SPADCALL |m| (QREFELT $ 93)) + |POLYCAT-;reducedSystem;MVR;21|) + (LETT |r| (SPADCALL |v| (QREFELT $ 98)) + |POLYCAT-;reducedSystem;MVR;21|) + (LETT |b| + (SPADCALL + (SPADCALL (|POLYCAT-;allMonoms| |r| $) + (SPADCALL + (PROGN + (LETT #0# NIL + |POLYCAT-;reducedSystem;MVR;21|) + (SEQ (LETT |s| NIL + |POLYCAT-;reducedSystem;MVR;21|) + (LETT #1# |l| + |POLYCAT-;reducedSystem;MVR;21|) + G190 + (COND + ((OR (ATOM #1#) + (PROGN + (LETT |s| (CAR #1#) + |POLYCAT-;reducedSystem;MVR;21|) + NIL)) + (GO G191))) + (SEQ + (EXIT + (LETT #0# + (CONS + (|POLYCAT-;allMonoms| |s| $) + #0#) + |POLYCAT-;reducedSystem;MVR;21|))) + (LETT #1# (CDR #1#) + |POLYCAT-;reducedSystem;MVR;21|) + (GO G190) G191 + (EXIT (NREVERSE0 #0#)))) + (QREFELT $ 80)) + (QREFELT $ 99)) + (QREFELT $ 81)) + |POLYCAT-;reducedSystem;MVR;21|) + (LETT |d| + (PROGN + (LETT #2# NIL |POLYCAT-;reducedSystem;MVR;21|) + (SEQ (LETT |bj| NIL |POLYCAT-;reducedSystem;MVR;21|) + (LETT #3# |b| |POLYCAT-;reducedSystem;MVR;21|) G190 (COND - ((OR - (ATOM #4#) - (PROGN - (LETT |ww| (CAR #4#) |POLYCAT-;factor;SF;26|) - NIL)) - (GO G191))) - (SEQ - (EXIT - (LETT #3# - (CONS - (VECTOR - (QVELT |ww| 0) - (SPADCALL - (QVELT |ww| 1) - (QCDR |v|) - (QREFELT |$| 132)) - (QVELT |ww| 2)) - #3#) - |POLYCAT-;factor;SF;26|))) - (LETT #4# (CDR #4#) |POLYCAT-;factor;SF;26|) - (GO G190) - G191 - (EXIT (NREVERSE0 #3#)))) - (QREFELT |$| 130))))))))))) - -(DEFUN |POLYCAT-;conditionP;MU;27| (|mat| |$|) - (PROG (|ll| #1=#:G102087 |z| #2=#:G102088 |ch| |l| #3=#:G102079 - #4=#:G102086 #5=#:G102047 #6=#:G102045 #7=#:G102046 #8=#:G102080 - |vars| |degs| #9=#:G102084 |d| #10=#:G102085 |nd| #11=#:G102074 - #12=#:G102054 |deg1| |redmons| #13=#:G102081 |v| #14=#:G102083 |u| - #15=#:G102082 |llR| |monslist| |ans| #16=#:G102075 #17=#:G102076 - |mons| #18=#:G102077 |m| #19=#:G102078 |i| #20=#:G102070 - #21=#:G102068 #22=#:G102069) - (RETURN - (SEQ - (EXIT - (SEQ - (LETT |ll| - (SPADCALL (SPADCALL |mat| (QREFELT |$| 137)) (QREFELT |$| 92)) - |POLYCAT-;conditionP;MU;27|) - (LETT |llR| - (PROGN (LETT #1# NIL |POLYCAT-;conditionP;MU;27|) - (SEQ - (LETT |z| NIL |POLYCAT-;conditionP;MU;27|) - (LETT #2# (|SPADfirst| |ll|) |POLYCAT-;conditionP;MU;27|) - G190 - (COND - ((OR - (ATOM #2#) - (PROGN - (LETT |z| (CAR #2#) |POLYCAT-;conditionP;MU;27|) - NIL)) - (GO G191))) - (SEQ - (EXIT - (LETT #1# (CONS NIL #1#) |POLYCAT-;conditionP;MU;27|))) - (LETT #2# (CDR #2#) |POLYCAT-;conditionP;MU;27|) - (GO G190) - G191 - (EXIT (NREVERSE0 #1#)))) - |POLYCAT-;conditionP;MU;27|) - (LETT |monslist| NIL |POLYCAT-;conditionP;MU;27|) - (LETT |ch| - (SPADCALL (QREFELT |$| 138)) - |POLYCAT-;conditionP;MU;27|) - (SEQ - (LETT |l| NIL |POLYCAT-;conditionP;MU;27|) - (LETT #3# |ll| |POLYCAT-;conditionP;MU;27|) - G190 - (COND - ((OR - (ATOM #3#) - (PROGN - (LETT |l| (CAR #3#) |POLYCAT-;conditionP;MU;27|) - NIL)) - (GO G191))) - (SEQ - (LETT |mons| - (PROGN - (LETT #7# NIL |POLYCAT-;conditionP;MU;27|) - (SEQ - (LETT |u| NIL |POLYCAT-;conditionP;MU;27|) - (LETT #4# |l| |POLYCAT-;conditionP;MU;27|) - G190 - (COND - ((OR - (ATOM #4#) - (PROGN - (LETT |u| (CAR #4#) |POLYCAT-;conditionP;MU;27|) - NIL)) - (GO G191))) - (SEQ - (EXIT - (PROGN - (LETT #5# - (SPADCALL |u| (QREFELT |$| 77)) - |POLYCAT-;conditionP;MU;27|) - (COND - (#7# - (LETT #6# - (SPADCALL #6# #5# (QREFELT |$| 139)) - |POLYCAT-;conditionP;MU;27|)) - ((QUOTE T) - (PROGN - (LETT #6# #5# |POLYCAT-;conditionP;MU;27|) - (LETT #7# - (QUOTE T) - |POLYCAT-;conditionP;MU;27|))))))) - (LETT #4# (CDR #4#) |POLYCAT-;conditionP;MU;27|) - (GO G190) - G191 - (EXIT NIL)) - (COND - (#7# #6#) - ((QUOTE T) (|IdentityError| (QUOTE |setUnion|))))) - |POLYCAT-;conditionP;MU;27|) - (LETT |redmons| NIL |POLYCAT-;conditionP;MU;27|) - (SEQ - (LETT |m| NIL |POLYCAT-;conditionP;MU;27|) - (LETT #8# |mons| |POLYCAT-;conditionP;MU;27|) - G190 - (COND - ((OR - (ATOM #8#) - (PROGN - (LETT |m| (CAR #8#) |POLYCAT-;conditionP;MU;27|) - NIL)) - (GO G191))) - (SEQ - (LETT |vars| - (SPADCALL |m| (QREFELT |$| 31)) - |POLYCAT-;conditionP;MU;27|) - (LETT |degs| - (SPADCALL |m| |vars| (QREFELT |$| 140)) - |POLYCAT-;conditionP;MU;27|) - (LETT |deg1| - (PROGN - (LETT #9# NIL |POLYCAT-;conditionP;MU;27|) - (SEQ - (LETT |d| NIL |POLYCAT-;conditionP;MU;27|) - (LETT #10# |degs| |POLYCAT-;conditionP;MU;27|) - G190 - (COND - ((OR - (ATOM #10#) - (PROGN - (LETT |d| - (CAR #10#) - |POLYCAT-;conditionP;MU;27|) + ((OR (ATOM #3#) + (PROGN + (LETT |bj| (CAR #3#) + |POLYCAT-;reducedSystem;MVR;21|) NIL)) - (GO G191))) - (SEQ - (EXIT - (LETT #9# - (CONS - (SEQ - (LETT |nd| - (SPADCALL |d| |ch| (QREFELT |$| 142)) - |POLYCAT-;conditionP;MU;27|) - (EXIT - (COND - ((QEQCAR |nd| 1) - (PROGN - (LETT #11# - (CONS 1 "failed") - |POLYCAT-;conditionP;MU;27|) - (GO #11#))) - ((QUOTE T) - (PROG1 - (LETT #12# - (QCDR |nd|) - |POLYCAT-;conditionP;MU;27|) - (|check-subtype| - (|>=| #12# 0) - (QUOTE (|NonNegativeInteger|)) - #12#)))))) - #9#) - |POLYCAT-;conditionP;MU;27|))) - (LETT #10# (CDR #10#) |POLYCAT-;conditionP;MU;27|) - (GO G190) - G191 - (EXIT (NREVERSE0 #9#)))) - |POLYCAT-;conditionP;MU;27|) - (LETT |redmons| - (CONS - (SPADCALL - (|spadConstant| |$| 33) - |vars| - |deg1| - (QREFELT |$| 54)) - |redmons|) - |POLYCAT-;conditionP;MU;27|) - (EXIT - (LETT |llR| - (PROGN - (LETT #13# NIL |POLYCAT-;conditionP;MU;27|) - (SEQ - (LETT |v| NIL |POLYCAT-;conditionP;MU;27|) - (LETT #14# |llR| |POLYCAT-;conditionP;MU;27|) - (LETT |u| NIL |POLYCAT-;conditionP;MU;27|) - (LETT #15# |l| |POLYCAT-;conditionP;MU;27|) - G190 - (COND - ((OR - (ATOM #15#) - (PROGN - (LETT |u| - (CAR #15#) + (GO G191))) + (SEQ (EXIT (LETT #2# + (CONS + (SPADCALL |bj| (QREFELT $ 60)) + #2#) + |POLYCAT-;reducedSystem;MVR;21|))) + (LETT #3# (CDR #3#) + |POLYCAT-;reducedSystem;MVR;21|) + (GO G190) G191 (EXIT (NREVERSE0 #2#)))) + |POLYCAT-;reducedSystem;MVR;21|) + (LETT |n| (LENGTH |d|) |POLYCAT-;reducedSystem;MVR;21|) + (LETT |mm| (|POLYCAT-;eq2R| (|SPADfirst| |l|) |d| $) + |POLYCAT-;reducedSystem;MVR;21|) + (LETT |w| (|POLYCAT-;P2R| (|SPADfirst| |r|) |d| |n| $) + |POLYCAT-;reducedSystem;MVR;21|) + (LETT |l| (CDR |l|) |POLYCAT-;reducedSystem;MVR;21|) + (LETT |r| (CDR |r|) |POLYCAT-;reducedSystem;MVR;21|) + (SEQ G190 + (COND + ((NULL (SPADCALL (NULL |l|) (QREFELT $ 25))) + (GO G191))) + (SEQ (LETT |mm| + (SPADCALL |mm| + (|POLYCAT-;eq2R| (|SPADfirst| |l|) |d| + $) + (QREFELT $ 94)) + |POLYCAT-;reducedSystem;MVR;21|) + (LETT |w| + (SPADCALL |w| + (|POLYCAT-;P2R| (|SPADfirst| |r|) |d| + |n| $) + (QREFELT $ 100)) + |POLYCAT-;reducedSystem;MVR;21|) + (LETT |l| (CDR |l|) + |POLYCAT-;reducedSystem;MVR;21|) + (EXIT (LETT |r| (CDR |r|) + |POLYCAT-;reducedSystem;MVR;21|))) + NIL (GO G190) G191 (EXIT NIL)) + (EXIT (CONS |mm| |w|)))))) + +(DEFUN |POLYCAT-;gcdPolynomial;3Sup;22| (|pp| |qq| $) + (SPADCALL |pp| |qq| (QREFELT $ 105))) + +(DEFUN |POLYCAT-;solveLinearPolynomialEquation;LSupU;23| (|lpp| |pp| $) + (SPADCALL |lpp| |pp| (QREFELT $ 110))) + +(DEFUN |POLYCAT-;factorPolynomial;SupF;24| (|pp| $) + (SPADCALL |pp| (QREFELT $ 115))) + +(DEFUN |POLYCAT-;factorSquareFreePolynomial;SupF;25| (|pp| $) + (SPADCALL |pp| (QREFELT $ 118))) + +(DEFUN |POLYCAT-;factor;SF;26| (|p| $) + (PROG (|v| |ansR| #0=#:G1589 |w| #1=#:G1590 |up| |ansSUP| #2=#:G1591 + |ww| #3=#:G1592) + (RETURN + (SEQ (LETT |v| (SPADCALL |p| (QREFELT $ 43)) + |POLYCAT-;factor;SF;26|) + (EXIT (COND + ((QEQCAR |v| 1) + (SEQ (LETT |ansR| + (SPADCALL (SPADCALL |p| (QREFELT $ 39)) + (QREFELT $ 121)) + |POLYCAT-;factor;SF;26|) + (EXIT (SPADCALL + (SPADCALL + (SPADCALL |ansR| (QREFELT $ 123)) + (QREFELT $ 41)) + (PROGN + (LETT #0# NIL + |POLYCAT-;factor;SF;26|) + (SEQ + (LETT |w| NIL + |POLYCAT-;factor;SF;26|) + (LETT #1# + (SPADCALL |ansR| + (QREFELT $ 127)) + |POLYCAT-;factor;SF;26|) + G190 + (COND + ((OR (ATOM #1#) + (PROGN + (LETT |w| (CAR #1#) + |POLYCAT-;factor;SF;26|) + NIL)) + (GO G191))) + (SEQ + (EXIT + (LETT #0# + (CONS + (VECTOR (QVELT |w| 0) + (SPADCALL (QVELT |w| 1) + (QREFELT $ 41)) + (QVELT |w| 2)) + #0#) + |POLYCAT-;factor;SF;26|))) + (LETT #1# (CDR #1#) + |POLYCAT-;factor;SF;26|) + (GO G190) G191 + (EXIT (NREVERSE0 #0#)))) + (QREFELT $ 131))))) + ('T + (SEQ (LETT |up| + (SPADCALL |p| (QCDR |v|) (QREFELT $ 48)) + |POLYCAT-;factor;SF;26|) + (LETT |ansSUP| (SPADCALL |up| (QREFELT $ 115)) + |POLYCAT-;factor;SF;26|) + (EXIT (SPADCALL + (SPADCALL + (SPADCALL |ansSUP| (QREFELT $ 132)) + (QCDR |v|) (QREFELT $ 133)) + (PROGN + (LETT #2# NIL + |POLYCAT-;factor;SF;26|) + (SEQ + (LETT |ww| NIL + |POLYCAT-;factor;SF;26|) + (LETT #3# + (SPADCALL |ansSUP| + (QREFELT $ 136)) + |POLYCAT-;factor;SF;26|) + G190 + (COND + ((OR (ATOM #3#) + (PROGN + (LETT |ww| (CAR #3#) + |POLYCAT-;factor;SF;26|) + NIL)) + (GO G191))) + (SEQ + (EXIT + (LETT #2# + (CONS + (VECTOR (QVELT |ww| 0) + (SPADCALL (QVELT |ww| 1) + (QCDR |v|) (QREFELT $ 133)) + (QVELT |ww| 2)) + #2#) + |POLYCAT-;factor;SF;26|))) + (LETT #3# (CDR #3#) + |POLYCAT-;factor;SF;26|) + (GO G190) G191 + (EXIT (NREVERSE0 #2#)))) + (QREFELT $ 131))))))))))) + +(DEFUN |POLYCAT-;conditionP;MU;27| (|mat| $) + (PROG (|ll| #0=#:G1627 |z| #1=#:G1628 |ch| |l| #2=#:G1629 #3=#:G1630 + #4=#:G1599 #5=#:G1597 #6=#:G1598 #7=#:G1631 |vars| |degs| + #8=#:G1632 |d| #9=#:G1633 |nd| #10=#:G1626 #11=#:G1606 + |deg1| |redmons| #12=#:G1634 |v| #13=#:G1636 |u| + #14=#:G1635 |llR| |monslist| |ans| #15=#:G1637 + #16=#:G1638 |mons| #17=#:G1639 |m| #18=#:G1640 |i| + #19=#:G1622 #20=#:G1620 #21=#:G1621) + (RETURN + (SEQ (EXIT (SEQ (LETT |ll| + (SPADCALL (SPADCALL |mat| (QREFELT $ 138)) + (QREFELT $ 93)) + |POLYCAT-;conditionP;MU;27|) + (LETT |llR| + (PROGN + (LETT #0# NIL |POLYCAT-;conditionP;MU;27|) - NIL) - (ATOM #14#) - (PROGN - (LETT |v| - (CAR #14#) + (SEQ (LETT |z| NIL |POLYCAT-;conditionP;MU;27|) - NIL)) - (GO G191))) - (SEQ - (EXIT - (LETT #13# - (CONS - (CONS - (SPADCALL - (SPADCALL - |u| - |vars| - |degs| - (QREFELT |$| 52)) - (QREFELT |$| 143)) - |v|) - #13#) - |POLYCAT-;conditionP;MU;27|))) - (LETT #15# - (PROG1 - (CDR #15#) - (LETT #14# - (CDR #14#) - |POLYCAT-;conditionP;MU;27|)) - |POLYCAT-;conditionP;MU;27|) - (GO G190) - G191 - (EXIT (NREVERSE0 #13#)))) - |POLYCAT-;conditionP;MU;27|))) - (LETT #8# (CDR #8#) |POLYCAT-;conditionP;MU;27|) - (GO G190) - G191 - (EXIT NIL)) - (EXIT - (LETT |monslist| - (CONS |redmons| |monslist|) - |POLYCAT-;conditionP;MU;27|))) - (LETT #3# (CDR #3#) |POLYCAT-;conditionP;MU;27|) - (GO G190) - G191 - (EXIT NIL)) - (LETT |ans| - (SPADCALL - (SPADCALL - (SPADCALL |llR| (QREFELT |$| 89)) - (QREFELT |$| 144)) - (QREFELT |$| 146)) - |POLYCAT-;conditionP;MU;27|) - (EXIT - (COND - ((QEQCAR |ans| 1) (CONS 1 "failed")) - ((QUOTE T) - (SEQ - (LETT |i| 0 |POLYCAT-;conditionP;MU;27|) - (EXIT - (CONS - 0 - (PRIMVEC2ARR - (PROGN - (LETT #16# - (GETREFV (SIZE |monslist|)) - |POLYCAT-;conditionP;MU;27|) - (SEQ - (LETT #17# 0 |POLYCAT-;conditionP;MU;27|) - (LETT |mons| NIL |POLYCAT-;conditionP;MU;27|) - (LETT #18# - |monslist| - |POLYCAT-;conditionP;MU;27|) - G190 - (COND - ((OR - (ATOM #18#) - (PROGN - (LETT |mons| - (CAR #18#) - |POLYCAT-;conditionP;MU;27|) + (LETT #1# (|SPADfirst| |ll|) + |POLYCAT-;conditionP;MU;27|) + G190 + (COND + ((OR (ATOM #1#) + (PROGN + (LETT |z| (CAR #1#) + |POLYCAT-;conditionP;MU;27|) + NIL)) + (GO G191))) + (SEQ + (EXIT + (LETT #0# (CONS NIL #0#) + |POLYCAT-;conditionP;MU;27|))) + (LETT #1# (CDR #1#) + |POLYCAT-;conditionP;MU;27|) + (GO G190) G191 + (EXIT (NREVERSE0 #0#)))) + |POLYCAT-;conditionP;MU;27|) + (LETT |monslist| NIL |POLYCAT-;conditionP;MU;27|) + (LETT |ch| (SPADCALL (QREFELT $ 139)) + |POLYCAT-;conditionP;MU;27|) + (SEQ (LETT |l| NIL |POLYCAT-;conditionP;MU;27|) + (LETT #2# |ll| |POLYCAT-;conditionP;MU;27|) + G190 + (COND + ((OR (ATOM #2#) + (PROGN + (LETT |l| (CAR #2#) + |POLYCAT-;conditionP;MU;27|) NIL)) - (GO G191))) - (SEQ - (EXIT - (SETELT - #16# - #17# - (PROGN - (LETT #22# - NIL - |POLYCAT-;conditionP;MU;27|) - (SEQ - (LETT |m| - NIL + (GO G191))) + (SEQ (LETT |mons| + (PROGN + (LETT #6# NIL + |POLYCAT-;conditionP;MU;27|) + (SEQ + (LETT |u| NIL |POLYCAT-;conditionP;MU;27|) - (LETT #19# - |mons| + (LETT #3# |l| |POLYCAT-;conditionP;MU;27|) - G190 - (COND - ((OR - (ATOM #19#) - (PROGN - (LETT |m| - (CAR #19#) + G190 + (COND + ((OR (ATOM #3#) + (PROGN + (LETT |u| (CAR #3#) |POLYCAT-;conditionP;MU;27|) NIL)) - (GO G191))) - (SEQ - (EXIT - (PROGN - (LETT #20# - (SPADCALL |m| - (SPADCALL - (SPADCALL - (QCDR |ans|) - (LETT |i| - (|+| |i| 1) - |POLYCAT-;conditionP;MU;27|) - (QREFELT |$| 147)) - (QREFELT |$| 40)) - (QREFELT |$| 148)) - |POLYCAT-;conditionP;MU;27|) - (COND - (#22# - (LETT #21# - (SPADCALL #21# #20# - (QREFELT |$| 149)) - |POLYCAT-;conditionP;MU;27|)) - ((QUOTE T) - (PROGN - (LETT #21# #20# + (GO G191))) + (SEQ + (EXIT + (PROGN + (LETT #4# + (SPADCALL |u| + (QREFELT $ 78)) + |POLYCAT-;conditionP;MU;27|) + (COND + (#6# + (LETT #5# + (SPADCALL #5# #4# + (QREFELT $ 140)) + |POLYCAT-;conditionP;MU;27|)) + ('T + (PROGN + (LETT #5# #4# |POLYCAT-;conditionP;MU;27|) - (LETT #22# (QUOTE T) - |POLYCAT-;conditionP;MU;27|))))))) - (LETT #19# (CDR #19#) + (LETT #6# 'T + |POLYCAT-;conditionP;MU;27|))))))) + (LETT #3# (CDR #3#) |POLYCAT-;conditionP;MU;27|) - (GO G190) - G191 - (EXIT NIL)) - (COND - (#22# #21#) - ((QUOTE T) - (|spadConstant| |$| 21))))))) - (LETT #18# - (PROG1 - (CDR #18#) - (LETT #17# - (QSADD1 #17#) - |POLYCAT-;conditionP;MU;27|)) - |POLYCAT-;conditionP;MU;27|) - (GO G190) - G191 - (EXIT NIL)) - #16#)))))))))) - #11# - (EXIT #11#))))) - -(DEFUN |POLYCAT-;charthRoot;SU;28| (|p| |$|) - (PROG (|vars| |ans| |ch|) - (RETURN - (SEQ - (LETT |vars| - (SPADCALL |p| (QREFELT |$| 31)) |POLYCAT-;charthRoot;SU;28|) - (EXIT - (COND - ((NULL |vars|) - (SEQ - (LETT |ans| - (SPADCALL - (SPADCALL |p| (QREFELT |$| 143)) - (QREFELT |$| 151)) - |POLYCAT-;charthRoot;SU;28|) - (EXIT - (COND - ((QEQCAR |ans| 1) - (CONS 1 "failed")) - ((QUOTE T) - (CONS 0 (SPADCALL (QCDR |ans|) (QREFELT |$| 40)))))))) - ((QUOTE T) - (SEQ - (LETT |ch| - (SPADCALL (QREFELT |$| 138)) - |POLYCAT-;charthRoot;SU;28|) - (EXIT (|POLYCAT-;charthRootlv| |p| |vars| |ch| |$|)))))))))) - -(DEFUN |POLYCAT-;charthRootlv| (|p| |vars| |ch| |$|) - (PROG (|v| |dd| |cp| |d| #1=#:G102109 |ans| |ansx| #2=#:G102116) - (RETURN - (SEQ - (EXIT - (COND - ((NULL |vars|) - (SEQ - (LETT |ans| - (SPADCALL (SPADCALL |p| (QREFELT |$| 143)) (QREFELT |$| 151)) - |POLYCAT-;charthRootlv|) - (EXIT - (COND - ((QEQCAR |ans| 1) (CONS 1 "failed")) - ((QUOTE T) - (CONS 0 (SPADCALL (QCDR |ans|) (QREFELT |$| 40)))))))) - ((QUOTE T) - (SEQ - (LETT |v| (|SPADfirst| |vars|) |POLYCAT-;charthRootlv|) - (LETT |vars| (CDR |vars|) |POLYCAT-;charthRootlv|) - (LETT |d| - (SPADCALL |p| |v| (QREFELT |$| 36)) - |POLYCAT-;charthRootlv|) - (LETT |ans| (|spadConstant| |$| 21) |POLYCAT-;charthRootlv|) - (SEQ G190 - (COND ((NULL (|<| 0 |d|)) (GO G191))) - (SEQ - (LETT |dd| - (SPADCALL |d| |ch| (QREFELT |$| 142)) - |POLYCAT-;charthRootlv|) - (EXIT - (COND - ((QEQCAR |dd| 1) - (PROGN - (LETT #2# - (CONS 1 "failed") - |POLYCAT-;charthRootlv|) - (GO #2#))) - ((QUOTE T) - (SEQ - (LETT |cp| - (SPADCALL |p| |v| |d| (QREFELT |$| 154)) - |POLYCAT-;charthRootlv|) - (LETT |p| - (SPADCALL |p| - (SPADCALL |cp| |v| |d| (QREFELT |$| 37)) - (QREFELT |$| 155)) - |POLYCAT-;charthRootlv|) - (LETT |ansx| - (|POLYCAT-;charthRootlv| |cp| |vars| |ch| |$|) - |POLYCAT-;charthRootlv|) - (EXIT - (COND - ((QEQCAR |ansx| 1) - (PROGN - (LETT #2# - (CONS 1 "failed") - |POLYCAT-;charthRootlv|) - (GO #2#))) - ((QUOTE T) - (SEQ - (LETT |d| - (SPADCALL |p| |v| (QREFELT |$| 36)) - |POLYCAT-;charthRootlv|) - (EXIT - (LETT |ans| - (SPADCALL |ans| - (SPADCALL - (QCDR |ansx|) - |v| - (PROG1 - (LETT #1# - (QCDR |dd|) - |POLYCAT-;charthRootlv|) - (|check-subtype| - (|>=| #1# 0) - (QUOTE (|NonNegativeInteger|)) - #1#)) - (QREFELT |$| 37)) - (QREFELT |$| 149)) - |POLYCAT-;charthRootlv|))))))))))) - NIL - (GO G190) - G191 - (EXIT NIL)) - (LETT |ansx| - (|POLYCAT-;charthRootlv| |p| |vars| |ch| |$|) - |POLYCAT-;charthRootlv|) - (EXIT - (COND - ((QEQCAR |ansx| 1) - (PROGN - (LETT #2# (CONS 1 "failed") |POLYCAT-;charthRootlv|) - (GO #2#))) - ((QUOTE T) - (PROGN - (LETT #2# - (CONS - 0 - (SPADCALL |ans| (QCDR |ansx|) (QREFELT |$| 149))) - |POLYCAT-;charthRootlv|) - (GO #2#))))))))) - #2# - (EXIT #2#))))) - -(DEFUN |POLYCAT-;monicDivide;2SVarSetR;30| (|p1| |p2| |mvar| |$|) - (PROG (|result|) - (RETURN - (SEQ - (LETT |result| - (SPADCALL - (SPADCALL |p1| |mvar| (QREFELT |$| 47)) - (SPADCALL |p2| |mvar| (QREFELT |$| 47)) - (QREFELT |$| 157)) - |POLYCAT-;monicDivide;2SVarSetR;30|) - (EXIT - (CONS - (SPADCALL (QCAR |result|) |mvar| (QREFELT |$| 132)) - (SPADCALL (QCDR |result|) |mvar| (QREFELT |$| 132)))))))) - -(DEFUN |POLYCAT-;squareFree;SF;31| (|p| |$|) - (SPADCALL |p| (QREFELT |$| 160))) - -(DEFUN |POLYCAT-;squareFree;SF;32| (|p| |$|) - (SPADCALL |p| (QREFELT |$| 163))) - -(DEFUN |POLYCAT-;squareFree;SF;33| (|p| |$|) - (SPADCALL |p| (QREFELT |$| 163))) - -(DEFUN |POLYCAT-;squareFreePart;2S;34| (|p| |$|) - (PROG (|s| |f| #1=#:G102132 #2=#:G102130 #3=#:G102128 #4=#:G102129) - (RETURN - (SEQ - (SPADCALL - (SPADCALL - (LETT |s| - (SPADCALL |p| (QREFELT |$| 164)) - |POLYCAT-;squareFreePart;2S;34|) - (QREFELT |$| 165)) - (PROGN - (LETT #4# NIL |POLYCAT-;squareFreePart;2S;34|) - (SEQ - (LETT |f| NIL |POLYCAT-;squareFreePart;2S;34|) - (LETT #1# - (SPADCALL |s| (QREFELT |$| 168)) - |POLYCAT-;squareFreePart;2S;34|) - G190 - (COND - ((OR - (ATOM #1#) - (PROGN - (LETT |f| (CAR #1#) |POLYCAT-;squareFreePart;2S;34|) - NIL)) - (GO G191))) - (SEQ - (EXIT - (PROGN - (LETT #2# (QCAR |f|) |POLYCAT-;squareFreePart;2S;34|) - (COND - (#4# - (LETT #3# - (SPADCALL #3# #2# (QREFELT |$| 148)) - |POLYCAT-;squareFreePart;2S;34|)) - ((QUOTE T) - (PROGN - (LETT #3# #2# |POLYCAT-;squareFreePart;2S;34|) - (LETT #4# - (QUOTE T) - |POLYCAT-;squareFreePart;2S;34|))))))) - (LETT #1# (CDR #1#) |POLYCAT-;squareFreePart;2S;34|) - (GO G190) - G191 - (EXIT NIL)) - (COND - (#4# #3#) - ((QUOTE T) (|spadConstant| |$| 33)))) - (QREFELT |$| 148)))))) - -(DEFUN |POLYCAT-;content;SVarSetS;35| (|p| |v| |$|) - (SPADCALL (SPADCALL |p| |v| (QREFELT |$| 47)) (QREFELT |$| 170))) - -(DEFUN |POLYCAT-;primitivePart;2S;36| (|p| |$|) - (PROG (#1=#:G102135) - (RETURN - (QVELT - (SPADCALL - (PROG2 - (LETT #1# - (SPADCALL |p| (SPADCALL |p| (QREFELT |$| 172)) (QREFELT |$| 173)) - |POLYCAT-;primitivePart;2S;36|) - (QCDR #1#) - (|check-union| (QEQCAR #1# 0) (QREFELT |$| 6) #1#)) - (QREFELT |$| 175)) - 1)))) - -(DEFUN |POLYCAT-;primitivePart;SVarSetS;37| (|p| |v| |$|) - (PROG (#1=#:G102141) - (RETURN - (QVELT - (SPADCALL - (PROG2 - (LETT #1# - (SPADCALL |p| - (SPADCALL |p| |v| (QREFELT |$| 177)) - (QREFELT |$| 178)) - |POLYCAT-;primitivePart;SVarSetS;37|) - (QCDR #1#) - (|check-union| (QEQCAR #1# 0) (QREFELT |$| 6) #1#)) - (QREFELT |$| 175)) 1)))) - -(DEFUN |POLYCAT-;<;2SB;38| (|p| |q| |$|) - (PROG (|dp| |dq|) - (RETURN - (SEQ - (LETT |dp| (SPADCALL |p| (QREFELT |$| 59)) |POLYCAT-;<;2SB;38|) - (LETT |dq| (SPADCALL |q| (QREFELT |$| 59)) |POLYCAT-;<;2SB;38|) - (EXIT - (COND - ((SPADCALL |dp| |dq| (QREFELT |$| 180)) - (SPADCALL - (|spadConstant| |$| 22) - (SPADCALL |q| (QREFELT |$| 38)) - (QREFELT |$| 181))) - ((SPADCALL |dq| |dp| (QREFELT |$| 180)) - (SPADCALL - (SPADCALL |p| (QREFELT |$| 38)) - (|spadConstant| |$| 22) - (QREFELT |$| 181))) - ((QUOTE T) - (SPADCALL - (SPADCALL - (SPADCALL |p| |q| (QREFELT |$| 155)) - (QREFELT |$| 38)) - (|spadConstant| |$| 22) - (QREFELT |$| 181))))))))) - -(DEFUN |POLYCAT-;patternMatch;SP2Pmr;39| (|p| |pat| |l| |$|) - (SPADCALL |p| |pat| |l| (QREFELT |$| 186))) - -(DEFUN |POLYCAT-;patternMatch;SP2Pmr;40| (|p| |pat| |l| |$|) - (SPADCALL |p| |pat| |l| (QREFELT |$| 192))) - -(DEFUN |POLYCAT-;convert;SP;41| (|x| |$|) - (SPADCALL (ELT |$| 195) (ELT |$| 196) |x| (QREFELT |$| 200))) - -(DEFUN |POLYCAT-;convert;SP;42| (|x| |$|) - (SPADCALL (ELT |$| 202) (ELT |$| 203) |x| (QREFELT |$| 207))) - -(DEFUN |POLYCAT-;convert;SIf;43| (|p| |$|) - (SPADCALL (ELT |$| 210) (ELT |$| 211) |p| (QREFELT |$| 215))) - -(DEFUN |PolynomialCategory&| (|#1| |#2| |#3| |#4|) - (PROG (|DV$1| |DV$2| |DV$3| |DV$4| |dv$| |$| |pv$|) - (RETURN - (PROGN - (LETT |DV$1| (|devaluate| |#1|) . #1=(|PolynomialCategory&|)) - (LETT |DV$2| (|devaluate| |#2|) . #1#) - (LETT |DV$3| (|devaluate| |#3|) . #1#) - (LETT |DV$4| (|devaluate| |#4|) . #1#) - (LETT |dv$| - (LIST - (QUOTE |PolynomialCategory&|) |DV$1| |DV$2| |DV$3| |DV$4|) . #1#) - (LETT |$| (GETREFV 225) . #1#) - (QSETREFV |$| 0 |dv$|) - (QSETREFV |$| 3 - (LETT |pv$| - (|buildPredVector| 0 0 - (LIST - (|HasCategory| |#2| - (QUOTE (|PolynomialFactorizationExplicit|))) - (|HasAttribute| |#2| (QUOTE |canonicalUnitNormal|)) - (|HasCategory| |#2| (QUOTE (|GcdDomain|))) - (|HasCategory| |#2| (QUOTE (|CommutativeRing|))) - (|HasCategory| |#4| (QUOTE (|PatternMatchable| (|Float|)))) - (|HasCategory| |#2| (QUOTE (|PatternMatchable| (|Float|)))) - (|HasCategory| |#4| (QUOTE (|PatternMatchable| (|Integer|)))) - (|HasCategory| |#2| (QUOTE (|PatternMatchable| (|Integer|)))) - (|HasCategory| |#4| - (QUOTE (|ConvertibleTo| (|Pattern| (|Float|))))) - (|HasCategory| |#2| - (QUOTE (|ConvertibleTo| (|Pattern| (|Float|))))) - (|HasCategory| |#4| - (QUOTE (|ConvertibleTo| (|Pattern| (|Integer|))))) - (|HasCategory| |#2| - (QUOTE (|ConvertibleTo| (|Pattern| (|Integer|))))) - (|HasCategory| |#4| (QUOTE (|ConvertibleTo| (|InputForm|)))) - (|HasCategory| |#2| (QUOTE (|ConvertibleTo| (|InputForm|)))) - (|HasCategory| |#2| (QUOTE (|OrderedSet|))))) . #1#)) - (|stuffDomainSlots| |$|) - (QSETREFV |$| 6 |#1|) - (QSETREFV |$| 7 |#2|) - (QSETREFV |$| 8 |#3|) - (QSETREFV |$| 9 |#4|) - (COND + (GO G190) G191 (EXIT NIL)) + (COND + (#6# #5#) + ('T + (|IdentityError| + '|setUnion|)))) + |POLYCAT-;conditionP;MU;27|) + (LETT |redmons| NIL + |POLYCAT-;conditionP;MU;27|) + (SEQ (LETT |m| NIL + |POLYCAT-;conditionP;MU;27|) + (LETT #7# |mons| + |POLYCAT-;conditionP;MU;27|) + G190 + (COND + ((OR (ATOM #7#) + (PROGN + (LETT |m| (CAR #7#) + |POLYCAT-;conditionP;MU;27|) + NIL)) + (GO G191))) + (SEQ + (LETT |vars| + (SPADCALL |m| (QREFELT $ 32)) + |POLYCAT-;conditionP;MU;27|) + (LETT |degs| + (SPADCALL |m| |vars| + (QREFELT $ 141)) + |POLYCAT-;conditionP;MU;27|) + (LETT |deg1| + (PROGN + (LETT #8# NIL + |POLYCAT-;conditionP;MU;27|) + (SEQ + (LETT |d| NIL + |POLYCAT-;conditionP;MU;27|) + (LETT #9# |degs| + |POLYCAT-;conditionP;MU;27|) + G190 + (COND + ((OR (ATOM #9#) + (PROGN + (LETT |d| (CAR #9#) + |POLYCAT-;conditionP;MU;27|) + NIL)) + (GO G191))) + (SEQ + (EXIT + (LETT #8# + (CONS + (SEQ + (LETT |nd| + (SPADCALL |d| |ch| + (QREFELT $ 143)) + |POLYCAT-;conditionP;MU;27|) + (EXIT + (COND + ((QEQCAR |nd| 1) + (PROGN + (LETT #10# + (CONS 1 "failed") + |POLYCAT-;conditionP;MU;27|) + (GO #10#))) + ('T + (PROG1 + (LETT #11# + (QCDR |nd|) + |POLYCAT-;conditionP;MU;27|) + (|check-subtype| + (>= #11# 0) + '(|NonNegativeInteger|) + #11#)))))) + #8#) + |POLYCAT-;conditionP;MU;27|))) + (LETT #9# (CDR #9#) + |POLYCAT-;conditionP;MU;27|) + (GO G190) G191 + (EXIT (NREVERSE0 #8#)))) + |POLYCAT-;conditionP;MU;27|) + (LETT |redmons| + (CONS + (SPADCALL (|spadConstant| $ 34) + |vars| |deg1| (QREFELT $ 55)) + |redmons|) + |POLYCAT-;conditionP;MU;27|) + (EXIT + (LETT |llR| + (PROGN + (LETT #12# NIL + |POLYCAT-;conditionP;MU;27|) + (SEQ + (LETT |v| NIL + |POLYCAT-;conditionP;MU;27|) + (LETT #13# |llR| + |POLYCAT-;conditionP;MU;27|) + (LETT |u| NIL + |POLYCAT-;conditionP;MU;27|) + (LETT #14# |l| + |POLYCAT-;conditionP;MU;27|) + G190 + (COND + ((OR (ATOM #14#) + (PROGN + (LETT |u| (CAR #14#) + |POLYCAT-;conditionP;MU;27|) + NIL) + (ATOM #13#) + (PROGN + (LETT |v| (CAR #13#) + |POLYCAT-;conditionP;MU;27|) + NIL)) + (GO G191))) + (SEQ + (EXIT + (LETT #12# + (CONS + (CONS + (SPADCALL + (SPADCALL |u| |vars| + |degs| + (QREFELT $ 53)) + (QREFELT $ 144)) + |v|) + #12#) + |POLYCAT-;conditionP;MU;27|))) + (LETT #14# + (PROG1 (CDR #14#) + (LETT #13# (CDR #13#) + |POLYCAT-;conditionP;MU;27|)) + |POLYCAT-;conditionP;MU;27|) + (GO G190) G191 + (EXIT (NREVERSE0 #12#)))) + |POLYCAT-;conditionP;MU;27|))) + (LETT #7# (CDR #7#) + |POLYCAT-;conditionP;MU;27|) + (GO G190) G191 (EXIT NIL)) + (EXIT (LETT |monslist| + (CONS |redmons| |monslist|) + |POLYCAT-;conditionP;MU;27|))) + (LETT #2# (CDR #2#) + |POLYCAT-;conditionP;MU;27|) + (GO G190) G191 (EXIT NIL)) + (LETT |ans| + (SPADCALL + (SPADCALL + (SPADCALL |llR| (QREFELT $ 90)) + (QREFELT $ 145)) + (QREFELT $ 147)) + |POLYCAT-;conditionP;MU;27|) + (EXIT (COND + ((QEQCAR |ans| 1) (CONS 1 "failed")) + ('T + (SEQ (LETT |i| 0 + |POLYCAT-;conditionP;MU;27|) + (EXIT + (CONS 0 + (PRIMVEC2ARR + (PROGN + (LETT #15# + (GETREFV (SIZE |monslist|)) + |POLYCAT-;conditionP;MU;27|) + (SEQ + (LETT #16# 0 + |POLYCAT-;conditionP;MU;27|) + (LETT |mons| NIL + |POLYCAT-;conditionP;MU;27|) + (LETT #17# |monslist| + |POLYCAT-;conditionP;MU;27|) + G190 + (COND + ((OR (ATOM #17#) + (PROGN + (LETT |mons| (CAR #17#) + |POLYCAT-;conditionP;MU;27|) + NIL)) + (GO G191))) + (SEQ + (EXIT + (SETELT #15# #16# + (PROGN + (LETT #21# NIL + |POLYCAT-;conditionP;MU;27|) + (SEQ + (LETT |m| NIL + |POLYCAT-;conditionP;MU;27|) + (LETT #18# |mons| + |POLYCAT-;conditionP;MU;27|) + G190 + (COND + ((OR (ATOM #18#) + (PROGN + (LETT |m| + (CAR #18#) + |POLYCAT-;conditionP;MU;27|) + NIL)) + (GO G191))) + (SEQ + (EXIT + (PROGN + (LETT #19# + (SPADCALL |m| + (SPADCALL + (SPADCALL + (QCDR |ans|) + (LETT |i| + (+ |i| 1) + |POLYCAT-;conditionP;MU;27|) + (QREFELT $ 148)) + (QREFELT $ 41)) + (QREFELT $ 149)) + |POLYCAT-;conditionP;MU;27|) + (COND + (#21# + (LETT #20# + (SPADCALL #20# + #19# + (QREFELT $ + 150)) + |POLYCAT-;conditionP;MU;27|)) + ('T + (PROGN + (LETT #20# + #19# + |POLYCAT-;conditionP;MU;27|) + (LETT #21# 'T + |POLYCAT-;conditionP;MU;27|))))))) + (LETT #18# (CDR #18#) + |POLYCAT-;conditionP;MU;27|) + (GO G190) G191 + (EXIT NIL)) + (COND + (#21# #20#) + ('T + (|spadConstant| $ 21))))))) + (LETT #17# + (PROG1 (CDR #17#) + (LETT #16# (QSADD1 #16#) + |POLYCAT-;conditionP;MU;27|)) + |POLYCAT-;conditionP;MU;27|) + (GO G190) G191 (EXIT NIL)) + #15#)))))))))) + #10# (EXIT #10#))))) + +(DEFUN |POLYCAT-;charthRoot;SU;28| (|p| $) + (PROG (|vars| |ans| |ch|) + (RETURN + (SEQ (LETT |vars| (SPADCALL |p| (QREFELT $ 32)) + |POLYCAT-;charthRoot;SU;28|) + (EXIT (COND + ((NULL |vars|) + (SEQ (LETT |ans| + (SPADCALL (SPADCALL |p| (QREFELT $ 144)) + (QREFELT $ 152)) + |POLYCAT-;charthRoot;SU;28|) + (EXIT (COND + ((QEQCAR |ans| 1) (CONS 1 "failed")) + ('T + (CONS 0 + (SPADCALL (QCDR |ans|) + (QREFELT $ 41)))))))) + ('T + (SEQ (LETT |ch| (SPADCALL (QREFELT $ 139)) + |POLYCAT-;charthRoot;SU;28|) + (EXIT (|POLYCAT-;charthRootlv| |p| |vars| |ch| + $)))))))))) + +(DEFUN |POLYCAT-;charthRootlv| (|p| |vars| |ch| $) + (PROG (|v| |dd| |cp| |d| #0=#:G1661 |ans| |ansx| #1=#:G1668) + (RETURN + (SEQ (EXIT (COND + ((NULL |vars|) + (SEQ (LETT |ans| + (SPADCALL (SPADCALL |p| (QREFELT $ 144)) + (QREFELT $ 152)) + |POLYCAT-;charthRootlv|) + (EXIT (COND + ((QEQCAR |ans| 1) (CONS 1 "failed")) + ('T + (CONS 0 + (SPADCALL (QCDR |ans|) + (QREFELT $ 41)))))))) + ('T + (SEQ (LETT |v| (|SPADfirst| |vars|) + |POLYCAT-;charthRootlv|) + (LETT |vars| (CDR |vars|) + |POLYCAT-;charthRootlv|) + (LETT |d| (SPADCALL |p| |v| (QREFELT $ 37)) + |POLYCAT-;charthRootlv|) + (LETT |ans| (|spadConstant| $ 21) + |POLYCAT-;charthRootlv|) + (SEQ G190 (COND ((NULL (< 0 |d|)) (GO G191))) + (SEQ (LETT |dd| + (SPADCALL |d| |ch| (QREFELT $ 143)) + |POLYCAT-;charthRootlv|) + (EXIT + (COND + ((QEQCAR |dd| 1) + (PROGN + (LETT #1# (CONS 1 "failed") + |POLYCAT-;charthRootlv|) + (GO #1#))) + ('T + (SEQ + (LETT |cp| + (SPADCALL |p| |v| |d| + (QREFELT $ 155)) + |POLYCAT-;charthRootlv|) + (LETT |p| + (SPADCALL |p| + (SPADCALL |cp| |v| |d| + (QREFELT $ 38)) + (QREFELT $ 156)) + |POLYCAT-;charthRootlv|) + (LETT |ansx| + (|POLYCAT-;charthRootlv| |cp| + |vars| |ch| $) + |POLYCAT-;charthRootlv|) + (EXIT + (COND + ((QEQCAR |ansx| 1) + (PROGN + (LETT #1# + (CONS 1 "failed") + |POLYCAT-;charthRootlv|) + (GO #1#))) + ('T + (SEQ + (LETT |d| + (SPADCALL |p| |v| + (QREFELT $ 37)) + |POLYCAT-;charthRootlv|) + (EXIT + (LETT |ans| + (SPADCALL |ans| + (SPADCALL (QCDR |ansx|) + |v| + (PROG1 + (LETT #0# (QCDR |dd|) + |POLYCAT-;charthRootlv|) + (|check-subtype| + (>= #0# 0) + '(|NonNegativeInteger|) + #0#)) + (QREFELT $ 38)) + (QREFELT $ 150)) + |POLYCAT-;charthRootlv|))))))))))) + NIL (GO G190) G191 (EXIT NIL)) + (LETT |ansx| + (|POLYCAT-;charthRootlv| |p| |vars| |ch| + $) + |POLYCAT-;charthRootlv|) + (EXIT (COND + ((QEQCAR |ansx| 1) + (PROGN + (LETT #1# (CONS 1 "failed") + |POLYCAT-;charthRootlv|) + (GO #1#))) + ('T + (PROGN + (LETT #1# + (CONS 0 + (SPADCALL |ans| (QCDR |ansx|) + (QREFELT $ 150))) + |POLYCAT-;charthRootlv|) + (GO #1#))))))))) + #1# (EXIT #1#))))) + +(DEFUN |POLYCAT-;monicDivide;2SVarSetR;30| (|p1| |p2| |mvar| $) + (PROG (|result|) + (RETURN + (SEQ (LETT |result| + (SPADCALL (SPADCALL |p1| |mvar| (QREFELT $ 48)) + (SPADCALL |p2| |mvar| (QREFELT $ 48)) + (QREFELT $ 158)) + |POLYCAT-;monicDivide;2SVarSetR;30|) + (EXIT (CONS (SPADCALL (QCAR |result|) |mvar| + (QREFELT $ 133)) + (SPADCALL (QCDR |result|) |mvar| + (QREFELT $ 133)))))))) + +(DEFUN |POLYCAT-;squareFree;SF;31| (|p| $) + (SPADCALL |p| (QREFELT $ 161))) + +(DEFUN |POLYCAT-;squareFree;SF;32| (|p| $) + (SPADCALL |p| (QREFELT $ 164))) + +(DEFUN |POLYCAT-;squareFree;SF;33| (|p| $) + (SPADCALL |p| (QREFELT $ 164))) + +(DEFUN |POLYCAT-;squareFreePart;2S;34| (|p| $) + (PROG (|s| |f| #0=#:G1684 #1=#:G1682 #2=#:G1680 #3=#:G1681) + (RETURN + (SEQ (SPADCALL + (SPADCALL + (LETT |s| (SPADCALL |p| (QREFELT $ 165)) + |POLYCAT-;squareFreePart;2S;34|) + (QREFELT $ 166)) + (PROGN + (LETT #3# NIL |POLYCAT-;squareFreePart;2S;34|) + (SEQ (LETT |f| NIL |POLYCAT-;squareFreePart;2S;34|) + (LETT #0# (SPADCALL |s| (QREFELT $ 169)) + |POLYCAT-;squareFreePart;2S;34|) + G190 + (COND + ((OR (ATOM #0#) + (PROGN + (LETT |f| (CAR #0#) + |POLYCAT-;squareFreePart;2S;34|) + NIL)) + (GO G191))) + (SEQ (EXIT (PROGN + (LETT #1# (QCAR |f|) + |POLYCAT-;squareFreePart;2S;34|) + (COND + (#3# + (LETT #2# + (SPADCALL #2# #1# + (QREFELT $ 149)) + |POLYCAT-;squareFreePart;2S;34|)) + ('T + (PROGN + (LETT #2# #1# + |POLYCAT-;squareFreePart;2S;34|) + (LETT #3# 'T + |POLYCAT-;squareFreePart;2S;34|))))))) + (LETT #0# (CDR #0#) + |POLYCAT-;squareFreePart;2S;34|) + (GO G190) G191 (EXIT NIL)) + (COND (#3# #2#) ('T (|spadConstant| $ 34)))) + (QREFELT $ 149)))))) + +(DEFUN |POLYCAT-;content;SVarSetS;35| (|p| |v| $) + (SPADCALL (SPADCALL |p| |v| (QREFELT $ 48)) (QREFELT $ 171))) + +(DEFUN |POLYCAT-;primitivePart;2S;36| (|p| $) + (PROG (#0=#:G1687) + (RETURN + (QVELT (SPADCALL + (PROG2 (LETT #0# + (SPADCALL |p| + (SPADCALL |p| (QREFELT $ 173)) + (QREFELT $ 174)) + |POLYCAT-;primitivePart;2S;36|) + (QCDR #0#) + (|check-union| (QEQCAR #0# 0) (QREFELT $ 6) #0#)) + (QREFELT $ 176)) + 1)))) + +(DEFUN |POLYCAT-;primitivePart;SVarSetS;37| (|p| |v| $) + (PROG (#0=#:G1693) + (RETURN + (QVELT (SPADCALL + (PROG2 (LETT #0# + (SPADCALL |p| + (SPADCALL |p| |v| (QREFELT $ 178)) + (QREFELT $ 179)) + |POLYCAT-;primitivePart;SVarSetS;37|) + (QCDR #0#) + (|check-union| (QEQCAR #0# 0) (QREFELT $ 6) #0#)) + (QREFELT $ 176)) + 1)))) + +(DEFUN |POLYCAT-;<;2SB;38| (|p| |q| $) + (PROG (|dp| |dq|) + (RETURN + (SEQ (LETT |dp| (SPADCALL |p| (QREFELT $ 60)) + |POLYCAT-;<;2SB;38|) + (LETT |dq| (SPADCALL |q| (QREFELT $ 60)) + |POLYCAT-;<;2SB;38|) + (EXIT (COND + ((SPADCALL |dp| |dq| (QREFELT $ 181)) + (SPADCALL (|spadConstant| $ 22) + (SPADCALL |q| (QREFELT $ 39)) (QREFELT $ 182))) + ((SPADCALL |dq| |dp| (QREFELT $ 181)) + (SPADCALL (SPADCALL |p| (QREFELT $ 39)) + (|spadConstant| $ 22) (QREFELT $ 182))) + ('T + (SPADCALL + (SPADCALL (SPADCALL |p| |q| (QREFELT $ 156)) + (QREFELT $ 39)) + (|spadConstant| $ 22) (QREFELT $ 182))))))))) + +(DEFUN |POLYCAT-;patternMatch;SP2Pmr;39| (|p| |pat| |l| $) + (SPADCALL |p| |pat| |l| (QREFELT $ 187))) + +(DEFUN |POLYCAT-;patternMatch;SP2Pmr;40| (|p| |pat| |l| $) + (SPADCALL |p| |pat| |l| (QREFELT $ 193))) + +(DEFUN |POLYCAT-;convert;SP;41| (|x| $) + (SPADCALL (ELT $ 196) (ELT $ 197) |x| (QREFELT $ 201))) + +(DEFUN |POLYCAT-;convert;SP;42| (|x| $) + (SPADCALL (ELT $ 203) (ELT $ 204) |x| (QREFELT $ 208))) + +(DEFUN |POLYCAT-;convert;SIf;43| (|p| $) + (SPADCALL (ELT $ 211) (ELT $ 212) |p| (QREFELT $ 216))) + +(DEFUN |PolynomialCategory&| (|#1| |#2| |#3| |#4|) + (PROG (|dv$1| |dv$2| |dv$3| |dv$4| |dv$| $ |pv$|) + (RETURN + (PROGN + (LETT |dv$1| (|devaluate| |#1|) . #0=(|PolynomialCategory&|)) + (LETT |dv$2| (|devaluate| |#2|) . #0#) + (LETT |dv$3| (|devaluate| |#3|) . #0#) + (LETT |dv$4| (|devaluate| |#4|) . #0#) + (LETT |dv$| + (LIST '|PolynomialCategory&| |dv$1| |dv$2| |dv$3| |dv$4|) . #0#) + (LETT $ (GETREFV 226) . #0#) + (QSETREFV $ 0 |dv$|) + (QSETREFV $ 3 + (LETT |pv$| + (|buildPredVector| 0 0 + (LIST (|HasCategory| |#2| + '(|PolynomialFactorizationExplicit|)) + (|HasAttribute| |#2| + '|canonicalUnitNormal|) + (|HasCategory| |#2| '(|GcdDomain|)) + (|HasCategory| |#2| '(|CommutativeRing|)) + (|HasCategory| |#4| + '(|PatternMatchable| (|Float|))) + (|HasCategory| |#2| + '(|PatternMatchable| (|Float|))) + (|HasCategory| |#4| + '(|PatternMatchable| (|Integer|))) + (|HasCategory| |#2| + '(|PatternMatchable| (|Integer|))) + (|HasCategory| |#4| + '(|ConvertibleTo| + (|Pattern| (|Float|)))) + (|HasCategory| |#2| + '(|ConvertibleTo| + (|Pattern| (|Float|)))) + (|HasCategory| |#4| + '(|ConvertibleTo| + (|Pattern| (|Integer|)))) + (|HasCategory| |#2| + '(|ConvertibleTo| + (|Pattern| (|Integer|)))) + (|HasCategory| |#4| + '(|ConvertibleTo| (|InputForm|))) + (|HasCategory| |#2| + '(|ConvertibleTo| (|InputForm|))) + (|HasCategory| |#2| '(|OrderedSet|)))) . #0#)) + (|stuffDomainSlots| $) + (QSETREFV $ 6 |#1|) + (QSETREFV $ 7 |#2|) + (QSETREFV $ 8 |#3|) + (QSETREFV $ 9 |#4|) + (COND ((|testBitVector| |pv$| 4) - (PROGN - (QSETREFV |$| 74 - (CONS - (|dispatchFunction| |POLYCAT-;resultant;2SVarSetS;15|) - |$|)) - (QSETREFV |$| 76 - (CONS - (|dispatchFunction| |POLYCAT-;discriminant;SVarSetS;16|) - |$|))))) - (COND - ((|HasCategory| |#2| (QUOTE (|IntegralDomain|))) - (PROGN - (QSETREFV |$| 95 - (CONS (|dispatchFunction| |POLYCAT-;reducedSystem;MM;20|) |$|)) - (QSETREFV |$| 102 - (CONS - (|dispatchFunction| |POLYCAT-;reducedSystem;MVR;21|) - |$|))))) - (COND + (PROGN + (QSETREFV $ 75 + (CONS (|dispatchFunction| + |POLYCAT-;resultant;2SVarSetS;15|) + $)) + (QSETREFV $ 77 + (CONS (|dispatchFunction| + |POLYCAT-;discriminant;SVarSetS;16|) + $))))) + (COND + ((|HasCategory| |#2| '(|IntegralDomain|)) + (PROGN + (QSETREFV $ 96 + (CONS (|dispatchFunction| + |POLYCAT-;reducedSystem;MM;20|) + $)) + (QSETREFV $ 103 + (CONS (|dispatchFunction| + |POLYCAT-;reducedSystem;MVR;21|) + $))))) + (COND ((|testBitVector| |pv$| 1) - (PROGN - (QSETREFV |$| 105 - (CONS - (|dispatchFunction| |POLYCAT-;gcdPolynomial;3Sup;22|) - |$|)) - (QSETREFV |$| 112 - (CONS - (|dispatchFunction| - |POLYCAT-;solveLinearPolynomialEquation;LSupU;23|) - |$|)) - (QSETREFV |$| 116 - (CONS - (|dispatchFunction| |POLYCAT-;factorPolynomial;SupF;24|) - |$|)) - (QSETREFV |$| 118 - (CONS - (|dispatchFunction| - |POLYCAT-;factorSquareFreePolynomial;SupF;25|) - |$|)) - (QSETREFV |$| 136 - (CONS - (|dispatchFunction| |POLYCAT-;factor;SF;26|) |$|)) - (COND - ((|HasCategory| |#2| (QUOTE (|CharacteristicNonZero|))) - (PROGN - (QSETREFV |$| 150 - (CONS - (|dispatchFunction| |POLYCAT-;conditionP;MU;27|) - |$|)))))))) - (COND - ((|HasCategory| |#2| (QUOTE (|CharacteristicNonZero|))) - (PROGN - (QSETREFV |$| 152 - (CONS - (|dispatchFunction| |POLYCAT-;charthRoot;SU;28|) - |$|))))) - (COND + (PROGN + (QSETREFV $ 106 + (CONS (|dispatchFunction| + |POLYCAT-;gcdPolynomial;3Sup;22|) + $)) + (QSETREFV $ 113 + (CONS (|dispatchFunction| + |POLYCAT-;solveLinearPolynomialEquation;LSupU;23|) + $)) + (QSETREFV $ 117 + (CONS (|dispatchFunction| + |POLYCAT-;factorPolynomial;SupF;24|) + $)) + (QSETREFV $ 119 + (CONS (|dispatchFunction| + |POLYCAT-;factorSquareFreePolynomial;SupF;25|) + $)) + (QSETREFV $ 137 + (CONS (|dispatchFunction| |POLYCAT-;factor;SF;26|) $)) + (COND + ((|HasCategory| |#2| '(|CharacteristicNonZero|)) + (PROGN + (QSETREFV $ 151 + (CONS (|dispatchFunction| + |POLYCAT-;conditionP;MU;27|) + $)))))))) + (COND + ((|HasCategory| |#2| '(|CharacteristicNonZero|)) + (PROGN + (QSETREFV $ 153 + (CONS (|dispatchFunction| |POLYCAT-;charthRoot;SU;28|) + $))))) + (COND ((|testBitVector| |pv$| 3) - (PROGN - (COND - ((|HasCategory| |#2| (QUOTE (|EuclideanDomain|))) - (COND - ((|HasCategory| |#2| (QUOTE (|CharacteristicZero|))) - (QSETREFV |$| 161 - (CONS - (|dispatchFunction| |POLYCAT-;squareFree;SF;31|) - |$|))) - ((QUOTE T) - (QSETREFV |$| 161 - (CONS - (|dispatchFunction| |POLYCAT-;squareFree;SF;32|) - |$|))))) - ((QUOTE T) - (QSETREFV |$| 161 - (CONS - (|dispatchFunction| |POLYCAT-;squareFree;SF;33|) |$|)))) - (QSETREFV |$| 169 - (CONS - (|dispatchFunction| |POLYCAT-;squareFreePart;2S;34|) |$|)) - (QSETREFV |$| 171 - (CONS (|dispatchFunction| |POLYCAT-;content;SVarSetS;35|) |$|)) - (QSETREFV |$| 176 - (CONS (|dispatchFunction| |POLYCAT-;primitivePart;2S;36|) |$|)) - (QSETREFV |$| 179 - (CONS - (|dispatchFunction| |POLYCAT-;primitivePart;SVarSetS;37|) |$|))))) - (COND + (PROGN + (COND + ((|HasCategory| |#2| '(|EuclideanDomain|)) + (COND + ((|HasCategory| |#2| '(|CharacteristicZero|)) + (QSETREFV $ 162 + (CONS (|dispatchFunction| + |POLYCAT-;squareFree;SF;31|) + $))) + ('T + (QSETREFV $ 162 + (CONS (|dispatchFunction| + |POLYCAT-;squareFree;SF;32|) + $))))) + ('T + (QSETREFV $ 162 + (CONS (|dispatchFunction| + |POLYCAT-;squareFree;SF;33|) + $)))) + (QSETREFV $ 170 + (CONS (|dispatchFunction| + |POLYCAT-;squareFreePart;2S;34|) + $)) + (QSETREFV $ 172 + (CONS (|dispatchFunction| + |POLYCAT-;content;SVarSetS;35|) + $)) + (QSETREFV $ 177 + (CONS (|dispatchFunction| + |POLYCAT-;primitivePart;2S;36|) + $)) + (QSETREFV $ 180 + (CONS (|dispatchFunction| + |POLYCAT-;primitivePart;SVarSetS;37|) + $))))) + (COND ((|testBitVector| |pv$| 15) - (PROGN - (QSETREFV |$| 182 - (CONS (|dispatchFunction| |POLYCAT-;<;2SB;38|) |$|)) - (COND - ((|testBitVector| |pv$| 8) - (COND - ((|testBitVector| |pv$| 7) - (QSETREFV |$| 188 - (CONS - (|dispatchFunction| - |POLYCAT-;patternMatch;SP2Pmr;39|) - |$|)))))) - (COND - ((|testBitVector| |pv$| 6) - (COND - ((|testBitVector| |pv$| 5) - (QSETREFV |$| 194 - (CONS - (|dispatchFunction| - |POLYCAT-;patternMatch;SP2Pmr;40|) - |$|))))))))) - (COND - ((|testBitVector| |pv$| 12) - (COND - ((|testBitVector| |pv$| 11) - (QSETREFV |$| 201 - (CONS (|dispatchFunction| |POLYCAT-;convert;SP;41|) |$|)))))) - (COND - ((|testBitVector| |pv$| 10) - (COND - ((|testBitVector| |pv$| 9) - (QSETREFV |$| 208 - (CONS (|dispatchFunction| |POLYCAT-;convert;SP;42|) |$|)))))) - (COND - ((|testBitVector| |pv$| 14) - (COND - ((|testBitVector| |pv$| 13) - (QSETREFV |$| 216 - (CONS - (|dispatchFunction| |POLYCAT-;convert;SIf;43|) - |$|)))))) - |$|)))) - -(MAKEPROP - (QUOTE |PolynomialCategory&|) - (QUOTE |infovec|) - (LIST - (QUOTE - #(NIL NIL NIL NIL NIL NIL - (|local| |#1|) - (|local| |#2|) - (|local| |#3|) - (|local| |#4|) - (|Equation| 6) - (0 . |lhs|) - (|Union| 9 (QUOTE "failed")) - (5 . |retractIfCan|) - (10 . |retract|) - (15 . |rhs|) - (|List| 9) - (|List| |$|) - (20 . |eval|) - (|List| 220) - |POLYCAT-;eval;SLS;1| - (27 . |Zero|) - (31 . |Zero|) - (|Boolean|) - (35 . |=|) - (41 . |leadingMonomial|) - (46 . |reductum|) - |POLYCAT-;monomials;SL;2| - (51 . |monomials|) - (|Union| 17 (QUOTE "failed")) - |POLYCAT-;isPlus;SU;3| - (56 . |variables|) - (61 . |monomial?|) - (66 . |One|) - (70 . |One|) - (|NonNegativeInteger|) - (74 . |degree|) - (80 . |monomial|) - (87 . |leadingCoefficient|) - (92 . |one?|) - (97 . |coerce|) - |POLYCAT-;isTimes;SU;4| - (102 . |mainVariable|) - (|Record| (|:| |var| 9) (|:| |exponent| 35)) - (|Union| 43 (QUOTE "failed")) - |POLYCAT-;isExpt;SU;5| - (|SparseUnivariatePolynomial| |$|) - (107 . |univariate|) - (|SparseUnivariatePolynomial| 6) - (113 . |coefficient|) - |POLYCAT-;coefficient;SVarSetNniS;6| - (|List| 35) - (119 . |coefficient|) - |POLYCAT-;coefficient;SLLS;7| - (126 . |monomial|) - |POLYCAT-;monomial;SLLS;8| - (133 . |coerce|) - |POLYCAT-;retract;SVarSet;9| - |POLYCAT-;retractIfCan;SU;10| - (138 . |degree|) - (143 . |monomial|) - |POLYCAT-;primitiveMonomials;SL;12| - (149 . |ground?|) - (154 . |Zero|) - (158 . |=|) - (164 . |degree|) - (169 . |leadingCoefficient|) - (174 . |totalDegree|) - (179 . |reductum|) - |POLYCAT-;totalDegree;SNni;13| - (184 . |member?|) - (190 . |totalDegree|) - |POLYCAT-;totalDegree;SLNni;14| - (196 . |resultant|) - (202 . |resultant|) - (209 . |discriminant|) - (214 . |discriminant|) - (220 . |primitiveMonomials|) - (|List| 6) - (225 . |concat|) - (230 . |removeDuplicates!|) - (|Vector| 7) - (235 . |new|) - (|Integer|) - (241 . |minIndex|) - (246 . |coefficient|) - (252 . |qsetelt!|) - (|List| 219) - (|Matrix| 7) - (259 . |matrix|) - (|List| 78) - (|Matrix| 6) - (264 . |listOfLists|) - (269 . |vertConcat|) - (|Matrix| |$|) - (275 . |reducedSystem|) - (|Vector| 6) - (280 . |entries|) - (285 . |concat|) - (291 . |concat|) - (|Record| (|:| |mat| 88) (|:| |vec| 81)) - (|Vector| |$|) - (297 . |reducedSystem|) - (|GeneralPolynomialGcdPackage| 8 9 7 6) - (303 . |gcdPolynomial|) - (309 . |gcdPolynomial|) - (|Union| 107 (QUOTE "failed")) - (|List| 48) - (|PolynomialFactorizationByRecursion| 7 8 9 6) - (315 . |solveLinearPolynomialEquationByRecursion|) - (|Union| 111 (QUOTE "failed")) - (|List| 46) - (321 . |solveLinearPolynomialEquation|) - (|Factored| 48) - (327 . |factorByRecursion|) - (|Factored| 46) - (332 . |factorPolynomial|) - (337 . |factorSquareFreeByRecursion|) - (342 . |factorSquareFreePolynomial|) - (|Factored| |$|) - (347 . |factor|) - (|Factored| 7) - (352 . |unit|) - (|Union| (QUOTE "nil") (QUOTE "sqfr") (QUOTE "irred") (QUOTE "prime")) - (|Record| (|:| |flg| 123) (|:| |fctr| 7) (|:| |xpnt| 83)) - (|List| 124) - (357 . |factorList|) - (|Record| (|:| |flg| 123) (|:| |fctr| 6) (|:| |xpnt| 83)) - (|List| 127) - (|Factored| 6) - (362 . |makeFR|) - (368 . |unit|) - (373 . |multivariate|) - (|Record| (|:| |flg| 123) (|:| |fctr| 48) (|:| |xpnt| 83)) - (|List| 133) - (379 . |factorList|) - (384 . |factor|) - (389 . |transpose|) - (394 . |characteristic|) - (398 . |setUnion|) - (404 . |degree|) - (|Union| |$| (QUOTE "failed")) - (410 . |exquo|) - (416 . |ground|) - (421 . |transpose|) - (|Union| 101 (QUOTE "failed")) - (426 . |conditionP|) - (431 . |elt|) - (437 . |*|) - (443 . |+|) - (449 . |conditionP|) - (454 . |charthRoot|) - (459 . |charthRoot|) - (464 . |Zero|) - (468 . |coefficient|) - (475 . |-|) - (|Record| (|:| |quotient| |$|) (|:| |remainder| |$|)) - (481 . |monicDivide|) - |POLYCAT-;monicDivide;2SVarSetR;30| - (|MultivariateSquareFree| 8 9 7 6) - (487 . |squareFree|) - (492 . |squareFree|) - (|PolynomialSquareFree| 9 8 7 6) - (497 . |squareFree|) - (502 . |squareFree|) - (507 . |unit|) - (|Record| (|:| |factor| 6) (|:| |exponent| 83)) - (|List| 166) - (512 . |factors|) - (517 . |squareFreePart|) - (522 . |content|) - (527 . |content|) - (533 . |content|) - (538 . |exquo|) - (|Record| (|:| |unit| |$|) (|:| |canonical| |$|) (|:| |associate| |$|)) - (544 . |unitNormal|) - (549 . |primitivePart|) - (554 . |content|) - (560 . |exquo|) - (566 . |primitivePart|) - (572 . |<|) - (578 . |<|) - (584 . |<|) - (|PatternMatchResult| 83 6) - (|Pattern| 83) - (|PatternMatchPolynomialCategory| 83 8 9 7 6) - (590 . |patternMatch|) - (|PatternMatchResult| 83 |$|) - (597 . |patternMatch|) - (|PatternMatchResult| (|Float|) 6) - (|Pattern| (|Float|)) - (|PatternMatchPolynomialCategory| (|Float|) 8 9 7 6) - (604 . |patternMatch|) - (|PatternMatchResult| (|Float|) |$|) - (611 . |patternMatch|) - (618 . |convert|) - (623 . |convert|) - (|Mapping| 184 9) - (|Mapping| 184 7) - (|PolynomialCategoryLifting| 8 9 7 6 184) - (628 . |map|) - (635 . |convert|) - (640 . |convert|) - (645 . |convert|) - (|Mapping| 190 9) - (|Mapping| 190 7) - (|PolynomialCategoryLifting| 8 9 7 6 190) - (650 . |map|) - (657 . |convert|) - (|InputForm|) - (662 . |convert|) - (667 . |convert|) - (|Mapping| 209 9) - (|Mapping| 209 7) - (|PolynomialCategoryLifting| 8 9 7 6 209) - (672 . |map|) - (679 . |convert|) - (|Record| (|:| |mat| 218) (|:| |vec| (|Vector| 83))) - (|Matrix| 83) - (|List| 7) - (|Equation| |$|) - (|Union| 83 (QUOTE "failed")) - (|Union| 223 (QUOTE "failed")) - (|Fraction| 83) - (|Union| 7 (QUOTE "failed")))) - (QUOTE - #(|totalDegree| 684 |squareFreePart| 695 |squareFree| 700 - |solveLinearPolynomialEquation| 705 |retractIfCan| 711 |retract| 716 - |resultant| 721 |reducedSystem| 728 |primitivePart| 739 - |primitiveMonomials| 750 |patternMatch| 755 |monomials| 769 - |monomial| 774 |monicDivide| 781 |isTimes| 788 |isPlus| 793 - |isExpt| 798 |gcdPolynomial| 803 |factorSquareFreePolynomial| 809 - |factorPolynomial| 814 |factor| 819 |eval| 824 |discriminant| 830 - |convert| 836 |content| 851 |conditionP| 857 |coefficient| 862 - |charthRoot| 876 |<| 881)) - (QUOTE NIL) - (CONS - (|makeByteWordVec2| 1 (QUOTE NIL)) - (CONS - (QUOTE #()) - (CONS - (QUOTE #()) - (|makeByteWordVec2| 216 - (QUOTE - (1 10 6 0 11 1 6 12 0 13 1 6 9 0 14 1 10 6 0 15 3 6 0 0 16 - 17 18 0 6 0 21 0 7 0 22 2 6 23 0 0 24 1 6 0 0 25 1 6 0 0 - 26 1 6 17 0 28 1 6 16 0 31 1 6 23 0 32 0 6 0 33 0 7 0 34 2 - 6 35 0 9 36 3 6 0 0 9 35 37 1 6 7 0 38 1 7 23 0 39 1 6 0 7 - 40 1 6 12 0 42 2 6 46 0 9 47 2 48 6 0 35 49 3 6 0 0 16 51 - 52 3 6 0 0 16 51 54 1 6 0 9 56 1 6 8 0 59 2 6 0 7 8 60 1 6 - 23 0 62 0 48 0 63 2 48 23 0 0 64 1 48 35 0 65 1 48 6 0 66 - 1 6 35 0 67 1 48 0 0 68 2 16 23 9 0 70 2 6 35 0 16 71 2 48 - 6 0 0 73 3 0 0 0 0 9 74 1 48 6 0 75 2 0 0 0 9 76 1 6 17 0 - 77 1 78 0 17 79 1 78 0 0 80 2 81 0 35 7 82 1 81 83 0 84 2 - 6 7 0 8 85 3 81 7 0 83 7 86 1 88 0 87 89 1 91 90 0 92 2 88 - 0 0 0 93 1 0 88 94 95 1 96 78 0 97 2 78 0 0 0 98 2 81 0 0 - 0 99 2 0 100 94 101 102 2 103 48 48 48 104 2 0 46 46 46 - 105 2 108 106 107 48 109 2 0 110 111 46 112 1 108 113 48 - 114 1 0 115 46 116 1 108 113 48 117 1 0 115 46 118 1 7 119 - 0 120 1 121 7 0 122 1 121 125 0 126 2 129 0 6 128 130 1 113 - 48 0 131 2 6 0 46 9 132 1 113 134 0 135 1 0 119 0 136 1 91 - 0 0 137 0 6 35 138 2 78 0 0 0 139 2 6 51 0 16 140 2 83 141 - 0 0 142 1 6 7 0 143 1 88 0 0 144 1 7 145 94 146 2 81 7 0 - 83 147 2 6 0 0 0 148 2 6 0 0 0 149 1 0 145 94 150 1 7 141 - 0 151 1 0 141 0 152 0 8 0 153 3 6 0 0 9 35 154 2 6 0 0 0 - 155 2 48 156 0 0 157 1 159 129 6 160 1 0 119 0 161 1 162 - 129 6 163 1 6 119 0 164 1 129 6 0 165 1 129 167 0 168 1 0 - 0 0 169 1 48 6 0 170 2 0 0 0 9 171 1 6 7 0 172 2 6 141 0 7 - 173 1 6 174 0 175 1 0 0 0 176 2 6 0 0 9 177 2 6 141 0 0 - 178 2 0 0 0 9 179 2 8 23 0 0 180 2 7 23 0 0 181 2 0 23 0 0 - 182 3 185 183 6 184 183 186 3 0 187 0 184 187 188 3 191 189 - 6 190 189 192 3 0 193 0 190 193 194 1 9 184 0 195 1 7 184 - 0 196 3 199 184 197 198 6 200 1 0 184 0 201 1 9 190 0 202 - 1 7 190 0 203 3 206 190 204 205 6 207 1 0 190 0 208 1 9 - 209 0 210 1 7 209 0 211 3 214 209 212 213 6 215 1 0 209 0 - 216 2 0 35 0 16 72 1 0 35 0 69 1 0 0 0 169 1 0 119 0 161 2 - 0 110 111 46 112 1 0 12 0 58 1 0 9 0 57 3 0 0 0 0 9 74 1 0 - 88 94 95 2 0 100 94 101 102 2 0 0 0 9 179 1 0 0 0 176 1 0 - 17 0 61 3 0 187 0 184 187 188 3 0 193 0 190 193 194 1 0 17 - 0 27 3 0 0 0 16 51 55 3 0 156 0 0 9 158 1 0 29 0 41 1 0 29 - 0 30 1 0 44 0 45 2 0 46 46 46 105 1 0 115 46 118 1 0 115 - 46 116 1 0 119 0 136 2 0 0 0 19 20 2 0 0 0 9 76 1 0 209 0 - 216 1 0 184 0 201 1 0 190 0 208 2 0 0 0 9 171 1 0 145 94 - 150 3 0 0 0 16 51 53 3 0 0 0 9 35 50 1 0 141 0 152 2 0 - 23 0 0 182)))))) - (QUOTE |lookupComplete|))) - + (PROGN + (QSETREFV $ 183 + (CONS (|dispatchFunction| |POLYCAT-;<;2SB;38|) $)) + (COND + ((|testBitVector| |pv$| 8) + (COND + ((|testBitVector| |pv$| 7) + (QSETREFV $ 189 + (CONS (|dispatchFunction| + |POLYCAT-;patternMatch;SP2Pmr;39|) + $)))))) + (COND + ((|testBitVector| |pv$| 6) + (COND + ((|testBitVector| |pv$| 5) + (QSETREFV $ 195 + (CONS (|dispatchFunction| + |POLYCAT-;patternMatch;SP2Pmr;40|) + $))))))))) + (COND + ((|testBitVector| |pv$| 12) + (COND + ((|testBitVector| |pv$| 11) + (QSETREFV $ 202 + (CONS (|dispatchFunction| |POLYCAT-;convert;SP;41|) + $)))))) + (COND + ((|testBitVector| |pv$| 10) + (COND + ((|testBitVector| |pv$| 9) + (QSETREFV $ 209 + (CONS (|dispatchFunction| |POLYCAT-;convert;SP;42|) + $)))))) + (COND + ((|testBitVector| |pv$| 14) + (COND + ((|testBitVector| |pv$| 13) + (QSETREFV $ 217 + (CONS (|dispatchFunction| |POLYCAT-;convert;SIf;43|) + $)))))) + $)))) + +(MAKEPROP '|PolynomialCategory&| '|infovec| + (LIST '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|local| |#2|) + (|local| |#3|) (|local| |#4|) (|Equation| 6) (0 . |lhs|) + (|Union| 9 '"failed") (5 . |retractIfCan|) + (10 . |retract|) (15 . |rhs|) (|List| 9) (|List| $) + (20 . |eval|) (|List| 221) |POLYCAT-;eval;SLS;1| + (27 . |Zero|) (31 . |Zero|) (|Boolean|) (35 . =) + (41 . |not|) (46 . |leadingMonomial|) (51 . |reductum|) + |POLYCAT-;monomials;SL;2| (56 . |monomials|) + (|Union| 17 '"failed") |POLYCAT-;isPlus;SU;3| + (61 . |variables|) (66 . |monomial?|) (71 . |One|) + (75 . |One|) (|NonNegativeInteger|) (79 . |degree|) + (85 . |monomial|) (92 . |leadingCoefficient|) (97 . =) + (103 . |coerce|) |POLYCAT-;isTimes;SU;4| + (108 . |mainVariable|) + (|Record| (|:| |var| 9) (|:| |exponent| 36)) + (|Union| 44 '"failed") |POLYCAT-;isExpt;SU;5| + (|SparseUnivariatePolynomial| $) (113 . |univariate|) + (|SparseUnivariatePolynomial| 6) (119 . |coefficient|) + |POLYCAT-;coefficient;SVarSetNniS;6| (|List| 36) + (125 . |coefficient|) |POLYCAT-;coefficient;SLLS;7| + (132 . |monomial|) |POLYCAT-;monomial;SLLS;8| + (139 . |coerce|) |POLYCAT-;retract;SVarSet;9| + |POLYCAT-;retractIfCan;SU;10| (144 . |degree|) + (149 . |monomial|) |POLYCAT-;primitiveMonomials;SL;12| + (155 . |ground?|) (160 . |Zero|) (164 . =) + (170 . |degree|) (175 . |leadingCoefficient|) + (180 . |totalDegree|) (185 . |reductum|) + |POLYCAT-;totalDegree;SNni;13| (190 . |member?|) + (196 . |totalDegree|) |POLYCAT-;totalDegree;SLNni;14| + (202 . |resultant|) (208 . |resultant|) + (215 . |discriminant|) (220 . |discriminant|) + (226 . |primitiveMonomials|) (|List| 6) (231 . |concat|) + (236 . |removeDuplicates!|) (|Vector| 7) (241 . |new|) + (|Integer|) (247 . |minIndex|) (252 . |coefficient|) + (258 . |qsetelt!|) (|List| 220) (|Matrix| 7) + (265 . |matrix|) (|List| 79) (|Matrix| 6) + (270 . |listOfLists|) (275 . |vertConcat|) (|Matrix| $) + (281 . |reducedSystem|) (|Vector| 6) (286 . |entries|) + (291 . |concat|) (297 . |concat|) + (|Record| (|:| |mat| 89) (|:| |vec| 82)) (|Vector| $) + (303 . |reducedSystem|) + (|GeneralPolynomialGcdPackage| 8 9 7 6) + (309 . |gcdPolynomial|) (315 . |gcdPolynomial|) + (|Union| 108 '"failed") (|List| 49) + (|PolynomialFactorizationByRecursion| 7 8 9 6) + (321 . |solveLinearPolynomialEquationByRecursion|) + (|Union| 112 '"failed") (|List| 47) + (327 . |solveLinearPolynomialEquation|) (|Factored| 49) + (333 . |factorByRecursion|) (|Factored| 47) + (338 . |factorPolynomial|) + (343 . |factorSquareFreeByRecursion|) + (348 . |factorSquareFreePolynomial|) (|Factored| $) + (353 . |factor|) (|Factored| 7) (358 . |unit|) + (|Union| '"nil" '"sqfr" '"irred" '"prime") + (|Record| (|:| |flg| 124) (|:| |fctr| 7) (|:| |xpnt| 84)) + (|List| 125) (363 . |factorList|) + (|Record| (|:| |flg| 124) (|:| |fctr| 6) (|:| |xpnt| 84)) + (|List| 128) (|Factored| 6) (368 . |makeFR|) + (374 . |unit|) (379 . |multivariate|) + (|Record| (|:| |flg| 124) (|:| |fctr| 49) (|:| |xpnt| 84)) + (|List| 134) (385 . |factorList|) (390 . |factor|) + (395 . |transpose|) (400 . |characteristic|) + (404 . |setUnion|) (410 . |degree|) (|Union| $ '"failed") + (416 . |exquo|) (422 . |ground|) (427 . |transpose|) + (|Union| 102 '"failed") (432 . |conditionP|) (437 . |elt|) + (443 . *) (449 . +) (455 . |conditionP|) + (460 . |charthRoot|) (465 . |charthRoot|) (470 . |Zero|) + (474 . |coefficient|) (481 . -) + (|Record| (|:| |quotient| $) (|:| |remainder| $)) + (487 . |monicDivide|) |POLYCAT-;monicDivide;2SVarSetR;30| + (|MultivariateSquareFree| 8 9 7 6) (493 . |squareFree|) + (498 . |squareFree|) (|PolynomialSquareFree| 9 8 7 6) + (503 . |squareFree|) (508 . |squareFree|) (513 . |unit|) + (|Record| (|:| |factor| 6) (|:| |exponent| 84)) + (|List| 167) (518 . |factors|) (523 . |squareFreePart|) + (528 . |content|) (533 . |content|) (539 . |content|) + (544 . |exquo|) + (|Record| (|:| |unit| $) (|:| |canonical| $) + (|:| |associate| $)) + (550 . |unitNormal|) (555 . |primitivePart|) + (560 . |content|) (566 . |exquo|) (572 . |primitivePart|) + (578 . <) (584 . <) (590 . <) (|PatternMatchResult| 84 6) + (|Pattern| 84) + (|PatternMatchPolynomialCategory| 84 8 9 7 6) + (596 . |patternMatch|) (|PatternMatchResult| 84 $) + (603 . |patternMatch|) (|PatternMatchResult| (|Float|) 6) + (|Pattern| (|Float|)) + (|PatternMatchPolynomialCategory| (|Float|) 8 9 7 6) + (610 . |patternMatch|) (|PatternMatchResult| (|Float|) $) + (617 . |patternMatch|) (624 . |convert|) (629 . |convert|) + (|Mapping| 185 9) (|Mapping| 185 7) + (|PolynomialCategoryLifting| 8 9 7 6 185) (634 . |map|) + (641 . |convert|) (646 . |convert|) (651 . |convert|) + (|Mapping| 191 9) (|Mapping| 191 7) + (|PolynomialCategoryLifting| 8 9 7 6 191) (656 . |map|) + (663 . |convert|) (|InputForm|) (668 . |convert|) + (673 . |convert|) (|Mapping| 210 9) (|Mapping| 210 7) + (|PolynomialCategoryLifting| 8 9 7 6 210) (678 . |map|) + (685 . |convert|) + (|Record| (|:| |mat| 219) (|:| |vec| (|Vector| 84))) + (|Matrix| 84) (|List| 7) (|Equation| $) + (|Union| 84 '"failed") (|Union| 224 '"failed") + (|Fraction| 84) (|Union| 7 '"failed")) + '#(|totalDegree| 690 |squareFreePart| 701 |squareFree| 706 + |solveLinearPolynomialEquation| 711 |retractIfCan| 717 + |retract| 722 |resultant| 727 |reducedSystem| 734 + |primitivePart| 745 |primitiveMonomials| 756 + |patternMatch| 761 |monomials| 775 |monomial| 780 + |monicDivide| 787 |isTimes| 794 |isPlus| 799 |isExpt| 804 + |gcdPolynomial| 809 |factorSquareFreePolynomial| 815 + |factorPolynomial| 820 |factor| 825 |eval| 830 + |discriminant| 836 |convert| 842 |content| 857 + |conditionP| 863 |coefficient| 868 |charthRoot| 882 < 887) + 'NIL + (CONS (|makeByteWordVec2| 1 'NIL) + (CONS '#() + (CONS '#() + (|makeByteWordVec2| 217 + '(1 10 6 0 11 1 6 12 0 13 1 6 9 0 14 1 + 10 6 0 15 3 6 0 0 16 17 18 0 6 0 21 0 + 7 0 22 2 6 23 0 0 24 1 23 0 0 25 1 6 + 0 0 26 1 6 0 0 27 1 6 17 0 29 1 6 16 + 0 32 1 6 23 0 33 0 6 0 34 0 7 0 35 2 + 6 36 0 9 37 3 6 0 0 9 36 38 1 6 7 0 + 39 2 7 23 0 0 40 1 6 0 7 41 1 6 12 0 + 43 2 6 47 0 9 48 2 49 6 0 36 50 3 6 0 + 0 16 52 53 3 6 0 0 16 52 55 1 6 0 9 + 57 1 6 8 0 60 2 6 0 7 8 61 1 6 23 0 + 63 0 49 0 64 2 49 23 0 0 65 1 49 36 0 + 66 1 49 6 0 67 1 6 36 0 68 1 49 0 0 + 69 2 16 23 9 0 71 2 6 36 0 16 72 2 49 + 6 0 0 74 3 0 0 0 0 9 75 1 49 6 0 76 2 + 0 0 0 9 77 1 6 17 0 78 1 79 0 17 80 1 + 79 0 0 81 2 82 0 36 7 83 1 82 84 0 85 + 2 6 7 0 8 86 3 82 7 0 84 7 87 1 89 0 + 88 90 1 92 91 0 93 2 89 0 0 0 94 1 0 + 89 95 96 1 97 79 0 98 2 79 0 0 0 99 2 + 82 0 0 0 100 2 0 101 95 102 103 2 104 + 49 49 49 105 2 0 47 47 47 106 2 109 + 107 108 49 110 2 0 111 112 47 113 1 + 109 114 49 115 1 0 116 47 117 1 109 + 114 49 118 1 0 116 47 119 1 7 120 0 + 121 1 122 7 0 123 1 122 126 0 127 2 + 130 0 6 129 131 1 114 49 0 132 2 6 0 + 47 9 133 1 114 135 0 136 1 0 120 0 + 137 1 92 0 0 138 0 6 36 139 2 79 0 0 + 0 140 2 6 52 0 16 141 2 84 142 0 0 + 143 1 6 7 0 144 1 89 0 0 145 1 7 146 + 95 147 2 82 7 0 84 148 2 6 0 0 0 149 + 2 6 0 0 0 150 1 0 146 95 151 1 7 142 + 0 152 1 0 142 0 153 0 8 0 154 3 6 0 0 + 9 36 155 2 6 0 0 0 156 2 49 157 0 0 + 158 1 160 130 6 161 1 0 120 0 162 1 + 163 130 6 164 1 6 120 0 165 1 130 6 0 + 166 1 130 168 0 169 1 0 0 0 170 1 49 + 6 0 171 2 0 0 0 9 172 1 6 7 0 173 2 6 + 142 0 7 174 1 6 175 0 176 1 0 0 0 177 + 2 6 0 0 9 178 2 6 142 0 0 179 2 0 0 0 + 9 180 2 8 23 0 0 181 2 7 23 0 0 182 2 + 0 23 0 0 183 3 186 184 6 185 184 187 + 3 0 188 0 185 188 189 3 192 190 6 191 + 190 193 3 0 194 0 191 194 195 1 9 185 + 0 196 1 7 185 0 197 3 200 185 198 199 + 6 201 1 0 185 0 202 1 9 191 0 203 1 7 + 191 0 204 3 207 191 205 206 6 208 1 0 + 191 0 209 1 9 210 0 211 1 7 210 0 212 + 3 215 210 213 214 6 216 1 0 210 0 217 + 2 0 36 0 16 73 1 0 36 0 70 1 0 0 0 + 170 1 0 120 0 162 2 0 111 112 47 113 + 1 0 12 0 59 1 0 9 0 58 3 0 0 0 0 9 75 + 1 0 89 95 96 2 0 101 95 102 103 2 0 0 + 0 9 180 1 0 0 0 177 1 0 17 0 62 3 0 + 188 0 185 188 189 3 0 194 0 191 194 + 195 1 0 17 0 28 3 0 0 0 16 52 56 3 0 + 157 0 0 9 159 1 0 30 0 42 1 0 30 0 31 + 1 0 45 0 46 2 0 47 47 47 106 1 0 116 + 47 119 1 0 116 47 117 1 0 120 0 137 2 + 0 0 0 19 20 2 0 0 0 9 77 1 0 210 0 + 217 1 0 185 0 202 1 0 191 0 209 2 0 0 + 0 9 172 1 0 146 95 151 3 0 0 0 16 52 + 54 3 0 0 0 9 36 51 1 0 142 0 153 2 0 + 23 0 0 183))))) + '|lookupComplete|)) @ \section{package POLYLIFT PolynomialCategoryLifting} <<package POLYLIFT PolynomialCategoryLifting>>= @@ -3126,145 +2979,163 @@ Note that this code is not included in the generated catdef.spad file. <<UPOLYC.lsp BOOTSTRAP>>= -(|/VERSIONCHECK| 2) - -(SETQ |UnivariatePolynomialCategory;CAT| (QUOTE NIL)) - -(SETQ |UnivariatePolynomialCategory;AL| (QUOTE NIL)) - -(DEFUN |UnivariatePolynomialCategory| (#1=#:G103214) - (LET (#2=#:G103215) - (COND - ((SETQ #2# (|assoc| (|devaluate| #1#) |UnivariatePolynomialCategory;AL|)) - (CDR #2#)) - (T - (SETQ |UnivariatePolynomialCategory;AL| - (|cons5| - (CONS - (|devaluate| #1#) - (SETQ #2# (|UnivariatePolynomialCategory;| #1#))) - |UnivariatePolynomialCategory;AL|)) - #2#)))) - -(DEFUN |UnivariatePolynomialCategory;| (|t#1|) - (PROG (#1=#:G103213) - (RETURN - (PROG1 - (LETT #1# - (|sublisV| - (PAIR (QUOTE (|t#1|)) (LIST (|devaluate| |t#1|))) - (|sublisV| - (PAIR - (QUOTE (#2=#:G103211 #3=#:G103212)) - (LIST - (QUOTE (|NonNegativeInteger|)) - (QUOTE (|SingletonAsOrderedSet|)))) - (COND - (|UnivariatePolynomialCategory;CAT|) - ((QUOTE T) - (LETT |UnivariatePolynomialCategory;CAT| - (|Join| - (|PolynomialCategory| - (QUOTE |t#1|) (QUOTE #2#) (QUOTE #3#)) - (|Eltable| (QUOTE |t#1|) (QUOTE |t#1|)) - (|Eltable| (QUOTE |$|) (QUOTE |$|)) - (|DifferentialRing|) - (|DifferentialExtension| (QUOTE |t#1|)) - (|mkCategory| - (QUOTE |domain|) - (QUOTE ( - ((|vectorise| - ((|Vector| |t#1|) |$| (|NonNegativeInteger|))) T) - ((|makeSUP| - ((|SparseUnivariatePolynomial| |t#1|) |$|)) T) - ((|unmakeSUP| - (|$| (|SparseUnivariatePolynomial| |t#1|))) T) - ((|multiplyExponents| - (|$| |$| (|NonNegativeInteger|))) T) - ((|divideExponents| - ((|Union| |$| "failed") - |$| - (|NonNegativeInteger|))) T) - ((|monicDivide| - ((|Record| - (|:| |quotient| |$|) - (|:| |remainder| |$|)) - |$| - |$|)) T) - ((|karatsubaDivide| - ((|Record| - (|:| |quotient| |$|) - (|:| |remainder| |$|)) - |$| - (|NonNegativeInteger|))) T) - ((|shiftRight| (|$| |$| (|NonNegativeInteger|))) T) - ((|shiftLeft| (|$| |$| (|NonNegativeInteger|))) T) - ((|pseudoRemainder| (|$| |$| |$|)) T) - ((|differentiate| - (|$| |$| (|Mapping| |t#1| |t#1|) |$|)) T) - ((|discriminant| (|t#1| |$|)) - (|has| |t#1| (|CommutativeRing|))) - ((|resultant| (|t#1| |$| |$|)) - (|has| |t#1| (|CommutativeRing|))) - ((|elt| - ((|Fraction| |$|) - (|Fraction| |$|) - (|Fraction| |$|))) - (|has| |t#1| (|IntegralDomain|))) - ((|order| ((|NonNegativeInteger|) |$| |$|)) - (|has| |t#1| (|IntegralDomain|))) - ((|subResultantGcd| (|$| |$| |$|)) - (|has| |t#1| (|IntegralDomain|))) - ((|composite| ((|Union| |$| "failed") |$| |$|)) - (|has| |t#1| (|IntegralDomain|))) - ((|composite| - ((|Union| (|Fraction| |$|) "failed") - (|Fraction| |$|) - |$|)) - (|has| |t#1| (|IntegralDomain|))) - ((|pseudoQuotient| (|$| |$| |$|)) - (|has| |t#1| (|IntegralDomain|))) - ((|pseudoDivide| - ((|Record| - (|:| |coef| |t#1|) - (|:| |quotient| |$|) - (|:| |remainder| |$|)) - |$| - |$|)) - (|has| |t#1| (|IntegralDomain|))) - ((|separate| - ((|Record| - (|:| |primePart| |$|) - (|:| |commonPart| |$|)) - |$| - |$|)) - (|has| |t#1| (|GcdDomain|))) - ((|elt| (|t#1| (|Fraction| |$|) |t#1|)) - (|has| |t#1| (|Field|))) - ((|integrate| (|$| |$|)) - (|has| |t#1| - (|Algebra| (|Fraction| (|Integer|))))))) - (QUOTE ( - ((|StepThrough|) (|has| |t#1| (|StepThrough|))) - ((|Eltable| - (|Fraction| |$|) - (|Fraction| |$|)) - (|has| |t#1| (|IntegralDomain|))) - ((|EuclideanDomain|) (|has| |t#1| (|Field|))) - (|additiveValuation| (|has| |t#1| (|Field|))))) - (QUOTE ( - (|Fraction| |$|) - (|NonNegativeInteger|) - (|SparseUnivariatePolynomial| |t#1|) - (|Vector| |t#1|))) - NIL)) - . #4=(|UnivariatePolynomialCategory|)))))) - . #4#) - (SETELT #1# 0 - (LIST - (QUOTE |UnivariatePolynomialCategory|) - (|devaluate| |t#1|))))))) - +(/VERSIONCHECK 2) + +(DEFPARAMETER |UnivariatePolynomialCategory;CAT| 'NIL) + +(DEFPARAMETER |UnivariatePolynomialCategory;AL| 'NIL) + +(DEFUN |UnivariatePolynomialCategory| (#0=#:G1424) + (LET (#1=#:G1425) + (COND + ((SETQ #1# + (|assoc| (|devaluate| #0#) + |UnivariatePolynomialCategory;AL|)) + (CDR #1#)) + (T (SETQ |UnivariatePolynomialCategory;AL| + (|cons5| (CONS (|devaluate| #0#) + (SETQ #1# + (|UnivariatePolynomialCategory;| + #0#))) + |UnivariatePolynomialCategory;AL|)) + #1#)))) + +(DEFUN |UnivariatePolynomialCategory;| (|t#1|) + (PROG (#0=#:G1423) + (RETURN + (PROG1 (LETT #0# + (|sublisV| + (PAIR '(|t#1|) (LIST (|devaluate| |t#1|))) + (|sublisV| + (PAIR '(#1=#:G1421 #2=#:G1422) + (LIST '(|NonNegativeInteger|) + '(|SingletonAsOrderedSet|))) + (COND + (|UnivariatePolynomialCategory;CAT|) + ('T + (LETT |UnivariatePolynomialCategory;CAT| + (|Join| + (|PolynomialCategory| '|t#1| '#1# + '#2#) + (|Eltable| '|t#1| '|t#1|) + (|Eltable| '$ '$) + (|DifferentialRing|) + (|DifferentialExtension| '|t#1|) + (|mkCategory| '|domain| + '(((|vectorise| + ((|Vector| |t#1|) $ + (|NonNegativeInteger|))) + T) + ((|makeSUP| + ((|SparseUnivariatePolynomial| + |t#1|) + $)) + T) + ((|unmakeSUP| + ($ + (|SparseUnivariatePolynomial| + |t#1|))) + T) + ((|multiplyExponents| + ($ $ (|NonNegativeInteger|))) + T) + ((|divideExponents| + ((|Union| $ "failed") $ + (|NonNegativeInteger|))) + T) + ((|monicDivide| + ((|Record| (|:| |quotient| $) + (|:| |remainder| $)) + $ $)) + T) + ((|karatsubaDivide| + ((|Record| (|:| |quotient| $) + (|:| |remainder| $)) + $ (|NonNegativeInteger|))) + T) + ((|shiftRight| + ($ $ (|NonNegativeInteger|))) + T) + ((|shiftLeft| + ($ $ (|NonNegativeInteger|))) + T) + ((|pseudoRemainder| ($ $ $)) T) + ((|differentiate| + ($ $ (|Mapping| |t#1| |t#1|) + $)) + T) + ((|discriminant| (|t#1| $)) + (|has| |t#1| + (|CommutativeRing|))) + ((|resultant| (|t#1| $ $)) + (|has| |t#1| + (|CommutativeRing|))) + ((|elt| + ((|Fraction| $) + (|Fraction| $) + (|Fraction| $))) + (|has| |t#1| + (|IntegralDomain|))) + ((|order| + ((|NonNegativeInteger|) $ $)) + (|has| |t#1| + (|IntegralDomain|))) + ((|subResultantGcd| ($ $ $)) + (|has| |t#1| + (|IntegralDomain|))) + ((|composite| + ((|Union| $ "failed") $ $)) + (|has| |t#1| + (|IntegralDomain|))) + ((|composite| + ((|Union| (|Fraction| $) + "failed") + (|Fraction| $) $)) + (|has| |t#1| + (|IntegralDomain|))) + ((|pseudoQuotient| ($ $ $)) + (|has| |t#1| + (|IntegralDomain|))) + ((|pseudoDivide| + ((|Record| (|:| |coef| |t#1|) + (|:| |quotient| $) + (|:| |remainder| $)) + $ $)) + (|has| |t#1| + (|IntegralDomain|))) + ((|separate| + ((|Record| + (|:| |primePart| $) + (|:| |commonPart| $)) + $ $)) + (|has| |t#1| (|GcdDomain|))) + ((|elt| + (|t#1| (|Fraction| $) |t#1|)) + (|has| |t#1| (|Field|))) + ((|integrate| ($ $)) + (|has| |t#1| + (|Algebra| + (|Fraction| (|Integer|)))))) + '(((|StepThrough|) + (|has| |t#1| (|StepThrough|))) + ((|Eltable| (|Fraction| $) + (|Fraction| $)) + (|has| |t#1| + (|IntegralDomain|))) + ((|EuclideanDomain|) + (|has| |t#1| (|Field|))) + (|additiveValuation| + (|has| |t#1| (|Field|)))) + '((|Fraction| $) + (|NonNegativeInteger|) + (|SparseUnivariatePolynomial| + |t#1|) + (|Vector| |t#1|)) + NIL)) + . #3=(|UnivariatePolynomialCategory|)))))) . #3#) + (SETELT #0# 0 + (LIST '|UnivariatePolynomialCategory| + (|devaluate| |t#1|))))))) @ \section{UPOLYC-.lsp BOOTSTRAP} {\bf UPOLYC-} depends on {\bf UPOLYC}. We need to break this cycle to build @@ -3277,1377 +3148,1151 @@ Note that this code is not included in the generated catdef.spad file. <<UPOLYC-.lsp BOOTSTRAP>>= -(|/VERSIONCHECK| 2) +(/VERSIONCHECK 2) -(DEFUN |UPOLYC-;variables;SL;1| (|p| |$|) - (COND - ((OR - (SPADCALL |p| (QREFELT |$| 9)) - (ZEROP (SPADCALL |p| (QREFELT |$| 11)))) +(DEFUN |UPOLYC-;variables;SL;1| (|p| $) + (COND + ((OR (SPADCALL |p| (QREFELT $ 9)) + (ZEROP (SPADCALL |p| (QREFELT $ 11)))) NIL) - ((QUOTE T) (LIST (SPADCALL (QREFELT |$| 13)))))) + ('T (LIST (SPADCALL (QREFELT $ 13)))))) -(DEFUN |UPOLYC-;degree;SSaosNni;2| (|p| |v| |$|) - (SPADCALL |p| (QREFELT |$| 11))) +(DEFUN |UPOLYC-;degree;SSaosNni;2| (|p| |v| $) + (SPADCALL |p| (QREFELT $ 11))) -(DEFUN |UPOLYC-;totalDegree;SLNni;3| (|p| |lv| |$|) - (COND ((NULL |lv|) 0) ((QUOTE T) (SPADCALL |p| (QREFELT |$| 17))))) +(DEFUN |UPOLYC-;totalDegree;SLNni;3| (|p| |lv| $) + (COND ((NULL |lv|) 0) ('T (SPADCALL |p| (QREFELT $ 17))))) -(DEFUN |UPOLYC-;degree;SLL;4| (|p| |lv| |$|) - (COND ((NULL |lv|) NIL) ((QUOTE T) (LIST (SPADCALL |p| (QREFELT |$| 11)))))) +(DEFUN |UPOLYC-;degree;SLL;4| (|p| |lv| $) + (COND ((NULL |lv|) NIL) ('T (LIST (SPADCALL |p| (QREFELT $ 11)))))) -(DEFUN |UPOLYC-;eval;SLLS;5| (|p| |lv| |lq| |$|) - (COND +(DEFUN |UPOLYC-;eval;SLLS;5| (|p| |lv| |lq| $) + (COND ((NULL |lv|) |p|) - ((NULL (NULL (CDR |lv|))) - (|error| "can only eval a univariate polynomial once")) - ((QUOTE T) - (SPADCALL |p| (|SPADfirst| |lv|) (|SPADfirst| |lq|) (QREFELT |$| 21))))) + ((NULL (NULL (CDR |lv|))) + (|error| "can only eval a univariate polynomial once")) + ('T + (SPADCALL |p| (|SPADfirst| |lv|) (|SPADfirst| |lq|) + (QREFELT $ 21))))) -(DEFUN |UPOLYC-;eval;SSaos2S;6| (|p| |v| |q| |$|) - (SPADCALL |p| |q| (QREFELT |$| 24))) +(DEFUN |UPOLYC-;eval;SSaos2S;6| (|p| |v| |q| $) + (SPADCALL |p| |q| (QREFELT $ 24))) -(DEFUN |UPOLYC-;eval;SLLS;7| (|p| |lv| |lr| |$|) - (COND +(DEFUN |UPOLYC-;eval;SLLS;7| (|p| |lv| |lr| $) + (COND ((NULL |lv|) |p|) - ((NULL (NULL (CDR |lv|))) - (|error| "can only eval a univariate polynomial once")) - ((QUOTE T) - (SPADCALL |p| (|SPADfirst| |lv|) (|SPADfirst| |lr|) (QREFELT |$| 26))))) + ((NULL (NULL (CDR |lv|))) + (|error| "can only eval a univariate polynomial once")) + ('T + (SPADCALL |p| (|SPADfirst| |lv|) (|SPADfirst| |lr|) + (QREFELT $ 26))))) -(DEFUN |UPOLYC-;eval;SSaosRS;8| (|p| |v| |r| |$|) - (SPADCALL (SPADCALL |p| |r| (QREFELT |$| 29)) (QREFELT |$| 30))) +(DEFUN |UPOLYC-;eval;SSaosRS;8| (|p| |v| |r| $) + (SPADCALL (SPADCALL |p| |r| (QREFELT $ 29)) (QREFELT $ 30))) -(DEFUN |UPOLYC-;eval;SLS;9| (|p| |le| |$|) - (COND +(DEFUN |UPOLYC-;eval;SLS;9| (|p| |le| $) + (COND ((NULL |le|) |p|) - ((NULL (NULL (CDR |le|))) - (|error| "can only eval a univariate polynomial once")) - ((QUOTE T) - (COND - ((QEQCAR - (SPADCALL - (SPADCALL (|SPADfirst| |le|) (QREFELT |$| 33)) - (QREFELT |$| 35)) - 1) - |p|) - ((QUOTE T) - (SPADCALL |p| - (SPADCALL (|SPADfirst| |le|) (QREFELT |$| 36)) - (QREFELT |$| 24))))))) - -(DEFUN |UPOLYC-;mainVariable;SU;10| (|p| |$|) - (COND - ((ZEROP (SPADCALL |p| (QREFELT |$| 11))) (CONS 1 "failed")) - ((QUOTE T) (CONS 0 (SPADCALL (QREFELT |$| 13)))))) - -(DEFUN |UPOLYC-;minimumDegree;SSaosNni;11| (|p| |v| |$|) - (SPADCALL |p| (QREFELT |$| 40))) - -(DEFUN |UPOLYC-;minimumDegree;SLL;12| (|p| |lv| |$|) - (COND ((NULL |lv|) NIL) ((QUOTE T) (LIST (SPADCALL |p| (QREFELT |$| 40)))))) - -(DEFUN |UPOLYC-;monomial;SSaosNniS;13| (|p| |v| |n| |$|) - (SPADCALL - (CONS (FUNCTION |UPOLYC-;monomial;SSaosNniS;13!0|) (VECTOR |$| |n|)) - |p| - (QREFELT |$| 45))) - -(DEFUN |UPOLYC-;monomial;SSaosNniS;13!0| (|#1| |$$|) - (SPADCALL |#1| (QREFELT |$$| 1) (QREFELT (QREFELT |$$| 0) 43))) - -(DEFUN |UPOLYC-;coerce;SaosS;14| (|v| |$|) - (SPADCALL (|spadConstant| |$| 48) 1 (QREFELT |$| 49))) - -(DEFUN |UPOLYC-;makeSUP;SSup;15| (|p| |$|) - (COND - ((SPADCALL |p| (QREFELT |$| 9)) (|spadConstant| |$| 52)) - ((QUOTE T) - (SPADCALL - (SPADCALL - (SPADCALL |p| (QREFELT |$| 53)) - (SPADCALL |p| (QREFELT |$| 11)) - (QREFELT |$| 54)) - (SPADCALL - (SPADCALL |p| (QREFELT |$| 55)) - (QREFELT |$| 56)) - (QREFELT |$| 57))))) - -(DEFUN |UPOLYC-;unmakeSUP;SupS;16| (|sp| |$|) - (COND - ((SPADCALL |sp| (QREFELT |$| 59)) (|spadConstant| |$| 60)) - ((QUOTE T) - (SPADCALL - (SPADCALL - (SPADCALL |sp| (QREFELT |$| 61)) - (SPADCALL |sp| (QREFELT |$| 62)) - (QREFELT |$| 49)) - (SPADCALL (SPADCALL |sp| (QREFELT |$| 63)) (QREFELT |$| 64)) - (QREFELT |$| 65))))) - -(DEFUN |UPOLYC-;karatsubaDivide;SNniR;17| (|p| |n| |$|) - (SPADCALL |p| - (SPADCALL (|spadConstant| |$| 48) |n| (QREFELT |$| 49)) - (QREFELT |$| 68))) - -(DEFUN |UPOLYC-;shiftRight;SNniS;18| (|p| |n| |$|) - (QCAR - (SPADCALL |p| - (SPADCALL (|spadConstant| |$| 48) |n| (QREFELT |$| 49)) - (QREFELT |$| 68)))) - -(DEFUN |UPOLYC-;shiftLeft;SNniS;19| (|p| |n| |$|) - (SPADCALL |p| - (SPADCALL (|spadConstant| |$| 48) |n| (QREFELT |$| 49)) (QREFELT |$| 71))) - -(DEFUN |UPOLYC-;solveLinearPolynomialEquation;LSupU;20| (|lpp| |pp| |$|) - (SPADCALL |lpp| |pp| (QREFELT |$| 77))) - -(DEFUN |UPOLYC-;factorPolynomial;SupF;21| (|pp| |$|) - (SPADCALL |pp| (QREFELT |$| 83))) - -(DEFUN |UPOLYC-;factorSquareFreePolynomial;SupF;22| (|pp| |$|) - (SPADCALL |pp| (QREFELT |$| 86))) - -(DEFUN |UPOLYC-;factor;SF;23| (|p| |$|) - (PROG (|ansR| #1=#:G103310 |w| #2=#:G103311) - (RETURN - (SEQ - (COND - ((ZEROP (SPADCALL |p| (QREFELT |$| 11))) - (SEQ - (LETT |ansR| - (SPADCALL - (SPADCALL |p| (QREFELT |$| 53)) - (QREFELT |$| 89)) - |UPOLYC-;factor;SF;23|) - (EXIT - (SPADCALL - (SPADCALL - (SPADCALL |ansR| (QREFELT |$| 91)) - (QREFELT |$| 30)) - (PROGN - (LETT #1# NIL |UPOLYC-;factor;SF;23|) - (SEQ - (LETT |w| NIL |UPOLYC-;factor;SF;23|) - (LETT #2# - (SPADCALL |ansR| (QREFELT |$| 95)) - |UPOLYC-;factor;SF;23|) - G190 - (COND - ((OR - (ATOM #2#) - (PROGN - (LETT |w| (CAR #2#) |UPOLYC-;factor;SF;23|) - NIL)) - (GO G191))) - (SEQ - (EXIT - (LETT #1# - (CONS - (VECTOR - (QVELT |w| 0) - (SPADCALL (QVELT |w| 1) (QREFELT |$| 30)) - (QVELT |w| 2)) - #1#) - |UPOLYC-;factor;SF;23|))) - (LETT #2# (CDR #2#) |UPOLYC-;factor;SF;23|) - (GO G190) - G191 - (EXIT (NREVERSE0 #1#)))) - (QREFELT |$| 99))))) - ((QUOTE T) - (SPADCALL - (ELT |$| 64) - (SPADCALL (SPADCALL |p| (QREFELT |$| 56)) (QREFELT |$| 100)) - (QREFELT |$| 104)))))))) - -(DEFUN |UPOLYC-;vectorise;SNniV;24| (|p| |n| |$|) - (PROG (|v| |m| |i| #1=#:G103316 #2=#:G103312) - (RETURN - (SEQ - (LETT |m| - (SPADCALL - (LETT |v| - (SPADCALL |n| (|spadConstant| |$| 106) (QREFELT |$| 108)) - |UPOLYC-;vectorise;SNniV;24|) - (QREFELT |$| 110)) - |UPOLYC-;vectorise;SNniV;24|) - (SEQ - (LETT |i| - (SPADCALL |v| (QREFELT |$| 110)) - |UPOLYC-;vectorise;SNniV;24|) - (LETT #1# (QVSIZE |v|) |UPOLYC-;vectorise;SNniV;24|) - G190 - (COND ((|>| |i| #1#) (GO G191))) - (SEQ - (EXIT - (SPADCALL |v| |i| - (SPADCALL |p| - (PROG1 - (LETT #2# (|-| |i| |m|) |UPOLYC-;vectorise;SNniV;24|) - (|check-subtype| - (|>=| #2# 0) - (QUOTE (|NonNegativeInteger|)) - #2#)) - (QREFELT |$| 111)) - (QREFELT |$| 112)))) - (LETT |i| (|+| |i| 1) |UPOLYC-;vectorise;SNniV;24|) - (GO G190) - G191 - (EXIT NIL)) - (EXIT |v|))))) - -(DEFUN |UPOLYC-;retract;SR;25| (|p| |$|) - (COND - ((SPADCALL |p| (QREFELT |$| 9)) (|spadConstant| |$| 106)) - ((ZEROP (SPADCALL |p| (QREFELT |$| 11))) (SPADCALL |p| (QREFELT |$| 53))) - ((QUOTE T) (|error| "Polynomial is not of degree 0")))) - -(DEFUN |UPOLYC-;retractIfCan;SU;26| (|p| |$|) - (COND - ((SPADCALL |p| (QREFELT |$| 9)) (CONS 0 (|spadConstant| |$| 106))) - ((ZEROP (SPADCALL |p| (QREFELT |$| 11))) - (CONS 0 (SPADCALL |p| (QREFELT |$| 53)))) - ((QUOTE T) (CONS 1 "failed")))) - -(DEFUN |UPOLYC-;init;S;27| (|$|) - (SPADCALL (|spadConstant| |$| 117) (QREFELT |$| 30))) - -(DEFUN |UPOLYC-;nextItemInner| (|n| |$|) - (PROG (|nn| |n1| |n2| #1=#:G103337 |n3|) - (RETURN - (SEQ - (COND - ((SPADCALL |n| (QREFELT |$| 9)) - (CONS - 0 - (SPADCALL - (PROG2 - (LETT #1# - (SPADCALL (|spadConstant| |$| 106) (QREFELT |$| 120)) - |UPOLYC-;nextItemInner|) - (QCDR #1#) - (|check-union| (QEQCAR #1# 0) (QREFELT |$| 7) #1#)) - (QREFELT |$| 30)))) - ((ZEROP (SPADCALL |n| (QREFELT |$| 11))) - (SEQ - (LETT |nn| - (SPADCALL (SPADCALL |n| (QREFELT |$| 53)) (QREFELT |$| 120)) - |UPOLYC-;nextItemInner|) - (EXIT - (COND - ((QEQCAR |nn| 1) (CONS 1 "failed")) - ((QUOTE T) - (CONS 0 (SPADCALL (QCDR |nn|) (QREFELT |$| 30)))))))) - ((QUOTE T) - (SEQ - (LETT |n1| - (SPADCALL |n| (QREFELT |$| 55)) - |UPOLYC-;nextItemInner|) - (LETT |n2| - (|UPOLYC-;nextItemInner| |n1| |$|) - |UPOLYC-;nextItemInner|) - (EXIT - (COND - ((QEQCAR |n2| 0) - (CONS - 0 - (SPADCALL - (SPADCALL - (SPADCALL |n| (QREFELT |$| 53)) - (SPADCALL |n| (QREFELT |$| 11)) - (QREFELT |$| 49)) - (QCDR |n2|) - (QREFELT |$| 65)))) - ((|<| - (|+| 1 (SPADCALL |n1| (QREFELT |$| 11))) - (SPADCALL |n| (QREFELT |$| 11))) - (CONS - 0 - (SPADCALL - (SPADCALL - (SPADCALL |n| (QREFELT |$| 53)) - (SPADCALL |n| (QREFELT |$| 11)) - (QREFELT |$| 49)) - (SPADCALL - (PROG2 - (LETT #1# - (SPADCALL - (|spadConstant| |$| 117) - (QREFELT |$| 120)) - |UPOLYC-;nextItemInner|) - (QCDR #1#) - (|check-union| (QEQCAR #1# 0) (QREFELT |$| 7) #1#)) - (|+| 1 (SPADCALL |n1| (QREFELT |$| 11))) - (QREFELT |$| 49)) - (QREFELT |$| 65)))) - ((QUOTE T) - (SEQ - (LETT |n3| - (SPADCALL - (SPADCALL |n| (QREFELT |$| 53)) - (QREFELT |$| 120)) - |UPOLYC-;nextItemInner|) - (EXIT - (COND - ((QEQCAR |n3| 1) (CONS 1 "failed")) - ((QUOTE T) - (CONS - 0 - (SPADCALL - (QCDR |n3|) - (SPADCALL |n| (QREFELT |$| 11)) - (QREFELT |$| 49))))))))))))))))) - -(DEFUN |UPOLYC-;nextItem;SU;29| (|n| |$|) - (PROG (|n1| #1=#:G103350) - (RETURN - (SEQ - (LETT |n1| (|UPOLYC-;nextItemInner| |n| |$|) |UPOLYC-;nextItem;SU;29|) - (EXIT - (COND - ((QEQCAR |n1| 1) - (CONS - 0 - (SPADCALL - (PROG2 - (LETT #1# - (SPADCALL (|spadConstant| |$| 117) (QREFELT |$| 120)) - |UPOLYC-;nextItem;SU;29|) - (QCDR #1#) - (|check-union| (QEQCAR #1# 0) (QREFELT |$| 7) #1#)) - (|+| 1 (SPADCALL |n| (QREFELT |$| 11))) - (QREFELT |$| 49)))) - ((QUOTE T) |n1|))))))) - -(DEFUN |UPOLYC-;content;SSaosS;30| (|p| |v| |$|) - (SPADCALL (SPADCALL |p| (QREFELT |$| 123)) (QREFELT |$| 30))) - -(DEFUN |UPOLYC-;primeFactor| (|p| |q| |$|) - (PROG (#1=#:G103356 |p1|) - (RETURN - (SEQ - (LETT |p1| - (PROG2 - (LETT #1# - (SPADCALL |p| - (SPADCALL |p| |q| (QREFELT |$| 125)) - (QREFELT |$| 126)) - |UPOLYC-;primeFactor|) - (QCDR #1#) - (|check-union| (QEQCAR #1# 0) (QREFELT |$| 6) #1#)) - |UPOLYC-;primeFactor|) - (EXIT - (COND - ((SPADCALL |p1| |p| (QREFELT |$| 127)) |p|) - ((QUOTE T) (|UPOLYC-;primeFactor| |p1| |q| |$|)))))))) - -(DEFUN |UPOLYC-;separate;2SR;32| (|p| |q| |$|) - (PROG (|a| #1=#:G103362) - (RETURN - (SEQ - (LETT |a| - (|UPOLYC-;primeFactor| |p| |q| |$|) - |UPOLYC-;separate;2SR;32|) - (EXIT - (CONS - |a| - (PROG2 - (LETT #1# - (SPADCALL |p| |a| (QREFELT |$| 126)) - |UPOLYC-;separate;2SR;32|) - (QCDR #1#) - (|check-union| (QEQCAR #1# 0) (QREFELT |$| 6) #1#)))))))) - -(DEFUN |UPOLYC-;differentiate;SM2S;33| (|x| |deriv| |x'| |$|) - (PROG (|dg| |lc| #1=#:G103367 |d|) - (RETURN - (SEQ - (LETT |d| (|spadConstant| |$| 60) |UPOLYC-;differentiate;SM2S;33|) - (SEQ G190 - (COND - ((NULL - (|<| 0 - (LETT |dg| - (SPADCALL |x| (QREFELT |$| 11)) - |UPOLYC-;differentiate;SM2S;33|))) - (GO G191))) - (SEQ - (LETT |lc| - (SPADCALL |x| (QREFELT |$| 53)) - |UPOLYC-;differentiate;SM2S;33|) - (LETT |d| - (SPADCALL - (SPADCALL |d| - (SPADCALL |x'| - (SPADCALL - (SPADCALL |dg| |lc| (QREFELT |$| 131)) - (PROG1 - (LETT #1# (|-| |dg| 1) |UPOLYC-;differentiate;SM2S;33|) - (|check-subtype| - (|>=| #1# 0) - (QUOTE (|NonNegativeInteger|)) - #1#)) - (QREFELT |$| 49)) - (QREFELT |$| 71)) - (QREFELT |$| 65)) - (SPADCALL - (SPADCALL |lc| |deriv|) - |dg| - (QREFELT |$| 49)) - (QREFELT |$| 65)) - |UPOLYC-;differentiate;SM2S;33|) - (EXIT - (LETT |x| - (SPADCALL |x| (QREFELT |$| 55)) - |UPOLYC-;differentiate;SM2S;33|))) - NIL - (GO G190) - G191 - (EXIT NIL)) - (EXIT - (SPADCALL |d| - (SPADCALL - (SPADCALL - (SPADCALL |x| (QREFELT |$| 53)) - |deriv|) - (QREFELT |$| 30)) - (QREFELT |$| 65))))))) - -(DEFUN |UPOLYC-;ncdiff| (|n| |x'| |$|) - (PROG (#1=#:G103385 |n1|) - (RETURN - (COND - ((ZEROP |n|) (|spadConstant| |$| 60)) - ((ZEROP - (LETT |n1| - (PROG1 - (LETT #1# (|-| |n| 1) |UPOLYC-;ncdiff|) - (|check-subtype| - (|>=| #1# 0) - (QUOTE (|NonNegativeInteger|)) - #1#)) - |UPOLYC-;ncdiff|)) - |x'|) - ((QUOTE T) - (SPADCALL - (SPADCALL |x'| - (SPADCALL (|spadConstant| |$| 48) |n1| (QREFELT |$| 49)) - (QREFELT |$| 71)) - (SPADCALL - (SPADCALL (|spadConstant| |$| 48) 1 (QREFELT |$| 49)) - (|UPOLYC-;ncdiff| |n1| |x'| |$|) - (QREFELT |$| 71)) - (QREFELT |$| 65))))))) - -(DEFUN |UPOLYC-;differentiate;SM2S;35| (|x| |deriv| |x'| |$|) - (PROG (|dg| |lc| |d|) - (RETURN - (SEQ - (LETT |d| (|spadConstant| |$| 60) |UPOLYC-;differentiate;SM2S;35|) - (SEQ G190 - (COND - ((NULL - (|<| 0 - (LETT |dg| - (SPADCALL |x| (QREFELT |$| 11)) - |UPOLYC-;differentiate;SM2S;35|))) - (GO G191))) - (SEQ - (LETT |lc| - (SPADCALL |x| (QREFELT |$| 53)) - |UPOLYC-;differentiate;SM2S;35|) - (LETT |d| - (SPADCALL - (SPADCALL |d| - (SPADCALL - (SPADCALL |lc| |deriv|) - |dg| - (QREFELT |$| 49)) - (QREFELT |$| 65)) - (SPADCALL |lc| - (|UPOLYC-;ncdiff| |dg| |x'| |$|) - (QREFELT |$| 134)) - (QREFELT |$| 65)) - |UPOLYC-;differentiate;SM2S;35|) - (EXIT - (LETT |x| - (SPADCALL |x| (QREFELT |$| 55)) - |UPOLYC-;differentiate;SM2S;35|))) - NIL - (GO G190) - G191 - (EXIT NIL)) - (EXIT - (SPADCALL |d| - (SPADCALL - (SPADCALL (SPADCALL |x| (QREFELT |$| 53)) |deriv|) - (QREFELT |$| 30)) - (QREFELT |$| 65))))))) - -(DEFUN |UPOLYC-;differentiate;SMS;36| (|x| |deriv| |$|) - (SPADCALL |x| |deriv| (|spadConstant| |$| 47) (QREFELT |$| 135))) - -(DEFUN |UPOLYC-;differentiate;2S;37| (|x| |$|) - (PROG (|dg| #1=#:G103394 |d|) - (RETURN - (SEQ - (LETT |d| (|spadConstant| |$| 60) |UPOLYC-;differentiate;2S;37|) - (SEQ G190 - (COND - ((NULL - (|<| 0 - (LETT |dg| - (SPADCALL |x| (QREFELT |$| 11)) - |UPOLYC-;differentiate;2S;37|))) - (GO G191))) - (SEQ - (LETT |d| - (SPADCALL |d| - (SPADCALL - (SPADCALL |dg| - (SPADCALL |x| (QREFELT |$| 53)) (QREFELT |$| 131)) - (PROG1 - (LETT #1# (|-| |dg| 1) |UPOLYC-;differentiate;2S;37|) - (|check-subtype| - (|>=| #1# 0) - (QUOTE (|NonNegativeInteger|)) - #1#)) - (QREFELT |$| 49)) - (QREFELT |$| 65)) - |UPOLYC-;differentiate;2S;37|) - (EXIT - (LETT |x| - (SPADCALL |x| (QREFELT |$| 55)) - |UPOLYC-;differentiate;2S;37|))) - NIL - (GO G190) - G191 - (EXIT NIL)) - (EXIT |d|))))) - -(DEFUN |UPOLYC-;differentiate;SSaosS;38| (|x| |v| |$|) - (SPADCALL |x| (QREFELT |$| 138))) - -(DEFUN |UPOLYC-;elt;3F;39| (|g| |f| |$|) - (SPADCALL - (SPADCALL - (SPADCALL |g| (QREFELT |$| 141)) - |f| - (QREFELT |$| 143)) - (SPADCALL (SPADCALL |g| (QREFELT |$| 144)) |f| (QREFELT |$| 143)) - (QREFELT |$| 145))) - -(DEFUN |UPOLYC-;pseudoQuotient;3S;40| (|p| |q| |$|) - (PROG (|n| #1=#:G103440 #2=#:G103442) - (RETURN - (SEQ - (LETT |n| - (|+| - (|-| - (SPADCALL |p| (QREFELT |$| 11)) - (SPADCALL |q| (QREFELT |$| 11))) 1) - |UPOLYC-;pseudoQuotient;3S;40|) - (EXIT - (COND - ((|<| |n| 1) (|spadConstant| |$| 60)) - ((QUOTE T) - (PROG2 - (LETT #2# - (SPADCALL - (SPADCALL - (SPADCALL - (SPADCALL - (SPADCALL |q| (QREFELT |$| 53)) - (PROG1 - (LETT #1# |n| |UPOLYC-;pseudoQuotient;3S;40|) - (|check-subtype| - (|>=| #1# 0) - (QUOTE (|NonNegativeInteger|)) - #1#)) - (QREFELT |$| 147)) - |p| - (QREFELT |$| 134)) - (SPADCALL |p| |q| (QREFELT |$| 148)) - (QREFELT |$| 149)) - |q| - (QREFELT |$| 126)) - |UPOLYC-;pseudoQuotient;3S;40|) - (QCDR #2#) - (|check-union| (QEQCAR #2# 0) (QREFELT |$| 6) #2#))))))))) - -(DEFUN |UPOLYC-;pseudoDivide;2SR;41| (|p| |q| |$|) - (PROG (|n| |prem| #1=#:G103448 |lc| #2=#:G103450) - (RETURN - (SEQ - (LETT |n| - (|+| - (|-| - (SPADCALL |p| (QREFELT |$| 11)) - (SPADCALL |q| (QREFELT |$| 11))) 1) - |UPOLYC-;pseudoDivide;2SR;41|) - (EXIT - (COND - ((|<| |n| 1) - (VECTOR (|spadConstant| |$| 48) (|spadConstant| |$| 60) |p|)) - ((QUOTE T) - (SEQ - (LETT |prem| - (SPADCALL |p| |q| (QREFELT |$| 148)) - |UPOLYC-;pseudoDivide;2SR;41|) - (LETT |lc| - (SPADCALL - (SPADCALL |q| (QREFELT |$| 53)) - (PROG1 - (LETT #1# |n| |UPOLYC-;pseudoDivide;2SR;41|) - (|check-subtype| - (|>=| #1# 0) - (QUOTE (|NonNegativeInteger|)) #1#)) - (QREFELT |$| 147)) - |UPOLYC-;pseudoDivide;2SR;41|) - (EXIT - (VECTOR |lc| - (PROG2 - (LETT #2# - (SPADCALL - (SPADCALL - (SPADCALL |lc| |p| (QREFELT |$| 134)) - |prem| - (QREFELT |$| 149)) - |q| - (QREFELT |$| 126)) - |UPOLYC-;pseudoDivide;2SR;41|) - (QCDR #2#) - (|check-union| (QEQCAR #2# 0) (QREFELT |$| 6) #2#)) - |prem|)))))))))) - -(DEFUN |UPOLYC-;composite;FSU;42| (|f| |q| |$|) - (PROG (|n| |d|) - (RETURN - (SEQ - (LETT |n| - (SPADCALL (SPADCALL |f| (QREFELT |$| 141)) |q| (QREFELT |$| 153)) - |UPOLYC-;composite;FSU;42|) - (EXIT - (COND - ((QEQCAR |n| 1) (CONS 1 "failed")) - ((QUOTE T) - (SEQ - (LETT |d| - (SPADCALL - (SPADCALL |f| (QREFELT |$| 144)) |q| (QREFELT |$| 153)) - |UPOLYC-;composite;FSU;42|) - (EXIT - (COND - ((QEQCAR |d| 1) (CONS 1 "failed")) - ((QUOTE T) - (CONS - 0 - (SPADCALL - (QCDR |n|) - (QCDR |d|) - (QREFELT |$| 154)))))))))))))) - -(DEFUN |UPOLYC-;composite;2SU;43| (|p| |q| |$|) - (PROG (|cqr| |v| |u| |w| #1=#:G103476) - (RETURN - (SEQ - (COND - ((SPADCALL |p| (QREFELT |$| 157)) (CONS 0 |p|)) - ((QUOTE T) - (SEQ - (EXIT - (SEQ - (LETT |cqr| - (SPADCALL |p| |q| (QREFELT |$| 158)) - |UPOLYC-;composite;2SU;43|) - (COND - ((SPADCALL (QVELT |cqr| 2) (QREFELT |$| 157)) - (SEQ - (LETT |v| - (SPADCALL - (QVELT |cqr| 2) - (QVELT |cqr| 0) - (QREFELT |$| 159)) - |UPOLYC-;composite;2SU;43|) - (EXIT - (COND - ((QEQCAR |v| 0) - (SEQ - (LETT |u| - (SPADCALL - (QVELT |cqr| 1) - |q| - (QREFELT |$| 153)) - |UPOLYC-;composite;2SU;43|) - (EXIT - (COND - ((QEQCAR |u| 0) - (SEQ - (LETT |w| - (SPADCALL - (QCDR |u|) - (QVELT |cqr| 0) - (QREFELT |$| 159)) - |UPOLYC-;composite;2SU;43|) - (EXIT - (COND - ((QEQCAR |w| 0) - (PROGN - (LETT #1# - (CONS - 0 - (SPADCALL - (QCDR |v|) - (SPADCALL - (SPADCALL - (|spadConstant| |$| 48) - 1 - (QREFELT |$| 49)) - (QCDR |w|) - (QREFELT |$| 71)) - (QREFELT |$| 65))) - |UPOLYC-;composite;2SU;43|) - (GO #1#)))))))))))))))) - (EXIT (CONS 1 "failed")))) - #1# - (EXIT #1#)))))))) - -(DEFUN |UPOLYC-;elt;S2F;44| (|p| |f| |$|) - (PROG (|n| #1=#:G103483 |ans|) - (RETURN - (SEQ - (COND - ((SPADCALL |p| (QREFELT |$| 9)) (|spadConstant| |$| 161)) - ((QUOTE T) - (SEQ - (LETT |ans| - (SPADCALL - (SPADCALL (SPADCALL |p| (QREFELT |$| 53)) (QREFELT |$| 30)) - (QREFELT |$| 162)) - |UPOLYC-;elt;S2F;44|) - (LETT |n| (SPADCALL |p| (QREFELT |$| 11)) |UPOLYC-;elt;S2F;44|) - (SEQ G190 - (COND - ((NULL - (COND - ((SPADCALL - (LETT |p| - (SPADCALL |p| (QREFELT |$| 55)) - |UPOLYC-;elt;S2F;44|) - (QREFELT |$| 9)) - (QUOTE NIL)) - ((QUOTE T) (QUOTE T)))) + ((NULL (NULL (CDR |le|))) + (|error| "can only eval a univariate polynomial once")) + ('T + (COND + ((QEQCAR (SPADCALL (SPADCALL (|SPADfirst| |le|) (QREFELT $ 33)) + (QREFELT $ 35)) + 1) + |p|) + ('T + (SPADCALL |p| (SPADCALL (|SPADfirst| |le|) (QREFELT $ 36)) + (QREFELT $ 24))))))) + +(DEFUN |UPOLYC-;mainVariable;SU;10| (|p| $) + (COND + ((ZEROP (SPADCALL |p| (QREFELT $ 11))) (CONS 1 "failed")) + ('T (CONS 0 (SPADCALL (QREFELT $ 13)))))) + +(DEFUN |UPOLYC-;minimumDegree;SSaosNni;11| (|p| |v| $) + (SPADCALL |p| (QREFELT $ 40))) + +(DEFUN |UPOLYC-;minimumDegree;SLL;12| (|p| |lv| $) + (COND ((NULL |lv|) NIL) ('T (LIST (SPADCALL |p| (QREFELT $ 40)))))) + +(DEFUN |UPOLYC-;monomial;SSaosNniS;13| (|p| |v| |n| $) + (SPADCALL (CONS #'|UPOLYC-;monomial;SSaosNniS;13!0| (VECTOR $ |n|)) + |p| (QREFELT $ 45))) + +(DEFUN |UPOLYC-;monomial;SSaosNniS;13!0| (|#1| $$) + (SPADCALL |#1| (QREFELT $$ 1) (QREFELT (QREFELT $$ 0) 43))) + +(DEFUN |UPOLYC-;coerce;SaosS;14| (|v| $) + (SPADCALL (|spadConstant| $ 48) 1 (QREFELT $ 49))) + +(DEFUN |UPOLYC-;makeSUP;SSup;15| (|p| $) + (COND + ((SPADCALL |p| (QREFELT $ 9)) (|spadConstant| $ 52)) + ('T + (SPADCALL + (SPADCALL (SPADCALL |p| (QREFELT $ 53)) + (SPADCALL |p| (QREFELT $ 11)) (QREFELT $ 54)) + (SPADCALL (SPADCALL |p| (QREFELT $ 55)) (QREFELT $ 56)) + (QREFELT $ 57))))) + +(DEFUN |UPOLYC-;unmakeSUP;SupS;16| (|sp| $) + (COND + ((SPADCALL |sp| (QREFELT $ 59)) (|spadConstant| $ 60)) + ('T + (SPADCALL + (SPADCALL (SPADCALL |sp| (QREFELT $ 61)) + (SPADCALL |sp| (QREFELT $ 62)) (QREFELT $ 49)) + (SPADCALL (SPADCALL |sp| (QREFELT $ 63)) (QREFELT $ 64)) + (QREFELT $ 65))))) + +(DEFUN |UPOLYC-;karatsubaDivide;SNniR;17| (|p| |n| $) + (SPADCALL |p| (SPADCALL (|spadConstant| $ 48) |n| (QREFELT $ 49)) + (QREFELT $ 68))) + +(DEFUN |UPOLYC-;shiftRight;SNniS;18| (|p| |n| $) + (QCAR (SPADCALL |p| + (SPADCALL (|spadConstant| $ 48) |n| (QREFELT $ 49)) + (QREFELT $ 68)))) + +(DEFUN |UPOLYC-;shiftLeft;SNniS;19| (|p| |n| $) + (SPADCALL |p| (SPADCALL (|spadConstant| $ 48) |n| (QREFELT $ 49)) + (QREFELT $ 71))) + +(DEFUN |UPOLYC-;solveLinearPolynomialEquation;LSupU;20| (|lpp| |pp| $) + (SPADCALL |lpp| |pp| (QREFELT $ 77))) + +(DEFUN |UPOLYC-;factorPolynomial;SupF;21| (|pp| $) + (SPADCALL |pp| (QREFELT $ 83))) + +(DEFUN |UPOLYC-;factorSquareFreePolynomial;SupF;22| (|pp| $) + (SPADCALL |pp| (QREFELT $ 86))) + +(DEFUN |UPOLYC-;factor;SF;23| (|p| $) + (PROG (|ansR| #0=#:G1509 |w| #1=#:G1510) + (RETURN + (SEQ (COND + ((ZEROP (SPADCALL |p| (QREFELT $ 11))) + (SEQ (LETT |ansR| + (SPADCALL (SPADCALL |p| (QREFELT $ 53)) + (QREFELT $ 89)) + |UPOLYC-;factor;SF;23|) + (EXIT (SPADCALL + (SPADCALL (SPADCALL |ansR| (QREFELT $ 91)) + (QREFELT $ 30)) + (PROGN + (LETT #0# NIL |UPOLYC-;factor;SF;23|) + (SEQ (LETT |w| NIL + |UPOLYC-;factor;SF;23|) + (LETT #1# + (SPADCALL |ansR| (QREFELT $ 95)) + |UPOLYC-;factor;SF;23|) + G190 + (COND + ((OR (ATOM #1#) + (PROGN + (LETT |w| (CAR #1#) + |UPOLYC-;factor;SF;23|) + NIL)) + (GO G191))) + (SEQ + (EXIT + (LETT #0# + (CONS + (VECTOR (QVELT |w| 0) + (SPADCALL (QVELT |w| 1) + (QREFELT $ 30)) + (QVELT |w| 2)) + #0#) + |UPOLYC-;factor;SF;23|))) + (LETT #1# (CDR #1#) + |UPOLYC-;factor;SF;23|) + (GO G190) G191 + (EXIT (NREVERSE0 #0#)))) + (QREFELT $ 99))))) + ('T + (SPADCALL (ELT $ 64) + (SPADCALL (SPADCALL |p| (QREFELT $ 56)) + (QREFELT $ 100)) + (QREFELT $ 104)))))))) + +(DEFUN |UPOLYC-;vectorise;SNniV;24| (|p| |n| $) + (PROG (|v| |m| |i| #0=#:G1515 #1=#:G1511) + (RETURN + (SEQ (LETT |m| + (SPADCALL + (LETT |v| + (SPADCALL |n| (|spadConstant| $ 106) + (QREFELT $ 108)) + |UPOLYC-;vectorise;SNniV;24|) + (QREFELT $ 110)) + |UPOLYC-;vectorise;SNniV;24|) + (SEQ (LETT |i| (SPADCALL |v| (QREFELT $ 110)) + |UPOLYC-;vectorise;SNniV;24|) + (LETT #0# (QVSIZE |v|) |UPOLYC-;vectorise;SNniV;24|) + G190 (COND ((> |i| #0#) (GO G191))) + (SEQ (EXIT (SPADCALL |v| |i| + (SPADCALL |p| + (PROG1 + (LETT #1# (- |i| |m|) + |UPOLYC-;vectorise;SNniV;24|) + (|check-subtype| (>= #1# 0) + '(|NonNegativeInteger|) + #1#)) + (QREFELT $ 111)) + (QREFELT $ 112)))) + (LETT |i| (+ |i| 1) |UPOLYC-;vectorise;SNniV;24|) + (GO G190) G191 (EXIT NIL)) + (EXIT |v|))))) + +(DEFUN |UPOLYC-;retract;SR;25| (|p| $) + (COND + ((SPADCALL |p| (QREFELT $ 9)) (|spadConstant| $ 106)) + ((ZEROP (SPADCALL |p| (QREFELT $ 11))) + (SPADCALL |p| (QREFELT $ 53))) + ('T (|error| "Polynomial is not of degree 0")))) + +(DEFUN |UPOLYC-;retractIfCan;SU;26| (|p| $) + (COND + ((SPADCALL |p| (QREFELT $ 9)) (CONS 0 (|spadConstant| $ 106))) + ((ZEROP (SPADCALL |p| (QREFELT $ 11))) + (CONS 0 (SPADCALL |p| (QREFELT $ 53)))) + ('T (CONS 1 "failed")))) + +(DEFUN |UPOLYC-;init;S;27| ($) + (SPADCALL (|spadConstant| $ 117) (QREFELT $ 30))) + +(DEFUN |UPOLYC-;nextItemInner| (|n| $) + (PROG (|nn| |n1| |n2| #0=#:G1536 |n3|) + (RETURN + (SEQ (COND + ((SPADCALL |n| (QREFELT $ 9)) + (CONS 0 + (SPADCALL + (PROG2 (LETT #0# + (SPADCALL (|spadConstant| $ 106) + (QREFELT $ 120)) + |UPOLYC-;nextItemInner|) + (QCDR #0#) + (|check-union| (QEQCAR #0# 0) (QREFELT $ 7) + #0#)) + (QREFELT $ 30)))) + ((ZEROP (SPADCALL |n| (QREFELT $ 11))) + (SEQ (LETT |nn| + (SPADCALL (SPADCALL |n| (QREFELT $ 53)) + (QREFELT $ 120)) + |UPOLYC-;nextItemInner|) + (EXIT (COND + ((QEQCAR |nn| 1) (CONS 1 "failed")) + ('T + (CONS 0 + (SPADCALL (QCDR |nn|) (QREFELT $ 30)))))))) + ('T + (SEQ (LETT |n1| (SPADCALL |n| (QREFELT $ 55)) + |UPOLYC-;nextItemInner|) + (LETT |n2| (|UPOLYC-;nextItemInner| |n1| $) + |UPOLYC-;nextItemInner|) + (EXIT (COND + ((QEQCAR |n2| 0) + (CONS 0 + (SPADCALL + (SPADCALL + (SPADCALL |n| (QREFELT $ 53)) + (SPADCALL |n| (QREFELT $ 11)) + (QREFELT $ 49)) + (QCDR |n2|) (QREFELT $ 65)))) + ((< (+ 1 (SPADCALL |n1| (QREFELT $ 11))) + (SPADCALL |n| (QREFELT $ 11))) + (CONS 0 + (SPADCALL + (SPADCALL + (SPADCALL |n| (QREFELT $ 53)) + (SPADCALL |n| (QREFELT $ 11)) + (QREFELT $ 49)) + (SPADCALL + (PROG2 + (LETT #0# + (SPADCALL + (|spadConstant| $ 117) + (QREFELT $ 120)) + |UPOLYC-;nextItemInner|) + (QCDR #0#) + (|check-union| (QEQCAR #0# 0) + (QREFELT $ 7) #0#)) + (+ 1 + (SPADCALL |n1| (QREFELT $ 11))) + (QREFELT $ 49)) + (QREFELT $ 65)))) + ('T + (SEQ (LETT |n3| + (SPADCALL + (SPADCALL |n| (QREFELT $ 53)) + (QREFELT $ 120)) + |UPOLYC-;nextItemInner|) + (EXIT (COND + ((QEQCAR |n3| 1) + (CONS 1 "failed")) + ('T + (CONS 0 + (SPADCALL (QCDR |n3|) + (SPADCALL |n| + (QREFELT $ 11)) + (QREFELT $ 49))))))))))))))))) + +(DEFUN |UPOLYC-;nextItem;SU;29| (|n| $) + (PROG (|n1| #0=#:G1549) + (RETURN + (SEQ (LETT |n1| (|UPOLYC-;nextItemInner| |n| $) + |UPOLYC-;nextItem;SU;29|) + (EXIT (COND + ((QEQCAR |n1| 1) + (CONS 0 + (SPADCALL + (PROG2 (LETT #0# + (SPADCALL (|spadConstant| $ 117) + (QREFELT $ 120)) + |UPOLYC-;nextItem;SU;29|) + (QCDR #0#) + (|check-union| (QEQCAR #0# 0) + (QREFELT $ 7) #0#)) + (+ 1 (SPADCALL |n| (QREFELT $ 11))) + (QREFELT $ 49)))) + ('T |n1|))))))) + +(DEFUN |UPOLYC-;content;SSaosS;30| (|p| |v| $) + (SPADCALL (SPADCALL |p| (QREFELT $ 123)) (QREFELT $ 30))) + +(DEFUN |UPOLYC-;primeFactor| (|p| |q| $) + (PROG (#0=#:G1555 |p1|) + (RETURN + (SEQ (LETT |p1| + (PROG2 (LETT #0# + (SPADCALL |p| + (SPADCALL |p| |q| + (QREFELT $ 125)) + (QREFELT $ 126)) + |UPOLYC-;primeFactor|) + (QCDR #0#) + (|check-union| (QEQCAR #0# 0) (QREFELT $ 6) #0#)) + |UPOLYC-;primeFactor|) + (EXIT (COND + ((SPADCALL |p1| |p| (QREFELT $ 127)) |p|) + ('T (|UPOLYC-;primeFactor| |p1| |q| $)))))))) + +(DEFUN |UPOLYC-;separate;2SR;32| (|p| |q| $) + (PROG (|a| #0=#:G1561) + (RETURN + (SEQ (LETT |a| (|UPOLYC-;primeFactor| |p| |q| $) + |UPOLYC-;separate;2SR;32|) + (EXIT (CONS |a| + (PROG2 (LETT #0# + (SPADCALL |p| |a| (QREFELT $ 126)) + |UPOLYC-;separate;2SR;32|) + (QCDR #0#) + (|check-union| (QEQCAR #0# 0) (QREFELT $ 6) + #0#)))))))) + +(DEFUN |UPOLYC-;differentiate;SM2S;33| (|x| |deriv| |x'| $) + (PROG (|dg| |lc| #0=#:G1566 |d|) + (RETURN + (SEQ (LETT |d| (|spadConstant| $ 60) + |UPOLYC-;differentiate;SM2S;33|) + (SEQ G190 + (COND + ((NULL (< 0 + (LETT |dg| (SPADCALL |x| (QREFELT $ 11)) + |UPOLYC-;differentiate;SM2S;33|))) (GO G191))) - (SEQ - (EXIT - (LETT |ans| - (SPADCALL - (SPADCALL |ans| - (SPADCALL |f| - (PROG1 - (LETT #1# - (|-| |n| - (LETT |n| - (SPADCALL |p| (QREFELT |$| 11)) - |UPOLYC-;elt;S2F;44|)) - |UPOLYC-;elt;S2F;44|) - (|check-subtype| - (|>=| #1# 0) - (QUOTE (|NonNegativeInteger|)) - #1#)) - (QREFELT |$| 163)) - (QREFELT |$| 164)) - (SPADCALL - (SPADCALL - (SPADCALL |p| (QREFELT |$| 53)) - (QREFELT |$| 30)) - (QREFELT |$| 162)) - (QREFELT |$| 165)) - |UPOLYC-;elt;S2F;44|))) - NIL - (GO G190) - G191 - (EXIT NIL)) - (EXIT - (COND - ((ZEROP |n|) |ans|) - ((QUOTE T) - (SPADCALL |ans| - (SPADCALL |f| |n| (QREFELT |$| 166)) - (QREFELT |$| 164)))))))))))) - -(DEFUN |UPOLYC-;order;2SNni;45| (|p| |q| |$|) - (PROG (|u| #1=#:G103497 |ans|) - (RETURN - (SEQ - (EXIT - (COND - ((SPADCALL |p| (QREFELT |$| 9)) - (|error| "order: arguments must be nonzero")) - ((|<| (SPADCALL |q| (QREFELT |$| 11)) 1) - (|error| "order: place must be non-trivial")) - ((QUOTE T) - (SEQ - (LETT |ans| 0 |UPOLYC-;order;2SNni;45|) - (EXIT - (SEQ G190 - NIL - (SEQ - (LETT |u| - (SPADCALL |p| |q| (QREFELT |$| 126)) - |UPOLYC-;order;2SNni;45|) - (EXIT - (COND - ((QEQCAR |u| 1) - (PROGN - (LETT #1# |ans| |UPOLYC-;order;2SNni;45|) - (GO #1#))) - ((QUOTE T) - (SEQ - (LETT |p| (QCDR |u|) |UPOLYC-;order;2SNni;45|) - (EXIT - (LETT - |ans| - (|+| |ans| 1) - |UPOLYC-;order;2SNni;45|))))))) - NIL - (GO G190) - G191 - (EXIT NIL))))))) - #1# - (EXIT #1#))))) - -(DEFUN |UPOLYC-;squareFree;SF;46| (|p| |$|) - (SPADCALL |p| (QREFELT |$| 170))) - -(DEFUN |UPOLYC-;squareFreePart;2S;47| (|p| |$|) - (SPADCALL |p| (QREFELT |$| 172))) - -(DEFUN |UPOLYC-;gcdPolynomial;3Sup;48| (|pp| |qq| |$|) - (COND - ((SPADCALL |pp| (QREFELT |$| 174)) (SPADCALL |qq| (QREFELT |$| 175))) - ((SPADCALL |qq| (QREFELT |$| 174)) (SPADCALL |pp| (QREFELT |$| 175))) - ((QUOTE T) - (SPADCALL - (SPADCALL - (SPADCALL - (SPADCALL |pp| (QREFELT |$| 176)) - (SPADCALL |qq| (QREFELT |$| 176)) (QREFELT |$| 125)) - (SPADCALL - (SPADCALL - (SPADCALL |pp| (QREFELT |$| 177)) - (SPADCALL |qq| (QREFELT |$| 177)) (QREFELT |$| 178)) - (QREFELT |$| 177)) - (QREFELT |$| 179)) - (QREFELT |$| 175))))) - -(DEFUN |UPOLYC-;squareFreePolynomial;SupF;49| (|pp| |$|) - (SPADCALL |pp| (QREFELT |$| 182))) - -(DEFUN |UPOLYC-;elt;F2R;50| (|f| |r| |$|) - (SPADCALL - (SPADCALL - (SPADCALL |f| (QREFELT |$| 141)) - |r| - (QREFELT |$| 29)) - (SPADCALL (SPADCALL |f| (QREFELT |$| 144)) |r| (QREFELT |$| 29)) - (QREFELT |$| 184))) - -(DEFUN |UPOLYC-;euclideanSize;SNni;51| (|x| |$|) - (COND - ((SPADCALL |x| (QREFELT |$| 9)) - (|error| "euclideanSize called on 0 in Univariate Polynomial")) - ((QUOTE T) (SPADCALL |x| (QREFELT |$| 11))))) - -(DEFUN |UPOLYC-;divide;2SR;52| (|x| |y| |$|) - (PROG (|lc| |f| #1=#:G103510 |n| |quot|) - (RETURN - (SEQ - (COND - ((SPADCALL |y| (QREFELT |$| 9)) - (|error| "division by 0 in Univariate Polynomials")) - ((QUOTE T) - (SEQ - (LETT |quot| (|spadConstant| |$| 60) |UPOLYC-;divide;2SR;52|) - (LETT |lc| - (SPADCALL (SPADCALL |y| (QREFELT |$| 53)) (QREFELT |$| 187)) - |UPOLYC-;divide;2SR;52|) - (SEQ G190 - (COND - ((NULL - (COND - ((OR - (SPADCALL |x| (QREFELT |$| 9)) - (|<| - (SPADCALL |x| (QREFELT |$| 11)) - (SPADCALL |y| (QREFELT |$| 11)))) - (QUOTE NIL)) ((QUOTE T) (QUOTE T)))) - (GO G191))) - (SEQ - (LETT |f| - (SPADCALL |lc| - (SPADCALL |x| (QREFELT |$| 53)) - (QREFELT |$| 188)) - |UPOLYC-;divide;2SR;52|) - (LETT |n| - (PROG1 - (LETT #1# - (|-| - (SPADCALL |x| (QREFELT |$| 11)) - (SPADCALL |y| (QREFELT |$| 11))) + (SEQ (LETT |lc| (SPADCALL |x| (QREFELT $ 53)) + |UPOLYC-;differentiate;SM2S;33|) + (LETT |d| + (SPADCALL + (SPADCALL |d| + (SPADCALL |x'| + (SPADCALL + (SPADCALL |dg| |lc| + (QREFELT $ 131)) + (PROG1 + (LETT #0# (- |dg| 1) + |UPOLYC-;differentiate;SM2S;33|) + (|check-subtype| (>= #0# 0) + '(|NonNegativeInteger|) #0#)) + (QREFELT $ 49)) + (QREFELT $ 71)) + (QREFELT $ 65)) + (SPADCALL (SPADCALL |lc| |deriv|) |dg| + (QREFELT $ 49)) + (QREFELT $ 65)) + |UPOLYC-;differentiate;SM2S;33|) + (EXIT (LETT |x| (SPADCALL |x| (QREFELT $ 55)) + |UPOLYC-;differentiate;SM2S;33|))) + NIL (GO G190) G191 (EXIT NIL)) + (EXIT (SPADCALL |d| + (SPADCALL + (SPADCALL (SPADCALL |x| (QREFELT $ 53)) + |deriv|) + (QREFELT $ 30)) + (QREFELT $ 65))))))) + +(DEFUN |UPOLYC-;ncdiff| (|n| |x'| $) + (PROG (#0=#:G1584 |n1|) + (RETURN + (COND + ((ZEROP |n|) (|spadConstant| $ 60)) + ((ZEROP (LETT |n1| + (PROG1 (LETT #0# (- |n| 1) |UPOLYC-;ncdiff|) + (|check-subtype| (>= #0# 0) + '(|NonNegativeInteger|) #0#)) + |UPOLYC-;ncdiff|)) + |x'|) + ('T + (SPADCALL + (SPADCALL |x'| + (SPADCALL (|spadConstant| $ 48) |n1| (QREFELT $ 49)) + (QREFELT $ 71)) + (SPADCALL + (SPADCALL (|spadConstant| $ 48) 1 (QREFELT $ 49)) + (|UPOLYC-;ncdiff| |n1| |x'| $) (QREFELT $ 71)) + (QREFELT $ 65))))))) + +(DEFUN |UPOLYC-;differentiate;SM2S;35| (|x| |deriv| |x'| $) + (PROG (|dg| |lc| |d|) + (RETURN + (SEQ (LETT |d| (|spadConstant| $ 60) + |UPOLYC-;differentiate;SM2S;35|) + (SEQ G190 + (COND + ((NULL (< 0 + (LETT |dg| (SPADCALL |x| (QREFELT $ 11)) + |UPOLYC-;differentiate;SM2S;35|))) + (GO G191))) + (SEQ (LETT |lc| (SPADCALL |x| (QREFELT $ 53)) + |UPOLYC-;differentiate;SM2S;35|) + (LETT |d| + (SPADCALL + (SPADCALL |d| + (SPADCALL (SPADCALL |lc| |deriv|) + |dg| (QREFELT $ 49)) + (QREFELT $ 65)) + (SPADCALL |lc| + (|UPOLYC-;ncdiff| |dg| |x'| $) + (QREFELT $ 134)) + (QREFELT $ 65)) + |UPOLYC-;differentiate;SM2S;35|) + (EXIT (LETT |x| (SPADCALL |x| (QREFELT $ 55)) + |UPOLYC-;differentiate;SM2S;35|))) + NIL (GO G190) G191 (EXIT NIL)) + (EXIT (SPADCALL |d| + (SPADCALL + (SPADCALL (SPADCALL |x| (QREFELT $ 53)) + |deriv|) + (QREFELT $ 30)) + (QREFELT $ 65))))))) + +(DEFUN |UPOLYC-;differentiate;SMS;36| (|x| |deriv| $) + (SPADCALL |x| |deriv| (|spadConstant| $ 47) (QREFELT $ 135))) + +(DEFUN |UPOLYC-;differentiate;2S;37| (|x| $) + (PROG (|dg| #0=#:G1593 |d|) + (RETURN + (SEQ (LETT |d| (|spadConstant| $ 60) + |UPOLYC-;differentiate;2S;37|) + (SEQ G190 + (COND + ((NULL (< 0 + (LETT |dg| (SPADCALL |x| (QREFELT $ 11)) + |UPOLYC-;differentiate;2S;37|))) + (GO G191))) + (SEQ (LETT |d| + (SPADCALL |d| + (SPADCALL + (SPADCALL |dg| + (SPADCALL |x| (QREFELT $ 53)) + (QREFELT $ 131)) + (PROG1 + (LETT #0# (- |dg| 1) + |UPOLYC-;differentiate;2S;37|) + (|check-subtype| (>= #0# 0) + '(|NonNegativeInteger|) #0#)) + (QREFELT $ 49)) + (QREFELT $ 65)) + |UPOLYC-;differentiate;2S;37|) + (EXIT (LETT |x| (SPADCALL |x| (QREFELT $ 55)) + |UPOLYC-;differentiate;2S;37|))) + NIL (GO G190) G191 (EXIT NIL)) + (EXIT |d|))))) + +(DEFUN |UPOLYC-;differentiate;SSaosS;38| (|x| |v| $) + (SPADCALL |x| (QREFELT $ 138))) + +(DEFUN |UPOLYC-;elt;3F;39| (|g| |f| $) + (SPADCALL + (SPADCALL (SPADCALL |g| (QREFELT $ 141)) |f| (QREFELT $ 143)) + (SPADCALL (SPADCALL |g| (QREFELT $ 144)) |f| (QREFELT $ 143)) + (QREFELT $ 145))) + +(DEFUN |UPOLYC-;pseudoQuotient;3S;40| (|p| |q| $) + (PROG (|n| #0=#:G1639 #1=#:G1641) + (RETURN + (SEQ (LETT |n| + (+ (- (SPADCALL |p| (QREFELT $ 11)) + (SPADCALL |q| (QREFELT $ 11))) + 1) + |UPOLYC-;pseudoQuotient;3S;40|) + (EXIT (COND + ((< |n| 1) (|spadConstant| $ 60)) + ('T + (PROG2 (LETT #1# + (SPADCALL + (SPADCALL + (SPADCALL + (SPADCALL + (SPADCALL |q| (QREFELT $ 53)) + (PROG1 + (LETT #0# |n| + |UPOLYC-;pseudoQuotient;3S;40|) + (|check-subtype| (>= #0# 0) + '(|NonNegativeInteger|) #0#)) + (QREFELT $ 147)) + |p| (QREFELT $ 134)) + (SPADCALL |p| |q| + (QREFELT $ 148)) + (QREFELT $ 149)) + |q| (QREFELT $ 126)) + |UPOLYC-;pseudoQuotient;3S;40|) + (QCDR #1#) + (|check-union| (QEQCAR #1# 0) (QREFELT $ 6) #1#))))))))) + +(DEFUN |UPOLYC-;pseudoDivide;2SR;41| (|p| |q| $) + (PROG (|n| |prem| #0=#:G1647 |lc| #1=#:G1649) + (RETURN + (SEQ (LETT |n| + (+ (- (SPADCALL |p| (QREFELT $ 11)) + (SPADCALL |q| (QREFELT $ 11))) + 1) + |UPOLYC-;pseudoDivide;2SR;41|) + (EXIT (COND + ((< |n| 1) + (VECTOR (|spadConstant| $ 48) (|spadConstant| $ 60) + |p|)) + ('T + (SEQ (LETT |prem| + (SPADCALL |p| |q| (QREFELT $ 148)) + |UPOLYC-;pseudoDivide;2SR;41|) + (LETT |lc| + (SPADCALL (SPADCALL |q| (QREFELT $ 53)) + (PROG1 + (LETT #0# |n| + |UPOLYC-;pseudoDivide;2SR;41|) + (|check-subtype| (>= #0# 0) + '(|NonNegativeInteger|) #0#)) + (QREFELT $ 147)) + |UPOLYC-;pseudoDivide;2SR;41|) + (EXIT (VECTOR |lc| + (PROG2 + (LETT #1# + (SPADCALL + (SPADCALL + (SPADCALL |lc| |p| + (QREFELT $ 134)) + |prem| (QREFELT $ 149)) + |q| (QREFELT $ 126)) + |UPOLYC-;pseudoDivide;2SR;41|) + (QCDR #1#) + (|check-union| (QEQCAR #1# 0) + (QREFELT $ 6) #1#)) + |prem|)))))))))) + +(DEFUN |UPOLYC-;composite;FSU;42| (|f| |q| $) + (PROG (|n| |d|) + (RETURN + (SEQ (LETT |n| + (SPADCALL (SPADCALL |f| (QREFELT $ 141)) |q| + (QREFELT $ 153)) + |UPOLYC-;composite;FSU;42|) + (EXIT (COND + ((QEQCAR |n| 1) (CONS 1 "failed")) + ('T + (SEQ (LETT |d| + (SPADCALL (SPADCALL |f| (QREFELT $ 144)) + |q| (QREFELT $ 153)) + |UPOLYC-;composite;FSU;42|) + (EXIT (COND + ((QEQCAR |d| 1) (CONS 1 "failed")) + ('T + (CONS 0 + (SPADCALL (QCDR |n|) (QCDR |d|) + (QREFELT $ 154)))))))))))))) + +(DEFUN |UPOLYC-;composite;2SU;43| (|p| |q| $) + (PROG (|cqr| |v| |u| |w| #0=#:G1675) + (RETURN + (SEQ (COND + ((SPADCALL |p| (QREFELT $ 157)) (CONS 0 |p|)) + ('T + (SEQ (EXIT (SEQ (LETT |cqr| + (SPADCALL |p| |q| (QREFELT $ 158)) + |UPOLYC-;composite;2SU;43|) + (COND + ((SPADCALL (QVELT |cqr| 2) + (QREFELT $ 157)) + (SEQ (LETT |v| + (SPADCALL (QVELT |cqr| 2) + (QVELT |cqr| 0) + (QREFELT $ 159)) + |UPOLYC-;composite;2SU;43|) + (EXIT + (COND + ((QEQCAR |v| 0) + (SEQ + (LETT |u| + (SPADCALL (QVELT |cqr| 1) + |q| (QREFELT $ 153)) + |UPOLYC-;composite;2SU;43|) + (EXIT + (COND + ((QEQCAR |u| 0) + (SEQ + (LETT |w| + (SPADCALL (QCDR |u|) + (QVELT |cqr| 0) + (QREFELT $ 159)) + |UPOLYC-;composite;2SU;43|) + (EXIT + (COND + ((QEQCAR |w| 0) + (PROGN + (LETT #0# + (CONS 0 + (SPADCALL + (QCDR |v|) + (SPADCALL + (SPADCALL + (|spadConstant| + $ 48) + 1 + (QREFELT $ + 49)) + (QCDR |w|) + (QREFELT $ + 71)) + (QREFELT $ 65))) + |UPOLYC-;composite;2SU;43|) + (GO #0#)))))))))))))))) + (EXIT (CONS 1 "failed")))) + #0# (EXIT #0#)))))))) + +(DEFUN |UPOLYC-;elt;S2F;44| (|p| |f| $) + (PROG (|n| #0=#:G1681 |ans|) + (RETURN + (SEQ (COND + ((SPADCALL |p| (QREFELT $ 9)) (|spadConstant| $ 161)) + ('T + (SEQ (LETT |ans| + (SPADCALL + (SPADCALL (SPADCALL |p| (QREFELT $ 53)) + (QREFELT $ 30)) + (QREFELT $ 162)) + |UPOLYC-;elt;S2F;44|) + (LETT |n| (SPADCALL |p| (QREFELT $ 11)) + |UPOLYC-;elt;S2F;44|) + (SEQ G190 + (COND + ((NULL (SPADCALL + (SPADCALL + (LETT |p| + (SPADCALL |p| (QREFELT $ 55)) + |UPOLYC-;elt;S2F;44|) + (QREFELT $ 9)) + (QREFELT $ 163))) + (GO G191))) + (SEQ (EXIT (LETT |ans| + (SPADCALL + (SPADCALL |ans| + (SPADCALL |f| + (PROG1 + (LETT #0# + (- |n| + (LETT |n| + (SPADCALL |p| + (QREFELT $ 11)) + |UPOLYC-;elt;S2F;44|)) + |UPOLYC-;elt;S2F;44|) + (|check-subtype| (>= #0# 0) + '(|NonNegativeInteger|) #0#)) + (QREFELT $ 164)) + (QREFELT $ 165)) + (SPADCALL + (SPADCALL + (SPADCALL |p| (QREFELT $ 53)) + (QREFELT $ 30)) + (QREFELT $ 162)) + (QREFELT $ 166)) + |UPOLYC-;elt;S2F;44|))) + NIL (GO G190) G191 (EXIT NIL)) + (EXIT (COND + ((ZEROP |n|) |ans|) + ('T + (SPADCALL |ans| + (SPADCALL |f| |n| (QREFELT $ 167)) + (QREFELT $ 165)))))))))))) + +(DEFUN |UPOLYC-;order;2SNni;45| (|p| |q| $) + (PROG (|u| #0=#:G1695 |ans|) + (RETURN + (SEQ (EXIT (COND + ((SPADCALL |p| (QREFELT $ 9)) + (|error| "order: arguments must be nonzero")) + ((< (SPADCALL |q| (QREFELT $ 11)) 1) + (|error| "order: place must be non-trivial")) + ('T + (SEQ (LETT |ans| 0 |UPOLYC-;order;2SNni;45|) + (EXIT (SEQ G190 NIL + (SEQ + (LETT |u| + (SPADCALL |p| |q| + (QREFELT $ 126)) + |UPOLYC-;order;2SNni;45|) + (EXIT + (COND + ((QEQCAR |u| 1) + (PROGN + (LETT #0# |ans| + |UPOLYC-;order;2SNni;45|) + (GO #0#))) + ('T + (SEQ + (LETT |p| (QCDR |u|) + |UPOLYC-;order;2SNni;45|) + (EXIT + (LETT |ans| (+ |ans| 1) + |UPOLYC-;order;2SNni;45|))))))) + NIL (GO G190) G191 (EXIT NIL))))))) + #0# (EXIT #0#))))) + +(DEFUN |UPOLYC-;squareFree;SF;46| (|p| $) + (SPADCALL |p| (QREFELT $ 171))) + +(DEFUN |UPOLYC-;squareFreePart;2S;47| (|p| $) + (SPADCALL |p| (QREFELT $ 173))) + +(DEFUN |UPOLYC-;gcdPolynomial;3Sup;48| (|pp| |qq| $) + (COND + ((SPADCALL |pp| (QREFELT $ 175)) (SPADCALL |qq| (QREFELT $ 176))) + ((SPADCALL |qq| (QREFELT $ 175)) (SPADCALL |pp| (QREFELT $ 176))) + ('T + (SPADCALL + (SPADCALL + (SPADCALL (SPADCALL |pp| (QREFELT $ 177)) + (SPADCALL |qq| (QREFELT $ 177)) (QREFELT $ 125)) + (SPADCALL + (SPADCALL (SPADCALL |pp| (QREFELT $ 178)) + (SPADCALL |qq| (QREFELT $ 178)) (QREFELT $ 179)) + (QREFELT $ 178)) + (QREFELT $ 180)) + (QREFELT $ 176))))) + +(DEFUN |UPOLYC-;squareFreePolynomial;SupF;49| (|pp| $) + (SPADCALL |pp| (QREFELT $ 183))) + +(DEFUN |UPOLYC-;elt;F2R;50| (|f| |r| $) + (SPADCALL (SPADCALL (SPADCALL |f| (QREFELT $ 141)) |r| + (QREFELT $ 29)) + (SPADCALL (SPADCALL |f| (QREFELT $ 144)) |r| + (QREFELT $ 29)) + (QREFELT $ 185))) + +(DEFUN |UPOLYC-;euclideanSize;SNni;51| (|x| $) + (COND + ((SPADCALL |x| (QREFELT $ 9)) + (|error| "euclideanSize called on 0 in Univariate Polynomial")) + ('T (SPADCALL |x| (QREFELT $ 11))))) + +(DEFUN |UPOLYC-;divide;2SR;52| (|x| |y| $) + (PROG (|lc| |f| #0=#:G1707 |n| |quot|) + (RETURN + (SEQ (COND + ((SPADCALL |y| (QREFELT $ 9)) + (|error| "division by 0 in Univariate Polynomials")) + ('T + (SEQ (LETT |quot| (|spadConstant| $ 60) + |UPOLYC-;divide;2SR;52|) + (LETT |lc| + (SPADCALL (SPADCALL |y| (QREFELT $ 53)) + (QREFELT $ 188)) |UPOLYC-;divide;2SR;52|) - (|check-subtype| - (|>=| #1# 0) - (QUOTE (|NonNegativeInteger|)) - #1#)) - |UPOLYC-;divide;2SR;52|) - (LETT |quot| - (SPADCALL |quot| - (SPADCALL |f| |n| (QREFELT |$| 49)) - (QREFELT |$| 65)) - |UPOLYC-;divide;2SR;52|) - (EXIT - (LETT |x| - (SPADCALL |x| - (SPADCALL - (SPADCALL |f| |n| (QREFELT |$| 49)) - |y| - (QREFELT |$| 71)) - (QREFELT |$| 149)) - |UPOLYC-;divide;2SR;52|))) - NIL - (GO G190) - G191 - (EXIT NIL)) - (EXIT (CONS |quot| |x|))))))))) - -(DEFUN |UPOLYC-;integrate;2S;53| (|p| |$|) - (PROG (|l| |d| |ans|) - (RETURN - (SEQ - (LETT |ans| (|spadConstant| |$| 60) |UPOLYC-;integrate;2S;53|) - (SEQ G190 - (COND - ((NULL - (COND - ((SPADCALL |p| (|spadConstant| |$| 60) (QREFELT |$| 127)) - (QUOTE NIL)) - ((QUOTE T) (QUOTE T)))) (GO G191))) - (SEQ - (LETT |l| - (SPADCALL |p| (QREFELT |$| 53)) - |UPOLYC-;integrate;2S;53|) - (LETT |d| - (|+| 1 (SPADCALL |p| (QREFELT |$| 11))) - |UPOLYC-;integrate;2S;53|) - (LETT |ans| - (SPADCALL |ans| - (SPADCALL - (SPADCALL (SPADCALL |d| (QREFELT |$| 191)) (QREFELT |$| 192)) - (SPADCALL |l| |d| (QREFELT |$| 49)) (QREFELT |$| 193)) - (QREFELT |$| 65)) - |UPOLYC-;integrate;2S;53|) - (EXIT - (LETT |p| - (SPADCALL |p| (QREFELT |$| 55)) - |UPOLYC-;integrate;2S;53|))) - NIL - (GO G190) - G191 - (EXIT NIL)) - (EXIT |ans|))))) - -(DEFUN |UnivariatePolynomialCategory&| (|#1| |#2|) - (PROG (|DV$1| |DV$2| |dv$| |$| |pv$|) - (RETURN - (PROGN - (LETT |DV$1| (|devaluate| |#1|) . #1=(|UnivariatePolynomialCategory&|)) - (LETT |DV$2| (|devaluate| |#2|) . #1#) - (LETT |dv$| - (LIST (QUOTE |UnivariatePolynomialCategory&|) |DV$1| |DV$2|) . #1#) - (LETT |$| (GETREFV 201) . #1#) - (QSETREFV |$| 0 |dv$|) - (QSETREFV |$| 3 - (LETT |pv$| - (|buildPredVector| 0 0 - (LIST - (|HasCategory| |#2| - (QUOTE (|Algebra| (|Fraction| (|Integer|))))) - (|HasCategory| |#2| (QUOTE (|Field|))) - (|HasCategory| |#2| (QUOTE (|GcdDomain|))) - (|HasCategory| |#2| (QUOTE (|IntegralDomain|))) - (|HasCategory| |#2| (QUOTE (|CommutativeRing|))) - (|HasCategory| |#2| (QUOTE (|StepThrough|))))) . #1#)) - (|stuffDomainSlots| |$|) - (QSETREFV |$| 6 |#1|) - (QSETREFV |$| 7 |#2|) - (COND - ((|HasCategory| |#2| (QUOTE (|PolynomialFactorizationExplicit|))) - (PROGN - (QSETREFV |$| 81 - (CONS - (|dispatchFunction| - |UPOLYC-;solveLinearPolynomialEquation;LSupU;20|) - |$|)) - (QSETREFV |$| 85 - (CONS - (|dispatchFunction| |UPOLYC-;factorPolynomial;SupF;21|) - |$|)) - (QSETREFV |$| 87 - (CONS - (|dispatchFunction| - |UPOLYC-;factorSquareFreePolynomial;SupF;22|) - |$|)) - (QSETREFV |$| 105 - (CONS (|dispatchFunction| |UPOLYC-;factor;SF;23|) |$|))))) - (COND + (SEQ G190 + (COND + ((NULL (COND + ((SPADCALL |x| (QREFELT $ 9)) 'NIL) + ('T + (SPADCALL + (< (SPADCALL |x| (QREFELT $ 11)) + (SPADCALL |y| (QREFELT $ 11))) + (QREFELT $ 163))))) + (GO G191))) + (SEQ (LETT |f| + (SPADCALL |lc| + (SPADCALL |x| (QREFELT $ 53)) + (QREFELT $ 189)) + |UPOLYC-;divide;2SR;52|) + (LETT |n| + (PROG1 + (LETT #0# + (- (SPADCALL |x| (QREFELT $ 11)) + (SPADCALL |y| (QREFELT $ 11))) + |UPOLYC-;divide;2SR;52|) + (|check-subtype| (>= #0# 0) + '(|NonNegativeInteger|) #0#)) + |UPOLYC-;divide;2SR;52|) + (LETT |quot| + (SPADCALL |quot| + (SPADCALL |f| |n| (QREFELT $ 49)) + (QREFELT $ 65)) + |UPOLYC-;divide;2SR;52|) + (EXIT (LETT |x| + (SPADCALL |x| + (SPADCALL + (SPADCALL |f| |n| (QREFELT $ 49)) + |y| (QREFELT $ 71)) + (QREFELT $ 149)) + |UPOLYC-;divide;2SR;52|))) + NIL (GO G190) G191 (EXIT NIL)) + (EXIT (CONS |quot| |x|))))))))) + +(DEFUN |UPOLYC-;integrate;2S;53| (|p| $) + (PROG (|l| |d| |ans|) + (RETURN + (SEQ (LETT |ans| (|spadConstant| $ 60) |UPOLYC-;integrate;2S;53|) + (SEQ G190 + (COND + ((NULL (SPADCALL + (SPADCALL |p| (|spadConstant| $ 60) + (QREFELT $ 127)) + (QREFELT $ 163))) + (GO G191))) + (SEQ (LETT |l| (SPADCALL |p| (QREFELT $ 53)) + |UPOLYC-;integrate;2S;53|) + (LETT |d| (+ 1 (SPADCALL |p| (QREFELT $ 11))) + |UPOLYC-;integrate;2S;53|) + (LETT |ans| + (SPADCALL |ans| + (SPADCALL + (SPADCALL + (SPADCALL |d| (QREFELT $ 192)) + (QREFELT $ 193)) + (SPADCALL |l| |d| (QREFELT $ 49)) + (QREFELT $ 194)) + (QREFELT $ 65)) + |UPOLYC-;integrate;2S;53|) + (EXIT (LETT |p| (SPADCALL |p| (QREFELT $ 55)) + |UPOLYC-;integrate;2S;53|))) + NIL (GO G190) G191 (EXIT NIL)) + (EXIT |ans|))))) + +(DEFUN |UnivariatePolynomialCategory&| (|#1| |#2|) + (PROG (|dv$1| |dv$2| |dv$| $ |pv$|) + (RETURN + (PROGN + (LETT |dv$1| (|devaluate| |#1|) + . #0=(|UnivariatePolynomialCategory&|)) + (LETT |dv$2| (|devaluate| |#2|) . #0#) + (LETT |dv$| + (LIST '|UnivariatePolynomialCategory&| |dv$1| |dv$2|) . #0#) + (LETT $ (GETREFV 202) . #0#) + (QSETREFV $ 0 |dv$|) + (QSETREFV $ 3 + (LETT |pv$| + (|buildPredVector| 0 0 + (LIST (|HasCategory| |#2| + '(|Algebra| (|Fraction| (|Integer|)))) + (|HasCategory| |#2| '(|Field|)) + (|HasCategory| |#2| '(|GcdDomain|)) + (|HasCategory| |#2| '(|IntegralDomain|)) + (|HasCategory| |#2| '(|CommutativeRing|)) + (|HasCategory| |#2| '(|StepThrough|)))) . #0#)) + (|stuffDomainSlots| $) + (QSETREFV $ 6 |#1|) + (QSETREFV $ 7 |#2|) + (COND + ((|HasCategory| |#2| '(|PolynomialFactorizationExplicit|)) + (PROGN + (QSETREFV $ 81 + (CONS (|dispatchFunction| + |UPOLYC-;solveLinearPolynomialEquation;LSupU;20|) + $)) + (QSETREFV $ 85 + (CONS (|dispatchFunction| + |UPOLYC-;factorPolynomial;SupF;21|) + $)) + (QSETREFV $ 87 + (CONS (|dispatchFunction| + |UPOLYC-;factorSquareFreePolynomial;SupF;22|) + $)) + (QSETREFV $ 105 + (CONS (|dispatchFunction| |UPOLYC-;factor;SF;23|) $))))) + (COND ((|testBitVector| |pv$| 6) - (PROGN - (QSETREFV |$| 118 - (CONS (|dispatchFunction| |UPOLYC-;init;S;27|) |$|)) - NIL - (QSETREFV |$| 122 - (CONS (|dispatchFunction| |UPOLYC-;nextItem;SU;29|) |$|))))) - (COND + (PROGN + (QSETREFV $ 118 + (CONS (|dispatchFunction| |UPOLYC-;init;S;27|) $)) + NIL + (QSETREFV $ 122 + (CONS (|dispatchFunction| |UPOLYC-;nextItem;SU;29|) $))))) + (COND ((|testBitVector| |pv$| 3) - (PROGN - (QSETREFV |$| 124 - (CONS (|dispatchFunction| |UPOLYC-;content;SSaosS;30|) |$|)) - NIL - (QSETREFV |$| 129 - (CONS (|dispatchFunction| |UPOLYC-;separate;2SR;32|) |$|))))) - (COND + (PROGN + (QSETREFV $ 124 + (CONS (|dispatchFunction| |UPOLYC-;content;SSaosS;30|) + $)) + NIL + (QSETREFV $ 129 + (CONS (|dispatchFunction| |UPOLYC-;separate;2SR;32|) + $))))) + (COND ((|testBitVector| |pv$| 5) - (QSETREFV |$| 133 - (CONS - (|dispatchFunction| |UPOLYC-;differentiate;SM2S;33|) - |$|))) - ((QUOTE T) - (PROGN - (QSETREFV |$| 133 - (CONS - (|dispatchFunction| |UPOLYC-;differentiate;SM2S;35|) - |$|))))) - (COND + (QSETREFV $ 133 + (CONS (|dispatchFunction| + |UPOLYC-;differentiate;SM2S;33|) + $))) + ('T + (PROGN + (QSETREFV $ 133 + (CONS (|dispatchFunction| + |UPOLYC-;differentiate;SM2S;35|) + $))))) + (COND ((|testBitVector| |pv$| 4) - (PROGN - (QSETREFV |$| 146 - (CONS (|dispatchFunction| |UPOLYC-;elt;3F;39|) |$|)) - (QSETREFV |$| 150 - (CONS (|dispatchFunction| |UPOLYC-;pseudoQuotient;3S;40|) |$|)) - (QSETREFV |$| 152 - (CONS (|dispatchFunction| |UPOLYC-;pseudoDivide;2SR;41|) |$|)) - (QSETREFV |$| 156 - (CONS (|dispatchFunction| |UPOLYC-;composite;FSU;42|) |$|)) - (QSETREFV |$| 160 - (CONS (|dispatchFunction| |UPOLYC-;composite;2SU;43|) |$|)) - (QSETREFV |$| 167 - (CONS (|dispatchFunction| |UPOLYC-;elt;S2F;44|) |$|)) - (QSETREFV |$| 168 - (CONS (|dispatchFunction| |UPOLYC-;order;2SNni;45|) |$|))))) - (COND + (PROGN + (QSETREFV $ 146 + (CONS (|dispatchFunction| |UPOLYC-;elt;3F;39|) $)) + (QSETREFV $ 150 + (CONS (|dispatchFunction| + |UPOLYC-;pseudoQuotient;3S;40|) + $)) + (QSETREFV $ 152 + (CONS (|dispatchFunction| + |UPOLYC-;pseudoDivide;2SR;41|) + $)) + (QSETREFV $ 156 + (CONS (|dispatchFunction| |UPOLYC-;composite;FSU;42|) + $)) + (QSETREFV $ 160 + (CONS (|dispatchFunction| |UPOLYC-;composite;2SU;43|) + $)) + (QSETREFV $ 168 + (CONS (|dispatchFunction| |UPOLYC-;elt;S2F;44|) $)) + (QSETREFV $ 169 + (CONS (|dispatchFunction| |UPOLYC-;order;2SNni;45|) $))))) + (COND ((|testBitVector| |pv$| 3) - (PROGN - (QSETREFV |$| 171 - (CONS (|dispatchFunction| |UPOLYC-;squareFree;SF;46|) |$|)) - (QSETREFV |$| 173 - (CONS - (|dispatchFunction| |UPOLYC-;squareFreePart;2S;47|) - |$|))))) - (COND - ((|HasCategory| |#2| (QUOTE (|PolynomialFactorizationExplicit|))) - (PROGN - (QSETREFV |$| 180 - (CONS - (|dispatchFunction| |UPOLYC-;gcdPolynomial;3Sup;48|) - |$|)) - (QSETREFV |$| 183 - (CONS - (|dispatchFunction| |UPOLYC-;squareFreePolynomial;SupF;49|) - |$|))))) - (COND + (PROGN + (QSETREFV $ 172 + (CONS (|dispatchFunction| |UPOLYC-;squareFree;SF;46|) + $)) + (QSETREFV $ 174 + (CONS (|dispatchFunction| + |UPOLYC-;squareFreePart;2S;47|) + $))))) + (COND + ((|HasCategory| |#2| '(|PolynomialFactorizationExplicit|)) + (PROGN + (QSETREFV $ 181 + (CONS (|dispatchFunction| + |UPOLYC-;gcdPolynomial;3Sup;48|) + $)) + (QSETREFV $ 184 + (CONS (|dispatchFunction| + |UPOLYC-;squareFreePolynomial;SupF;49|) + $))))) + (COND ((|testBitVector| |pv$| 2) - (PROGN - (QSETREFV |$| 185 - (CONS (|dispatchFunction| |UPOLYC-;elt;F2R;50|) |$|)) - (QSETREFV |$| 186 - (CONS - (|dispatchFunction| |UPOLYC-;euclideanSize;SNni;51|) - |$|)) - (QSETREFV |$| 189 - (CONS (|dispatchFunction| |UPOLYC-;divide;2SR;52|) |$|))))) - (COND + (PROGN + (QSETREFV $ 186 + (CONS (|dispatchFunction| |UPOLYC-;elt;F2R;50|) $)) + (QSETREFV $ 187 + (CONS (|dispatchFunction| + |UPOLYC-;euclideanSize;SNni;51|) + $)) + (QSETREFV $ 190 + (CONS (|dispatchFunction| |UPOLYC-;divide;2SR;52|) $))))) + (COND ((|testBitVector| |pv$| 1) - (QSETREFV |$| 194 - (CONS - (|dispatchFunction| |UPOLYC-;integrate;2S;53|) - |$|)))) |$|)))) - -(MAKEPROP - (QUOTE |UnivariatePolynomialCategory&|) - (QUOTE |infovec|) - (LIST - (QUOTE - #(NIL NIL NIL NIL NIL NIL - (|local| |#1|) - (|local| |#2|) - (|Boolean|) - (0 . |zero?|) - (|NonNegativeInteger|) - (5 . |degree|) - (|SingletonAsOrderedSet|) - (10 . |create|) - (|List| 12) - |UPOLYC-;variables;SL;1| - |UPOLYC-;degree;SSaosNni;2| - (14 . |totalDegree|) - |UPOLYC-;totalDegree;SLNni;3| - (|List| 10) - |UPOLYC-;degree;SLL;4| - (19 . |eval|) - (|List| |$|) - |UPOLYC-;eval;SLLS;5| - (26 . |elt|) - |UPOLYC-;eval;SSaos2S;6| - (32 . |eval|) - (|List| 7) - |UPOLYC-;eval;SLLS;7| - (39 . |elt|) - (45 . |coerce|) - |UPOLYC-;eval;SSaosRS;8| - (|Equation| 6) - (50 . |lhs|) - (|Union| 12 (QUOTE "failed")) - (55 . |mainVariable|) - (60 . |rhs|) - (|List| 197) - |UPOLYC-;eval;SLS;9| - |UPOLYC-;mainVariable;SU;10| - (65 . |minimumDegree|) - |UPOLYC-;minimumDegree;SSaosNni;11| - |UPOLYC-;minimumDegree;SLL;12| - (70 . |+|) - (|Mapping| 10 10) - (76 . |mapExponents|) - |UPOLYC-;monomial;SSaosNniS;13| - (82 . |One|) - (86 . |One|) - (90 . |monomial|) - |UPOLYC-;coerce;SaosS;14| - (|SparseUnivariatePolynomial| 7) - (96 . |Zero|) - (100 . |leadingCoefficient|) - (105 . |monomial|) - (111 . |reductum|) - (116 . |makeSUP|) - (121 . |+|) - |UPOLYC-;makeSUP;SSup;15| - (127 . |zero?|) - (132 . |Zero|) - (136 . |leadingCoefficient|) - (141 . |degree|) - (146 . |reductum|) - (151 . |unmakeSUP|) - (156 . |+|) - |UPOLYC-;unmakeSUP;SupS;16| - (|Record| (|:| |quotient| |$|) (|:| |remainder| |$|)) - (162 . |monicDivide|) - |UPOLYC-;karatsubaDivide;SNniR;17| - |UPOLYC-;shiftRight;SNniS;18| - (168 . |*|) - |UPOLYC-;shiftLeft;SNniS;19| - (|Union| 74 (QUOTE "failed")) - (|List| 75) - (|SparseUnivariatePolynomial| 6) - (|PolynomialFactorizationByRecursionUnivariate| 7 6) - (174 . |solveLinearPolynomialEquationByRecursion|) - (|Union| 79 (QUOTE "failed")) - (|List| 80) - (|SparseUnivariatePolynomial| |$|) - (180 . |solveLinearPolynomialEquation|) - (|Factored| 75) - (186 . |factorByRecursion|) - (|Factored| 80) - (191 . |factorPolynomial|) - (196 . |factorSquareFreeByRecursion|) - (201 . |factorSquareFreePolynomial|) - (|Factored| |$|) - (206 . |factor|) - (|Factored| 7) - (211 . |unit|) - (|Union| (QUOTE "nil") (QUOTE "sqfr") (QUOTE "irred") (QUOTE "prime")) - (|Record| (|:| |flg| 92) (|:| |fctr| 7) (|:| |xpnt| 109)) - (|List| 93) - (216 . |factorList|) - (|Record| (|:| |flg| 92) (|:| |fctr| 6) (|:| |xpnt| 109)) - (|List| 96) - (|Factored| 6) - (221 . |makeFR|) - (227 . |factorPolynomial|) - (|Mapping| 6 51) - (|Factored| 51) - (|FactoredFunctions2| 51 6) - (232 . |map|) - (238 . |factor|) - (243 . |Zero|) - (|Vector| 7) - (247 . |new|) - (|Integer|) - (253 . |minIndex|) - (258 . |coefficient|) - (264 . |qsetelt!|) - |UPOLYC-;vectorise;SNniV;24| - |UPOLYC-;retract;SR;25| - (|Union| 7 (QUOTE "failed")) - |UPOLYC-;retractIfCan;SU;26| - (271 . |init|) - (275 . |init|) - (|Union| |$| (QUOTE "failed")) - (279 . |nextItem|) - (284 . |One|) - (288 . |nextItem|) - (293 . |content|) - (298 . |content|) - (304 . |gcd|) - (310 . |exquo|) - (316 . |=|) - (|Record| (|:| |primePart| |$|) (|:| |commonPart| |$|)) - (322 . |separate|) - (328 . |Zero|) - (332 . |*|) - (|Mapping| 7 7) - (338 . |differentiate|) - (345 . |*|) - (351 . |differentiate|) - |UPOLYC-;differentiate;SMS;36| - |UPOLYC-;differentiate;2S;37| - (358 . |differentiate|) - |UPOLYC-;differentiate;SSaosS;38| - (|Fraction| 6) - (363 . |numer|) - (|Fraction| |$|) - (368 . |elt|) - (374 . |denom|) - (379 . |/|) - (385 . |elt|) - (391 . |**|) - (397 . |pseudoRemainder|) - (403 . |-|) - (409 . |pseudoQuotient|) - (|Record| (|:| |coef| 7) (|:| |quotient| |$|) (|:| |remainder| |$|)) - (415 . |pseudoDivide|) - (421 . |composite|) - (427 . |/|) - (|Union| 142 (QUOTE "failed")) - (433 . |composite|) - (439 . |ground?|) - (444 . |pseudoDivide|) - (450 . |exquo|) - (456 . |composite|) - (462 . |Zero|) - (466 . |coerce|) - (471 . |**|) - (477 . |*|) - (483 . |+|) - (489 . |**|) - (495 . |elt|) - (501 . |order|) - (|UnivariatePolynomialSquareFree| 7 6) - (507 . |squareFree|) - (512 . |squareFree|) - (517 . |squareFreePart|) - (522 . |squareFreePart|) - (527 . |zero?|) - (532 . |unitCanonical|) - (537 . |content|) - (542 . |primitivePart|) - (547 . |subResultantGcd|) - (553 . |*|) - (559 . |gcdPolynomial|) - (|UnivariatePolynomialSquareFree| 6 75) - (565 . |squareFree|) - (570 . |squareFreePolynomial|) - (575 . |/|) - (581 . |elt|) - (587 . |euclideanSize|) - (592 . |inv|) - (597 . |*|) - (603 . |divide|) - (|Fraction| 109) - (609 . |coerce|) - (614 . |inv|) - (619 . |*|) - (625 . |integrate|) - (|Symbol|) - (|List| 195) - (|Equation| |$|) - (|Union| 109 (QUOTE "failed")) - (|Union| 190 (QUOTE "failed")) - (|OutputForm|))) - (QUOTE - #(|vectorise| 630 |variables| 636 |unmakeSUP| 641 |totalDegree| 646 - |squareFreePolynomial| 652 |squareFreePart| 657 |squareFree| 662 - |solveLinearPolynomialEquation| 667 |shiftRight| 673 |shiftLeft| 679 - |separate| 685 |retractIfCan| 691 |retract| 696 |pseudoQuotient| 701 - |pseudoDivide| 707 |order| 713 |nextItem| 719 |monomial| 724 - |minimumDegree| 731 |makeSUP| 743 |mainVariable| 748 - |karatsubaDivide| 753 |integrate| 759 |init| 764 |gcdPolynomial| 768 - |factorSquareFreePolynomial| 774 |factorPolynomial| 779 |factor| 784 - |eval| 789 |euclideanSize| 823 |elt| 828 |divide| 846 - |differentiate| 852 |degree| 876 |content| 888 |composite| 894 - |coerce| 906)) - (QUOTE NIL) - (CONS - (|makeByteWordVec2| 1 (QUOTE NIL)) - (CONS - (QUOTE #()) - (CONS - (QUOTE #()) - (|makeByteWordVec2| 194 - (QUOTE - (1 6 8 0 9 1 6 10 0 11 0 12 0 13 1 6 10 0 17 3 6 0 0 12 0 21 2 - 6 0 0 0 24 3 6 0 0 12 7 26 2 6 7 0 7 29 1 6 0 7 30 1 32 6 0 33 - 1 6 34 0 35 1 32 6 0 36 1 6 10 0 40 2 10 0 0 0 43 2 6 0 44 0 - 45 0 6 0 47 0 7 0 48 2 6 0 7 10 49 0 51 0 52 1 6 7 0 53 2 51 - 0 7 10 54 1 6 0 0 55 1 6 51 0 56 2 51 0 0 0 57 1 51 8 0 59 0 - 6 0 60 1 51 7 0 61 1 51 10 0 62 1 51 0 0 63 1 6 0 51 64 2 6 0 - 0 0 65 2 6 67 0 0 68 2 6 0 0 0 71 2 76 73 74 75 77 2 0 78 79 - 80 81 1 76 82 75 83 1 0 84 80 85 1 76 82 75 86 1 0 84 80 87 1 - 7 88 0 89 1 90 7 0 91 1 90 94 0 95 2 98 0 6 97 99 1 7 84 80 - 100 2 103 98 101 102 104 1 0 88 0 105 0 7 0 106 2 107 0 10 7 - 108 1 107 109 0 110 2 6 7 0 10 111 3 107 7 0 109 7 112 0 7 0 - 117 0 0 0 118 1 7 119 0 120 0 75 0 121 1 0 119 0 122 1 6 7 0 - 123 2 0 0 0 12 124 2 6 0 0 0 125 2 6 119 0 0 126 2 6 8 0 0 127 - 2 0 128 0 0 129 0 75 0 130 2 7 0 10 0 131 3 0 0 0 132 0 133 2 - 6 0 7 0 134 3 6 0 0 132 0 135 1 6 0 0 138 1 140 6 0 141 2 6 - 142 0 142 143 1 140 6 0 144 2 140 0 0 0 145 2 0 142 142 142 - 146 2 7 0 0 10 147 2 6 0 0 0 148 2 6 0 0 0 149 2 0 0 0 0 150 - 2 0 151 0 0 152 2 6 119 0 0 153 2 140 0 6 6 154 2 0 155 142 0 - 156 1 6 8 0 157 2 6 151 0 0 158 2 6 119 0 7 159 2 0 119 0 0 - 160 0 140 0 161 1 140 0 6 162 2 140 0 0 109 163 2 140 0 0 0 - 164 2 140 0 0 0 165 2 140 0 0 10 166 2 0 142 0 142 167 2 0 10 - 0 0 168 1 169 98 6 170 1 0 88 0 171 1 169 6 6 172 1 0 0 0 173 - 1 75 8 0 174 1 75 0 0 175 1 75 6 0 176 1 75 0 0 177 2 75 0 0 - 0 178 2 75 0 6 0 179 2 0 80 80 80 180 1 181 82 75 182 1 0 84 - 80 183 2 7 0 0 0 184 2 0 7 142 7 185 1 0 10 0 186 1 7 0 0 187 - 2 7 0 0 0 188 2 0 67 0 0 189 1 190 0 109 191 1 190 0 0 192 2 - 6 0 190 0 193 1 0 0 0 194 2 0 107 0 10 113 1 0 14 0 15 1 0 0 - 51 66 2 0 10 0 14 18 1 0 84 80 183 1 0 0 0 173 1 0 88 0 171 2 - 0 78 79 80 81 2 0 0 0 10 70 2 0 0 0 10 72 2 0 128 0 0 129 1 0 - 115 0 116 1 0 7 0 114 2 0 0 0 0 150 2 0 151 0 0 152 2 0 10 0 - 0 168 1 0 119 0 122 3 0 0 0 12 10 46 2 0 19 0 14 42 2 0 10 0 - 12 41 1 0 51 0 58 1 0 34 0 39 2 0 67 0 10 69 1 0 0 0 194 0 0 - 0 118 2 0 80 80 80 180 1 0 84 80 87 1 0 84 80 85 1 0 88 0 105 - 3 0 0 0 12 0 25 3 0 0 0 14 22 23 3 0 0 0 14 27 28 3 0 0 0 12 - 7 31 2 0 0 0 37 38 1 0 10 0 186 2 0 142 0 142 167 2 0 7 142 7 - 185 2 0 142 142 142 146 2 0 67 0 0 189 3 0 0 0 132 0 133 2 0 - 0 0 132 136 1 0 0 0 137 2 0 0 0 12 139 2 0 10 0 12 16 2 0 19 - 0 14 20 2 0 0 0 12 124 2 0 119 0 0 160 2 0 155 142 0 156 1 0 - 0 12 50)))))) - (QUOTE |lookupComplete|))) - + (QSETREFV $ 195 + (CONS (|dispatchFunction| |UPOLYC-;integrate;2S;53|) $)))) + $)))) + +(MAKEPROP '|UnivariatePolynomialCategory&| '|infovec| + (LIST '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|local| |#2|) + (|Boolean|) (0 . |zero?|) (|NonNegativeInteger|) + (5 . |degree|) (|SingletonAsOrderedSet|) (10 . |create|) + (|List| 12) |UPOLYC-;variables;SL;1| + |UPOLYC-;degree;SSaosNni;2| (14 . |totalDegree|) + |UPOLYC-;totalDegree;SLNni;3| (|List| 10) + |UPOLYC-;degree;SLL;4| (19 . |eval|) (|List| $) + |UPOLYC-;eval;SLLS;5| (26 . |elt|) + |UPOLYC-;eval;SSaos2S;6| (32 . |eval|) (|List| 7) + |UPOLYC-;eval;SLLS;7| (39 . |elt|) (45 . |coerce|) + |UPOLYC-;eval;SSaosRS;8| (|Equation| 6) (50 . |lhs|) + (|Union| 12 '"failed") (55 . |mainVariable|) (60 . |rhs|) + (|List| 198) |UPOLYC-;eval;SLS;9| + |UPOLYC-;mainVariable;SU;10| (65 . |minimumDegree|) + |UPOLYC-;minimumDegree;SSaosNni;11| + |UPOLYC-;minimumDegree;SLL;12| (70 . +) (|Mapping| 10 10) + (76 . |mapExponents|) |UPOLYC-;monomial;SSaosNniS;13| + (82 . |One|) (86 . |One|) (90 . |monomial|) + |UPOLYC-;coerce;SaosS;14| (|SparseUnivariatePolynomial| 7) + (96 . |Zero|) (100 . |leadingCoefficient|) + (105 . |monomial|) (111 . |reductum|) (116 . |makeSUP|) + (121 . +) |UPOLYC-;makeSUP;SSup;15| (127 . |zero?|) + (132 . |Zero|) (136 . |leadingCoefficient|) + (141 . |degree|) (146 . |reductum|) (151 . |unmakeSUP|) + (156 . +) |UPOLYC-;unmakeSUP;SupS;16| + (|Record| (|:| |quotient| $) (|:| |remainder| $)) + (162 . |monicDivide|) |UPOLYC-;karatsubaDivide;SNniR;17| + |UPOLYC-;shiftRight;SNniS;18| (168 . *) + |UPOLYC-;shiftLeft;SNniS;19| (|Union| 74 '"failed") + (|List| 75) (|SparseUnivariatePolynomial| 6) + (|PolynomialFactorizationByRecursionUnivariate| 7 6) + (174 . |solveLinearPolynomialEquationByRecursion|) + (|Union| 79 '"failed") (|List| 80) + (|SparseUnivariatePolynomial| $) + (180 . |solveLinearPolynomialEquation|) (|Factored| 75) + (186 . |factorByRecursion|) (|Factored| 80) + (191 . |factorPolynomial|) + (196 . |factorSquareFreeByRecursion|) + (201 . |factorSquareFreePolynomial|) (|Factored| $) + (206 . |factor|) (|Factored| 7) (211 . |unit|) + (|Union| '"nil" '"sqfr" '"irred" '"prime") + (|Record| (|:| |flg| 92) (|:| |fctr| 7) (|:| |xpnt| 109)) + (|List| 93) (216 . |factorList|) + (|Record| (|:| |flg| 92) (|:| |fctr| 6) (|:| |xpnt| 109)) + (|List| 96) (|Factored| 6) (221 . |makeFR|) + (227 . |factorPolynomial|) (|Mapping| 6 51) + (|Factored| 51) (|FactoredFunctions2| 51 6) (232 . |map|) + (238 . |factor|) (243 . |Zero|) (|Vector| 7) (247 . |new|) + (|Integer|) (253 . |minIndex|) (258 . |coefficient|) + (264 . |qsetelt!|) |UPOLYC-;vectorise;SNniV;24| + |UPOLYC-;retract;SR;25| (|Union| 7 '"failed") + |UPOLYC-;retractIfCan;SU;26| (271 . |init|) (275 . |init|) + (|Union| $ '"failed") (279 . |nextItem|) (284 . |One|) + (288 . |nextItem|) (293 . |content|) (298 . |content|) + (304 . |gcd|) (310 . |exquo|) (316 . =) + (|Record| (|:| |primePart| $) (|:| |commonPart| $)) + (322 . |separate|) (328 . |Zero|) (332 . *) + (|Mapping| 7 7) (338 . |differentiate|) (345 . *) + (351 . |differentiate|) |UPOLYC-;differentiate;SMS;36| + |UPOLYC-;differentiate;2S;37| (358 . |differentiate|) + |UPOLYC-;differentiate;SSaosS;38| (|Fraction| 6) + (363 . |numer|) (|Fraction| $) (368 . |elt|) + (374 . |denom|) (379 . /) (385 . |elt|) (391 . **) + (397 . |pseudoRemainder|) (403 . -) + (409 . |pseudoQuotient|) + (|Record| (|:| |coef| 7) (|:| |quotient| $) + (|:| |remainder| $)) + (415 . |pseudoDivide|) (421 . |composite|) (427 . /) + (|Union| 142 '"failed") (433 . |composite|) + (439 . |ground?|) (444 . |pseudoDivide|) (450 . |exquo|) + (456 . |composite|) (462 . |Zero|) (466 . |coerce|) + (471 . |not|) (476 . **) (482 . *) (488 . +) (494 . **) + (500 . |elt|) (506 . |order|) + (|UnivariatePolynomialSquareFree| 7 6) + (512 . |squareFree|) (517 . |squareFree|) + (522 . |squareFreePart|) (527 . |squareFreePart|) + (532 . |zero?|) (537 . |unitCanonical|) (542 . |content|) + (547 . |primitivePart|) (552 . |subResultantGcd|) + (558 . *) (564 . |gcdPolynomial|) + (|UnivariatePolynomialSquareFree| 6 75) + (570 . |squareFree|) (575 . |squareFreePolynomial|) + (580 . /) (586 . |elt|) (592 . |euclideanSize|) + (597 . |inv|) (602 . *) (608 . |divide|) (|Fraction| 109) + (614 . |coerce|) (619 . |inv|) (624 . *) + (630 . |integrate|) (|Symbol|) (|List| 196) (|Equation| $) + (|Union| 109 '"failed") (|Union| 191 '"failed") + (|OutputForm|)) + '#(|vectorise| 635 |variables| 641 |unmakeSUP| 646 + |totalDegree| 651 |squareFreePolynomial| 657 + |squareFreePart| 662 |squareFree| 667 + |solveLinearPolynomialEquation| 672 |shiftRight| 678 + |shiftLeft| 684 |separate| 690 |retractIfCan| 696 + |retract| 701 |pseudoQuotient| 706 |pseudoDivide| 712 + |order| 718 |nextItem| 724 |monomial| 729 |minimumDegree| + 736 |makeSUP| 748 |mainVariable| 753 |karatsubaDivide| 758 + |integrate| 764 |init| 769 |gcdPolynomial| 773 + |factorSquareFreePolynomial| 779 |factorPolynomial| 784 + |factor| 789 |eval| 794 |euclideanSize| 828 |elt| 833 + |divide| 851 |differentiate| 857 |degree| 881 |content| + 893 |composite| 899 |coerce| 911) + 'NIL + (CONS (|makeByteWordVec2| 1 'NIL) + (CONS '#() + (CONS '#() + (|makeByteWordVec2| 195 + '(1 6 8 0 9 1 6 10 0 11 0 12 0 13 1 6 + 10 0 17 3 6 0 0 12 0 21 2 6 0 0 0 24 + 3 6 0 0 12 7 26 2 6 7 0 7 29 1 6 0 7 + 30 1 32 6 0 33 1 6 34 0 35 1 32 6 0 + 36 1 6 10 0 40 2 10 0 0 0 43 2 6 0 44 + 0 45 0 6 0 47 0 7 0 48 2 6 0 7 10 49 + 0 51 0 52 1 6 7 0 53 2 51 0 7 10 54 1 + 6 0 0 55 1 6 51 0 56 2 51 0 0 0 57 1 + 51 8 0 59 0 6 0 60 1 51 7 0 61 1 51 + 10 0 62 1 51 0 0 63 1 6 0 51 64 2 6 0 + 0 0 65 2 6 67 0 0 68 2 6 0 0 0 71 2 + 76 73 74 75 77 2 0 78 79 80 81 1 76 + 82 75 83 1 0 84 80 85 1 76 82 75 86 1 + 0 84 80 87 1 7 88 0 89 1 90 7 0 91 1 + 90 94 0 95 2 98 0 6 97 99 1 7 84 80 + 100 2 103 98 101 102 104 1 0 88 0 105 + 0 7 0 106 2 107 0 10 7 108 1 107 109 + 0 110 2 6 7 0 10 111 3 107 7 0 109 7 + 112 0 7 0 117 0 0 0 118 1 7 119 0 120 + 0 75 0 121 1 0 119 0 122 1 6 7 0 123 + 2 0 0 0 12 124 2 6 0 0 0 125 2 6 119 + 0 0 126 2 6 8 0 0 127 2 0 128 0 0 129 + 0 75 0 130 2 7 0 10 0 131 3 0 0 0 132 + 0 133 2 6 0 7 0 134 3 6 0 0 132 0 135 + 1 6 0 0 138 1 140 6 0 141 2 6 142 0 + 142 143 1 140 6 0 144 2 140 0 0 0 145 + 2 0 142 142 142 146 2 7 0 0 10 147 2 + 6 0 0 0 148 2 6 0 0 0 149 2 0 0 0 0 + 150 2 0 151 0 0 152 2 6 119 0 0 153 2 + 140 0 6 6 154 2 0 155 142 0 156 1 6 8 + 0 157 2 6 151 0 0 158 2 6 119 0 7 159 + 2 0 119 0 0 160 0 140 0 161 1 140 0 6 + 162 1 8 0 0 163 2 140 0 0 109 164 2 + 140 0 0 0 165 2 140 0 0 0 166 2 140 0 + 0 10 167 2 0 142 0 142 168 2 0 10 0 0 + 169 1 170 98 6 171 1 0 88 0 172 1 170 + 6 6 173 1 0 0 0 174 1 75 8 0 175 1 75 + 0 0 176 1 75 6 0 177 1 75 0 0 178 2 + 75 0 0 0 179 2 75 0 6 0 180 2 0 80 80 + 80 181 1 182 82 75 183 1 0 84 80 184 + 2 7 0 0 0 185 2 0 7 142 7 186 1 0 10 + 0 187 1 7 0 0 188 2 7 0 0 0 189 2 0 + 67 0 0 190 1 191 0 109 192 1 191 0 0 + 193 2 6 0 191 0 194 1 0 0 0 195 2 0 + 107 0 10 113 1 0 14 0 15 1 0 0 51 66 + 2 0 10 0 14 18 1 0 84 80 184 1 0 0 0 + 174 1 0 88 0 172 2 0 78 79 80 81 2 0 + 0 0 10 70 2 0 0 0 10 72 2 0 128 0 0 + 129 1 0 115 0 116 1 0 7 0 114 2 0 0 0 + 0 150 2 0 151 0 0 152 2 0 10 0 0 169 + 1 0 119 0 122 3 0 0 0 12 10 46 2 0 19 + 0 14 42 2 0 10 0 12 41 1 0 51 0 58 1 + 0 34 0 39 2 0 67 0 10 69 1 0 0 0 195 + 0 0 0 118 2 0 80 80 80 181 1 0 84 80 + 87 1 0 84 80 85 1 0 88 0 105 3 0 0 0 + 12 0 25 3 0 0 0 14 22 23 3 0 0 0 14 + 27 28 3 0 0 0 12 7 31 2 0 0 0 37 38 1 + 0 10 0 187 2 0 142 0 142 168 2 0 7 + 142 7 186 2 0 142 142 142 146 2 0 67 + 0 0 190 3 0 0 0 132 0 133 2 0 0 0 132 + 136 1 0 0 0 137 2 0 0 0 12 139 2 0 10 + 0 12 16 2 0 19 0 14 20 2 0 0 0 12 124 + 2 0 119 0 0 160 2 0 155 142 0 156 1 0 + 0 12 50))))) + '|lookupComplete|)) @ \section{package UPOLYC2 UnivariatePolynomialCategoryFunctions2} <<package UPOLYC2 UnivariatePolynomialCategoryFunctions2>>= diff --git a/src/algebra/triset.spad.pamphlet b/src/algebra/triset.spad.pamphlet index 28327621..224452fc 100644 --- a/src/algebra/triset.spad.pamphlet +++ b/src/algebra/triset.spad.pamphlet @@ -495,15 +495,205 @@ Note that this code is not included in the generated catdef.spad file. <<TSETCAT.lsp BOOTSTRAP>>= -(|/VERSIONCHECK| 2) - -(SETQ |TriangularSetCategory;CAT| (QUOTE NIL)) - -(SETQ |TriangularSetCategory;AL| (QUOTE NIL)) - -(DEFUN |TriangularSetCategory| (|&REST| #1=#:G82394 |&AUX| #2=#:G82392) (DSETQ #2# #1#) (LET (#3=#:G82393) (COND ((SETQ #3# (|assoc| (|devaluateList| #2#) |TriangularSetCategory;AL|)) (CDR #3#)) (T (SETQ |TriangularSetCategory;AL| (|cons5| (CONS (|devaluateList| #2#) (SETQ #3# (APPLY (FUNCTION |TriangularSetCategory;|) #2#))) |TriangularSetCategory;AL|)) #3#)))) - -(DEFUN |TriangularSetCategory;| (|t#1| |t#2| |t#3| |t#4|) (PROG (#1=#:G82391) (RETURN (PROG1 (LETT #1# (|sublisV| (PAIR (QUOTE (|t#1| |t#2| |t#3| |t#4|)) (LIST (|devaluate| |t#1|) (|devaluate| |t#2|) (|devaluate| |t#3|) (|devaluate| |t#4|))) (COND (|TriangularSetCategory;CAT|) ((QUOTE T) (LETT |TriangularSetCategory;CAT| (|Join| (|PolynomialSetCategory| (QUOTE |t#1|) (QUOTE |t#2|) (QUOTE |t#3|) (QUOTE |t#4|)) (|mkCategory| (QUOTE |domain|) (QUOTE (((|infRittWu?| ((|Boolean|) |$| |$|)) T) ((|basicSet| ((|Union| (|Record| (|:| |bas| |$|) (|:| |top| (|List| |t#4|))) "failed") (|List| |t#4|) (|Mapping| (|Boolean|) |t#4| |t#4|))) T) ((|basicSet| ((|Union| (|Record| (|:| |bas| |$|) (|:| |top| (|List| |t#4|))) "failed") (|List| |t#4|) (|Mapping| (|Boolean|) |t#4|) (|Mapping| (|Boolean|) |t#4| |t#4|))) T) ((|initials| ((|List| |t#4|) |$|)) T) ((|degree| ((|NonNegativeInteger|) |$|)) T) ((|quasiComponent| ((|Record| (|:| |close| (|List| |t#4|)) (|:| |open| (|List| |t#4|))) |$|)) T) ((|normalized?| ((|Boolean|) |t#4| |$|)) T) ((|normalized?| ((|Boolean|) |$|)) T) ((|reduced?| ((|Boolean|) |t#4| |$| (|Mapping| (|Boolean|) |t#4| |t#4|))) T) ((|stronglyReduced?| ((|Boolean|) |t#4| |$|)) T) ((|headReduced?| ((|Boolean|) |t#4| |$|)) T) ((|initiallyReduced?| ((|Boolean|) |t#4| |$|)) T) ((|autoReduced?| ((|Boolean|) |$| (|Mapping| (|Boolean|) |t#4| (|List| |t#4|)))) T) ((|stronglyReduced?| ((|Boolean|) |$|)) T) ((|headReduced?| ((|Boolean|) |$|)) T) ((|initiallyReduced?| ((|Boolean|) |$|)) T) ((|reduce| (|t#4| |t#4| |$| (|Mapping| |t#4| |t#4| |t#4|) (|Mapping| (|Boolean|) |t#4| |t#4|))) T) ((|rewriteSetWithReduction| ((|List| |t#4|) (|List| |t#4|) |$| (|Mapping| |t#4| |t#4| |t#4|) (|Mapping| (|Boolean|) |t#4| |t#4|))) T) ((|stronglyReduce| (|t#4| |t#4| |$|)) T) ((|headReduce| (|t#4| |t#4| |$|)) T) ((|initiallyReduce| (|t#4| |t#4| |$|)) T) ((|removeZero| (|t#4| |t#4| |$|)) T) ((|collectQuasiMonic| (|$| |$|)) T) ((|reduceByQuasiMonic| (|t#4| |t#4| |$|)) T) ((|zeroSetSplit| ((|List| |$|) (|List| |t#4|))) T) ((|zeroSetSplitIntoTriangularSystems| ((|List| (|Record| (|:| |close| |$|) (|:| |open| (|List| |t#4|)))) (|List| |t#4|))) T) ((|first| ((|Union| |t#4| "failed") |$|)) T) ((|last| ((|Union| |t#4| "failed") |$|)) T) ((|rest| ((|Union| |$| "failed") |$|)) T) ((|algebraicVariables| ((|List| |t#3|) |$|)) T) ((|algebraic?| ((|Boolean|) |t#3| |$|)) T) ((|select| ((|Union| |t#4| "failed") |$| |t#3|)) T) ((|extendIfCan| ((|Union| |$| "failed") |$| |t#4|)) T) ((|extend| (|$| |$| |t#4|)) T) ((|coHeight| ((|NonNegativeInteger|) |$|)) (|has| |t#3| (|Finite|))))) (QUOTE ((|finiteAggregate| T) (|shallowlyMutable| T))) (QUOTE ((|NonNegativeInteger|) (|Boolean|) (|List| |t#3|) (|List| (|Record| (|:| |close| |$|) (|:| |open| (|List| |t#4|)))) (|List| |t#4|) (|List| |$|))) NIL)) . #2=(|TriangularSetCategory|))))) . #2#) (SETELT #1# 0 (LIST (QUOTE |TriangularSetCategory|) (|devaluate| |t#1|) (|devaluate| |t#2|) (|devaluate| |t#3|) (|devaluate| |t#4|))))))) +(/VERSIONCHECK 2) + +(DEFPARAMETER |TriangularSetCategory;CAT| 'NIL) + +(DEFPARAMETER |TriangularSetCategory;AL| 'NIL) + +(DEFUN |TriangularSetCategory| (&REST #0=#:G1439 &AUX #1=#:G1437) + (DSETQ #1# #0#) + (LET (#2=#:G1438) + (COND + ((SETQ #2# + (|assoc| (|devaluateList| #1#) |TriangularSetCategory;AL|)) + (CDR #2#)) + (T (SETQ |TriangularSetCategory;AL| + (|cons5| (CONS (|devaluateList| #1#) + (SETQ #2# + (APPLY #'|TriangularSetCategory;| + #1#))) + |TriangularSetCategory;AL|)) + #2#)))) + +(DEFUN |TriangularSetCategory;| (|t#1| |t#2| |t#3| |t#4|) + (PROG (#0=#:G1436) + (RETURN + (PROG1 (LETT #0# + (|sublisV| + (PAIR '(|t#1| |t#2| |t#3| |t#4|) + (LIST (|devaluate| |t#1|) + (|devaluate| |t#2|) + (|devaluate| |t#3|) + (|devaluate| |t#4|))) + (COND + (|TriangularSetCategory;CAT|) + ('T + (LETT |TriangularSetCategory;CAT| + (|Join| (|PolynomialSetCategory| '|t#1| + '|t#2| '|t#3| '|t#4|) + (|mkCategory| '|domain| + '(((|infRittWu?| + ((|Boolean|) $ $)) + T) + ((|basicSet| + ((|Union| + (|Record| (|:| |bas| $) + (|:| |top| + (|List| |t#4|))) + "failed") + (|List| |t#4|) + (|Mapping| (|Boolean|) + |t#4| |t#4|))) + T) + ((|basicSet| + ((|Union| + (|Record| (|:| |bas| $) + (|:| |top| + (|List| |t#4|))) + "failed") + (|List| |t#4|) + (|Mapping| (|Boolean|) + |t#4|) + (|Mapping| (|Boolean|) + |t#4| |t#4|))) + T) + ((|initials| + ((|List| |t#4|) $)) + T) + ((|degree| + ((|NonNegativeInteger|) $)) + T) + ((|quasiComponent| + ((|Record| + (|:| |close| + (|List| |t#4|)) + (|:| |open| + (|List| |t#4|))) + $)) + T) + ((|normalized?| + ((|Boolean|) |t#4| $)) + T) + ((|normalized?| + ((|Boolean|) $)) + T) + ((|reduced?| + ((|Boolean|) |t#4| $ + (|Mapping| (|Boolean|) + |t#4| |t#4|))) + T) + ((|stronglyReduced?| + ((|Boolean|) |t#4| $)) + T) + ((|headReduced?| + ((|Boolean|) |t#4| $)) + T) + ((|initiallyReduced?| + ((|Boolean|) |t#4| $)) + T) + ((|autoReduced?| + ((|Boolean|) $ + (|Mapping| (|Boolean|) + |t#4| (|List| |t#4|)))) + T) + ((|stronglyReduced?| + ((|Boolean|) $)) + T) + ((|headReduced?| + ((|Boolean|) $)) + T) + ((|initiallyReduced?| + ((|Boolean|) $)) + T) + ((|reduce| + (|t#4| |t#4| $ + (|Mapping| |t#4| |t#4| + |t#4|) + (|Mapping| (|Boolean|) + |t#4| |t#4|))) + T) + ((|rewriteSetWithReduction| + ((|List| |t#4|) + (|List| |t#4|) $ + (|Mapping| |t#4| |t#4| + |t#4|) + (|Mapping| (|Boolean|) + |t#4| |t#4|))) + T) + ((|stronglyReduce| + (|t#4| |t#4| $)) + T) + ((|headReduce| + (|t#4| |t#4| $)) + T) + ((|initiallyReduce| + (|t#4| |t#4| $)) + T) + ((|removeZero| + (|t#4| |t#4| $)) + T) + ((|collectQuasiMonic| ($ $)) + T) + ((|reduceByQuasiMonic| + (|t#4| |t#4| $)) + T) + ((|zeroSetSplit| + ((|List| $) + (|List| |t#4|))) + T) + ((|zeroSetSplitIntoTriangularSystems| + ((|List| + (|Record| + (|:| |close| $) + (|:| |open| + (|List| |t#4|)))) + (|List| |t#4|))) + T) + ((|first| + ((|Union| |t#4| "failed") + $)) + T) + ((|last| + ((|Union| |t#4| "failed") + $)) + T) + ((|rest| + ((|Union| $ "failed") $)) + T) + ((|algebraicVariables| + ((|List| |t#3|) $)) + T) + ((|algebraic?| + ((|Boolean|) |t#3| $)) + T) + ((|select| + ((|Union| |t#4| "failed") + $ |t#3|)) + T) + ((|extendIfCan| + ((|Union| $ "failed") $ + |t#4|)) + T) + ((|extend| ($ $ |t#4|)) T) + ((|coHeight| + ((|NonNegativeInteger|) $)) + (|has| |t#3| (|Finite|)))) + '((|finiteAggregate| T) + (|shallowlyMutable| T)) + '((|NonNegativeInteger|) + (|Boolean|) (|List| |t#3|) + (|List| + (|Record| (|:| |close| $) + (|:| |open| + (|List| |t#4|)))) + (|List| |t#4|) (|List| $)) + NIL)) + . #1=(|TriangularSetCategory|))))) . #1#) + (SETELT #0# 0 + (LIST '|TriangularSetCategory| (|devaluate| |t#1|) + (|devaluate| |t#2|) (|devaluate| |t#3|) + (|devaluate| |t#4|))))))) @ \section{TSETCAT-.lsp BOOTSTRAP} {\bf TSETCAT-} depends on a chain of files. @@ -516,6 +706,980 @@ This is eventually forcibly replaced by a recompiled version. Note that this code is not included in the generated catdef.spad file. <<TSETCAT-.lsp BOOTSTRAP>>= + +(/VERSIONCHECK 2) + +(DEFUN |TSETCAT-;=;2SB;1| (|ts| |us| $) + (PROG (#0=#:G1444 #1=#:G1450) + (RETURN + (COND + ((SPADCALL |ts| (QREFELT $ 12)) (SPADCALL |us| (QREFELT $ 12))) + ((OR (SPADCALL |us| (QREFELT $ 12)) + (NULL (SPADCALL + (PROG2 (LETT #0# (SPADCALL |ts| (QREFELT $ 14)) + |TSETCAT-;=;2SB;1|) + (QCDR #0#) + (|check-union| (QEQCAR #0# 0) (QREFELT $ 10) + #0#)) + (PROG2 (LETT #0# (SPADCALL |us| (QREFELT $ 14)) + |TSETCAT-;=;2SB;1|) + (QCDR #0#) + (|check-union| (QEQCAR #0# 0) (QREFELT $ 10) + #0#)) + (QREFELT $ 15)))) + 'NIL) + ('T + (SPADCALL + (PROG2 (LETT #1# (SPADCALL |ts| (QREFELT $ 17)) + |TSETCAT-;=;2SB;1|) + (QCDR #1#) + (|check-union| (QEQCAR #1# 0) (QREFELT $ 6) #1#)) + (PROG2 (LETT #1# (SPADCALL |us| (QREFELT $ 17)) + |TSETCAT-;=;2SB;1|) + (QCDR #1#) + (|check-union| (QEQCAR #1# 0) (QREFELT $ 6) #1#)) + (QREFELT $ 18))))))) + +(DEFUN |TSETCAT-;infRittWu?;2SB;2| (|ts| |us| $) + (PROG (|p| #0=#:G1457 |q| |v|) + (RETURN + (SEQ (COND + ((SPADCALL |us| (QREFELT $ 12)) + (SPADCALL (SPADCALL |ts| (QREFELT $ 12)) (QREFELT $ 20))) + ((SPADCALL |ts| (QREFELT $ 12)) 'NIL) + ('T + (SEQ (LETT |p| + (PROG2 (LETT #0# + (SPADCALL |ts| (QREFELT $ 21)) + |TSETCAT-;infRittWu?;2SB;2|) + (QCDR #0#) + (|check-union| (QEQCAR #0# 0) (QREFELT $ 10) + #0#)) + |TSETCAT-;infRittWu?;2SB;2|) + (LETT |q| + (PROG2 (LETT #0# + (SPADCALL |us| (QREFELT $ 21)) + |TSETCAT-;infRittWu?;2SB;2|) + (QCDR #0#) + (|check-union| (QEQCAR #0# 0) (QREFELT $ 10) + #0#)) + |TSETCAT-;infRittWu?;2SB;2|) + (EXIT (COND + ((SPADCALL |p| |q| (QREFELT $ 22)) 'T) + ((SPADCALL |p| |q| (QREFELT $ 23)) 'NIL) + ('T + (SEQ (LETT |v| + (SPADCALL |p| (QREFELT $ 24)) + |TSETCAT-;infRittWu?;2SB;2|) + (EXIT (SPADCALL + (SPADCALL |ts| |v| + (QREFELT $ 25)) + (SPADCALL |us| |v| + (QREFELT $ 25)) + (QREFELT $ 26)))))))))))))) + +(DEFUN |TSETCAT-;reduced?;PSMB;3| (|p| |ts| |redOp?| $) + (PROG (|lp|) + (RETURN + (SEQ (LETT |lp| (SPADCALL |ts| (QREFELT $ 29)) + |TSETCAT-;reduced?;PSMB;3|) + (SEQ G190 + (COND + ((NULL (COND + ((NULL |lp|) 'NIL) + ('T + (SPADCALL |p| (|SPADfirst| |lp|) |redOp?|)))) + (GO G191))) + (SEQ (EXIT (LETT |lp| (CDR |lp|) + |TSETCAT-;reduced?;PSMB;3|))) + NIL (GO G190) G191 (EXIT NIL)) + (EXIT (NULL |lp|)))))) + +(DEFUN |TSETCAT-;basicSet;LMU;4| (|ps| |redOp?| $) + (PROG (|b| |bs| |p| |ts|) + (RETURN + (SEQ (LETT |ps| (SPADCALL (ELT $ 32) |ps| (QREFELT $ 34)) + |TSETCAT-;basicSet;LMU;4|) + (EXIT (COND + ((SPADCALL (ELT $ 35) |ps| (QREFELT $ 36)) + (CONS 1 "failed")) + ('T + (SEQ (LETT |ps| + (SPADCALL (ELT $ 22) |ps| + (QREFELT $ 37)) + |TSETCAT-;basicSet;LMU;4|) + (LETT |bs| (SPADCALL (QREFELT $ 38)) + |TSETCAT-;basicSet;LMU;4|) + (LETT |ts| NIL |TSETCAT-;basicSet;LMU;4|) + (SEQ G190 + (COND + ((NULL (SPADCALL (NULL |ps|) + (QREFELT $ 20))) + (GO G191))) + (SEQ (LETT |b| (|SPADfirst| |ps|) + |TSETCAT-;basicSet;LMU;4|) + (LETT |bs| + (SPADCALL |bs| |b| (QREFELT $ 39)) + |TSETCAT-;basicSet;LMU;4|) + (LETT |ps| (CDR |ps|) + |TSETCAT-;basicSet;LMU;4|) + (EXIT + (SEQ G190 + (COND + ((NULL + (COND + ((NULL |ps|) 'NIL) + ('T + (SPADCALL + (SPADCALL + (LETT |p| + (|SPADfirst| |ps|) + |TSETCAT-;basicSet;LMU;4|) + |bs| |redOp?| + (QREFELT $ 40)) + (QREFELT $ 20))))) + (GO G191))) + (SEQ + (LETT |ts| (CONS |p| |ts|) + |TSETCAT-;basicSet;LMU;4|) + (EXIT + (LETT |ps| (CDR |ps|) + |TSETCAT-;basicSet;LMU;4|))) + NIL (GO G190) G191 (EXIT NIL)))) + NIL (GO G190) G191 (EXIT NIL)) + (EXIT (CONS 0 (CONS |bs| |ts|))))))))))) + +(DEFUN |TSETCAT-;basicSet;LMMU;5| (|ps| |pred?| |redOp?| $) + (PROG (|bps| |b| |bs| |p| |gps| |ts|) + (RETURN + (SEQ (LETT |ps| (SPADCALL (ELT $ 32) |ps| (QREFELT $ 34)) + |TSETCAT-;basicSet;LMMU;5|) + (EXIT (COND + ((SPADCALL (ELT $ 35) |ps| (QREFELT $ 36)) + (CONS 1 "failed")) + ('T + (SEQ (LETT |gps| NIL |TSETCAT-;basicSet;LMMU;5|) + (LETT |bps| NIL |TSETCAT-;basicSet;LMMU;5|) + (SEQ G190 + (COND + ((NULL (SPADCALL (NULL |ps|) + (QREFELT $ 20))) + (GO G191))) + (SEQ (LETT |p| (|SPADfirst| |ps|) + |TSETCAT-;basicSet;LMMU;5|) + (LETT |ps| (CDR |ps|) + |TSETCAT-;basicSet;LMMU;5|) + (EXIT + (COND + ((SPADCALL |p| |pred?|) + (LETT |gps| (CONS |p| |gps|) + |TSETCAT-;basicSet;LMMU;5|)) + ('T + (LETT |bps| (CONS |p| |bps|) + |TSETCAT-;basicSet;LMMU;5|))))) + NIL (GO G190) G191 (EXIT NIL)) + (LETT |gps| + (SPADCALL (ELT $ 22) |gps| + (QREFELT $ 37)) + |TSETCAT-;basicSet;LMMU;5|) + (LETT |bs| (SPADCALL (QREFELT $ 38)) + |TSETCAT-;basicSet;LMMU;5|) + (LETT |ts| NIL |TSETCAT-;basicSet;LMMU;5|) + (SEQ G190 + (COND + ((NULL (SPADCALL (NULL |gps|) + (QREFELT $ 20))) + (GO G191))) + (SEQ (LETT |b| (|SPADfirst| |gps|) + |TSETCAT-;basicSet;LMMU;5|) + (LETT |bs| + (SPADCALL |bs| |b| (QREFELT $ 39)) + |TSETCAT-;basicSet;LMMU;5|) + (LETT |gps| (CDR |gps|) + |TSETCAT-;basicSet;LMMU;5|) + (EXIT + (SEQ G190 + (COND + ((NULL + (COND + ((NULL |gps|) 'NIL) + ('T + (SPADCALL + (SPADCALL + (LETT |p| + (|SPADfirst| |gps|) + |TSETCAT-;basicSet;LMMU;5|) + |bs| |redOp?| + (QREFELT $ 40)) + (QREFELT $ 20))))) + (GO G191))) + (SEQ + (LETT |ts| (CONS |p| |ts|) + |TSETCAT-;basicSet;LMMU;5|) + (EXIT + (LETT |gps| (CDR |gps|) + |TSETCAT-;basicSet;LMMU;5|))) + NIL (GO G190) G191 (EXIT NIL)))) + NIL (GO G190) G191 (EXIT NIL)) + (LETT |ts| + (SPADCALL (ELT $ 22) + (SPADCALL |ts| |bps| (QREFELT $ 44)) + (QREFELT $ 37)) + |TSETCAT-;basicSet;LMMU;5|) + (EXIT (CONS 0 (CONS |bs| |ts|))))))))))) + +(DEFUN |TSETCAT-;initials;SL;6| (|ts| $) + (PROG (|p| |ip| |lip| |lp|) + (RETURN + (SEQ (LETT |lip| NIL |TSETCAT-;initials;SL;6|) + (EXIT (COND + ((SPADCALL |ts| (QREFELT $ 12)) |lip|) + ('T + (SEQ (LETT |lp| (SPADCALL |ts| (QREFELT $ 29)) + |TSETCAT-;initials;SL;6|) + (SEQ G190 + (COND + ((NULL (SPADCALL (NULL |lp|) + (QREFELT $ 20))) + (GO G191))) + (SEQ (LETT |p| (|SPADfirst| |lp|) + |TSETCAT-;initials;SL;6|) + (COND + ((NULL + (SPADCALL + (LETT |ip| + (SPADCALL |p| (QREFELT $ 46)) + |TSETCAT-;initials;SL;6|) + (QREFELT $ 35))) + (LETT |lip| + (CONS + (SPADCALL |ip| (QREFELT $ 47)) + |lip|) + |TSETCAT-;initials;SL;6|))) + (EXIT + (LETT |lp| (CDR |lp|) + |TSETCAT-;initials;SL;6|))) + NIL (GO G190) G191 (EXIT NIL)) + (EXIT (SPADCALL |lip| (QREFELT $ 48))))))))))) + +(DEFUN |TSETCAT-;degree;SNni;7| (|ts| $) + (PROG (|lp| |d|) + (RETURN + (SEQ (COND + ((SPADCALL |ts| (QREFELT $ 12)) 0) + ('T + (SEQ (LETT |lp| (SPADCALL |ts| (QREFELT $ 29)) + |TSETCAT-;degree;SNni;7|) + (LETT |d| + (SPADCALL (|SPADfirst| |lp|) (QREFELT $ 51)) + |TSETCAT-;degree;SNni;7|) + (SEQ G190 + (COND + ((NULL (SPADCALL + (NULL + (LETT |lp| (CDR |lp|) + |TSETCAT-;degree;SNni;7|)) + (QREFELT $ 20))) + (GO G191))) + (SEQ (EXIT (LETT |d| + (* |d| + (SPADCALL (|SPADfirst| |lp|) + (QREFELT $ 51))) + |TSETCAT-;degree;SNni;7|))) + NIL (GO G190) G191 (EXIT NIL)) + (EXIT |d|)))))))) + +(DEFUN |TSETCAT-;quasiComponent;SR;8| (|ts| $) + (CONS (SPADCALL |ts| (QREFELT $ 29)) (SPADCALL |ts| (QREFELT $ 53)))) + +(DEFUN |TSETCAT-;normalized?;PSB;9| (|p| |ts| $) + (SPADCALL |p| (SPADCALL |ts| (QREFELT $ 29)) (QREFELT $ 57))) + +(DEFUN |TSETCAT-;stronglyReduced?;PSB;10| (|p| |ts| $) + (SPADCALL |p| (SPADCALL |ts| (QREFELT $ 29)) (QREFELT $ 59))) + +(DEFUN |TSETCAT-;headReduced?;PSB;11| (|p| |ts| $) + (SPADCALL (SPADCALL |p| (QREFELT $ 61)) |ts| (QREFELT $ 62))) + +(DEFUN |TSETCAT-;initiallyReduced?;PSB;12| (|p| |ts| $) + (PROG (|lp| |red|) + (RETURN + (SEQ (LETT |lp| (SPADCALL |ts| (QREFELT $ 29)) + |TSETCAT-;initiallyReduced?;PSB;12|) + (LETT |red| 'T |TSETCAT-;initiallyReduced?;PSB;12|) + (SEQ G190 + (COND + ((NULL (COND + ((OR (NULL |lp|) + (SPADCALL |p| (QREFELT $ 35))) + 'NIL) + ('T |red|))) + (GO G191))) + (SEQ (SEQ G190 + (COND + ((NULL (COND + ((NULL |lp|) 'NIL) + ('T + (SPADCALL + (SPADCALL |p| (QREFELT $ 24)) + (SPADCALL (|SPADfirst| |lp|) + (QREFELT $ 24)) + (QREFELT $ 64))))) + (GO G191))) + (SEQ (EXIT (LETT |lp| (CDR |lp|) + |TSETCAT-;initiallyReduced?;PSB;12|))) + NIL (GO G190) G191 (EXIT NIL)) + (EXIT (COND + ((NULL (NULL |lp|)) + (COND + ((SPADCALL + (SPADCALL (|SPADfirst| |lp|) + (QREFELT $ 24)) + (SPADCALL |p| (QREFELT $ 24)) + (QREFELT $ 65)) + (COND + ((SPADCALL |p| (|SPADfirst| |lp|) + (QREFELT $ 66)) + (SEQ + (LETT |lp| (CDR |lp|) + |TSETCAT-;initiallyReduced?;PSB;12|) + (EXIT + (LETT |p| + (SPADCALL |p| (QREFELT $ 46)) + |TSETCAT-;initiallyReduced?;PSB;12|)))) + ('T + (LETT |red| 'NIL + |TSETCAT-;initiallyReduced?;PSB;12|)))) + ('T + (LETT |p| + (SPADCALL |p| (QREFELT $ 46)) + |TSETCAT-;initiallyReduced?;PSB;12|))))))) + NIL (GO G190) G191 (EXIT NIL)) + (EXIT |red|))))) + +(DEFUN |TSETCAT-;reduce;PSMMP;13| (|p| |ts| |redOp| |redOp?| $) + (PROG (|ts0| #0=#:G1532 |reductor| #1=#:G1535) + (RETURN + (SEQ (COND + ((OR (SPADCALL |ts| (QREFELT $ 12)) + (SPADCALL |p| (QREFELT $ 35))) + |p|) + ('T + (SEQ (LETT |ts0| |ts| |TSETCAT-;reduce;PSMMP;13|) + (SEQ G190 + (COND + ((NULL (COND + ((SPADCALL |ts| (QREFELT $ 12)) + 'NIL) + ('T + (SPADCALL + (SPADCALL |p| (QREFELT $ 35)) + (QREFELT $ 20))))) + (GO G191))) + (SEQ (LETT |reductor| + (PROG2 + (LETT #0# + (SPADCALL |ts| (QREFELT $ 14)) + |TSETCAT-;reduce;PSMMP;13|) + (QCDR #0#) + (|check-union| (QEQCAR #0# 0) + (QREFELT $ 10) #0#)) + |TSETCAT-;reduce;PSMMP;13|) + (LETT |ts| + (PROG2 + (LETT #1# + (SPADCALL |ts| (QREFELT $ 17)) + |TSETCAT-;reduce;PSMMP;13|) + (QCDR #1#) + (|check-union| (QEQCAR #1# 0) + (QREFELT $ 6) #1#)) + |TSETCAT-;reduce;PSMMP;13|) + (EXIT (COND + ((NULL + (SPADCALL |p| |reductor| + |redOp?|)) + (SEQ + (LETT |p| + (SPADCALL |p| |reductor| + |redOp|) + |TSETCAT-;reduce;PSMMP;13|) + (EXIT + (LETT |ts| |ts0| + |TSETCAT-;reduce;PSMMP;13|))))))) + NIL (GO G190) G191 (EXIT NIL)) + (EXIT |p|)))))))) + +(DEFUN |TSETCAT-;rewriteSetWithReduction;LSMML;14| + (|lp| |ts| |redOp| |redOp?| $) + (PROG (|p| |rs|) + (RETURN + (SEQ (COND + ((SPADCALL |ts| (QREFELT $ 70)) |lp|) + ('T + (SEQ (LETT |lp| (SPADCALL (ELT $ 32) |lp| (QREFELT $ 34)) + |TSETCAT-;rewriteSetWithReduction;LSMML;14|) + (EXIT (COND + ((NULL |lp|) |lp|) + ((SPADCALL (ELT $ 35) |lp| (QREFELT $ 36)) + (LIST (|spadConstant| $ 71))) + ('T + (SEQ (LETT |rs| NIL + |TSETCAT-;rewriteSetWithReduction;LSMML;14|) + (SEQ G190 + (COND + ((NULL + (SPADCALL (NULL |lp|) + (QREFELT $ 20))) + (GO G191))) + (SEQ + (LETT |p| (|SPADfirst| |lp|) + |TSETCAT-;rewriteSetWithReduction;LSMML;14|) + (LETT |lp| (CDR |lp|) + |TSETCAT-;rewriteSetWithReduction;LSMML;14|) + (LETT |p| + (SPADCALL + (SPADCALL |p| |ts| |redOp| + |redOp?| (QREFELT $ 72)) + (QREFELT $ 47)) + |TSETCAT-;rewriteSetWithReduction;LSMML;14|) + (EXIT + (COND + ((NULL + (SPADCALL |p| + (QREFELT $ 32))) + (COND + ((SPADCALL |p| + (QREFELT $ 35)) + (SEQ + (LETT |lp| NIL + |TSETCAT-;rewriteSetWithReduction;LSMML;14|) + (EXIT + (LETT |rs| + (LIST + (|spadConstant| $ 71)) + |TSETCAT-;rewriteSetWithReduction;LSMML;14|)))) + ('T + (LETT |rs| + (CONS |p| |rs|) + |TSETCAT-;rewriteSetWithReduction;LSMML;14|))))))) + NIL (GO G190) G191 (EXIT NIL)) + (EXIT (SPADCALL |rs| (QREFELT $ 48)))))))))))))) + +(DEFUN |TSETCAT-;stronglyReduce;PSP;15| (|p| |ts| $) + (SPADCALL |p| |ts| (ELT $ 74) (ELT $ 66) (QREFELT $ 72))) + +(DEFUN |TSETCAT-;headReduce;PSP;16| (|p| |ts| $) + (SPADCALL |p| |ts| (ELT $ 76) (ELT $ 77) (QREFELT $ 72))) + +(DEFUN |TSETCAT-;initiallyReduce;PSP;17| (|p| |ts| $) + (SPADCALL |p| |ts| (ELT $ 79) (ELT $ 80) (QREFELT $ 72))) + +(DEFUN |TSETCAT-;removeZero;PSP;18| (|p| |ts| $) + (PROG (|v| |tsv-| #0=#:G1558 #1=#:G1567 |q|) + (RETURN + (SEQ (EXIT (COND + ((OR (SPADCALL |p| (QREFELT $ 35)) + (SPADCALL |ts| (QREFELT $ 12))) + |p|) + ('T + (SEQ (LETT |v| (SPADCALL |p| (QREFELT $ 24)) + |TSETCAT-;removeZero;PSP;18|) + (LETT |tsv-| + (SPADCALL |ts| |v| (QREFELT $ 82)) + |TSETCAT-;removeZero;PSP;18|) + (COND + ((SPADCALL |v| |ts| (QREFELT $ 83)) + (SEQ (LETT |q| + (SPADCALL |p| + (PROG2 + (LETT #0# + (SPADCALL |ts| |v| + (QREFELT $ 84)) + |TSETCAT-;removeZero;PSP;18|) + (QCDR #0#) + (|check-union| (QEQCAR #0# 0) + (QREFELT $ 10) #0#)) + (QREFELT $ 74)) + |TSETCAT-;removeZero;PSP;18|) + (EXIT (COND + ((SPADCALL |q| (QREFELT $ 32)) + (PROGN + (LETT #1# |q| + |TSETCAT-;removeZero;PSP;18|) + (GO #1#))) + ((SPADCALL + (SPADCALL |q| |tsv-| + (QREFELT $ 85)) + (QREFELT $ 32)) + (PROGN + (LETT #1# + (|spadConstant| $ 86) + |TSETCAT-;removeZero;PSP;18|) + (GO #1#)))))))) + (EXIT (COND + ((SPADCALL |tsv-| (QREFELT $ 12)) |p|) + ('T + (SEQ (LETT |q| (|spadConstant| $ 86) + |TSETCAT-;removeZero;PSP;18|) + (SEQ G190 + (COND + ((NULL + (SPADCALL + (SPADCALL |p| |v| + (QREFELT $ 87)) + (QREFELT $ 89))) + (GO G191))) + (SEQ + (LETT |q| + (SPADCALL + (SPADCALL + (SPADCALL + (SPADCALL |p| + (QREFELT $ 46)) + |tsv-| (QREFELT $ 85)) + (SPADCALL |p| + (QREFELT $ 90)) + (QREFELT $ 91)) + |q| (QREFELT $ 92)) + |TSETCAT-;removeZero;PSP;18|) + (EXIT + (LETT |p| + (SPADCALL |p| + (QREFELT $ 93)) + |TSETCAT-;removeZero;PSP;18|))) + NIL (GO G190) G191 (EXIT NIL)) + (EXIT + (SPADCALL |q| + (SPADCALL |p| |tsv-| + (QREFELT $ 85)) + (QREFELT $ 92))))))))))) + #1# (EXIT #1#))))) + +(DEFUN |TSETCAT-;reduceByQuasiMonic;PSP;19| (|p| |ts| $) + (COND + ((OR (SPADCALL |p| (QREFELT $ 35)) (SPADCALL |ts| (QREFELT $ 12))) + |p|) + ('T + (QVELT (SPADCALL |p| (SPADCALL |ts| (QREFELT $ 95)) + (QREFELT $ 97)) + 1)))) + +(DEFUN |TSETCAT-;autoReduced?;SMB;20| (|ts| |redOp?| $) + (PROG (|p| |lp|) + (RETURN + (SEQ (COND + ((SPADCALL |ts| (QREFELT $ 12)) 'T) + ('T + (SEQ (LETT |lp| (SPADCALL |ts| (QREFELT $ 29)) + |TSETCAT-;autoReduced?;SMB;20|) + (LETT |p| (|SPADfirst| |lp|) + |TSETCAT-;autoReduced?;SMB;20|) + (LETT |lp| (CDR |lp|) + |TSETCAT-;autoReduced?;SMB;20|) + (SEQ G190 + (COND + ((NULL (COND + ((NULL |lp|) 'NIL) + ('T (SPADCALL |p| |lp| |redOp?|)))) + (GO G191))) + (SEQ (LETT |p| (|SPADfirst| |lp|) + |TSETCAT-;autoReduced?;SMB;20|) + (EXIT (LETT |lp| (CDR |lp|) + |TSETCAT-;autoReduced?;SMB;20|))) + NIL (GO G190) G191 (EXIT NIL)) + (EXIT (NULL |lp|))))))))) + +(DEFUN |TSETCAT-;stronglyReduced?;SB;21| (|ts| $) + (SPADCALL |ts| (ELT $ 59) (QREFELT $ 101))) + +(DEFUN |TSETCAT-;normalized?;SB;22| (|ts| $) + (SPADCALL |ts| (ELT $ 57) (QREFELT $ 101))) + +(DEFUN |TSETCAT-;headReduced?;SB;23| (|ts| $) + (SPADCALL |ts| (ELT $ 104) (QREFELT $ 101))) + +(DEFUN |TSETCAT-;initiallyReduced?;SB;24| (|ts| $) + (SPADCALL |ts| (ELT $ 106) (QREFELT $ 101))) + +(DEFUN |TSETCAT-;mvar;SV;25| (|ts| $) + (PROG (#0=#:G1586) + (RETURN + (COND + ((SPADCALL |ts| (QREFELT $ 12)) + (|error| "Error from TSETCAT in mvar : #1 is empty")) + ('T + (SPADCALL + (PROG2 (LETT #0# (SPADCALL |ts| (QREFELT $ 14)) + |TSETCAT-;mvar;SV;25|) + (QCDR #0#) + (|check-union| (QEQCAR #0# 0) (QREFELT $ 10) #0#)) + (QREFELT $ 24))))))) + +(DEFUN |TSETCAT-;first;SU;26| (|ts| $) + (PROG (|lp|) + (RETURN + (SEQ (COND + ((SPADCALL |ts| (QREFELT $ 12)) (CONS 1 "failed")) + ('T + (SEQ (LETT |lp| + (SPADCALL (ELT $ 23) + (SPADCALL |ts| (QREFELT $ 29)) + (QREFELT $ 37)) + |TSETCAT-;first;SU;26|) + (EXIT (CONS 0 (|SPADfirst| |lp|)))))))))) + +(DEFUN |TSETCAT-;last;SU;27| (|ts| $) + (PROG (|lp|) + (RETURN + (SEQ (COND + ((SPADCALL |ts| (QREFELT $ 12)) (CONS 1 "failed")) + ('T + (SEQ (LETT |lp| + (SPADCALL (ELT $ 22) + (SPADCALL |ts| (QREFELT $ 29)) + (QREFELT $ 37)) + |TSETCAT-;last;SU;27|) + (EXIT (CONS 0 (|SPADfirst| |lp|)))))))))) + +(DEFUN |TSETCAT-;rest;SU;28| (|ts| $) + (PROG (|lp|) + (RETURN + (SEQ (COND + ((SPADCALL |ts| (QREFELT $ 12)) (CONS 1 "failed")) + ('T + (SEQ (LETT |lp| + (SPADCALL (ELT $ 23) + (SPADCALL |ts| (QREFELT $ 29)) + (QREFELT $ 37)) + |TSETCAT-;rest;SU;28|) + (EXIT (CONS 0 (SPADCALL (CDR |lp|) (QREFELT $ 111))))))))))) + +(DEFUN |TSETCAT-;coerce;SL;29| (|ts| $) + (SPADCALL (ELT $ 23) (SPADCALL |ts| (QREFELT $ 29)) (QREFELT $ 37))) + +(DEFUN |TSETCAT-;algebraicVariables;SL;30| (|ts| $) + (PROG (#0=#:G1611 |p| #1=#:G1612) + (RETURN + (SEQ (PROGN + (LETT #0# NIL |TSETCAT-;algebraicVariables;SL;30|) + (SEQ (LETT |p| NIL |TSETCAT-;algebraicVariables;SL;30|) + (LETT #1# (SPADCALL |ts| (QREFELT $ 29)) + |TSETCAT-;algebraicVariables;SL;30|) + G190 + (COND + ((OR (ATOM #1#) + (PROGN + (LETT |p| (CAR #1#) + |TSETCAT-;algebraicVariables;SL;30|) + NIL)) + (GO G191))) + (SEQ (EXIT (LETT #0# + (CONS (SPADCALL |p| (QREFELT $ 24)) + #0#) + |TSETCAT-;algebraicVariables;SL;30|))) + (LETT #1# (CDR #1#) + |TSETCAT-;algebraicVariables;SL;30|) + (GO G190) G191 (EXIT (NREVERSE0 #0#)))))))) + +(DEFUN |TSETCAT-;algebraic?;VSB;31| (|v| |ts| $) + (SPADCALL |v| (SPADCALL |ts| (QREFELT $ 116)) (QREFELT $ 117))) + +(DEFUN |TSETCAT-;select;SVU;32| (|ts| |v| $) + (PROG (|lp|) + (RETURN + (SEQ (LETT |lp| + (SPADCALL (ELT $ 23) (SPADCALL |ts| (QREFELT $ 29)) + (QREFELT $ 37)) + |TSETCAT-;select;SVU;32|) + (SEQ G190 + (COND + ((NULL (COND + ((NULL |lp|) 'NIL) + ('T + (SPADCALL + (SPADCALL |v| + (SPADCALL (|SPADfirst| |lp|) + (QREFELT $ 24)) + (QREFELT $ 65)) + (QREFELT $ 20))))) + (GO G191))) + (SEQ (EXIT (LETT |lp| (CDR |lp|) + |TSETCAT-;select;SVU;32|))) + NIL (GO G190) G191 (EXIT NIL)) + (EXIT (COND + ((NULL |lp|) (CONS 1 "failed")) + ('T (CONS 0 (|SPADfirst| |lp|))))))))) + +(DEFUN |TSETCAT-;collectQuasiMonic;2S;33| (|ts| $) + (PROG (|newlp| |lp|) + (RETURN + (SEQ (LETT |lp| (SPADCALL |ts| (QREFELT $ 29)) + |TSETCAT-;collectQuasiMonic;2S;33|) + (LETT |newlp| NIL |TSETCAT-;collectQuasiMonic;2S;33|) + (SEQ G190 + (COND + ((NULL (SPADCALL (NULL |lp|) (QREFELT $ 20))) + (GO G191))) + (SEQ (COND + ((SPADCALL + (SPADCALL (|SPADfirst| |lp|) + (QREFELT $ 46)) + (QREFELT $ 35)) + (LETT |newlp| (CONS (|SPADfirst| |lp|) |newlp|) + |TSETCAT-;collectQuasiMonic;2S;33|))) + (EXIT (LETT |lp| (CDR |lp|) + |TSETCAT-;collectQuasiMonic;2S;33|))) + NIL (GO G190) G191 (EXIT NIL)) + (EXIT (SPADCALL |newlp| (QREFELT $ 111))))))) + +(DEFUN |TSETCAT-;collectUnder;SVS;34| (|ts| |v| $) + (PROG (|lp|) + (RETURN + (SEQ (LETT |lp| + (SPADCALL (ELT $ 23) (SPADCALL |ts| (QREFELT $ 29)) + (QREFELT $ 37)) + |TSETCAT-;collectUnder;SVS;34|) + (SEQ G190 + (COND + ((NULL (COND + ((NULL |lp|) 'NIL) + ('T + (SPADCALL + (SPADCALL + (SPADCALL (|SPADfirst| |lp|) + (QREFELT $ 24)) + |v| (QREFELT $ 64)) + (QREFELT $ 20))))) + (GO G191))) + (SEQ (EXIT (LETT |lp| (CDR |lp|) + |TSETCAT-;collectUnder;SVS;34|))) + NIL (GO G190) G191 (EXIT NIL)) + (EXIT (SPADCALL |lp| (QREFELT $ 111))))))) + +(DEFUN |TSETCAT-;collectUpper;SVS;35| (|ts| |v| $) + (PROG (|lp2| |lp1|) + (RETURN + (SEQ (LETT |lp1| + (SPADCALL (ELT $ 23) (SPADCALL |ts| (QREFELT $ 29)) + (QREFELT $ 37)) + |TSETCAT-;collectUpper;SVS;35|) + (LETT |lp2| NIL |TSETCAT-;collectUpper;SVS;35|) + (SEQ G190 + (COND + ((NULL (COND + ((NULL |lp1|) 'NIL) + ('T + (SPADCALL |v| + (SPADCALL (|SPADfirst| |lp1|) + (QREFELT $ 24)) + (QREFELT $ 64))))) + (GO G191))) + (SEQ (LETT |lp2| (CONS (|SPADfirst| |lp1|) |lp2|) + |TSETCAT-;collectUpper;SVS;35|) + (EXIT (LETT |lp1| (CDR |lp1|) + |TSETCAT-;collectUpper;SVS;35|))) + NIL (GO G190) G191 (EXIT NIL)) + (EXIT (SPADCALL (REVERSE |lp2|) (QREFELT $ 111))))))) + +(DEFUN |TSETCAT-;construct;LS;36| (|lp| $) + (PROG (|rif|) + (RETURN + (SEQ (LETT |rif| (SPADCALL |lp| (QREFELT $ 123)) + |TSETCAT-;construct;LS;36|) + (EXIT (COND + ((QEQCAR |rif| 0) (QCDR |rif|)) + ('T + (|error| "in construct : LP -> $ from TSETCAT : bad arg")))))))) + +(DEFUN |TSETCAT-;retractIfCan;LU;37| (|lp| $) + (PROG (|rif|) + (RETURN + (SEQ (COND + ((NULL |lp|) (CONS 0 (SPADCALL (QREFELT $ 38)))) + ('T + (SEQ (LETT |lp| (SPADCALL (ELT $ 23) |lp| (QREFELT $ 37)) + |TSETCAT-;retractIfCan;LU;37|) + (LETT |rif| (SPADCALL (CDR |lp|) (QREFELT $ 123)) + |TSETCAT-;retractIfCan;LU;37|) + (EXIT (COND + ((QEQCAR |rif| 0) + (SPADCALL (QCDR |rif|) (|SPADfirst| |lp|) + (QREFELT $ 125))) + ('T + (|error| "in retractIfCan : LP -> ... from TSETCAT : bad arg"))))))))))) + +(DEFUN |TSETCAT-;extend;SPS;38| (|ts| |p| $) + (PROG (|eif|) + (RETURN + (SEQ (LETT |eif| (SPADCALL |ts| |p| (QREFELT $ 125)) + |TSETCAT-;extend;SPS;38|) + (EXIT (COND + ((QEQCAR |eif| 0) (QCDR |eif|)) + ('T + (|error| "in extend : ($,P) -> $ from TSETCAT : bad ars")))))))) + +(DEFUN |TSETCAT-;coHeight;SNni;39| (|ts| $) + (PROG (|n| |m| #0=#:G1652) + (RETURN + (SEQ (LETT |n| (SPADCALL (QREFELT $ 128)) + |TSETCAT-;coHeight;SNni;39|) + (LETT |m| (LENGTH (SPADCALL |ts| (QREFELT $ 29))) + |TSETCAT-;coHeight;SNni;39|) + (EXIT (PROG2 (LETT #0# (SPADCALL |n| |m| (QREFELT $ 129)) + |TSETCAT-;coHeight;SNni;39|) + (QCDR #0#) + (|check-union| (QEQCAR #0# 0) (|NonNegativeInteger|) + #0#))))))) + +(DEFUN |TriangularSetCategory&| (|#1| |#2| |#3| |#4| |#5|) + (PROG (|dv$1| |dv$2| |dv$3| |dv$4| |dv$5| |dv$| $ |pv$|) + (RETURN + (PROGN + (LETT |dv$1| (|devaluate| |#1|) + . #0=(|TriangularSetCategory&|)) + (LETT |dv$2| (|devaluate| |#2|) . #0#) + (LETT |dv$3| (|devaluate| |#3|) . #0#) + (LETT |dv$4| (|devaluate| |#4|) . #0#) + (LETT |dv$5| (|devaluate| |#5|) . #0#) + (LETT |dv$| + (LIST '|TriangularSetCategory&| |dv$1| |dv$2| |dv$3| + |dv$4| |dv$5|) . #0#) + (LETT $ (GETREFV 132) . #0#) + (QSETREFV $ 0 |dv$|) + (QSETREFV $ 3 + (LETT |pv$| + (|buildPredVector| 0 0 + (LIST (|HasCategory| |#4| '(|Finite|)))) . #0#)) + (|stuffDomainSlots| $) + (QSETREFV $ 6 |#1|) + (QSETREFV $ 7 |#2|) + (QSETREFV $ 8 |#3|) + (QSETREFV $ 9 |#4|) + (QSETREFV $ 10 |#5|) + (COND + ((|testBitVector| |pv$| 1) + (QSETREFV $ 130 + (CONS (|dispatchFunction| |TSETCAT-;coHeight;SNni;39|) + $)))) + $)))) + +(MAKEPROP '|TriangularSetCategory&| '|infovec| + (LIST '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|local| |#2|) + (|local| |#3|) (|local| |#4|) (|local| |#5|) (|Boolean|) + (0 . |empty?|) (|Union| 10 '"failed") (5 . |first|) + (10 . =) (|Union| $ '"failed") (16 . |rest|) (21 . =) + |TSETCAT-;=;2SB;1| (27 . |not|) (32 . |last|) + (37 . |infRittWu?|) (43 . |supRittWu?|) (49 . |mvar|) + (54 . |collectUpper|) (60 . |infRittWu?|) + |TSETCAT-;infRittWu?;2SB;2| (|List| 10) (66 . |members|) + (|Mapping| 11 10 10) |TSETCAT-;reduced?;PSMB;3| + (71 . |zero?|) (|Mapping| 11 10) (76 . |remove|) + (82 . |ground?|) (87 . |any?|) (93 . |sort|) + (99 . |empty|) (103 . |extend|) (109 . |reduced?|) + (|Record| (|:| |bas| $) (|:| |top| 28)) + (|Union| 41 '"failed") |TSETCAT-;basicSet;LMU;4| + (116 . |concat|) |TSETCAT-;basicSet;LMMU;5| (122 . |init|) + (127 . |primPartElseUnitCanonical|) + (132 . |removeDuplicates|) |TSETCAT-;initials;SL;6| + (|NonNegativeInteger|) (137 . |mdeg|) + |TSETCAT-;degree;SNni;7| (142 . |initials|) + (|Record| (|:| |close| 28) (|:| |open| 28)) + |TSETCAT-;quasiComponent;SR;8| (|List| $) + (147 . |normalized?|) |TSETCAT-;normalized?;PSB;9| + (153 . |reduced?|) |TSETCAT-;stronglyReduced?;PSB;10| + (159 . |head|) (164 . |stronglyReduced?|) + |TSETCAT-;headReduced?;PSB;11| (170 . <) (176 . =) + (182 . |reduced?|) |TSETCAT-;initiallyReduced?;PSB;12| + (|Mapping| 10 10 10) |TSETCAT-;reduce;PSMMP;13| + (188 . |trivialIdeal?|) (193 . |One|) (197 . |reduce|) + |TSETCAT-;rewriteSetWithReduction;LSMML;14| + (205 . |lazyPrem|) |TSETCAT-;stronglyReduce;PSP;15| + (211 . |headReduce|) (217 . |headReduced?|) + |TSETCAT-;headReduce;PSP;16| (223 . |initiallyReduce|) + (229 . |initiallyReduced?|) + |TSETCAT-;initiallyReduce;PSP;17| (235 . |collectUnder|) + (241 . |algebraic?|) (247 . |select|) (253 . |removeZero|) + (259 . |Zero|) (263 . |degree|) (|Integer|) + (269 . |positive?|) (274 . |mainMonomial|) (279 . *) + (285 . +) (291 . |tail|) |TSETCAT-;removeZero;PSP;18| + (296 . |collectQuasiMonic|) + (|Record| (|:| |rnum| 7) (|:| |polnum| 10) (|:| |den| 7)) + (301 . |remainder|) |TSETCAT-;reduceByQuasiMonic;PSP;19| + (|Mapping| 11 10 28) |TSETCAT-;autoReduced?;SMB;20| + (307 . |autoReduced?|) |TSETCAT-;stronglyReduced?;SB;21| + |TSETCAT-;normalized?;SB;22| (313 . |headReduced?|) + |TSETCAT-;headReduced?;SB;23| (319 . |initiallyReduced?|) + |TSETCAT-;initiallyReduced?;SB;24| |TSETCAT-;mvar;SV;25| + |TSETCAT-;first;SU;26| |TSETCAT-;last;SU;27| + (325 . |construct|) |TSETCAT-;rest;SU;28| + |TSETCAT-;coerce;SL;29| (|List| 9) + |TSETCAT-;algebraicVariables;SL;30| + (330 . |algebraicVariables|) (335 . |member?|) + |TSETCAT-;algebraic?;VSB;31| |TSETCAT-;select;SVU;32| + |TSETCAT-;collectQuasiMonic;2S;33| + |TSETCAT-;collectUnder;SVS;34| + |TSETCAT-;collectUpper;SVS;35| (341 . |retractIfCan|) + |TSETCAT-;construct;LS;36| (346 . |extendIfCan|) + |TSETCAT-;retractIfCan;LU;37| |TSETCAT-;extend;SPS;38| + (352 . |size|) (356 . |subtractIfCan|) (362 . |coHeight|) + (|OutputForm|)) + '#(|stronglyReduced?| 367 |stronglyReduce| 378 |select| 384 + |rewriteSetWithReduction| 390 |retractIfCan| 398 |rest| + 403 |removeZero| 408 |reduced?| 414 |reduceByQuasiMonic| + 421 |reduce| 427 |quasiComponent| 435 |normalized?| 440 + |mvar| 451 |last| 456 |initials| 461 |initiallyReduced?| + 466 |initiallyReduce| 477 |infRittWu?| 483 |headReduced?| + 489 |headReduce| 500 |first| 506 |extend| 511 |degree| 517 + |construct| 522 |collectUpper| 527 |collectUnder| 533 + |collectQuasiMonic| 539 |coerce| 544 |coHeight| 549 + |basicSet| 554 |autoReduced?| 567 |algebraicVariables| 573 + |algebraic?| 578 = 584) + 'NIL + (CONS (|makeByteWordVec2| 1 'NIL) + (CONS '#() + (CONS '#() + (|makeByteWordVec2| 130 + '(1 6 11 0 12 1 6 13 0 14 2 10 11 0 0 + 15 1 6 16 0 17 2 6 11 0 0 18 1 11 0 0 + 20 1 6 13 0 21 2 10 11 0 0 22 2 10 11 + 0 0 23 1 10 9 0 24 2 6 0 0 9 25 2 6 + 11 0 0 26 1 6 28 0 29 1 10 11 0 32 2 + 28 0 33 0 34 1 10 11 0 35 2 28 11 33 + 0 36 2 28 0 30 0 37 0 6 0 38 2 6 0 0 + 10 39 3 6 11 10 0 30 40 2 28 0 0 0 44 + 1 10 0 0 46 1 10 0 0 47 1 28 0 0 48 1 + 10 50 0 51 1 6 28 0 53 2 10 11 0 56 + 57 2 10 11 0 56 59 1 10 0 0 61 2 6 11 + 10 0 62 2 9 11 0 0 64 2 9 11 0 0 65 2 + 10 11 0 0 66 1 6 11 0 70 0 10 0 71 4 + 6 10 10 0 68 30 72 2 10 0 0 0 74 2 10 + 0 0 0 76 2 10 11 0 0 77 2 10 0 0 0 79 + 2 10 11 0 0 80 2 6 0 0 9 82 2 6 11 9 + 0 83 2 6 13 0 9 84 2 6 10 10 0 85 0 + 10 0 86 2 10 50 0 9 87 1 88 11 0 89 1 + 10 0 0 90 2 10 0 0 0 91 2 10 0 0 0 92 + 1 10 0 0 93 1 6 0 0 95 2 6 96 10 0 97 + 2 6 11 0 99 101 2 10 11 0 56 104 2 10 + 11 0 56 106 1 6 0 28 111 1 6 114 0 + 116 2 114 11 9 0 117 1 6 16 28 123 2 + 6 16 0 10 125 0 9 50 128 2 50 16 0 0 + 129 1 0 50 0 130 1 0 11 0 102 2 0 11 + 10 0 60 2 0 10 10 0 75 2 0 13 0 9 119 + 4 0 28 28 0 68 30 73 1 0 16 28 126 1 + 0 16 0 112 2 0 10 10 0 94 3 0 11 10 0 + 30 31 2 0 10 10 0 98 4 0 10 10 0 68 + 30 69 1 0 54 0 55 1 0 11 0 103 2 0 11 + 10 0 58 1 0 9 0 108 1 0 13 0 110 1 0 + 28 0 49 1 0 11 0 107 2 0 11 10 0 67 2 + 0 10 10 0 81 2 0 11 0 0 27 1 0 11 0 + 105 2 0 11 10 0 63 2 0 10 10 0 78 1 0 + 13 0 109 2 0 0 0 10 127 1 0 50 0 52 1 + 0 0 28 124 2 0 0 0 9 122 2 0 0 0 9 + 121 1 0 0 0 120 1 0 28 0 113 1 0 50 0 + 130 3 0 42 28 33 30 45 2 0 42 28 30 + 43 2 0 11 0 99 100 1 0 114 0 115 2 0 + 11 9 0 118 2 0 11 0 0 19))))) + '|lookupComplete|)) @ \section{domain GTSET GeneralTriangularSet} <<domain GTSET GeneralTriangularSet>>= |