
(/VERSIONCHECK 2) 

(DEFUN |SAE;size;Nni;1| ($) (EXPT (SPADCALL (QREFELT $ 39)) (QREFELT $ 17))) 

(DEFUN |SAE;random;$;2| ($)
  (PROG (#1=#:G1815 |i| #2=#:G1814)
    (RETURN
     (SEQ
      (SPADCALL
       (PROGN
        (LETT #2# (GETREFV (QSADD1 #3=(QREFELT $ 21))) . #4=(|SAE;random;$;2|))
        (SEQ (LETT |i| 0 . #4#) (LETT #1# #3# . #4#) G190
             (COND ((QSGREATERP |i| #1#) (GO G191)))
             (SEQ (EXIT (SETELT #2# |i| (SPADCALL (QREFELT $ 41)))))
             (LETT |i| (QSADD1 |i|) . #4#) (GO G190) G191 (EXIT NIL))
        #2#)
       (QREFELT $ 43)))))) 

(DEFUN |SAE;Zero;$;3| ($) (|spadConstant| $ 45)) 

(DEFUN |SAE;One;$;4| ($) (|spadConstant| $ 46)) 

(DEFUN |SAE;*;R2$;5| (|c| |x| $) (SPADCALL |c| |x| (QREFELT $ 47))) 

(DEFUN |SAE;*;I2$;6| (|n| |x| $) (SPADCALL |n| |x| (QREFELT $ 50))) 

(DEFUN |SAE;coerce;I$;7| (|n| $) (SPADCALL |n| (QREFELT $ 52))) 

(DEFUN |SAE;coerce;R$;8| (|c| $) (SPADCALL |c| 0 (QREFELT $ 37))) 

(DEFUN |SAE;coerce;$Of;9| (|x| $) (SPADCALL |x| (QREFELT $ 56))) 

(PUT '|SAE;lift;$UP;10| '|SPADreplace| '(XLAM (|x|) |x|)) 

(DEFUN |SAE;lift;$UP;10| (|x| $) |x|) 

(DEFUN |SAE;reduce;UP$;11| (|p| $)
  (QCDR (SPADCALL |p| (QREFELT $ 8) (QREFELT $ 60)))) 

(DEFUN |SAE;=;2$B;12| (|x| |y| $) (SPADCALL |x| |y| (QREFELT $ 62))) 

(DEFUN |SAE;+;3$;13| (|x| |y| $) (SPADCALL |x| |y| (QREFELT $ 64))) 

(DEFUN |SAE;-;2$;14| (|x| $) (SPADCALL |x| (QREFELT $ 66))) 

(DEFUN |SAE;*;3$;15| (|x| |y| $)
  (SPADCALL (SPADCALL |x| |y| (QREFELT $ 68)) (QREFELT $ 61))) 

(DEFUN |SAE;coordinates;$V;16| (|x| $)
  (PROG (#1=#:G1834 |i| #2=#:G1833)
    (RETURN
     (SEQ
      (PROGN
       (LETT #2# (GETREFV (QSADD1 #3=(QREFELT $ 21)))
             . #4=(|SAE;coordinates;$V;16|))
       (SEQ (LETT |i| 0 . #4#) (LETT #1# #3# . #4#) G190
            (COND ((QSGREATERP |i| #1#) (GO G191)))
            (SEQ
             (EXIT
              (SETELT #2# |i|
                      (SPADCALL (SPADCALL |x| (QREFELT $ 58)) |i|
                                (QREFELT $ 70)))))
            (LETT |i| (QSADD1 |i|) . #4#) (GO G190) G191 (EXIT NIL))
       #2#))))) 

(DEFUN |SAE;represents;V$;17| (|vect| $)
  (PROG (#1=#:G1836 #2=#:G1835 #3=#:G1837 #4=#:G1839 |i|)
    (RETURN
     (SEQ
      (PROGN
       (LETT #1# NIL . #5=(|SAE;represents;V$;17|))
       (SEQ (LETT |i| 0 . #5#) (LETT #4# (QREFELT $ 21) . #5#) G190
            (COND ((QSGREATERP |i| #4#) (GO G191)))
            (SEQ
             (EXIT
              (PROGN
               (LETT #3#
                     (SPADCALL (SPADCALL |vect| (+ |i| 1) (QREFELT $ 72)) |i|
                               (QREFELT $ 37))
                     . #5#)
               (COND (#1# (LETT #2# (SPADCALL #2# #3# (QREFELT $ 65)) . #5#))
                     ('T (PROGN (LETT #2# #3# . #5#) (LETT #1# 'T . #5#)))))))
            (LETT |i| (QSADD1 |i|) . #5#) (GO G190) G191 (EXIT NIL))
       (COND (#1# #2#) ('T (|spadConstant| $ 30)))))))) 

(DEFUN |SAE;definingPolynomial;UP;18| ($) (QREFELT $ 8)) 

(DEFUN |SAE;characteristic;Nni;19| ($) (SPADCALL (QREFELT $ 74))) 

(DEFUN |SAE;rank;Pi;20| ($)
  (PROG (#1=#:G1842)
    (RETURN
     (PROG1 (LETT #1# (QREFELT $ 17) |SAE;rank;Pi;20|)
       (|check-subtype| (> #1# 0) '(|PositiveInteger|) #1#))))) 

(DEFUN |SAE;basis;V;21| ($) (SPADCALL (QREFELT $ 38) (QREFELT $ 79))) 

(DEFUN |SAE;minimalPolynomial;$UP;22| (|x| $)
  (SPADCALL (SPADCALL |x| (QREFELT $ 82)) (QREFELT $ 83))) 

(DEFUN |SAE;coordinates;$VV;23| (|x| |bas| $)
  (PROG (|m|)
    (RETURN
     (SEQ
      (LETT |m|
            (SPADCALL (SPADCALL (SPADCALL |bas| (QREFELT $ 85)) (QREFELT $ 86))
                      (QREFELT $ 87))
            |SAE;coordinates;$VV;23|)
      (EXIT
       (COND
        ((QEQCAR |m| 1)
         (|error| "coordinates: second argument must be a basis"))
        ('T
         (SPADCALL (QCDR |m|) (SPADCALL |x| (QREFELT $ 71))
                   (QREFELT $ 88))))))))) 

(DEFUN |SAE;coordinates;$VV;24| (|x| |bas| $)
  (PROG (|xi| #1=#:G1859 |i| |vec| |vecQF| |coordsQF| |m| |mat| |imatqf| |qf|)
    (RETURN
     (SEQ
      (LETT |qf| (|Fraction| (QREFELT $ 6)) . #2=(|SAE;coordinates;$VV;24|))
      (LETT |imatqf|
            (|InnerMatrixQuotientFieldFunctions| (QREFELT $ 6)
                                                 (|Vector| (QREFELT $ 6))
                                                 (|Vector| (QREFELT $ 6))
                                                 (|Matrix| (QREFELT $ 6)) |qf|
                                                 (|Vector| |qf|)
                                                 (|Vector| |qf|)
                                                 (|Matrix| |qf|))
            . #2#)
      (LETT |mat| (SPADCALL (SPADCALL |bas| (QREFELT $ 85)) (QREFELT $ 86))
            . #2#)
      (LETT |m|
            (SPADCALL |mat|
                      (|compiledLookupCheck| '|inverse|
                                             (LIST
                                              (LIST '|Union|
                                                    (LIST '|Matrix|
                                                          (|devaluate| |qf|))
                                                    '"failed")
                                              (LIST '|Matrix|
                                                    (|devaluate| (ELT $ 6))))
                                             |imatqf|))
            . #2#)
      (EXIT
       (COND
        ((QEQCAR |m| 1)
         (|error| "coordinates: second argument must be a basis"))
        ('T
         (SEQ
          (LETT |coordsQF|
                (SPADCALL
                 (|compiledLookupCheck| '|coerce|
                                        (LIST '$ (|devaluate| (ELT $ 6))) |qf|)
                 (SPADCALL |x| (QREFELT $ 71))
                 (|compiledLookupCheck| '|map|
                                        (LIST
                                         (LIST '|Vector| (|devaluate| |qf|))
                                         (LIST '|Mapping| (|devaluate| |qf|)
                                               (|devaluate| (ELT $ 6)))
                                         (LIST '|Vector|
                                               (|devaluate| (ELT $ 6))))
                                        (|VectorFunctions2| (ELT $ 6) |qf|)))
                . #2#)
          (LETT |vecQF|
                (SPADCALL (QCDR |m|) |coordsQF|
                          (|compiledLookupCheck| '*
                                                 (LIST
                                                  (LIST '|Vector|
                                                        (|devaluate| |qf|))
                                                  '$
                                                  (LIST '|Vector|
                                                        (|devaluate| |qf|)))
                                                 (|Matrix| |qf|)))
                . #2#)
          (LETT |vec| (MAKEARR1 (QREFELT $ 17) (|spadConstant| $ 31)) . #2#)
          (SEQ (LETT |i| 1 . #2#) (LETT #1# (QREFELT $ 17) . #2#) G190
               (COND ((QSGREATERP |i| #1#) (GO G191)))
               (SEQ (LETT |xi| (QAREF1O |vecQF| |i| 1) . #2#)
                    (EXIT
                     (COND
                      ((SPADCALL
                        (SPADCALL |xi|
                                  (|compiledLookupCheck| '|denom|
                                                         (LIST
                                                          (|devaluate|
                                                           (ELT $ 6))
                                                          '$)
                                                         |qf|))
                        (|spadConstant| $ 36) (QREFELT $ 90))
                       (QSETAREF1O |vec| |i|
                                   (SPADCALL |xi|
                                             (|compiledLookupCheck| '|numer|
                                                                    (LIST
                                                                     (|devaluate|
                                                                      (ELT $
                                                                           6))
                                                                     '$)
                                                                    |qf|))
                                   1))
                      ('T
                       (|error|
                        "coordinates: coordinates are not integral over ground ring")))))
               (LETT |i| (QSADD1 |i|) . #2#) (GO G190) G191 (EXIT NIL))
          (EXIT |vec|))))))))) 

(DEFUN |SAE;reducedSystem;MM;25| (|m| $)
  (SPADCALL (SPADCALL (ELT $ 58) |m| (QREFELT $ 95)) (QREFELT $ 97))) 

(DEFUN |SAE;reducedSystem;MVR;26| (|m| |v| $)
  (SPADCALL (SPADCALL (ELT $ 58) |m| (QREFELT $ 95))
            (SPADCALL (ELT $ 58) |v| (QREFELT $ 101)) (QREFELT $ 103))) 

(DEFUN |SAE;discriminant;R;27| ($)
  (SEQ (COND ((SPADCALL (QREFELT $ 35) (QREFELT $ 105)) (|SAE;mkDisc| 'NIL $)))
       (EXIT (SPADCALL (QREFELT $ 34) (QREFELT $ 106))))) 

(DEFUN |SAE;mkDisc| (|b| $)
  (SEQ (SPADCALL (QREFELT $ 35) |b| (QREFELT $ 108))
       (SPADCALL (QREFELT $ 34) (SPADCALL (QREFELT $ 8) (QREFELT $ 109))
                 (QREFELT $ 110))
       (EXIT (SPADCALL (QREFELT $ 112))))) 

(DEFUN |SAE;traceMatrix;M;29| ($)
  (SEQ
   (COND ((SPADCALL (QREFELT $ 28) (QREFELT $ 105)) (|SAE;mkDiscMat| 'NIL $)))
   (EXIT (QREFELT $ 24)))) 

(DEFUN |SAE;mkDiscMat| (|b| $)
  (PROG (#1=#:G1879 |j| #2=#:G1878 |i| |mc| |mr|)
    (RETURN
     (SEQ (SPADCALL (QREFELT $ 28) |b| (QREFELT $ 108))
          (LETT |mr| 1 . #3=(|SAE;mkDiscMat|)) (LETT |mc| 1 . #3#)
          (SEQ (LETT |i| 0 . #3#) (LETT #2# (QREFELT $ 21) . #3#) G190
               (COND ((QSGREATERP |i| #2#) #4=(GO G191)))
               (SEQ
                (EXIT
                 (SEQ (LETT |j| 0 . #3#) (LETT #1# (QREFELT $ 21) . #3#) G190
                      (COND ((QSGREATERP |j| #1#) #4#))
                      (SEQ
                       (EXIT
                        (QSETAREF2O (QREFELT $ 24) (+ |mr| |i|) (+ |mc| |j|)
                                    (SPADCALL
                                     (SPADCALL
                                      (SPADCALL (|spadConstant| $ 36)
                                                (+ |i| |j|) (QREFELT $ 114))
                                      (QREFELT $ 61))
                                     (QREFELT $ 115))
                                    1 1)))
                      (LETT |j| (QSADD1 |j|) . #3#) #5=(GO G190) G191
                      (EXIT NIL))))
               (LETT |i| (QSADD1 |i|) . #3#) #5# G191 (EXIT NIL))
          (EXIT (SPADCALL (QREFELT $ 112))))))) 

(DEFUN |SAE;trace;$R;31| (|x| $)
  (PROG (|ans| |xn| #1=#:G1884 |n|)
    (RETURN
     (SEQ (LETT |xn| |x| . #2=(|SAE;trace;$R;31|))
          (LETT |ans|
                (SPADCALL (SPADCALL |xn| (QREFELT $ 58)) 0 (QREFELT $ 70))
                . #2#)
          (SEQ (LETT |n| 1 . #2#) (LETT #1# (QREFELT $ 21) . #2#) G190
               (COND ((QSGREATERP |n| #1#) (GO G191)))
               (SEQ
                (LETT |xn|
                      (SPADCALL (SPADCALL (QREFELT $ 116)) |xn| (QREFELT $ 69))
                      . #2#)
                (EXIT
                 (LETT |ans|
                       (SPADCALL
                        (SPADCALL (SPADCALL |xn| (QREFELT $ 58)) |n|
                                  (QREFELT $ 70))
                        |ans| (QREFELT $ 117))
                       . #2#)))
               (LETT |n| (QSADD1 |n|) . #2#) (GO G190) G191 (EXIT NIL))
          (EXIT |ans|))))) 

(DEFUN |SAE;index;Pi$;32| (|k| $)
  (PROG (|i| |ans| |a| #1=#:G1885 |h| |j| |p|)
    (RETURN
     (SEQ
      (LETT |i| (REMAINDER2 |k| (SPADCALL (QREFELT $ 40)))
            . #2=(|SAE;index;Pi$;32|))
      (LETT |p| (SPADCALL (QREFELT $ 39)) . #2#)
      (LETT |ans| (|spadConstant| $ 30) . #2#)
      (SEQ (LETT |j| 0 . #2#) G190 (COND ((NULL (< 0 |i|)) (GO G191)))
           (SEQ (LETT |h| (REMAINDER2 |i| |p|) . #2#)
                (COND
                 ((NULL (EQL |h| 0))
                  (SEQ
                   (LETT |a|
                         (SPADCALL
                          (PROG1 (LETT #1# |h| . #2#)
                            (|check-subtype| (> #1# 0) '(|PositiveInteger|)
                                             #1#))
                          (QREFELT $ 118))
                         . #2#)
                   (EXIT
                    (LETT |ans|
                          (SPADCALL |ans|
                                    (SPADCALL
                                     (SPADCALL |a| |j| (QREFELT $ 114))
                                     (QREFELT $ 61))
                                    (QREFELT $ 65))
                          . #2#)))))
                (EXIT (LETT |i| (QUOTIENT2 |i| |p|) . #2#)))
           (LETT |j| (QSADD1 |j|) . #2#) (GO G190) G191 (EXIT NIL))
      (EXIT |ans|))))) 

(DEFUN |SAE;lookup;$Pi;33| (|z| $)
  (PROG (|co| |n| |p|)
    (RETURN
     (SEQ
      (COND ((SPADCALL |z| (QREFELT $ 120)) (SPADCALL (QREFELT $ 40)))
            (#1='T
             (SEQ
              (LETT |p| (SPADCALL (QREFELT $ 39)) . #2=(|SAE;lookup;$Pi;33|))
              (LETT |co|
                    (SPADCALL (SPADCALL |z| (QREFELT $ 121)) (QREFELT $ 122))
                    . #2#)
              (LETT |n| (SPADCALL |z| (QREFELT $ 16)) . #2#)
              (SEQ G190
                   (COND
                    ((NULL
                      (COND
                       ((SPADCALL
                         (LETT |z| (SPADCALL |z| (QREFELT $ 123)) . #2#)
                         (QREFELT $ 120))
                        'NIL)
                       ('T 'T)))
                     (GO G191)))
                   (SEQ
                    (EXIT
                     (LETT |co|
                           (+
                            (* |co|
                               (EXPT |p|
                                     (- |n|
                                        (LETT |n| (SPADCALL |z| (QREFELT $ 16))
                                              . #2#))))
                            (SPADCALL (SPADCALL |z| (QREFELT $ 121))
                                      (QREFELT $ 122)))
                           . #2#)))
                   NIL (GO G190) G191 (EXIT NIL))
              (EXIT
               (COND ((EQL |n| 0) |co|) (#1# (* |co| (EXPT |p| |n|)))))))))))) 

(DEFUN |SimpleAlgebraicExtension| (&REST #1=#:G1943)
  (PROG ()
    (RETURN
     (PROG (#2=#:G1944)
       (RETURN
        (COND
         ((LETT #2#
                (|lassocShiftWithFunction| (|devaluateList| #1#)
                                           (HGET |$ConstructorCache|
                                                 '|SimpleAlgebraicExtension|)
                                           '|domainEqualList|)
                . #3=(|SimpleAlgebraicExtension|))
          (|CDRwithIncrement| #2#))
         ('T
          (UNWIND-PROTECT
              (PROG1 (APPLY (|function| |SimpleAlgebraicExtension;|) #1#)
                (LETT #2# T . #3#))
            (COND
             ((NOT #2#)
              (HREM |$ConstructorCache| '|SimpleAlgebraicExtension|))))))))))) 

(DEFUN |SimpleAlgebraicExtension;| (|#1| |#2| |#3|)
  (PROG (#1=#:G1942 |i| #2=#:G1941 #3=#:G1806 #4=#:G1799 |pv$| #5=#:G1938
         #6=#:G1939 #7=#:G1940 $ |dv$| DV$3 DV$2 DV$1)
    (RETURN
     (SEQ
      (PROGN
       (LETT DV$1 (|devaluate| |#1|) . #8=(|SimpleAlgebraicExtension|))
       (LETT DV$2 (|devaluate| |#2|) . #8#)
       (LETT DV$3 (|devaluate| |#3|) . #8#)
       (LETT |dv$| (LIST '|SimpleAlgebraicExtension| DV$1 DV$2 DV$3) . #8#)
       (LETT $ (GETREFV 154) . #8#)
       (QSETREFV $ 0 |dv$|)
       (QSETREFV $ 3
                 (LETT |pv$|
                       (|buildPredVector| 0 0
                                          (LIST
                                           (|HasCategory| |#1|
                                                          '(|CharacteristicNonZero|))
                                           (|HasCategory| |#1|
                                                          '(|CharacteristicZero|))
                                           (|HasCategory| |#1|
                                                          '(|FiniteFieldCategory|))
                                           (LETT #7#
                                                 (|HasCategory| |#1|
                                                                '(|Field|))
                                                 . #8#)
                                           (OR #7#
                                               (|HasCategory| |#1|
                                                              '(|FiniteFieldCategory|)))
                                           (|HasCategory| |#1| '(|Finite|))
                                           (|HasCategory| |#1|
                                                          '(|LinearlyExplicitRingOver|
                                                            (|Integer|)))
                                           (|HasCategory| |#1|
                                                          '(|RetractableTo|
                                                            (|Fraction|
                                                             (|Integer|))))
                                           (|HasCategory| |#1|
                                                          '(|RetractableTo|
                                                            (|Integer|)))
                                           (LETT #6#
                                                 (AND
                                                  (|HasCategory| |#1|
                                                                 '(|PartialDifferentialRing|
                                                                   (|Symbol|)))
                                                  (|HasCategory| |#1|
                                                                 '(|Field|)))
                                                 . #8#)
                                           (OR #6#
                                               (AND
                                                (|HasCategory| |#1|
                                                               '(|PartialDifferentialRing|
                                                                 (|Symbol|)))
                                                (|HasCategory| |#1|
                                                               '(|FiniteFieldCategory|))))
                                           (OR
                                            (|HasCategory| |#1|
                                                           '(|RetractableTo|
                                                             (|Fraction|
                                                              (|Integer|))))
                                            #7#)
                                           (LETT #5#
                                                 (AND
                                                  (|HasCategory| |#1|
                                                                 '(|DifferentialRing|))
                                                  (|HasCategory| |#1|
                                                                 '(|Field|)))
                                                 . #8#)
                                           (OR #5#
                                               (|HasCategory| |#1|
                                                              '(|FiniteFieldCategory|)))))
                       . #8#))
       (|haddProp| |$ConstructorCache| '|SimpleAlgebraicExtension|
                   (LIST DV$1 DV$2 DV$3) (CONS 1 $))
       (|stuffDomainSlots| $)
       (QSETREFV $ 6 |#1|)
       (QSETREFV $ 7 |#2|)
       (QSETREFV $ 8 |#3|)
       (QSETREFV $ 12 (SPADCALL (SPADCALL |#3| (QREFELT $ 9)) (QREFELT $ 11)))
       (COND
        ((QEQCAR (QREFELT $ 12) 1) (|error| "Modulus cannot be made monic")))
       (QSETREFV $ 13 |#2|)
       (SETELT $ 8
               (SPADCALL
                (PROG2
                    (LETT #4# #9=(QREFELT $ 12) . #8#)
                    (QCDR #4#)
                  (|check-union| (QEQCAR #4# 0) #9# #4#))
                |#3| (QREFELT $ 14)))
       (QSETREFV $ 17 (SPADCALL |#3| (QREFELT $ 16)))
       (QSETREFV $ 21
                 (PROG2
                     (LETT #3# (SPADCALL (QREFELT $ 17) 1 (QREFELT $ 20))
                           . #8#)
                     (QCDR #3#)
                   (|check-union| (QEQCAR #3# 0) (|NonNegativeInteger|) #3#)))
       (QSETREFV $ 24 (SPADCALL (QREFELT $ 17) (QREFELT $ 17) (QREFELT $ 23)))
       (QSETREFV $ 28 (SPADCALL 'T (QREFELT $ 27)))
       (QSETREFV $ 34 (SPADCALL (|spadConstant| $ 31) (QREFELT $ 33)))
       (QSETREFV $ 35 (SPADCALL 'T (QREFELT $ 27)))
       (QSETREFV $ 38
                 (PROGN
                  (LETT #2# (GETREFV (QSADD1 #10=(QREFELT $ 21))) . #8#)
                  (SEQ (LETT |i| 0 . #8#) (LETT #1# #10# . #8#) G190
                       (COND ((QSGREATERP |i| #1#) (GO G191)))
                       (SEQ
                        (EXIT
                         (SETELT #2# |i|
                                 (SPADCALL (|spadConstant| $ 36) |i|
                                           (QREFELT $ 37)))))
                       (LETT |i| (QSADD1 |i|) . #8#) (GO G190) G191 (EXIT NIL))
                  #2#))
       (COND
        ((|testBitVector| |pv$| 6)
         (PROGN
          (QSETREFV $ 40 (CONS (|dispatchFunction| |SAE;size;Nni;1|) $))
          (QSETREFV $ 44 (CONS (|dispatchFunction| |SAE;random;$;2|) $)))))
       (COND
        ((|testBitVector| |pv$| 4)
         (QSETREFV $ 84
                   (CONS (|dispatchFunction| |SAE;minimalPolynomial;$UP;22|)
                         $))))
       (COND
        ((|testBitVector| |pv$| 4)
         (QSETREFV $ 89
                   (CONS (|dispatchFunction| |SAE;coordinates;$VV;23|) $)))
        ((|HasCategory| |#1| '(|IntegralDomain|))
         (QSETREFV $ 89
                   (CONS (|dispatchFunction| |SAE;coordinates;$VV;24|) $))))
       (COND
        ((|testBitVector| |pv$| 6)
         (PROGN
          (QSETREFV $ 119 (CONS (|dispatchFunction| |SAE;index;Pi$;32|) $))
          (QSETREFV $ 124 (CONS (|dispatchFunction| |SAE;lookup;$Pi;33|) $)))))
       $))))) 

(MAKEPROP '|SimpleAlgebraicExtension| '|infovec|
          (LIST
           '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|local| |#2|)
              (|local| |#3|) (0 . |leadingCoefficient|) (|Union| $ '"failed")
              (5 . |recip|) '|r| '|Rep| (10 . *) (|NonNegativeInteger|)
              (16 . |degree|) '|d| (21 . |One|)
              (CONS IDENTITY (FUNCALL (|dispatchFunction| |SAE;One;$;4|) $))
              (25 . |subtractIfCan|) '|d1| (|Matrix| 6) (31 . |zero|)
              '|discmat| (|Boolean|) (|Reference| 25) (37 . |ref|)
              '|nodiscmat?| (42 . |Zero|)
              (CONS IDENTITY (FUNCALL (|dispatchFunction| |SAE;Zero;$;3|) $))
              (46 . |Zero|) (|Reference| 6) (50 . |ref|) '|disc| '|nodisc?|
              (55 . |One|) (59 . |monomial|) '|bsis| (65 . |size|)
              (69 . |size|) (73 . |random|) (|Vector| 6) |SAE;represents;V$;17|
              (77 . |random|) (81 . |Zero|) (85 . |One|) (89 . *) |SAE;*;R2$;5|
              (|Integer|) (95 . *) |SAE;*;I2$;6| (101 . |coerce|)
              |SAE;coerce;I$;7| |SAE;coerce;R$;8| (|OutputForm|)
              (106 . |coerce|) |SAE;coerce;$Of;9| |SAE;lift;$UP;10|
              (|Record| (|:| |quotient| $) (|:| |remainder| $))
              (111 . |monicDivide|) |SAE;reduce;UP$;11| (117 . =)
              |SAE;=;2$B;12| (123 . +) |SAE;+;3$;13| (129 . -) |SAE;-;2$;14|
              (134 . *) |SAE;*;3$;15| (140 . |coefficient|)
              |SAE;coordinates;$V;16| (146 . |elt|)
              |SAE;definingPolynomial;UP;18| (152 . |characteristic|)
              |SAE;characteristic;Nni;19| (|PositiveInteger|) |SAE;rank;Pi;20|
              (|Vector| $$) (156 . |copy|) (|Vector| $) |SAE;basis;V;21|
              (161 . |characteristicPolynomial|) (166 . |squareFreePart|)
              (171 . |minimalPolynomial|) (176 . |coordinates|)
              (181 . |transpose|) (186 . |inverse|) (191 . *)
              (197 . |coordinates|) (203 . =) (|Matrix| 7) (|Mapping| 7 $$)
              (|Matrix| $$) (|MatrixCategoryFunctions2| $$ 78 78 93 7 99 99 91)
              (209 . |map|) (|Matrix| $) (215 . |reducedSystem|)
              |SAE;reducedSystem;MM;25| (|Vector| 7) (|VectorFunctions2| $$ 7)
              (220 . |map|) (|Record| (|:| |mat| 22) (|:| |vec| 42))
              (226 . |reducedSystem|) |SAE;reducedSystem;MVR;26| (232 . |elt|)
              (237 . |elt|) |SAE;discriminant;R;27| (242 . |setelt|)
              (248 . |discriminant|) (253 . |setelt|) (|Void|) (259 . |void|)
              |SAE;traceMatrix;M;29| (263 . |monomial|) |SAE;trace;$R;31|
              (269 . |generator|) (273 . +) (279 . |index|) (284 . |index|)
              (289 . |zero?|) (294 . |leadingCoefficient|) (299 . |lookup|)
              (304 . |reductum|) (309 . |lookup|) (|List| 127) (|List| 15)
              (|Symbol|) (|Fraction| 49)
              (|Record| (|:| |unit| $) (|:| |canonical| $) (|:| |associate| $))
              (|List| $) (|Record| (|:| |coef| 130) (|:| |generator| $))
              (|SparseUnivariatePolynomial| $) (|Union| 130 '"failed")
              (|Record| (|:| |coef1| $) (|:| |coef2| $))
              (|Union| 134 '"failed")
              (|Record| (|:| |coef1| $) (|:| |coef2| $) (|:| |generator| $))
              (|Factored| $) (|Mapping| 6 6) (|Fraction| 7)
              (|Union| 15 '"failed") (|OnePointCompletion| 76)
              (|Union| 80 '"failed") (|Table| 76 15)
              (|Record| (|:| |factor| 49) (|:| |exponent| 49)) (|List| 144)
              (|Union| '"prime" '"polynomial" '"normal" '"cyclic")
              (|Matrix| 49)
              (|Record| (|:| |mat| 147) (|:| |vec| (|Vector| 49)))
              (|Union| 128 '#1="failed") (|Union| 49 '#1#) (|Union| 6 '#1#)
              (|SingleInteger|) (|String|))
           '#(~= 314 |zero?| 320 |unitNormal| 325 |unitCanonical| 330 |unit?|
              335 |traceMatrix| 340 |trace| 349 |tableForDiscreteLogarithm| 354
              |subtractIfCan| 359 |squareFreePart| 365 |squareFree| 370
              |sizeLess?| 375 |size| 381 |sample| 385 |retractIfCan| 389
              |retract| 404 |represents| 419 |representationType| 430 |rem| 434
              |regularRepresentation| 440 |reducedSystem| 451 |reduce| 473
              |recip| 483 |rank| 488 |random| 492 |quo| 496 |principalIdeal|
              502 |primitiveElement| 507 |primitive?| 511 |primeFrobenius| 516
              |prime?| 527 |order| 532 |one?| 542 |norm| 547 |nextItem| 552
              |multiEuclidean| 557 |minimalPolynomial| 563 |lookup| 568 |lift|
              573 |lcm| 578 |latex| 589 |inv| 594 |init| 599 |index| 603 |hash|
              608 |generator| 613 |gcdPolynomial| 617 |gcd| 623
              |factorsOfCyclicGroupSize| 634 |factor| 638 |extendedEuclidean|
              643 |exquo| 656 |expressIdealMember| 662 |euclideanSize| 668
              |enumerate| 673 |divide| 677 |discriminant| 683 |discreteLog| 692
              |differentiate| 703 |derivationCoordinates| 753
              |definingPolynomial| 759 |createPrimitiveElement| 763
              |coordinates| 767 |convert| 789 |conditionP| 809 |coerce| 814
              |charthRoot| 839 |characteristicPolynomial| 849 |characteristic|
              854 |basis| 858 |associates?| 862 ^ 868 |Zero| 886 |One| 890 D
              894 = 944 / 950 - 956 + 967 * 973)
           'NIL
           (CONS
            (|makeByteWordVec2| 14
                                '(0 3 3 5 5 5 4 0 5 0 5 4 0 0 4 4 4 0 0 0 1 2 4
                                  4 4 14 11 7 0 0 0 4 0 0 0 0 0 4 4 0 0 0 0 0 0
                                  0 0 6 3 0 0 0 0 0 0 0 0 4 4 4 8 9))
            (CONS
             '#(|MonogenicAlgebra&| |FiniteFieldCategory&|
                |FieldOfPrimeCharacteristic&| |Field&| |EuclideanDomain&| NIL
                |UniqueFactorizationDomain&| |FramedAlgebra&| |GcdDomain&|
                |FiniteRankAlgebra&| |IntegralDomain&| |DivisionRing&|
                |Algebra&| |FullyLinearlyExplicitRingOver&| |Algebra&|
                |Algebra&| |DifferentialExtension&| NIL NIL |Module&| NIL NIL
                |Module&| NIL |Module&| |DifferentialRing&|
                |PartialDifferentialRing&| NIL NIL |Ring&| NIL NIL NIL NIL NIL
                NIL NIL NIL NIL |AbelianGroup&| NIL NIL |AbelianMonoid&|
                |Monoid&| NIL |SemiGroup&| |AbelianSemiGroup&| |Finite&| NIL
                |FullyRetractableTo&| |SetCategory&| |RetractableTo&| NIL NIL
                NIL |BasicType&| NIL NIL NIL NIL |RetractableTo&|
                |RetractableTo&|)
             (CONS
              '#((|MonogenicAlgebra| 6 7) (|FiniteFieldCategory|)
                 (|FieldOfPrimeCharacteristic|) (|Field|) (|EuclideanDomain|)
                 (|PrincipalIdealDomain|) (|UniqueFactorizationDomain|)
                 (|FramedAlgebra| 6 7) (|GcdDomain|) (|FiniteRankAlgebra| 6 7)
                 (|IntegralDomain|) (|DivisionRing|) (|Algebra| 6)
                 (|FullyLinearlyExplicitRingOver| 6) (|Algebra| $$)
                 (|Algebra| 128) (|DifferentialExtension| 6)
                 (|LinearlyExplicitRingOver| 6) (|CommutativeRing|)
                 (|Module| 6) (|CharacteristicNonZero|) (|CharacteristicZero|)
                 (|Module| $$) (|EntireRing|) (|Module| 128)
                 (|DifferentialRing|) (|PartialDifferentialRing| 127)
                 (|LinearlyExplicitRingOver| 49) (|BiModule| $$ $$) (|Ring|)
                 (|BiModule| 6 6) (|BiModule| 128 128) (|RightModule| $$)
                 (|Rng|) (|RightModule| 6) (|LeftModule| 6) (|LeftModule| $$)
                 (|LeftModule| 128) (|RightModule| 128) (|AbelianGroup|)
                 (|CancellationAbelianMonoid|) (|SemiRing|) (|AbelianMonoid|)
                 (|Monoid|) (|SemiRng|) (|SemiGroup|) (|AbelianSemiGroup|)
                 (|Finite|) (|StepThrough|) (|FullyRetractableTo| 6)
                 (|SetCategory|) (|RetractableTo| 6) (|ConvertibleTo| 7)
                 (|CommutativeStar|) (|unitsKnown|) (|BasicType|)
                 (|CoercibleTo| 55) (|noZeroDivisors|) (|canonicalUnitNormal|)
                 (|canonicalsClosed|) (|RetractableTo| 128)
                 (|RetractableTo| 49))
              (|makeByteWordVec2| 153
                                  '(1 7 6 0 9 1 6 10 0 11 2 7 0 6 0 14 1 13 15
                                    0 16 0 7 0 18 2 15 10 0 0 20 2 22 0 15 15
                                    23 1 26 0 25 27 0 7 0 29 0 6 0 31 1 32 0 6
                                    33 0 6 0 36 2 13 0 6 15 37 0 6 15 39 0 0 15
                                    40 0 6 0 41 0 0 0 44 0 13 0 45 0 13 0 46 2
                                    13 0 6 0 47 2 13 0 49 0 50 1 13 0 49 52 1
                                    13 55 0 56 2 13 59 0 0 60 2 13 25 0 0 62 2
                                    13 0 0 0 64 1 13 0 0 66 2 13 0 0 0 68 2 7 6
                                    0 15 70 2 42 6 0 49 72 0 6 15 74 1 78 0 0
                                    79 1 0 7 0 82 1 7 0 0 83 1 0 7 0 84 1 0 22
                                    80 85 1 22 0 0 86 1 22 10 0 87 2 22 42 0 42
                                    88 2 0 42 0 80 89 2 6 25 0 0 90 2 94 91 92
                                    93 95 1 7 22 96 97 2 100 99 92 78 101 2 7
                                    102 96 80 103 1 26 25 0 105 1 32 6 0 106 2
                                    26 25 0 25 108 1 13 6 0 109 2 32 6 0 6 110
                                    0 111 0 112 2 7 0 6 15 114 0 0 0 116 2 6 0
                                    0 0 117 1 6 0 76 118 1 0 0 76 119 1 0 25 0
                                    120 1 13 6 0 121 1 6 76 0 122 1 13 0 0 123
                                    1 0 76 0 124 2 0 25 0 0 1 1 0 25 0 120 1 4
                                    129 0 1 1 4 0 0 1 1 4 25 0 1 0 0 22 113 1 0
                                    22 80 1 1 0 6 0 115 1 3 143 49 1 2 0 10 0 0
                                    1 1 4 0 0 1 1 4 137 0 1 2 4 25 0 0 1 0 6 15
                                    40 0 0 0 1 1 8 149 0 1 1 9 150 0 1 1 0 151
                                    0 1 1 8 128 0 1 1 9 49 0 1 1 0 6 0 1 1 0 0
                                    42 43 2 0 0 42 80 1 0 3 146 1 2 4 0 0 0 1 1
                                    0 22 0 1 2 0 22 0 80 1 1 7 147 96 1 2 7 148
                                    96 80 1 2 0 102 96 80 104 1 0 22 96 98 1 4
                                    10 139 1 1 0 0 7 61 1 0 10 0 1 0 0 76 77 0
                                    6 0 44 2 4 0 0 0 1 1 4 131 130 1 0 3 0 1 1
                                    3 25 0 1 2 3 0 0 15 1 1 3 0 0 1 1 4 25 0 1
                                    1 3 141 0 1 1 3 76 0 1 1 0 25 0 1 1 0 6 0 1
                                    1 3 10 0 1 2 4 133 130 0 1 1 4 7 0 84 1 6
                                    76 0 124 1 0 7 0 58 1 4 0 130 1 2 4 0 0 0 1
                                    1 0 153 0 1 1 4 0 0 1 0 3 0 1 1 6 0 76 119
                                    1 0 152 0 1 0 0 0 116 2 4 132 132 132 1 1 4
                                    0 130 1 2 4 0 0 0 1 0 3 145 1 1 4 137 0 1 3
                                    4 135 0 0 0 1 2 4 136 0 0 1 2 4 10 0 0 1 2
                                    4 133 130 0 1 1 4 15 0 1 0 6 130 1 2 4 59 0
                                    0 1 0 0 6 107 1 0 6 80 1 2 3 140 0 0 1 1 3
                                    15 0 1 3 10 0 0 125 126 1 2 10 0 0 125 1 3
                                    10 0 0 127 15 1 2 10 0 0 127 1 2 14 0 0 15
                                    1 1 14 0 0 1 2 4 0 0 138 1 3 4 0 0 138 15 1
                                    2 4 22 80 138 1 0 0 7 73 0 3 0 1 1 0 22 80
                                    85 1 0 42 0 71 2 0 42 0 80 89 2 0 22 80 80
                                    1 1 0 0 7 1 1 0 7 0 1 1 0 42 0 1 1 0 0 42 1
                                    1 3 142 96 1 1 12 0 128 1 1 4 0 0 1 1 0 0 6
                                    54 1 0 0 49 53 1 0 55 0 57 1 1 10 0 1 1 3 0
                                    0 1 1 0 7 0 82 0 0 15 75 0 0 80 81 2 4 25 0
                                    0 1 2 4 0 0 49 1 2 0 0 0 15 1 2 0 0 0 76 1
                                    0 0 0 30 0 0 0 19 3 10 0 0 125 126 1 2 10 0
                                    0 125 1 3 10 0 0 127 15 1 2 10 0 0 127 1 2
                                    14 0 0 15 1 1 14 0 0 1 2 4 0 0 138 1 3 4 0
                                    0 138 15 1 2 0 25 0 0 63 2 4 0 0 0 1 2 0 0
                                    0 0 1 1 0 0 0 67 2 0 0 0 0 65 2 4 0 128 0 1
                                    2 4 0 0 128 1 2 0 0 6 0 48 2 0 0 0 6 1 2 0
                                    0 0 0 69 2 0 0 49 0 51 2 0 0 15 0 1 2 0 0
                                    76 0 1)))))
           '|lookupComplete|)) 
