
(/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| $)
  (PROG (#1=#:G10577 |ell| |j| |d| |i| |ans| |ncm| |nrm|)
    (RETURN
     (SEQ
      (LETT |nrm| (SPADCALL |m| (QREFELT $ 25))
            . #2=(|QFCAT-;reducedSystem;MM;6|))
      (LETT |ncm| (SPADCALL |m| (QREFELT $ 26)) . #2#)
      (LETT |ans| (SPADCALL |nrm| |ncm| (|spadConstant| $ 28) (QREFELT $ 30))
            . #2#)
      (SEQ (LETT |i| 1 . #2#) G190 (COND ((QSGREATERP |i| |nrm|) #3=(GO G191)))
           (SEQ
            (LETT |d|
                  (SPADCALL (SPADCALL |m| |i| (QREFELT $ 33)) (QREFELT $ 35))
                  . #2#)
            (EXIT
             (SEQ (LETT |j| 1 . #2#) G190 (COND ((QSGREATERP |j| |ncm|) #3#))
                  (SEQ (LETT |ell| (SPADCALL |m| |i| |j| (QREFELT $ 36)) . #2#)
                       (EXIT
                        (SPADCALL |ans| |i| |j|
                                  (SPADCALL
                                   (PROG2
                                       (LETT #1#
                                             (SPADCALL |d|
                                                       (SPADCALL |ell|
                                                                 (QREFELT $
                                                                          11))
                                                       (QREFELT $ 37))
                                             . #2#)
                                       (QCDR #1#)
                                     (|check-union| (QEQCAR #1# 0)
                                                    (QREFELT $ 7) #1#))
                                   (SPADCALL |ell| (QREFELT $ 8))
                                   (QREFELT $ 38))
                                  (QREFELT $ 39))))
                  (LETT |j| (QSADD1 |j|) . #2#) #4=(GO G190) G191 (EXIT NIL))))
           (LETT |i| (QSADD1 |i|) . #2#) #4# G191 (EXIT NIL))
      (EXIT |ans|))))) 

(DEFUN |QFCAT-;characteristic;Nni;7| ($) (SPADCALL (QREFELT $ 42))) 

(DEFUN |QFCAT-;differentiate;AMA;8| (|x| |deriv| $)
  (PROG (|d| |n|)
    (RETURN
     (SEQ
      (LETT |n| (SPADCALL |x| (QREFELT $ 8))
            . #1=(|QFCAT-;differentiate;AMA;8|))
      (LETT |d| (SPADCALL |x| (QREFELT $ 11)) . #1#)
      (EXIT
       (SPADCALL
        (SPADCALL (SPADCALL (SPADCALL |n| |deriv|) |d| (QREFELT $ 38))
                  (SPADCALL |n| (SPADCALL |d| |deriv|) (QREFELT $ 38))
                  (QREFELT $ 44))
        (SPADCALL |d| 2 (QREFELT $ 46)) (QREFELT $ 15))))))) 

(DEFUN |QFCAT-;convert;AIf;9| (|x| $)
  (SPADCALL (SPADCALL (SPADCALL |x| (QREFELT $ 8)) (QREFELT $ 49))
            (SPADCALL (SPADCALL |x| (QREFELT $ 11)) (QREFELT $ 49))
            (QREFELT $ 50))) 

(DEFUN |QFCAT-;convert;AF;10| (|x| $)
  (SPADCALL (SPADCALL (SPADCALL |x| (QREFELT $ 8)) (QREFELT $ 53))
            (SPADCALL (SPADCALL |x| (QREFELT $ 11)) (QREFELT $ 53))
            (QREFELT $ 54))) 

(DEFUN |QFCAT-;convert;ADf;11| (|x| $)
  (/ (SPADCALL (SPADCALL |x| (QREFELT $ 8)) (QREFELT $ 57))
     (SPADCALL (SPADCALL |x| (QREFELT $ 11)) (QREFELT $ 57)))) 

(DEFUN |QFCAT-;<;2AB;12| (|x| |y| $)
  (SPADCALL
   (SPADCALL (SPADCALL |x| (QREFELT $ 8)) (SPADCALL |y| (QREFELT $ 11))
             (QREFELT $ 38))
   (SPADCALL (SPADCALL |y| (QREFELT $ 8)) (SPADCALL |x| (QREFELT $ 11))
             (QREFELT $ 38))
   (QREFELT $ 60))) 

(DEFUN |QFCAT-;smaller?;2AB;13| (|x| |y| $)
  (SPADCALL
   (SPADCALL (SPADCALL |x| (QREFELT $ 8)) (SPADCALL |y| (QREFELT $ 11))
             (QREFELT $ 38))
   (SPADCALL (SPADCALL |y| (QREFELT $ 8)) (SPADCALL |x| (QREFELT $ 11))
             (QREFELT $ 38))
   (QREFELT $ 62))) 

(DEFUN |QFCAT-;fractionPart;2A;14| (|x| $)
  (SPADCALL |x| (SPADCALL (SPADCALL |x| (QREFELT $ 64)) (QREFELT $ 9))
            (QREFELT $ 65))) 

(DEFUN |QFCAT-;coerce;SA;15| (|s| $)
  (SPADCALL (SPADCALL |s| (QREFELT $ 68)) (QREFELT $ 9))) 

(DEFUN |QFCAT-;retract;AS;16| (|x| $)
  (SPADCALL (SPADCALL |x| (QREFELT $ 70)) (QREFELT $ 71))) 

(DEFUN |QFCAT-;retractIfCan;AU;17| (|x| $)
  (PROG (|r|)
    (RETURN
     (SEQ (LETT |r| (SPADCALL |x| (QREFELT $ 74)) |QFCAT-;retractIfCan;AU;17|)
          (EXIT
           (COND ((QEQCAR |r| 1) (CONS 1 "failed"))
                 ('T (SPADCALL (QCDR |r|) (QREFELT $ 76))))))))) 

(DEFUN |QFCAT-;convert;AP;18| (|x| $)
  (SPADCALL (SPADCALL (SPADCALL |x| (QREFELT $ 8)) (QREFELT $ 79))
            (SPADCALL (SPADCALL |x| (QREFELT $ 11)) (QREFELT $ 79))
            (QREFELT $ 80))) 

(DEFUN |QFCAT-;patternMatch;AP2Pmr;19| (|x| |p| |l| $)
  (SPADCALL |x| |p| |l| (QREFELT $ 84))) 

(DEFUN |QFCAT-;convert;AP;20| (|x| $)
  (SPADCALL (SPADCALL (SPADCALL |x| (QREFELT $ 8)) (QREFELT $ 88))
            (SPADCALL (SPADCALL |x| (QREFELT $ 11)) (QREFELT $ 88))
            (QREFELT $ 89))) 

(DEFUN |QFCAT-;patternMatch;AP2Pmr;21| (|x| |p| |l| $)
  (SPADCALL |x| |p| |l| (QREFELT $ 93))) 

(DEFUN |QFCAT-;coerce;FA;22| (|x| $)
  (SPADCALL (SPADCALL (SPADCALL |x| (QREFELT $ 97)) (QREFELT $ 98))
            (SPADCALL (SPADCALL |x| (QREFELT $ 99)) (QREFELT $ 98))
            (QREFELT $ 100))) 

(DEFUN |QFCAT-;retract;AI;23| (|x| $)
  (SPADCALL (SPADCALL |x| (QREFELT $ 70)) (QREFELT $ 102))) 

(DEFUN |QFCAT-;retractIfCan;AU;24| (|x| $)
  (PROG (|u|)
    (RETURN
     (SEQ (LETT |u| (SPADCALL |x| (QREFELT $ 74)) |QFCAT-;retractIfCan;AU;24|)
          (EXIT
           (COND ((QEQCAR |u| 1) (CONS 1 "failed"))
                 ('T (SPADCALL (QCDR |u|) (QREFELT $ 105))))))))) 

(DEFUN |QFCAT-;random;A;25| ($)
  (PROG (|d|)
    (RETURN
     (SEQ
      (SEQ G190
           (COND
            ((NULL
              (SPADCALL
               (LETT |d| (SPADCALL (QREFELT $ 107)) |QFCAT-;random;A;25|)
               (QREFELT $ 108)))
             (GO G191)))
           (SEQ (EXIT |d|)) NIL (GO G190) G191 (EXIT NIL))
      (EXIT (SPADCALL (SPADCALL (QREFELT $ 107)) |d| (QREFELT $ 15))))))) 

(DEFUN |QFCAT-;reducedSystem;MVR;26| (|m| |v| $)
  (PROG (|n|)
    (RETURN
     (SEQ
      (LETT |n|
            (SPADCALL
             (SPADCALL (SPADCALL |v| (QREFELT $ 110)) |m| (QREFELT $ 111))
             (QREFELT $ 112))
            |QFCAT-;reducedSystem;MVR;26|)
      (EXIT
       (CONS
        (SPADCALL |n| (SPADCALL |n| (QREFELT $ 113))
                  (SPADCALL |n| (QREFELT $ 114))
                  (+ 1 (SPADCALL |n| (QREFELT $ 115)))
                  (SPADCALL |n| (QREFELT $ 116)) (QREFELT $ 117))
        (SPADCALL |n| (SPADCALL |n| (QREFELT $ 115)) (QREFELT $ 119)))))))) 

(DEFUN |QuotientFieldCategory&| (|#1| |#2|)
  (PROG (|pv$| $ |dv$| DV$2 DV$1)
    (RETURN
     (PROGN
      (LETT DV$1 (|devaluate| |#1|) . #1=(|QuotientFieldCategory&|))
      (LETT DV$2 (|devaluate| |#2|) . #1#)
      (LETT |dv$| (LIST '|QuotientFieldCategory&| DV$1 DV$2) . #1#)
      (LETT $ (GETREFV 129) . #1#)
      (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| '(|Comparable|))
                                          (|HasCategory| |#2| '(|OrderedSet|))
                                          (|HasCategory| |#2|
                                                         '(|RetractableTo|
                                                           (|Integer|)))
                                          (|HasCategory| |#2|
                                                         '(|StepThrough|))))
                      . #1#))
      (|stuffDomainSlots| $)
      (QSETREFV $ 6 |#1|)
      (QSETREFV $ 7 |#2|)
      (COND
       ((|testBitVector| |pv$| 13)
        (PROGN
         (QSETREFV $ 16 (CONS (|dispatchFunction| |QFCAT-;init;A;3|) $))
         (QSETREFV $ 20
                   (CONS (|dispatchFunction| |QFCAT-;nextItem;AU;4|) $)))))
      (COND
       ((|testBitVector| |pv$| 7)
        (QSETREFV $ 51 (CONS (|dispatchFunction| |QFCAT-;convert;AIf;9|) $))))
      (COND
       ((|testBitVector| |pv$| 8)
        (PROGN
         (QSETREFV $ 55 (CONS (|dispatchFunction| |QFCAT-;convert;AF;10|) $))
         (QSETREFV $ 58
                   (CONS (|dispatchFunction| |QFCAT-;convert;ADf;11|) $)))))
      (COND
       ((|testBitVector| |pv$| 11)
        (QSETREFV $ 61 (CONS (|dispatchFunction| |QFCAT-;<;2AB;12|) $))))
      (COND
       ((|testBitVector| |pv$| 10)
        (QSETREFV $ 63
                  (CONS (|dispatchFunction| |QFCAT-;smaller?;2AB;13|) $))))
      (COND
       ((|testBitVector| |pv$| 3)
        (QSETREFV $ 66
                  (CONS (|dispatchFunction| |QFCAT-;fractionPart;2A;14|) $))))
      (COND
       ((|testBitVector| |pv$| 4)
        (PROGN
         (QSETREFV $ 69 (CONS (|dispatchFunction| |QFCAT-;coerce;SA;15|) $))
         (QSETREFV $ 72 (CONS (|dispatchFunction| |QFCAT-;retract;AS;16|) $))
         (QSETREFV $ 77
                   (CONS (|dispatchFunction| |QFCAT-;retractIfCan;AU;17|)
                         $)))))
      (COND
       ((|HasCategory| |#2| '(|ConvertibleTo| (|Pattern| (|Integer|))))
        (PROGN
         (QSETREFV $ 81 (CONS (|dispatchFunction| |QFCAT-;convert;AP;18|) $))
         (COND
          ((|HasCategory| |#2| '(|PatternMatchable| (|Integer|)))
           (QSETREFV $ 86
                     (CONS (|dispatchFunction| |QFCAT-;patternMatch;AP2Pmr;19|)
                           $)))))))
      (COND
       ((|HasCategory| |#2| '(|ConvertibleTo| (|Pattern| (|Float|))))
        (PROGN
         (QSETREFV $ 90 (CONS (|dispatchFunction| |QFCAT-;convert;AP;20|) $))
         (COND
          ((|HasCategory| |#2| '(|PatternMatchable| (|Float|)))
           (QSETREFV $ 95
                     (CONS (|dispatchFunction| |QFCAT-;patternMatch;AP2Pmr;21|)
                           $)))))))
      (COND
       ((|testBitVector| |pv$| 12)
        (PROGN
         (QSETREFV $ 101 (CONS (|dispatchFunction| |QFCAT-;coerce;FA;22|) $))
         (COND ((|domainEqual| |#2| (|Integer|)))
               ('T
                (PROGN
                 (QSETREFV $ 103
                           (CONS (|dispatchFunction| |QFCAT-;retract;AI;23|)
                                 $))
                 (QSETREFV $ 106
                           (CONS
                            (|dispatchFunction| |QFCAT-;retractIfCan;AU;24|)
                            $))))))))
      (COND
       ((|testBitVector| |pv$| 2)
        (QSETREFV $ 109 (CONS (|dispatchFunction| |QFCAT-;random;A;25|) $))))
      $)))) 

(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| (|NonNegativeInteger|) (|Matrix| 6)
              (47 . |nrows|) (52 . |ncols|) (57 . |Zero|) (61 . |Zero|)
              (|Matrix| 7) (65 . |new|) (|Vector| 6) (|Integer|) (72 . |row|)
              (|CommonDenominator| 7 6 31) (78 . |commonDenominator|)
              (83 . |qelt|) (90 . |exquo|) (96 . *) (102 . |qsetelt!|)
              (|Matrix| $) |QFCAT-;reducedSystem;MM;6| (110 . |characteristic|)
              |QFCAT-;characteristic;Nni;7| (114 . -) (|PositiveInteger|)
              (120 . ^) |QFCAT-;differentiate;AMA;8| (|InputForm|)
              (126 . |convert|) (131 . /) (137 . |convert|) (|Float|)
              (142 . |convert|) (147 . /) (153 . |convert|) (|DoubleFloat|)
              (158 . |convert|) (163 . |convert|) (|Boolean|) (168 . <)
              (174 . <) (180 . |smaller?|) (186 . |smaller?|)
              (192 . |wholePart|) (197 . -) (203 . |fractionPart|) (|Symbol|)
              (208 . |coerce|) (213 . |coerce|) (218 . |retract|)
              (223 . |retract|) (228 . |retract|) (|Union| 7 '#1="failed")
              (233 . |retractIfCan|) (|Union| 67 '#1#) (238 . |retractIfCan|)
              (243 . |retractIfCan|) (|Pattern| 32) (248 . |convert|) (253 . /)
              (259 . |convert|) (|PatternMatchResult| 32 6)
              (|PatternMatchQuotientFieldCategory| 32 7 6)
              (264 . |patternMatch|) (|PatternMatchResult| 32 $)
              (271 . |patternMatch|) (|Pattern| 52) (278 . |convert|) (283 . /)
              (289 . |convert|) (|PatternMatchResult| 52 6)
              (|PatternMatchQuotientFieldCategory| 52 7 6)
              (294 . |patternMatch|) (|PatternMatchResult| 52 $)
              (301 . |patternMatch|) (|Fraction| 32) (308 . |numer|)
              (313 . |coerce|) (318 . |denom|) (323 . /) (329 . |coerce|)
              (334 . |retract|) (339 . |retract|) (|Union| 32 '#1#)
              (344 . |retractIfCan|) (349 . |retractIfCan|) (354 . |random|)
              (358 . |zero?|) (363 . |random|) (367 . |coerce|)
              (372 . |horizConcat|) (378 . |reducedSystem|)
              (383 . |minRowIndex|) (388 . |maxRowIndex|) (393 . |minColIndex|)
              (398 . |maxColIndex|) (403 . |subMatrix|) (|Vector| 7)
              (412 . |column|) (|Record| (|:| |mat| 29) (|:| |vec| 118))
              (|Vector| $) |QFCAT-;reducedSystem;MVR;26| (|Union| 96 '#1#)
              (|Matrix| 32)
              (|Record| (|:| |mat| 124) (|:| |vec| (|Vector| 32))) (|List| 67)
              (|List| 23) (|OutputForm|))
           '#(|smaller?| 418 |retractIfCan| 424 |retract| 434 |reducedSystem|
              444 |random| 455 |patternMatch| 459 |numerator| 473 |nextItem|
              478 |map| 483 |init| 489 |fractionPart| 493 |differentiate| 498
              |denominator| 504 |convert| 509 |coerce| 534 |characteristic| 544
              < 548)
           'NIL
           (CONS (|makeByteWordVec2| 1 'NIL)
                 (CONS '#()
                       (CONS '#()
                             (|makeByteWordVec2| 122
                                                 '(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 24 23 0
                                                   25 1 24 23 0 26 0 6 0 27 0 7
                                                   0 28 3 29 0 23 23 7 30 2 24
                                                   31 0 32 33 1 34 7 31 35 3 24
                                                   6 0 32 32 36 2 7 17 0 0 37 2
                                                   7 0 0 0 38 4 29 7 0 32 32 7
                                                   39 0 7 23 42 2 7 0 0 0 44 2
                                                   7 0 0 45 46 1 7 48 0 49 2 48
                                                   0 0 0 50 1 0 48 0 51 1 7 52
                                                   0 53 2 52 0 0 0 54 1 0 52 0
                                                   55 1 7 56 0 57 1 0 56 0 58 2
                                                   7 59 0 0 60 2 0 59 0 0 61 2
                                                   7 59 0 0 62 2 0 59 0 0 63 1
                                                   6 7 0 64 2 6 0 0 0 65 1 0 0
                                                   0 66 1 7 0 67 68 1 0 0 67 69
                                                   1 6 7 0 70 1 7 67 0 71 1 0
                                                   67 0 72 1 6 73 0 74 1 7 75 0
                                                   76 1 0 75 0 77 1 7 78 0 79 2
                                                   78 0 0 0 80 1 0 78 0 81 3 83
                                                   82 6 78 82 84 3 0 85 0 78 85
                                                   86 1 7 87 0 88 2 87 0 0 0 89
                                                   1 0 87 0 90 3 92 91 6 87 91
                                                   93 3 0 94 0 87 94 95 1 96 32
                                                   0 97 1 6 0 32 98 1 96 32 0
                                                   99 2 6 0 0 0 100 1 0 0 96
                                                   101 1 7 32 0 102 1 0 32 0
                                                   103 1 7 104 0 105 1 0 104 0
                                                   106 0 7 0 107 1 7 59 0 108 0
                                                   0 0 109 1 24 0 31 110 2 24 0
                                                   0 0 111 1 6 29 40 112 1 29
                                                   32 0 113 1 29 32 0 114 1 29
                                                   32 0 115 1 29 32 0 116 5 29
                                                   0 0 32 32 32 32 117 2 29 118
                                                   0 32 119 2 0 59 0 0 63 1 0
                                                   104 0 106 1 0 75 0 77 1 0 32
                                                   0 103 1 0 67 0 72 1 0 29 40
                                                   41 2 0 120 40 121 122 0 0 0
                                                   109 3 0 94 0 87 94 95 3 0 85
                                                   0 78 85 86 1 0 0 0 10 1 0 17
                                                   0 20 2 0 0 21 0 22 0 0 0 16
                                                   1 0 0 0 66 2 0 0 0 21 47 1 0
                                                   0 0 12 1 0 52 0 55 1 0 56 0
                                                   58 1 0 48 0 51 1 0 87 0 90 1
                                                   0 78 0 81 1 0 0 67 69 1 0 0
                                                   96 101 0 0 23 43 2 0 59 0 0
                                                   61)))))
           '|lookupComplete|)) 
