
(/VERSIONCHECK 2) 

(DEFUN |GCNAALG;eval| (|rf| |a| $)
  (PROG (|coefOfa| #0=#:G1829 |s| #1=#:G1830 |i| #2=#:G1831 |lEq| |top|
            |bot|)
    (RETURN
      (SEQ (LETT |coefOfa|
                 (SPADCALL (ELT $ 36)
                     (SPADCALL (SPADCALL |a| (QREFELT $ 37))
                         (QREFELT $ 39))
                     (QREFELT $ 43))
                 . #3=(|GCNAALG;eval|))
           (SETELT $ 8
                   (PROGN
                     (LETT #0# NIL . #3#)
                     (SEQ (LETT |s| NIL . #3#)
                          (LETT #1#
                                (SPADCALL (QREFELT $ 18)
                                    (QREFELT $ 44)) . #3#)
                          G190
                          (COND
                            ((OR (ATOM #1#)
                                 (PROGN
                                   (LETT |s| (CAR #1#) . #3#)
                                   NIL))
                             #4=(GO G191)))
                          (SEQ (EXIT (LETT #0#
                                      (CONS
                                       (SPADCALL (|spadConstant| $ 20)
                                        (LIST |s|) (LIST 1)
                                        (QREFELT $ 26))
                                       #0#) . #3#)))
                          (LETT #1# (CDR #1#) . #3#) #5=(GO G190) G191
                          (EXIT (NREVERSE0 #0#)))))
           (LETT |lEq| NIL . #3#)
           (SEQ (LETT |i| 1 . #3#)
                (LETT #2#
                      (SPADCALL (QREFELT $ 8) (QREFELT $ 45)) . #3#)
                G190 (COND ((QSGREATERP |i| #2#) #4#))
                (SEQ (EXIT (LETT |lEq|
                                 (CONS (SPADCALL
                                        (SPADCALL (QREFELT $ 8) |i|
                                         (QREFELT $ 46))
                                        (SPADCALL |coefOfa| |i|
                                         (QREFELT $ 46))
                                        (QREFELT $ 48))
                                       |lEq|) . #3#)))
                (LETT |i| (QSADD1 |i|) . #3#) #5# G191 (EXIT NIL))
           (LETT |top|
                 (SPADCALL (SPADCALL |rf| (QREFELT $ 36)) |lEq|
                     (QREFELT $ 50)) . #3#)
           (LETT |bot|
                 (SPADCALL (SPADCALL |rf| (QREFELT $ 36)) |lEq|
                     (QREFELT $ 50)) . #3#)
           (EXIT (SPADCALL |top| |bot| (QREFELT $ 51))))))) 

(DEFUN |GCNAALG;genericLeftTraceForm;2$F;2| (|a| |b| $)
  (SPADCALL (SPADCALL |a| |b| (QREFELT $ 52)) (QREFELT $ 53))) 

(DEFUN |GCNAALG;genericLeftDiscriminant;F;3| ($)
  (PROG (|listBasis| #0=#:G1837 |b| #1=#:G1838 #2=#:G1839 |a|
            #3=#:G1840 |m|)
    (RETURN
      (SEQ (LETT |listBasis|
                 (SPADCALL (SPADCALL (QREFELT $ 56)) (QREFELT $ 59))
                 . #4=(|GCNAALG;genericLeftDiscriminant;F;3|))
           (LETT |m|
                 (SPADCALL
                     (PROGN
                       (LETT #0# NIL . #4#)
                       (SEQ (LETT |b| NIL . #4#)
                            (LETT #1# |listBasis| . #4#) G190
                            (COND
                              ((OR (ATOM #1#)
                                   (PROGN
                                     (LETT |b| (CAR #1#) . #4#)
                                     NIL))
                               #5=(GO G191)))
                            (SEQ (EXIT (LETT #0#
                                        (CONS
                                         (PROGN
                                           (LETT #2# NIL . #4#)
                                           (SEQ (LETT |a| NIL . #4#)
                                            (LETT #3#
                                             |listBasis| . #4#)
                                            G190
                                            (COND
                                              ((OR (ATOM #3#)
                                                (PROGN
                                                  (LETT |a|
                                                   (CAR #3#) . #4#)
                                                  NIL))
                                               #5#))
                                            (SEQ
                                             (EXIT
                                              (LETT #2#
                                               (CONS
                                                (SPADCALL |a| |b|
                                                 (QREFELT $ 54))
                                                #2#) . #4#)))
                                            (LETT #3# (CDR #3#) . #4#)
                                            #6=(GO G190) G191
                                            (EXIT (NREVERSE0 #2#))))
                                         #0#) . #4#)))
                            (LETT #1# (CDR #1#) . #4#) #6# G191
                            (EXIT (NREVERSE0 #0#))))
                     (QREFELT $ 62)) . #4#)
           (EXIT (SPADCALL |m| (QREFELT $ 63))))))) 

(DEFUN |GCNAALG;genericRightTraceForm;2$F;4| (|a| |b| $)
  (SPADCALL (SPADCALL |a| |b| (QREFELT $ 52)) (QREFELT $ 65))) 

(DEFUN |GCNAALG;genericRightDiscriminant;F;5| ($)
  (PROG (|listBasis| #0=#:G1846 |b| #1=#:G1847 #2=#:G1848 |a|
            #3=#:G1849 |m|)
    (RETURN
      (SEQ (LETT |listBasis|
                 (SPADCALL (SPADCALL (QREFELT $ 56)) (QREFELT $ 59))
                 . #4=(|GCNAALG;genericRightDiscriminant;F;5|))
           (LETT |m|
                 (SPADCALL
                     (PROGN
                       (LETT #0# NIL . #4#)
                       (SEQ (LETT |b| NIL . #4#)
                            (LETT #1# |listBasis| . #4#) G190
                            (COND
                              ((OR (ATOM #1#)
                                   (PROGN
                                     (LETT |b| (CAR #1#) . #4#)
                                     NIL))
                               #5=(GO G191)))
                            (SEQ (EXIT (LETT #0#
                                        (CONS
                                         (PROGN
                                           (LETT #2# NIL . #4#)
                                           (SEQ (LETT |a| NIL . #4#)
                                            (LETT #3#
                                             |listBasis| . #4#)
                                            G190
                                            (COND
                                              ((OR (ATOM #3#)
                                                (PROGN
                                                  (LETT |a|
                                                   (CAR #3#) . #4#)
                                                  NIL))
                                               #5#))
                                            (SEQ
                                             (EXIT
                                              (LETT #2#
                                               (CONS
                                                (SPADCALL |a| |b|
                                                 (QREFELT $ 66))
                                                #2#) . #4#)))
                                            (LETT #3# (CDR #3#) . #4#)
                                            #6=(GO G190) G191
                                            (EXIT (NREVERSE0 #2#))))
                                         #0#) . #4#)))
                            (LETT #1# (CDR #1#) . #4#) #6# G191
                            (EXIT (NREVERSE0 #0#))))
                     (QREFELT $ 62)) . #4#)
           (EXIT (SPADCALL |m| (QREFELT $ 63))))))) 

(DEFUN |GCNAALG;initializeLeft| ($)
  (SEQ (SETELT $ 71 'NIL)
       (SETELT $ 70 (SPADCALL (QREFELT $ 35) (QREFELT $ 72)))
       (EXIT (SPADCALL (QREFELT $ 74))))) 

(DEFUN |GCNAALG;initializeRight| ($)
  (SEQ (SETELT $ 76 'NIL)
       (SETELT $ 75 (SPADCALL (QREFELT $ 35) (QREFELT $ 77)))
       (EXIT (SPADCALL (QREFELT $ 74))))) 

(DEFUN |GCNAALG;leftRankPolynomial;Sup;8| ($)
  (SEQ (COND ((QREFELT $ 71) (|GCNAALG;initializeLeft| $)))
       (EXIT (QREFELT $ 70)))) 

(DEFUN |GCNAALG;rightRankPolynomial;Sup;9| ($)
  (SEQ (COND ((QREFELT $ 76) (|GCNAALG;initializeRight| $)))
       (EXIT (QREFELT $ 75)))) 

(DEFUN |GCNAALG;genericLeftMinimalPolynomial;$Sup;10| (|a| $)
  (SEQ (COND ((QREFELT $ 71) (|GCNAALG;initializeLeft| $)))
       (EXIT (SPADCALL
                 (CONS #'|GCNAALG;genericLeftMinimalPolynomial;$Sup;10!0|
                       (VECTOR $ |a|))
                 (QREFELT $ 70) (QREFELT $ 81))))) 

(DEFUN |GCNAALG;genericLeftMinimalPolynomial;$Sup;10!0| (|#1| $$)
  (|GCNAALG;eval| |#1| (QREFELT $$ 1) (QREFELT $$ 0))) 

(DEFUN |GCNAALG;genericRightMinimalPolynomial;$Sup;11| (|a| $)
  (SEQ (COND ((QREFELT $ 76) (|GCNAALG;initializeRight| $)))
       (EXIT (SPADCALL
                 (CONS #'|GCNAALG;genericRightMinimalPolynomial;$Sup;11!0|
                       (VECTOR $ |a|))
                 (QREFELT $ 75) (QREFELT $ 81))))) 

(DEFUN |GCNAALG;genericRightMinimalPolynomial;$Sup;11!0| (|#1| $$)
  (|GCNAALG;eval| |#1| (QREFELT $$ 1) (QREFELT $$ 0))) 

(DEFUN |GCNAALG;genericLeftTrace;$F;12| (|a| $)
  (PROG (#0=#:G1863 |d1| |rf|)
    (RETURN
      (SEQ (COND ((QREFELT $ 71) (|GCNAALG;initializeLeft| $)))
           (LETT |d1|
                 (PROG1 (LETT #0#
                              (- (SPADCALL (QREFELT $ 70)
                                     (QREFELT $ 85))
                                 1)
                              . #1=(|GCNAALG;genericLeftTrace;$F;12|))
                   (|check-subtype| (>= #0# 0) '(|NonNegativeInteger|)
                       #0#)) . #1#)
           (LETT |rf|
                 (SPADCALL (QREFELT $ 70) |d1| (QREFELT $ 86)) . #1#)
           (LETT |rf| (|GCNAALG;eval| |rf| |a| $) . #1#)
           (EXIT (SPADCALL |rf| (QREFELT $ 87))))))) 

(DEFUN |GCNAALG;genericRightTrace;$F;13| (|a| $)
  (PROG (#0=#:G1866 |d1| |rf|)
    (RETURN
      (SEQ (COND ((QREFELT $ 76) (|GCNAALG;initializeRight| $)))
           (LETT |d1|
                 (PROG1 (LETT #0#
                              (- (SPADCALL (QREFELT $ 75)
                                     (QREFELT $ 85))
                                 1)
                              . #1=(|GCNAALG;genericRightTrace;$F;13|))
                   (|check-subtype| (>= #0# 0) '(|NonNegativeInteger|)
                       #0#)) . #1#)
           (LETT |rf|
                 (SPADCALL (QREFELT $ 75) |d1| (QREFELT $ 86)) . #1#)
           (LETT |rf| (|GCNAALG;eval| |rf| |a| $) . #1#)
           (EXIT (SPADCALL |rf| (QREFELT $ 87))))))) 

(DEFUN |GCNAALG;genericLeftNorm;$F;14| (|a| $)
  (PROG (|rf|)
    (RETURN
      (SEQ (COND ((QREFELT $ 71) (|GCNAALG;initializeLeft| $)))
           (LETT |rf| (SPADCALL (QREFELT $ 70) 1 (QREFELT $ 86))
                 . #0=(|GCNAALG;genericLeftNorm;$F;14|))
           (COND
             ((ODDP (SPADCALL (QREFELT $ 70) (QREFELT $ 85)))
              (LETT |rf| (SPADCALL |rf| (QREFELT $ 87)) . #0#)))
           (EXIT |rf|))))) 

(DEFUN |GCNAALG;genericRightNorm;$F;15| (|a| $)
  (PROG (|rf|)
    (RETURN
      (SEQ (COND ((QREFELT $ 76) (|GCNAALG;initializeRight| $)))
           (LETT |rf| (SPADCALL (QREFELT $ 75) 1 (QREFELT $ 86))
                 . #0=(|GCNAALG;genericRightNorm;$F;15|))
           (COND
             ((ODDP (SPADCALL (QREFELT $ 75) (QREFELT $ 85)))
              (LETT |rf| (SPADCALL |rf| (QREFELT $ 87)) . #0#)))
           (EXIT |rf|))))) 

(DEFUN |GCNAALG;conditionsForIdempotents;VL;16| (|b| $)
  (PROG (|x|)
    (RETURN
      (SEQ (LETT |x| (SPADCALL |b| (QREFELT $ 90))
                 |GCNAALG;conditionsForIdempotents;VL;16|)
           (EXIT (SPADCALL (ELT $ 36)
                     (SPADCALL
                         (SPADCALL
                             (SPADCALL
                                 (SPADCALL |x| |x| (QREFELT $ 52)) |x|
                                 (QREFELT $ 91))
                             |b| (QREFELT $ 92))
                         (QREFELT $ 39))
                     (QREFELT $ 43))))))) 

(DEFUN |GCNAALG;conditionsForIdempotents;L;17| ($)
  (PROG (|x|)
    (RETURN
      (SEQ (LETT |x| (QREFELT $ 35)
                 |GCNAALG;conditionsForIdempotents;L;17|)
           (EXIT (SPADCALL (ELT $ 36)
                     (SPADCALL
                         (SPADCALL
                             (SPADCALL
                                 (SPADCALL |x| |x| (QREFELT $ 52)) |x|
                                 (QREFELT $ 91))
                             (QREFELT $ 37))
                         (QREFELT $ 39))
                     (QREFELT $ 43))))))) 

(DEFUN |GCNAALG;generic;$;18| ($) (QREFELT $ 35)) 

(DEFUN |GCNAALG;generic;VV$;19| (|vs| |ve| $)
  (PROG (#0=#:G1884 #1=#:G1885 |i| #2=#:G1886 |v|)
    (RETURN
      (SEQ (COND
             ((< (SPADCALL |ve| (QREFELT $ 96)) (QVSIZE |vs|))
              (|error| "generic: too little symbols"))
             ('T
              (SEQ (LETT |v|
                         (PRIMVEC2ARR
                             (PROGN
                               (LETT #0#
                                     (GETREFV
                                      #3=(SPADCALL |ve| (QREFELT $ 96)))
                                     . #4=(|GCNAALG;generic;VV$;19|))
                               (SEQ (LETT #1# 0 . #4#)
                                    (LETT |i| 1 . #4#)
                                    (LETT #2# #3# . #4#) G190
                                    (COND
                                      ((QSGREATERP |i| #2#) (GO G191)))
                                    (SEQ
                                     (EXIT
                                      (SETELT #0# #1#
                                       (SPADCALL (|spadConstant| $ 20)
                                        (LIST
                                         (SPADCALL |vs| |i|
                                          (QREFELT $ 23)))
                                        (LIST 1) (QREFELT $ 26)))))
                                    (LETT |i|
                                     (PROG1 (QSADD1 |i|)
                                       (LETT #1# (QSADD1 #1#) . #4#)) . #4#)
                                    (GO G190) G191 (EXIT NIL))
                               #0#)) . #4#)
                   (EXIT (SPADCALL
                             (SPADCALL (ELT $ 28) |v| (QREFELT $ 33))
                             |ve| (QREFELT $ 97)))))))))) 

(DEFUN |GCNAALG;generic;SV$;20| (|s| |ve| $)
  (PROG (#0=#:G1891 |q| #1=#:G1892 |lON| #2=#:G1893 #3=#:G1894 |i|
            #4=#:G1895 |sFC|)
    (RETURN
      (SEQ (LETT |lON|
                 (PROGN
                   (LETT #0# NIL . #5=(|GCNAALG;generic;SV$;20|))
                   (SEQ (LETT |q| 1 . #5#)
                        (LETT #1# (SPADCALL |ve| (QREFELT $ 96)) . #5#)
                        G190 (COND ((QSGREATERP |q| #1#) #6=(GO G191)))
                        (SEQ (EXIT (LETT #0#
                                    (CONS (STRINGIMAGE |q|) #0#) . #5#)))
                        (LETT |q| (QSADD1 |q|) . #5#) #7=(GO G190) G191
                        (EXIT (NREVERSE0 #0#)))) . #5#)
           (LETT |sFC|
                 (PRIMVEC2ARR
                     (PROGN
                       (LETT #2# (GETREFV (SIZE |lON|)) . #5#)
                       (SEQ (LETT #3# 0 . #5#) (LETT |i| NIL . #5#)
                            (LETT #4# |lON| . #5#) G190
                            (COND
                              ((OR (ATOM #4#)
                                   (PROGN
                                     (LETT |i| (CAR #4#) . #5#)
                                     NIL))
                               #6#))
                            (SEQ (EXIT (SETELT #2# #3#
                                        (SPADCALL (STRCONC |s| |i|)
                                         (QREFELT $ 17)))))
                            (LETT #4#
                                  (PROG1 (CDR #4#)
                                    (LETT #3# (QSADD1 #3#) . #5#)) . #5#)
                            #7# G191 (EXIT NIL))
                       #2#)) . #5#)
           (EXIT (SPADCALL |sFC| |ve| (QREFELT $ 98))))))) 

(DEFUN |GCNAALG;generic;V$;21| (|ve| $)
  (PROG (#0=#:G1901 |q| #1=#:G1902 |lON| #2=#:G1903 #3=#:G1904
            #4=#:G1905 |sFC| #5=#:G1906 #6=#:G1907 |i| #7=#:G1908 |v|)
    (RETURN
      (SEQ (LETT |lON|
                 (PROGN
                   (LETT #0# NIL . #8=(|GCNAALG;generic;V$;21|))
                   (SEQ (LETT |q| 1 . #8#)
                        (LETT #1# (SPADCALL |ve| (QREFELT $ 96)) . #8#)
                        G190 (COND ((QSGREATERP |q| #1#) #9=(GO G191)))
                        (SEQ (EXIT (LETT #0#
                                    (CONS (STRINGIMAGE |q|) #0#) . #8#)))
                        (LETT |q| (QSADD1 |q|) . #8#) #10=(GO G190)
                        G191 (EXIT (NREVERSE0 #0#)))) . #8#)
           (LETT |sFC|
                 (PRIMVEC2ARR
                     (PROGN
                       (LETT #2# (GETREFV (SIZE |lON|)) . #8#)
                       (SEQ (LETT #3# 0 . #8#) (LETT |i| NIL . #8#)
                            (LETT #4# |lON| . #8#) G190
                            (COND
                              ((OR (ATOM #4#)
                                   (PROGN
                                     (LETT |i| (CAR #4#) . #8#)
                                     NIL))
                               #9#))
                            (SEQ (EXIT (SETELT #2# #3#
                                        (SPADCALL
                                         (STRCONC "%"
                                          (STRCONC "x" |i|))
                                         (QREFELT $ 17)))))
                            (LETT #4#
                                  (PROG1 (CDR #4#)
                                    (LETT #3# (QSADD1 #3#) . #8#)) . #8#)
                            #10# G191 (EXIT NIL))
                       #2#)) . #8#)
           (LETT |v|
                 (PRIMVEC2ARR
                     (PROGN
                       (LETT #5#
                             (GETREFV #11=(SPADCALL |ve|
                                           (QREFELT $ 96))) . #8#)
                       (SEQ (LETT #6# 0 . #8#) (LETT |i| 1 . #8#)
                            (LETT #7# #11# . #8#) G190
                            (COND ((QSGREATERP |i| #7#) #9#))
                            (SEQ (EXIT (SETELT #5# #6#
                                        (SPADCALL (|spadConstant| $ 20)
                                         (LIST
                                          (SPADCALL |sFC| |i|
                                           (QREFELT $ 23)))
                                         (LIST 1) (QREFELT $ 26)))))
                            (LETT |i|
                                  (PROG1 (QSADD1 |i|)
                                    (LETT #6# (QSADD1 #6#) . #8#)) . #8#)
                            #10# G191 (EXIT NIL))
                       #5#)) . #8#)
           (EXIT (SPADCALL (SPADCALL (ELT $ 28) |v| (QREFELT $ 33))
                     |ve| (QREFELT $ 97))))))) 

(DEFUN |GCNAALG;generic;V$;22| (|vs| $)
  (SPADCALL |vs| (SPADCALL (QREFELT $ 56)) (QREFELT $ 98))) 

(DEFUN |GCNAALG;generic;S$;23| (|s| $)
  (SPADCALL |s| (SPADCALL (QREFELT $ 56)) (QREFELT $ 99))) 

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

(DEFUN |GenericNonAssociativeAlgebra;| (|#1| |#2| |#3| |#4|)
  (PROG (DV$1 DV$2 DV$3 DV$4 |dv$| $ |pv$| #0=#:G1918 |q| #1=#:G1919
              #2=#:G1920 #3=#:G1921 #4=#:G1922 #5=#:G1923 |i| |v|)
    (RETURN
      (SEQ (PROGN
             (LETT DV$1 (|devaluate| |#1|)
                   . #6=(|GenericNonAssociativeAlgebra|))
             (LETT DV$2 (|devaluate| |#2|) . #6#)
             (LETT DV$3 (|devaluate| |#3|) . #6#)
             (LETT DV$4 (|devaluate| |#4|) . #6#)
             (LETT |dv$|
                   (LIST '|GenericNonAssociativeAlgebra| DV$1 DV$2 DV$3
                         DV$4) . #6#)
             (LETT $ (GETREFV 113) . #6#)
             (QSETREFV $ 0 |dv$|)
             (QSETREFV $ 3
                 (LETT |pv$|
                       (|buildPredVector| 0 0
                           (LIST (|HasCategory|
                                     (|Fraction| (|Polynomial| |#1|))
                                     '(|IntegralDomain|))
                                 (|HasCategory|
                                     (|Fraction| (|Polynomial| |#1|))
                                     '(|Field|))
                                 (|HasCategory| |#1|
                                     '(|IntegralDomain|)))) . #6#))
             (|haddProp| |$ConstructorCache|
                 '|GenericNonAssociativeAlgebra|
                 (LIST DV$1 DV$2 DV$3 DV$4) (CONS 1 $))
             (|stuffDomainSlots| $)
             (QSETREFV $ 6 |#1|)
             (QSETREFV $ 7 |#2|)
             (QSETREFV $ 8 |#3|)
             (QSETREFV $ 9 |#4|)
             (QSETREFV $ 14
                 (PROGN
                   (LETT #0# NIL . #6#)
                   (SEQ (LETT |q| 1 . #6#) G190
                        (COND ((QSGREATERP |q| |#2|) #7=(GO G191)))
                        (SEQ (EXIT (LETT #0#
                                    (CONS (STRINGIMAGE |q|) #0#) . #6#)))
                        (LETT |q| (QSADD1 |q|) . #6#) #8=(GO G190) G191
                        (EXIT (NREVERSE0 #0#)))))
             (QSETREFV $ 18
                 (PRIMVEC2ARR
                     (PROGN
                       (LETT #1#
                             (GETREFV (SIZE #9=(QREFELT $ 14))) . #6#)
                       (SEQ (LETT #2# 0 . #6#) (LETT |i| NIL . #6#)
                            (LETT #3# #9# . #6#) G190
                            (COND
                              ((OR (ATOM #3#)
                                   (PROGN
                                     (LETT |i| (CAR #3#) . #6#)
                                     NIL))
                               #7#))
                            (SEQ (EXIT (SETELT #1# #2#
                                        (SPADCALL
                                         (STRCONC "%"
                                          (STRCONC "x" |i|))
                                         (QREFELT $ 17)))))
                            (LETT #3#
                                  (PROG1 (CDR #3#)
                                    (LETT #2# (QSADD1 #2#) . #6#)) . #6#)
                            #8# G191 (EXIT NIL))
                       #1#)))
             (QSETREFV $ 35
                 (SEQ (LETT |v|
                            (PRIMVEC2ARR
                                (PROGN
                                  (LETT #4# (GETREFV |#2|) . #6#)
                                  (SEQ (LETT #5# 0 . #6#)
                                       (LETT |i| 1 . #6#) G190
                                       (COND
                                         ((QSGREATERP |i| |#2|) #7#))
                                       (SEQ
                                        (EXIT
                                         (SETELT #4# #5#
                                          (SPADCALL
                                           (|spadConstant| $ 20)
                                           (LIST
                                            (SPADCALL (QREFELT $ 18)
                                             |i| (QREFELT $ 23)))
                                           (LIST 1) (QREFELT $ 26)))))
                                       (LETT |i|
                                        (PROG1 (QSADD1 |i|)
                                          (LETT #5# (QSADD1 #5#) . #6#)) . #6#)
                                       #8# G191 (EXIT NIL))
                                  #4#)) . #6#)
                      (EXIT (SPADCALL
                                (SPADCALL (ELT $ 28) |v|
                                    (QREFELT $ 33))
                                (QREFELT $ 34)))))
             (COND
               ((|testBitVector| |pv$| 3)
                (PROGN
                  (QSETREFV $ 54
                      (CONS (|dispatchFunction|
                                |GCNAALG;genericLeftTraceForm;2$F;2|)
                            $))
                  (QSETREFV $ 64
                      (CONS (|dispatchFunction|
                                |GCNAALG;genericLeftDiscriminant;F;3|)
                            $))
                  (QSETREFV $ 66
                      (CONS (|dispatchFunction|
                                |GCNAALG;genericRightTraceForm;2$F;4|)
                            $))
                  (QSETREFV $ 67
                      (CONS (|dispatchFunction|
                                |GCNAALG;genericRightDiscriminant;F;5|)
                            $))
                  (QSETREFV $ 70 (|spadConstant| $ 69))
                  (QSETREFV $ 71 'T)
                  NIL
                  (QSETREFV $ 75 (|spadConstant| $ 69))
                  (QSETREFV $ 76 'T)
                  NIL
                  (QSETREFV $ 78
                      (CONS (|dispatchFunction|
                                |GCNAALG;leftRankPolynomial;Sup;8|)
                            $))
                  (QSETREFV $ 79
                      (CONS (|dispatchFunction|
                                |GCNAALG;rightRankPolynomial;Sup;9|)
                            $))
                  (QSETREFV $ 82
                      (CONS (|dispatchFunction|
                                |GCNAALG;genericLeftMinimalPolynomial;$Sup;10|)
                            $))
                  (QSETREFV $ 83
                      (CONS (|dispatchFunction|
                                |GCNAALG;genericRightMinimalPolynomial;$Sup;11|)
                            $))
                  (QSETREFV $ 53
                      (CONS (|dispatchFunction|
                                |GCNAALG;genericLeftTrace;$F;12|)
                            $))
                  (QSETREFV $ 65
                      (CONS (|dispatchFunction|
                                |GCNAALG;genericRightTrace;$F;13|)
                            $))
                  (QSETREFV $ 88
                      (CONS (|dispatchFunction|
                                |GCNAALG;genericLeftNorm;$F;14|)
                            $))
                  (QSETREFV $ 89
                      (CONS (|dispatchFunction|
                                |GCNAALG;genericRightNorm;$F;15|)
                            $)))))
             $))))) 

(MAKEPROP '|GenericNonAssociativeAlgebra| '|infovec|
    (LIST '#(NIL NIL NIL NIL NIL
             (|AlgebraGivenByStructuralConstants| 27 7 8
                 (NRTEVAL (SPADCALL (QREFELT $ 9) (QREFELT $ 13))))
             (|local| |#1|) (|local| |#2|) (|local| |#3|)
             (|local| |#4|) (|Vector| 61) (|Vector| (|Matrix| 6))
             (|CoerceVectorMatrixPackage| 6) (0 . |coerce|)
             '|listOfNumbers| (|String|) (|Symbol|) (5 . |coerce|)
             '|symbolsForCoef| (|Polynomial| 6) (10 . |One|)
             (|Integer|) (|Vector| 16) (14 . |elt|) (|List| 16)
             (|List| 84) (20 . |monomial|) (|Fraction| 19)
             (27 . |coerce|) (|Vector| 27) (|Mapping| 27 19)
             (|Vector| 19) (|VectorFunctions2| 19 27) (32 . |map|)
             (38 . |convert|) '|genericElement| (43 . |numer|)
             (48 . |coordinates|) (|List| 27) (53 . |entries|)
             (|List| 19) (|Mapping| 19 27) (|ListFunctions2| 27 19)
             (58 . |map|) (64 . |entries|) (69 . |maxIndex|)
             (74 . |elt|) (|Equation| 19) (80 . |equation|)
             (|List| (|Equation| $)) (86 . |eval|) (92 . /) (98 . *)
             (104 . |genericLeftTrace|) (109 . |genericLeftTraceForm|)
             (|Vector| $) (115 . |basis|) (|List| $$) (|Vector| $$)
             (119 . |entries|) (|List| 38) (|Matrix| 27)
             (124 . |matrix|) (129 . |determinant|)
             (134 . |genericLeftDiscriminant|)
             (138 . |genericRightTrace|)
             (143 . |genericRightTraceForm|)
             (149 . |genericRightDiscriminant|)
             (|SparseUnivariatePolynomial| 27) (153 . |Zero|)
             '|leftRankPoly| '|initLeft?|
             (157 . |leftMinimalPolynomial|) (|Void|) (162 . |void|)
             '|rightRankPoly| '|initRight?|
             (166 . |rightMinimalPolynomial|)
             (171 . |leftRankPolynomial|) (175 . |rightRankPolynomial|)
             (|Mapping| 27 27) (179 . |map|)
             (185 . |genericLeftMinimalPolynomial|)
             (190 . |genericRightMinimalPolynomial|)
             (|NonNegativeInteger|) (195 . |degree|)
             (200 . |coefficient|) (206 . -) (211 . |genericLeftNorm|)
             (216 . |genericRightNorm|) |GCNAALG;generic;V$;21|
             (221 . -) (227 . |coordinates|)
             |GCNAALG;conditionsForIdempotents;VL;16|
             |GCNAALG;conditionsForIdempotents;L;17|
             |GCNAALG;generic;$;18| (233 . |maxIndex|)
             (238 . |represents|) |GCNAALG;generic;VV$;19|
             |GCNAALG;generic;SV$;20| |GCNAALG;generic;V$;22|
             |GCNAALG;generic;S$;23|
             (|SparseUnivariatePolynomial| (|Polynomial| 27))
             (|Union| $ '"failed") (|List| 29)
             (|Record| (|:| |particular| $) (|:| |basis| (|List| $)))
             (|Union| 105 '"failed") (|SquareMatrix| 7 27)
             (|List| (|Polynomial| 27)) (|Boolean|) (|PositiveInteger|)
             (|OutputForm|) (|SingleInteger|))
          '#(|rightRankPolynomial| 244 |rightMinimalPolynomial| 248
             |represents| 253 |leftRankPolynomial| 259
             |leftMinimalPolynomial| 263 |genericRightTraceForm| 268
             |genericRightTrace| 274 |genericRightNorm| 279
             |genericRightMinimalPolynomial| 284
             |genericRightDiscriminant| 289 |genericLeftTraceForm| 293
             |genericLeftTrace| 299 |genericLeftNorm| 304
             |genericLeftMinimalPolynomial| 309
             |genericLeftDiscriminant| 314 |generic| 318 |coordinates|
             349 |convert| 360 |conditionsForIdempotents| 365 |basis|
             374 - 378 * 384)
          'NIL
          (CONS (|makeByteWordVec2| 1
                    '(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1))
                (CONS '#(|FramedNonAssociativeAlgebra&|
                         |FiniteRankNonAssociativeAlgebra&|
                         |NonAssociativeAlgebra&| |Module&| NIL
                         |NonAssociativeRng&| NIL NIL NIL
                         |AbelianGroup&| NIL |AbelianMonoid&|
                         |AbelianSemiGroup&| |Monad&| |SetCategory&|
                         |BasicType&| NIL NIL)
                      (CONS '#((|FramedNonAssociativeAlgebra|
                                   (|Fraction| (|Polynomial| 6)))
                               (|FiniteRankNonAssociativeAlgebra|
                                   (|Fraction| (|Polynomial| 6)))
                               (|NonAssociativeAlgebra|
                                   (|Fraction| (|Polynomial| 6)))
                               (|Module| (|Fraction| (|Polynomial| 6)))
                               (|BiModule|
                                   (|Fraction| (|Polynomial| 6))
                                   (|Fraction| (|Polynomial| 6)))
                               (|NonAssociativeRng|)
                               (|LeftModule|
                                   (|SquareMatrix| 7
                                    (|Fraction| (|Polynomial| 6))))
                               (|RightModule|
                                   (|Fraction| (|Polynomial| 6)))
                               (|LeftModule|
                                   (|Fraction| (|Polynomial| 6)))
                               (|AbelianGroup|)
                               (|CancellationAbelianMonoid|)
                               (|AbelianMonoid|) (|AbelianSemiGroup|)
                               (|Monad|) (|SetCategory|) (|BasicType|)
                               (|CoercibleTo| 111) (|unitsKnown|))
                            (|makeByteWordVec2| 101
                                '(1 12 10 11 13 1 16 0 15 17 0 19 0 20
                                  2 22 16 0 21 23 3 19 0 0 24 25 26 1
                                  27 0 19 28 2 32 29 30 31 33 1 0 0 29
                                  34 1 27 19 0 36 1 0 29 0 37 1 29 38 0
                                  39 2 42 40 41 38 43 1 22 24 0 44 1 40
                                  21 0 45 2 40 19 0 21 46 2 47 0 19 19
                                  48 2 19 0 0 49 50 2 27 0 19 19 51 2 0
                                  0 0 0 52 1 0 27 0 53 2 0 27 0 0 54 0
                                  0 55 56 1 58 57 0 59 1 61 0 60 62 1
                                  61 27 0 63 0 0 27 64 1 0 27 0 65 2 0
                                  27 0 0 66 0 0 27 67 0 68 0 69 1 0 68
                                  0 72 0 73 0 74 1 0 68 0 77 0 0 68 78
                                  0 0 68 79 2 68 0 80 0 81 1 0 68 0 82
                                  1 0 68 0 83 1 68 84 0 85 2 68 27 0 84
                                  86 1 27 0 0 87 1 0 27 0 88 1 0 27 0
                                  89 2 0 0 0 0 91 2 0 29 0 55 92 1 58
                                  21 0 96 2 0 0 29 55 97 0 3 68 79 1 1
                                  68 0 77 2 0 0 29 55 97 0 3 68 78 1 1
                                  68 0 72 2 3 27 0 0 66 1 3 27 0 65 1 3
                                  27 0 89 1 3 68 0 83 0 3 27 67 2 3 27
                                  0 0 54 1 3 27 0 53 1 3 27 0 88 1 3 68
                                  0 82 0 3 27 64 2 0 0 16 55 99 2 0 0
                                  22 55 98 1 0 0 22 100 1 0 0 55 90 0 0
                                  0 95 1 0 0 16 101 1 0 29 0 37 2 0 29
                                  0 55 92 1 0 0 29 34 0 3 40 94 1 3 40
                                  55 93 0 0 55 56 2 0 0 0 0 91 2 0 0 0
                                  0 52)))))
          '|lookupIncomplete|)) 
