
(/VERSIONCHECK 2) 

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

(DEFUN |SAE;random;$;2| ($)
  (PROG (#1=#:G678 |i| #2=#:G677)
    (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=#:G697 |i| #2=#:G696)
    (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=#:G699 #2=#:G698 #3=#:G700 #4=#:G702 |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=#:G705)
    (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=#:G722 |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|
                (SPADCALL (QREFELT $ 17) (|spadConstant| $ 31) (QREFELT $ 90))
                . #2#)
          (SEQ (LETT |i| 1 . #2#) (LETT #1# (QREFELT $ 17) . #2#) G190
               (COND ((QSGREATERP |i| #1#) (GO G191)))
               (SEQ
                (LETT |xi|
                      (SPADCALL |vecQF| |i|
                                (|compiledLookupCheck| '|qelt|
                                                       (LIST (|devaluate| |qf|)
                                                             '$
                                                             (LIST '|Integer|))
                                                       (|Vector| |qf|)))
                      . #2#)
                (EXIT
                 (COND
                  ((SPADCALL
                    (SPADCALL |xi|
                              (|compiledLookupCheck| '|denom|
                                                     (LIST
                                                      (|devaluate| (ELT $ 6))
                                                      '$)
                                                     |qf|))
                    (|spadConstant| $ 36) (QREFELT $ 91))
                   (SPADCALL |vec| |i|
                             (SPADCALL |xi|
                                       (|compiledLookupCheck| '|numer|
                                                              (LIST
                                                               (|devaluate|
                                                                (ELT $ 6))
                                                               '$)
                                                              |qf|))
                             (QREFELT $ 92)))
                  ('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 $ 97)) (QREFELT $ 99))) 

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

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

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

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

(DEFUN |SAE;mkDiscMat| (|b| $)
  (PROG (#1=#:G739 |j| #2=#:G738 |i| |mc| |mr|)
    (RETURN
     (SEQ (SPADCALL (QREFELT $ 28) |b| (QREFELT $ 110))
          (LETT |mr| (SPADCALL (QREFELT $ 24) (QREFELT $ 116))
                . #3=(|SAE;mkDiscMat|))
          (LETT |mc| (SPADCALL (QREFELT $ 24) (QREFELT $ 117)) . #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
                        (SPADCALL (QREFELT $ 24) (+ |mr| |i|) (+ |mc| |j|)
                                  (SPADCALL
                                   (SPADCALL
                                    (SPADCALL (|spadConstant| $ 36) (+ |i| |j|)
                                              (QREFELT $ 118))
                                    (QREFELT $ 61))
                                   (QREFELT $ 119))
                                  (QREFELT $ 120))))
                      (LETT |j| (QSADD1 |j|) . #3#) #5=(GO G190) G191
                      (EXIT NIL))))
               (LETT |i| (QSADD1 |i|) . #3#) #5# G191 (EXIT NIL))
          (EXIT (SPADCALL (QREFELT $ 114))))))) 

(DEFUN |SAE;trace;$R;31| (|x| $)
  (PROG (|ans| |xn| #1=#:G744 |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 $ 121)) |xn| (QREFELT $ 69))
                      . #2#)
                (EXIT
                 (LETT |ans|
                       (SPADCALL
                        (SPADCALL (SPADCALL |xn| (QREFELT $ 58)) |n|
                                  (QREFELT $ 70))
                        |ans| (QREFELT $ 122))
                       . #2#)))
               (LETT |n| (QSADD1 |n|) . #2#) (GO G190) G191 (EXIT NIL))
          (EXIT |ans|))))) 

(DEFUN |SAE;index;Pi$;32| (|k| $)
  (PROG (|i| |ans| |a| #1=#:G745 |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 $ 123))
                         . #2#)
                   (EXIT
                    (LETT |ans|
                          (SPADCALL |ans|
                                    (SPADCALL
                                     (SPADCALL |a| |j| (QREFELT $ 118))
                                     (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 $ 125)) (SPADCALL (QREFELT $ 40)))
            (#1='T
             (SEQ
              (LETT |p| (SPADCALL (QREFELT $ 39)) . #2=(|SAE;lookup;$Pi;33|))
              (LETT |co|
                    (SPADCALL (SPADCALL |z| (QREFELT $ 126)) (QREFELT $ 127))
                    . #2#)
              (LETT |n| (SPADCALL |z| (QREFELT $ 16)) . #2#)
              (SEQ G190
                   (COND
                    ((NULL
                      (COND
                       ((SPADCALL
                         (LETT |z| (SPADCALL |z| (QREFELT $ 128)) . #2#)
                         (QREFELT $ 125))
                        'NIL)
                       ('T 'T)))
                     (GO G191)))
                   (SEQ
                    (EXIT
                     (LETT |co|
                           (+
                            (* |co|
                               (EXPT |p|
                                     (- |n|
                                        (LETT |n| (SPADCALL |z| (QREFELT $ 16))
                                              . #2#))))
                            (SPADCALL (SPADCALL |z| (QREFELT $ 126))
                                      (QREFELT $ 127)))
                           . #2#)))
                   NIL (GO G190) G191 (EXIT NIL))
              (EXIT
               (COND ((EQL |n| 0) |co|) (#1# (* |co| (EXPT |p| |n|)))))))))))) 

(DEFUN |SimpleAlgebraicExtension| (&REST #1=#:G795)
  (PROG ()
    (RETURN
     (PROG (#2=#:G796)
       (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=#:G794 |i| #2=#:G793 #3=#:G671 #4=#:G668 |pv$| #5=#:G790 #6=#:G791
         #7=#:G792 $ |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 159) . #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|
                                                                 '(|Field|))
                                                  (|HasCategory| |#1|
                                                                 '(|PartialDifferentialRing|
                                                                   (|Symbol|))))
                                                 . #8#)
                                           (OR #6#
                                               (AND
                                                (|HasCategory| |#1|
                                                               '(|FiniteFieldCategory|))
                                                (|HasCategory| |#1|
                                                               '(|PartialDifferentialRing|
                                                                 (|Symbol|)))))
                                           (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 $ 124 (CONS (|dispatchFunction| |SAE;index;Pi$;32|) $))
          (QSETREFV $ 129 (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 . |new|) (209 . =) (215 . |qsetelt!|)
              (|Matrix| 7) (|Mapping| 7 $$) (|Matrix| $$)
              (|MatrixCategoryFunctions2| $$ 78 78 95 7 101 101 93)
              (222 . |map|) (|Matrix| $) (228 . |reducedSystem|)
              |SAE;reducedSystem;MM;25| (|Vector| 7) (|VectorFunctions2| $$ 7)
              (233 . |map|) (|Record| (|:| |mat| 22) (|:| |vec| 42))
              (239 . |reducedSystem|) |SAE;reducedSystem;MVR;26| (245 . |elt|)
              (250 . |elt|) |SAE;discriminant;R;27| (255 . |setelt|)
              (261 . |discriminant|) (266 . |setelt|) (|Void|) (272 . |void|)
              |SAE;traceMatrix;M;29| (276 . |minRowIndex|)
              (281 . |minColIndex|) (286 . |monomial|) |SAE;trace;$R;31|
              (292 . |qsetelt!|) (300 . |generator|) (304 . +) (310 . |index|)
              (315 . |index|) (320 . |zero?|) (325 . |leadingCoefficient|)
              (330 . |lookup|) (335 . |reductum|) (340 . |lookup|) (|List| 132)
              (|List| 15) (|Symbol|) (|Fraction| 49)
              (|Record| (|:| |unit| $) (|:| |canonical| $) (|:| |associate| $))
              (|List| $) (|Record| (|:| |coef| 135) (|:| |generator| $))
              (|SparseUnivariatePolynomial| $) (|Union| 135 '"failed")
              (|Record| (|:| |coef1| $) (|:| |coef2| $))
              (|Union| 139 '"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| 149)
              (|Union| '"prime" '"polynomial" '"normal" '"cyclic")
              (|Matrix| 49)
              (|Record| (|:| |mat| 152) (|:| |vec| (|Vector| 49)))
              (|Union| 133 '#1="failed") (|Union| 49 '#1#) (|Union| 6 '#1#)
              (|SingleInteger|) (|String|))
           '#(~= 345 |zero?| 351 |unitNormal| 356 |unitCanonical| 361 |unit?|
              366 |traceMatrix| 371 |trace| 380 |tableForDiscreteLogarithm| 385
              |subtractIfCan| 390 |squareFreePart| 396 |squareFree| 401
              |sizeLess?| 406 |size| 412 |sample| 416 |retractIfCan| 420
              |retract| 435 |represents| 450 |representationType| 461 |rem| 465
              |regularRepresentation| 471 |reducedSystem| 482 |reduce| 504
              |recip| 514 |rank| 519 |random| 523 |quo| 527 |principalIdeal|
              533 |primitiveElement| 538 |primitive?| 542 |primeFrobenius| 547
              |prime?| 558 |order| 563 |one?| 573 |norm| 578 |nextItem| 583
              |multiEuclidean| 588 |minimalPolynomial| 594 |lookup| 599 |lift|
              604 |lcm| 609 |latex| 620 |inv| 625 |init| 630 |index| 634 |hash|
              639 |generator| 644 |gcdPolynomial| 648 |gcd| 654
              |factorsOfCyclicGroupSize| 665 |factor| 669 |extendedEuclidean|
              674 |exquo| 687 |expressIdealMember| 693 |euclideanSize| 699
              |enumerate| 704 |divide| 708 |discriminant| 714 |discreteLog| 723
              |differentiate| 734 |derivationCoordinates| 784
              |definingPolynomial| 790 |createPrimitiveElement| 794
              |coordinates| 798 |convert| 820 |conditionP| 840 |coerce| 845
              |charthRoot| 870 |characteristicPolynomial| 880 |characteristic|
              885 |basis| 889 |associates?| 893 ^ 899 |Zero| 917 |One| 921 D
              925 = 975 / 981 - 987 + 998 * 1004)
           '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| 133) (|DifferentialExtension| 6)
                 (|LinearlyExplicitRingOver| 6) (|CommutativeRing|)
                 (|Module| 6) (|CharacteristicNonZero|) (|CharacteristicZero|)
                 (|Module| $$) (|EntireRing|) (|Module| 133)
                 (|DifferentialRing|) (|PartialDifferentialRing| 132)
                 (|LinearlyExplicitRingOver| 49) (|BiModule| $$ $$) (|Ring|)
                 (|BiModule| 6 6) (|BiModule| 133 133) (|RightModule| $$)
                 (|Rng|) (|RightModule| 6) (|LeftModule| 6) (|LeftModule| $$)
                 (|LeftModule| 133) (|RightModule| 133) (|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| 133)
                 (|RetractableTo| 49))
              (|makeByteWordVec2| 158
                                  '(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 42 0 15 6 90 2 6 25 0 0
                                    91 3 42 6 0 49 6 92 2 96 93 94 95 97 1 7 22
                                    98 99 2 102 101 94 78 103 2 7 104 98 80 105
                                    1 26 25 0 107 1 32 6 0 108 2 26 25 0 25 110
                                    1 13 6 0 111 2 32 6 0 6 112 0 113 0 114 1
                                    22 49 0 116 1 22 49 0 117 2 7 0 6 15 118 4
                                    22 6 0 49 49 6 120 0 0 0 121 2 6 0 0 0 122
                                    1 6 0 76 123 1 0 0 76 124 1 0 25 0 125 1 13
                                    6 0 126 1 6 76 0 127 1 13 0 0 128 1 0 76 0
                                    129 2 0 25 0 0 1 1 0 25 0 125 1 4 134 0 1 1
                                    4 0 0 1 1 4 25 0 1 0 0 22 115 1 0 22 80 1 1
                                    0 6 0 119 1 3 148 49 1 2 0 10 0 0 1 1 4 0 0
                                    1 1 4 142 0 1 2 4 25 0 0 1 0 6 15 40 0 0 0
                                    1 1 8 154 0 1 1 9 155 0 1 1 0 156 0 1 1 8
                                    133 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 151 1 2 4 0 0 0 1 1 0 22 0
                                    1 2 0 22 0 80 1 1 7 152 98 1 2 7 153 98 80
                                    1 2 0 104 98 80 106 1 0 22 98 100 1 4 10
                                    144 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 136 135 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
                                    146 0 1 1 3 76 0 1 1 0 25 0 1 1 0 6 0 1 1 3
                                    10 0 1 2 4 138 135 0 1 1 4 7 0 84 1 6 76 0
                                    129 1 0 7 0 58 1 4 0 135 1 2 4 0 0 0 1 1 0
                                    158 0 1 1 4 0 0 1 0 3 0 1 1 6 0 76 124 1 0
                                    157 0 1 0 0 0 121 2 4 137 137 137 1 1 4 0
                                    135 1 2 4 0 0 0 1 0 3 150 1 1 4 142 0 1 3 4
                                    140 0 0 0 1 2 4 141 0 0 1 2 4 10 0 0 1 2 4
                                    138 135 0 1 1 4 15 0 1 0 6 135 1 2 4 59 0 0
                                    1 0 0 6 109 1 0 6 80 1 2 3 145 0 0 1 1 3 15
                                    0 1 3 10 0 0 130 131 1 2 10 0 0 130 1 3 10
                                    0 0 132 15 1 2 10 0 0 132 1 2 14 0 0 15 1 1
                                    14 0 0 1 2 4 0 0 143 1 3 4 0 0 143 15 1 2 4
                                    22 80 143 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
                                    147 98 1 1 12 0 133 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 130 131 1 2 10 0 0
                                    130 1 3 10 0 0 132 15 1 2 10 0 0 132 1 2 14
                                    0 0 15 1 1 14 0 0 1 2 4 0 0 143 1 3 4 0 0
                                    143 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 133 0 1 2
                                    4 0 0 133 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|)) 
