
(/VERSIONCHECK 2) 

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

(DEFUN |SAE;random;$;2| ($)
  (PROG (#0=#:G1831 |i| #1=#:G1832)
    (RETURN
      (SEQ (SPADCALL
               (PRIMVEC2ARR
                   (PROGN
                     (LETT #0# (GETREFV (QSADD1 #2=(QREFELT $ 21)))
                           . #3=(|SAE;random;$;2|))
                     (SEQ (LETT |i| 0 . #3#) (LETT #1# #2# . #3#) G190
                          (COND ((QSGREATERP |i| #1#) (GO G191)))
                          (SEQ (EXIT (SETELT #0# |i|
                                      (SPADCALL (QREFELT $ 41)))))
                          (LETT |i| (QSADD1 |i|) . #3#) (GO G190) G191
                          (EXIT NIL))
                     #0#))
               (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 (#0=#:G1850 |i| #1=#:G1851)
    (RETURN
      (SEQ (PRIMVEC2ARR
               (PROGN
                 (LETT #0# (GETREFV (QSADD1 #2=(QREFELT $ 21)))
                       . #3=(|SAE;coordinates;$V;16|))
                 (SEQ (LETT |i| 0 . #3#) (LETT #1# #2# . #3#) G190
                      (COND ((QSGREATERP |i| #1#) (GO G191)))
                      (SEQ (EXIT (SETELT #0# |i|
                                         (SPADCALL
                                          (SPADCALL |x| (QREFELT $ 58))
                                          |i| (QREFELT $ 70)))))
                      (LETT |i| (QSADD1 |i|) . #3#) (GO G190) G191
                      (EXIT NIL))
                 #0#)))))) 

(DEFUN |SAE;represents;V$;17| (|vect| $)
  (PROG (|i| #0=#:G1856 #1=#:G1854 #2=#:G1852 #3=#:G1853)
    (RETURN
      (SEQ (PROGN
             (LETT #3# NIL . #4=(|SAE;represents;V$;17|))
             (SEQ (LETT |i| 0 . #4#) (LETT #0# (QREFELT $ 21) . #4#)
                  G190 (COND ((QSGREATERP |i| #0#) (GO G191)))
                  (SEQ (EXIT (PROGN
                               (LETT #1#
                                     (SPADCALL
                                      (SPADCALL |vect| (+ |i| 1)
                                       (QREFELT $ 72))
                                      |i| (QREFELT $ 37)) . #4#)
                               (COND
                                 (#3# (LETT #2#
                                       (SPADCALL #2# #1#
                                        (QREFELT $ 65)) . #4#))
                                 ('T
                                  (PROGN
                                    (LETT #2# #1# . #4#)
                                    (LETT #3# 'T . #4#)))))))
                  (LETT |i| (QSADD1 |i|) . #4#) (GO G190) G191
                  (EXIT NIL))
             (COND (#3# #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 (#0=#:G1859)
    (RETURN
      (PROG1 (LETT #0# (QREFELT $ 17) |SAE;rank;Pi;20|)
        (|check-subtype| (> #0# 0) '(|PositiveInteger|) #0#))))) 

(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 (|qf| |imatqf| |mat| |m| |coordsQF| |vecQF| |vec| |i|
              #0=#:G1876 |xi|)
    (RETURN
      (SEQ (LETT |qf| (|Fraction| (QREFELT $ 6))
                 . #1=(|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|)) . #1#)
           (LETT |mat|
                 (SPADCALL (SPADCALL |bas| (QREFELT $ 85))
                     (QREFELT $ 86)) . #1#)
           (LETT |m|
                 (SPADCALL |mat|
                     (|compiledLookupCheck| '|inverse|
                         (LIST (LIST '|Union|
                                     (LIST '|Matrix|
                                      (|devaluate| |qf|))
                                     '"failed")
                               (LIST '|Matrix| (|devaluate| (ELT $ 6))))
                         |imatqf|)) . #1#)
           (EXIT (COND
                   ((QEQCAR |m| 1)
                    (|error| "coordinates: second argument must be a basis"))
                   ('T
                    (SEQ (LETT |coordsQF|
                               (SPADCALL
                                   (CONS #'|SAE;coordinates;$VV;24!0|
                                    (VECTOR |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|))) . #1#)
                         (LETT |vecQF|
                               (SPADCALL (QCDR |m|) |coordsQF|
                                   (|compiledLookupCheck| '*
                                    (LIST
                                     (LIST '|Vector|
                                      (|devaluate| |qf|))
                                     '$
                                     (LIST '|Vector|
                                      (|devaluate| |qf|)))
                                    (|Matrix| |qf|))) . #1#)
                         (LETT |vec|
                               (SPADCALL (QREFELT $ 17)
                                   (|spadConstant| $ 31)
                                   (QREFELT $ 90)) . #1#)
                         (SEQ (LETT |i| 1 . #1#)
                              (LETT #0# (QREFELT $ 17) . #1#) G190
                              (COND ((QSGREATERP |i| #0#) (GO G191)))
                              (SEQ (LETT |xi|
                                    (SPADCALL |vecQF| |i|
                                     (|compiledLookupCheck| '|qelt|
                                      (LIST (|devaluate| |qf|) '$
                                       (LIST '|Integer|))
                                      (|Vector| |qf|))) . #1#)
                                   (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|) . #1#) (GO G190)
                              G191 (EXIT NIL))
                         (EXIT |vec|))))))))) 

(DEFUN |SAE;coordinates;$VV;24!0| (|#1| $$)
  (SPADCALL |#1|
      (|compiledLookupCheck| '|coerce|
          (LIST '$ (|devaluate| (ELT (QREFELT $$ 1) 6)))
          (QREFELT $$ 0)))) 

(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 (|mr| |mc| |i| #0=#:G1892 |j| #1=#:G1893)
    (RETURN
      (SEQ (SPADCALL (QREFELT $ 28) |b| (QREFELT $ 110))
           (LETT |mr| (SPADCALL (QREFELT $ 24) (QREFELT $ 116))
                 . #2=(|SAE;mkDiscMat|))
           (LETT |mc| (SPADCALL (QREFELT $ 24) (QREFELT $ 117)) . #2#)
           (SEQ (LETT |i| 0 . #2#) (LETT #0# (QREFELT $ 21) . #2#) G190
                (COND ((QSGREATERP |i| #0#) #3=(GO G191)))
                (SEQ (EXIT (SEQ (LETT |j| 0 . #2#)
                                (LETT #1# (QREFELT $ 21) . #2#) G190
                                (COND ((QSGREATERP |j| #1#) #3#))
                                (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|) . #2#)
                                #4=(GO G190) G191 (EXIT NIL))))
                (LETT |i| (QSADD1 |i|) . #2#) #4# G191 (EXIT NIL))
           (EXIT (SPADCALL (QREFELT $ 114))))))) 

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

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

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

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

(DEFUN |SimpleAlgebraicExtension;| (|#1| |#2| |#3|)
  (PROG (DV$1 DV$2 DV$3 |dv$| $ #0=#:G1946 #1=#:G1945 #2=#:G1944 |pv$|
              #3=#:G1822 #4=#:G1825 #5=#:G1947 |i| #6=#:G1948)
    (RETURN
      (SEQ (PROGN
             (LETT DV$1 (|devaluate| |#1|)
                   . #7=(|SimpleAlgebraicExtension|))
             (LETT DV$2 (|devaluate| |#2|) . #7#)
             (LETT DV$3 (|devaluate| |#3|) . #7#)
             (LETT |dv$|
                   (LIST '|SimpleAlgebraicExtension| DV$1 DV$2 DV$3) . #7#)
             (LETT $ (GETREFV 159) . #7#)
             (QSETREFV $ 0 |dv$|)
             (QSETREFV $ 3
                 (LETT |pv$|
                       (|buildPredVector| 0 0
                           (LIST (|HasCategory| |#1|
                                     '(|CharacteristicNonZero|))
                                 (|HasCategory| |#1|
                                     '(|CharacteristicZero|))
                                 (|HasCategory| |#1|
                                     '(|FiniteFieldCategory|))
                                 (LETT #0#
                                       (|HasCategory| |#1| '(|Field|)) . #7#)
                                 (OR #0#
                                     (|HasCategory| |#1|
                                      '(|FiniteFieldCategory|)))
                                 (|HasCategory| |#1| '(|Finite|))
                                 (|HasCategory| |#1|
                                     '(|LinearlyExplicitRingOver|
                                       (|Integer|)))
                                 (|HasCategory| |#1|
                                     '(|RetractableTo|
                                       (|Fraction| (|Integer|))))
                                 (|HasCategory| |#1|
                                     '(|RetractableTo| (|Integer|)))
                                 (LETT #1#
                                       (AND
                                        (|HasCategory| |#1| '(|Field|))
                                        (|HasCategory| |#1|
                                         '(|PartialDifferentialRing|
                                           (|Symbol|)))) . #7#)
                                 (OR #1#
                                     (AND
                                      (|HasCategory| |#1|
                                       '(|FiniteFieldCategory|))
                                      (|HasCategory| |#1|
                                       '(|PartialDifferentialRing|
                                         (|Symbol|)))))
                                 (OR (|HasCategory| |#1|
                                      '(|RetractableTo|
                                        (|Fraction| (|Integer|))))
                                     #0#)
                                 (LETT #2#
                                       (AND
                                        (|HasCategory| |#1|
                                         '(|DifferentialRing|))
                                        (|HasCategory| |#1| '(|Field|))) . #7#)
                                 (OR #2#
                                     (|HasCategory| |#1|
                                      '(|FiniteFieldCategory|))))) . #7#))
             (|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 #3# #8=(QREFELT $ 12) . #7#)
                                (QCDR #3#)
                           (|check-union| (QEQCAR #3# 0) #8# #3#))
                         |#3| (QREFELT $ 14)))
             (QSETREFV $ 17 (SPADCALL |#3| (QREFELT $ 16)))
             (QSETREFV $ 21
                 (PROG2 (LETT #4#
                              (SPADCALL (QREFELT $ 17) 1
                                  (QREFELT $ 20)) . #7#)
                        (QCDR #4#)
                   (|check-union| (QEQCAR #4# 0) (|NonNegativeInteger|)
                       #4#)))
             (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
                 (PRIMVEC2ARR
                     (PROGN
                       (LETT #5#
                             (GETREFV (QSADD1 #9=(QREFELT $ 21))) . #7#)
                       (SEQ (LETT |i| 0 . #7#) (LETT #6# #9# . #7#)
                            G190
                            (COND ((QSGREATERP |i| #6#) (GO G191)))
                            (SEQ (EXIT (SETELT #5# |i|
                                        (SPADCALL (|spadConstant| $ 36)
                                         |i| (QREFELT $ 37)))))
                            (LETT |i| (QSADD1 |i|) . #7#) (GO G190)
                            G191 (EXIT NIL))
                       #5#)))
             (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| $) (|SparseUnivariatePolynomial| $)
             (|Union| 135 '"failed")
             (|Record| (|:| |coef| 135) (|:| |generator| $))
             (|Record| (|:| |coef1| $) (|:| |coef2| $)
                 (|:| |generator| $))
             (|Record| (|:| |coef1| $) (|:| |coef2| $))
             (|Union| 140 '"failed") (|Factored| $) (|Mapping| 6 6)
             (|Fraction| 7) (|OnePointCompletion| 76)
             (|Union| 15 '"failed")
             (|Record| (|:| |factor| 49) (|:| |exponent| 49))
             (|List| 147) (|Union| 80 '"failed") (|Table| 76 15)
             (|Union| '"prime" '"polynomial" '"normal" '"cyclic")
             (|Record| (|:| |mat| 153) (|:| |vec| (|Vector| 49)))
             (|Matrix| 49) (|Union| 133 '"failed")
             (|Union| 49 '"failed") (|Union| 6 '"failed")
             (|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 * 1022)
          '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 150 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 2 7 152 98 80 1 1 7 153 98 1 1 0 22
                                  98 100 2 0 104 98 80 106 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 138 135 1 0 3 0 1
                                  1 3 25 0 1 1 3 0 0 1 2 3 0 0 15 1 1 4
                                  25 0 1 1 3 145 0 1 1 3 76 0 1 1 0 25
                                  0 1 1 0 6 0 1 1 3 10 0 1 2 4 137 135
                                  0 1 1 4 7 0 84 1 6 76 0 129 1 0 7 0
                                  58 2 4 0 0 0 1 1 4 0 135 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 136 136 136 1 1
                                  4 0 135 1 2 4 0 0 0 1 0 3 148 1 1 4
                                  142 0 1 2 4 139 0 0 1 3 4 141 0 0 0 1
                                  2 4 10 0 0 1 2 4 137 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 146 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 149 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 0
                                  49 1 2 0 0 0 15 1 2 0 0 0 76 1 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|)) 
