
(/VERSIONCHECK 2) 

(DEFUN |MODOP;One;$;1| ($)
  (SPADCALL (|spadConstant| $ 13) (|spadConstant| $ 15) (QREFELT $ 16))) 

(DEFUN |MODOP;coerce;I$;2| (|n| $)
  (SPADCALL (SPADCALL |n| (QREFELT $ 18)) (QREFELT $ 19))) 

(DEFUN |MODOP;coerce;R$;3| (|r| $)
  (COND ((SPADCALL |r| (QREFELT $ 22)) (|spadConstant| $ 23))
        ('T (SPADCALL |r| (|spadConstant| $ 15) (QREFELT $ 16))))) 

(DEFUN |MODOP;coerce;Bo$;4| (|op| $)
  (|MODOP;nocopy| (SPADCALL |op| (QREFELT $ 25)) $)) 

(DEFUN |MODOP;nocopy| (|op| $)
  (SPADCALL (|spadConstant| $ 13) (SPADCALL |op| (QREFELT $ 27))
            (QREFELT $ 16))) 

(DEFUN |MODOP;elt;$2M;6| (|x| |r| $)
  (PROG (#1=#:G1824 #2=#:G1823 #3=#:G1825 #4=#:G1828 |t|)
    (RETURN
     (SEQ
      (PROGN
       (LETT #1# NIL . #5=(|MODOP;elt;$2M;6|))
       (SEQ (LETT |t| NIL . #5#) (LETT #4# (SPADCALL |x| (QREFELT $ 31)) . #5#)
            G190
            (COND
             ((OR (ATOM #4#) (PROGN (LETT |t| (CAR #4#) . #5#) NIL))
              (GO G191)))
            (SEQ
             (EXIT
              (PROGN
               (LETT #3#
                     (SPADCALL (QCDR |t|) (|MODOP;termeval| (QCAR |t|) |r| $)
                               (QREFELT $ 32))
                     . #5#)
               (COND (#1# (LETT #2# (SPADCALL #2# #3# (QREFELT $ 33)) . #5#))
                     ('T (PROGN (LETT #2# #3# . #5#) (LETT #1# 'T . #5#)))))))
            (LETT #4# (CDR #4#) . #5#) (GO G190) G191 (EXIT NIL))
       (COND (#1# #2#) ('T (|spadConstant| $ 34)))))))) 

(DEFUN |MODOP;rmeval| (|t| |r| $)
  (SPADCALL (QCAR |t|) (|MODOP;monomeval| (QCDR |t|) |r| $) (QREFELT $ 36))) 

(DEFUN |MODOP;termcopy| (|t| $)
  (PROG (#1=#:G1835 |rm| #2=#:G1834)
    (RETURN
     (SEQ
      (PROGN
       (LETT #2# NIL . #3=(|MODOP;termcopy|))
       (SEQ (LETT |rm| NIL . #3#) (LETT #1# |t| . #3#) G190
            (COND
             ((OR (ATOM #1#) (PROGN (LETT |rm| (CAR #1#) . #3#) NIL))
              (GO G191)))
            (SEQ
             (EXIT (LETT #2# (CONS (CONS (QCAR |rm|) (QCDR |rm|)) #2#) . #3#)))
            (LETT #1# (CDR #1#) . #3#) (GO G190) G191
            (EXIT (NREVERSE0 #2#)))))))) 

(DEFUN |MODOP;characteristic;Nni;9| ($) (SPADCALL (QREFELT $ 38))) 

(DEFUN |MODOP;mkop| (|r| |fg| $)
  (SPADCALL (LIST (CONS |r| |fg|)) (QREFELT $ 41))) 

(DEFUN |MODOP;evaluate;$M$;11| (|f| |g| $)
  (|MODOP;nocopy|
   (SPADCALL (SPADCALL |f| (QREFELT $ 42)) (QREFELT $ 10) |g| (QREFELT $ 45))
   $)) 

(DEFUN |MODOP;makeop;RFg$;12| (|r| |fg| $)
  (COND
   ((SPADCALL |r| (|spadConstant| $ 48) (QREFELT $ 49))
    (SPADCALL (|MODOP;mkop| (SPADCALL |r| (QREFELT $ 50)) |fg| $)
              (QREFELT $ 51)))
   ('T (|MODOP;mkop| |r| |fg| $)))) 

(DEFUN |MODOP;makeop;RFg$;13| (|r| |fg| $) (|MODOP;mkop| |r| |fg| $)) 

(DEFUN |MODOP;inv| (|t| $)
  (PROG (#1=#:G1853 |m| |c|)
    (RETURN
     (SEQ
      (COND ((NULL |t|) (|spadConstant| $ 12))
            ('T
             (SEQ (LETT |c| (QCAR (|SPADfirst| |t|)) . #2=(|MODOP;inv|))
                  (LETT |m| (QCDR (|SPADfirst| |t|)) . #2#)
                  (EXIT
                   (SPADCALL
                    (SPADCALL (|MODOP;inv| (CDR |t|) $)
                              (SPADCALL (|spadConstant| $ 13)
                                        (SPADCALL |m| (QREFELT $ 52))
                                        (QREFELT $ 16))
                              (QREFELT $ 53))
                    (SPADCALL
                     (PROG2
                         (LETT #1# (SPADCALL |c| (QREFELT $ 55)) . #2#)
                         (QCDR #1#)
                       (|check-union| (QEQCAR #1# 0) (QREFELT $ 6) #1#))
                     (QREFELT $ 19))
                    (QREFELT $ 53)))))))))) 

(DEFUN |MODOP;^;$I$;15| (|x| |i| $)
  (COND ((EQL |i| 0) (|spadConstant| $ 12))
        ((< 0 |i|) (SPADCALL |x| |i| (QREFELT $ 60)))
        ('T
         (SPADCALL (|MODOP;inv| (SPADCALL |x| (QREFELT $ 61)) $) (- |i|)
                   (QREFELT $ 62))))) 

(DEFUN |MODOP;evaluateInverse;$M$;16| (|f| |g| $)
  (|MODOP;nocopy|
   (SPADCALL (SPADCALL |f| (QREFELT $ 42)) (QREFELT $ 11) |g| (QREFELT $ 45))
   $)) 

(DEFUN |MODOP;coerce;$Of;17| (|x| $)
  (PROG (#1=#:G1870 |t| #2=#:G1869)
    (RETURN
     (SEQ
      (COND
       ((SPADCALL |x| (QREFELT $ 64))
        (SPADCALL (|spadConstant| $ 48) (QREFELT $ 66)))
       ('T
        (SPADCALL (ELT $ 67)
                  (PROGN
                   (LETT #2# NIL . #3=(|MODOP;coerce;$Of;17|))
                   (SEQ (LETT |t| NIL . #3#)
                        (LETT #1# (SPADCALL |x| (QREFELT $ 31)) . #3#) G190
                        (COND
                         ((OR (ATOM #1#)
                              (PROGN (LETT |t| (CAR #1#) . #3#) NIL))
                          (GO G191)))
                        (SEQ
                         (EXIT
                          (LETT #2#
                                (CONS (|MODOP;trm2O| (QCDR |t|) (QCAR |t|) $)
                                      #2#)
                                . #3#)))
                        (LETT #1# (CDR #1#) . #3#) (GO G190) G191
                        (EXIT (NREVERSE0 #2#))))
                  (QREFELT $ 70)))))))) 

(DEFUN |MODOP;trm2O| (|c| |t| $)
  (COND ((EQL |c| 1) (|MODOP;term2O| |t| $))
        ((EQL |c| -1) (SPADCALL (|MODOP;term2O| |t| $) (QREFELT $ 72)))
        ('T
         (SPADCALL (SPADCALL |c| (QREFELT $ 73)) (|MODOP;term2O| |t| $)
                   (QREFELT $ 74))))) 

(DEFUN |MODOP;term2O| (|t| $)
  (PROG (#1=#:G1880 |rm| #2=#:G1879)
    (RETURN
     (SEQ
      (SPADCALL (ELT $ 74)
                (PROGN
                 (LETT #2# NIL . #3=(|MODOP;term2O|))
                 (SEQ (LETT |rm| NIL . #3#) (LETT #1# |t| . #3#) G190
                      (COND
                       ((OR (ATOM #1#) (PROGN (LETT |rm| (CAR #1#) . #3#) NIL))
                        (GO G191)))
                      (SEQ
                       (EXIT
                        (LETT #2#
                              (CONS (|MODOP;rm2O| (QCAR |rm|) (QCDR |rm|) $)
                                    #2#)
                              . #3#)))
                      (LETT #1# (CDR #1#) . #3#) (GO G190) G191
                      (EXIT (NREVERSE0 #2#))))
                (QREFELT $ 70)))))) 

(DEFUN |MODOP;rm2O| (|c| |m| $)
  (COND
   ((SPADCALL |c| (|spadConstant| $ 13) (QREFELT $ 75))
    (SPADCALL |m| (QREFELT $ 76)))
   ((SPADCALL |m| (|spadConstant| $ 15) (QREFELT $ 77))
    (SPADCALL |c| (QREFELT $ 66)))
   ('T
    (SPADCALL (SPADCALL |c| (QREFELT $ 66)) (SPADCALL |m| (QREFELT $ 76))
              (QREFELT $ 74))))) 

(DEFUN |MODOP;*;3$;21| (|x| |y| $)
  (PROG (#1=#:G1884 #2=#:G1883 #3=#:G1885 #4=#:G1887 #5=#:G1886 #6=#:G1888
         #7=#:G1892 |s| #8=#:G1891 |t|)
    (RETURN
     (SEQ
      (PROGN
       (LETT #1# NIL . #9=(|MODOP;*;3$;21|))
       (SEQ (LETT |t| NIL . #9#) (LETT #8# (SPADCALL |x| (QREFELT $ 31)) . #9#)
            G190
            (COND
             ((OR (ATOM #8#) (PROGN (LETT |t| (CAR #8#) . #9#) NIL))
              #10=(GO G191)))
            (SEQ
             (EXIT
              (PROGN
               (LETT #3#
                     (PROGN
                      (LETT #4# NIL . #9#)
                      (SEQ (LETT |s| NIL . #9#)
                           (LETT #7# (SPADCALL |y| (QREFELT $ 31)) . #9#) G190
                           (COND
                            ((OR (ATOM #7#)
                                 (PROGN (LETT |s| (CAR #7#) . #9#) NIL))
                             #10#))
                           (SEQ
                            (EXIT
                             (PROGN
                              (LETT #6#
                                    (|MODOP;termprod0|
                                     (* (QCDR |t|) (QCDR |s|)) (QCAR |t|)
                                     (QCAR |s|) $)
                                    . #9#)
                              (COND
                               (#4#
                                (LETT #5# (SPADCALL #5# #6# (QREFELT $ 78))
                                      . #9#))
                               ('T
                                (PROGN
                                 (LETT #5# #6# . #9#)
                                 (LETT #4# 'T . #9#)))))))
                           (LETT #7# (CDR #7#) . #9#) #11=(GO G190) G191
                           (EXIT NIL))
                      (COND (#4# #5#) ('T (|spadConstant| $ 23))))
                     . #9#)
               (COND (#1# (LETT #2# (SPADCALL #2# #3# (QREFELT $ 78)) . #9#))
                     ('T (PROGN (LETT #2# #3# . #9#) (LETT #1# 'T . #9#)))))))
            (LETT #8# (CDR #8#) . #9#) #11# G191 (EXIT NIL))
       (COND (#1# #2#) ('T (|spadConstant| $ 23)))))))) 

(DEFUN |MODOP;termprod0| (|n| |x| |y| $)
  (COND
   ((< |n| 0)
    (SPADCALL (SPADCALL (|MODOP;termprod| (- |n|) |x| |y| $) (QREFELT $ 41))
              (QREFELT $ 51)))
   ('T (SPADCALL (|MODOP;termprod| |n| |x| |y| $) (QREFELT $ 41))))) 

(DEFUN |MODOP;termprod| (|n| |x| |y| $)
  (PROG (|rm| |lc| |xx|)
    (RETURN
     (SEQ
      (LETT |lc|
            (|SPADfirst|
             (LETT |xx| (|MODOP;termcopy| |x| $) . #1=(|MODOP;termprod|)))
            . #1#)
      (PROGN
       (RPLACA |lc| (SPADCALL |n| (QCAR |lc|) (QREFELT $ 79)))
       (QCAR |lc|))
      (LETT |rm| (SPADCALL |xx| (QREFELT $ 80)) . #1#)
      (EXIT
       (COND
        ((SPADCALL (QCAR (|SPADfirst| |y|)) (|spadConstant| $ 13)
                   (QREFELT $ 75))
         (SEQ
          (PROGN
           (RPLACD |rm|
                   (SPADCALL (QCDR |rm|) (QCDR (|SPADfirst| |y|))
                             (QREFELT $ 81)))
           (QCDR |rm|))
          (EXIT
           (SPADCALL |xx| (|MODOP;termcopy| (CDR |y|) $) (QREFELT $ 82)))))
        ((SPADCALL (QCDR |rm|) (|spadConstant| $ 15) (QREFELT $ 77))
         (SEQ
          (PROGN
           (RPLACA |rm|
                   (SPADCALL (QCAR |rm|) (QCAR (|SPADfirst| |y|))
                             (QREFELT $ 83)))
           (QCAR |rm|))
          (PROGN (RPLACD |rm| (QCDR (|SPADfirst| |y|))) (QCDR |rm|))
          (EXIT
           (SPADCALL |xx| (|MODOP;termcopy| (CDR |y|) $) (QREFELT $ 82)))))
        ('T (SPADCALL |xx| (|MODOP;termcopy| |y| $) (QREFELT $ 82))))))))) 

(DEFUN |MODOP;opeval;Bo2M;24| (|op| |r| $)
  (PROG (|func|)
    (RETURN
     (SEQ
      (LETT |func| (SPADCALL |op| (QREFELT $ 10) (QREFELT $ 85))
            |MODOP;opeval;Bo2M;24|)
      (EXIT
       (COND ((QEQCAR |func| 1) (SPADCALL |op| |r| (QREFELT $ 86)))
             ('T (SPADCALL |r| (QCDR |func|))))))))) 

(DEFUN |MODOP;opeval;Bo2M;25| (|op| |r| $)
  (PROG (|func|)
    (RETURN
     (SEQ
      (LETT |func| (SPADCALL |op| (QREFELT $ 10) (QREFELT $ 85))
            |MODOP;opeval;Bo2M;25|)
      (EXIT
       (COND
        ((QEQCAR |func| 1)
         (|error| "eval: operator has no evaluation function"))
        ('T (SPADCALL |r| (QCDR |func|))))))))) 

(DEFUN |MODOP;opInvEval| (|op| |r| $)
  (PROG (|func|)
    (RETURN
     (SEQ
      (LETT |func| (SPADCALL |op| (QREFELT $ 11) (QREFELT $ 85))
            |MODOP;opInvEval|)
      (EXIT
       (COND
        ((QEQCAR |func| 1)
         (|error| "eval: operator has no inverse evaluation function"))
        ('T (SPADCALL |r| (QCDR |func|))))))))) 

(DEFUN |MODOP;termeval| (|t| |r| $)
  (PROG (#1=#:G1928 |rm|)
    (RETURN
     (SEQ
      (SEQ (LETT |rm| NIL . #2=(|MODOP;termeval|))
           (LETT #1# (REVERSE |t|) . #2#) G190
           (COND
            ((OR (ATOM #1#) (PROGN (LETT |rm| (CAR #1#) . #2#) NIL))
             (GO G191)))
           (SEQ (EXIT (LETT |r| (|MODOP;rmeval| |rm| |r| $) . #2#)))
           (LETT #1# (CDR #1#) . #2#) (GO G190) G191 (EXIT NIL))
      (EXIT |r|))))) 

(DEFUN |MODOP;monomeval| (|m| |r| $)
  (PROG (#1=#:G1941 |i| |g| |e| #2=#:G1940 |rec|)
    (RETURN
     (SEQ
      (SEQ (LETT |rec| NIL . #3=(|MODOP;monomeval|))
           (LETT #2# (NREVERSE (SPADCALL |m| (QREFELT $ 90))) . #3#) G190
           (COND
            ((OR (ATOM #2#) (PROGN (LETT |rec| (CAR #2#) . #3#) NIL))
             #4=(GO G191)))
           (SEQ (LETT |e| (QCDR |rec|) . #3#) (LETT |g| (QCAR |rec|) . #3#)
                (EXIT
                 (COND
                  ((< 0 |e|)
                   (SEQ (LETT |i| 1 . #3#) G190
                        (COND ((QSGREATERP |i| |e|) #4#))
                        (SEQ
                         (EXIT
                          (LETT |r| (SPADCALL |g| |r| (QREFELT $ 87)) . #3#)))
                        (LETT |i| (QSADD1 |i|) . #3#) #5=(GO G190) G191
                        (EXIT NIL)))
                  ((< |e| 0)
                   (SEQ (LETT |i| 1 . #3#) (LETT #1# (- |e|) . #3#) G190
                        (COND ((QSGREATERP |i| #1#) #4#))
                        (SEQ
                         (EXIT (LETT |r| (|MODOP;opInvEval| |g| |r| $) . #3#)))
                        (LETT |i| (QSADD1 |i|) . #3#) #5# G191 (EXIT NIL))))))
           (LETT #2# (CDR #2#) . #3#) #5# G191 (EXIT NIL))
      (EXIT |r|))))) 

(DEFUN |MODOP;recip;$U;29| (|x| $)
  (PROG (|r1| |r|)
    (RETURN
     (SEQ (LETT |r| (SPADCALL |x| (QREFELT $ 92)) . #1=(|MODOP;recip;$U;29|))
          (EXIT
           (COND ((QEQCAR |r| 1) (CONS 1 "failed"))
                 (#2='T
                  (SEQ (LETT |r1| (SPADCALL (QCDR |r|) (QREFELT $ 55)) . #1#)
                       (EXIT
                        (COND ((QEQCAR |r1| 1) (CONS 1 "failed"))
                              (#2#
                               (CONS 0
                                     (SPADCALL (QCDR |r1|)
                                               (QREFELT $ 19)))))))))))))) 

(DEFUN |MODOP;retractIfCan;$U;30| (|x| $)
  (PROG (|rm| |t| |r|)
    (RETURN
     (SEQ
      (LETT |r| (SPADCALL |x| (QREFELT $ 95))
            . #1=(|MODOP;retractIfCan;$U;30|))
      (EXIT
       (COND ((QEQCAR |r| 1) (CONS 1 "failed"))
             ((NULL (LETT |t| (QCDR |r|) . #1#))
              (CONS 0 (|spadConstant| $ 48)))
             ((NULL (CDR |t|))
              (SEQ (LETT |rm| (|SPADfirst| |t|) . #1#)
                   (EXIT
                    (COND
                     ((SPADCALL (QCDR |rm|) (|spadConstant| $ 15)
                                (QREFELT $ 77))
                      (CONS 0 (QCAR |rm|)))
                     (#2='T (CONS 1 "failed"))))))
             (#2# (CONS 1 "failed")))))))) 

(DEFUN |MODOP;retractIfCan;$U;31| (|x| $)
  (PROG (|rm| |t| |r|)
    (RETURN
     (SEQ
      (LETT |r| (SPADCALL |x| (QREFELT $ 95))
            . #1=(|MODOP;retractIfCan;$U;31|))
      (EXIT
       (COND
        ((OR (QEQCAR |r| 1)
             (OR (NULL (LETT |t| (QCDR |r|) . #1#)) (NULL (NULL (CDR |t|)))))
         (CONS 1 "failed"))
        ('T
         (SEQ (LETT |rm| (|SPADfirst| |t|) . #1#)
              (EXIT
               (COND
                ((SPADCALL (QCAR |rm|) (|spadConstant| $ 13) (QREFELT $ 75))
                 (SPADCALL (QCDR |rm|) (QREFELT $ 97)))
                ('T (CONS 1 "failed")))))))))))) 

(DEFUN |MODOP;*;R2$;32| (|r| |x| $)
  (SPADCALL (SPADCALL |r| (QREFELT $ 19)) |x| (QREFELT $ 53))) 

(DEFUN |MODOP;*;$R$;33| (|x| |r| $)
  (SPADCALL |x| (SPADCALL |r| (QREFELT $ 19)) (QREFELT $ 53))) 

(DEFUN |MODOP;adjoint;2$;34| (|x| $)
  (PROG (#1=#:G1988 #2=#:G1987 #3=#:G1989 #4=#:G1992 |t|)
    (RETURN
     (SEQ
      (PROGN
       (LETT #1# NIL . #5=(|MODOP;adjoint;2$;34|))
       (SEQ (LETT |t| NIL . #5#) (LETT #4# (SPADCALL |x| (QREFELT $ 31)) . #5#)
            G190
            (COND
             ((OR (ATOM #4#) (PROGN (LETT |t| (CAR #4#) . #5#) NIL))
              (GO G191)))
            (SEQ
             (EXIT
              (PROGN
               (LETT #3#
                     (SPADCALL (QCDR |t|) (|MODOP;termadj| (QCAR |t|) $)
                               (QREFELT $ 101))
                     . #5#)
               (COND (#1# (LETT #2# (SPADCALL #2# #3# (QREFELT $ 78)) . #5#))
                     ('T (PROGN (LETT #2# #3# . #5#) (LETT #1# 'T . #5#)))))))
            (LETT #4# (CDR #4#) . #5#) (GO G190) G191 (EXIT NIL))
       (COND (#1# #2#) ('T (|spadConstant| $ 23)))))))) 

(DEFUN |MODOP;rmadj| (|t| $)
  (SPADCALL (SPADCALL (QCAR |t|) (QREFELT $ 103))
            (|MODOP;monomadj| (QCDR |t|) $) (QREFELT $ 99))) 

(DEFUN |MODOP;adjoint;3$;36| (|op| |adj| $)
  (|MODOP;nocopy|
   (SPADCALL (SPADCALL |op| (QREFELT $ 42)) (QREFELT $ 9)
             (SPADCALL |adj| (QREFELT $ 105)) (QREFELT $ 45))
   $)) 

(DEFUN |MODOP;termadj| (|t| $)
  (PROG (|ans| #1=#:G2000 |rm|)
    (RETURN
     (SEQ (LETT |ans| (|spadConstant| $ 12) . #2=(|MODOP;termadj|))
          (SEQ (LETT |rm| NIL . #2#) (LETT #1# |t| . #2#) G190
               (COND
                ((OR (ATOM #1#) (PROGN (LETT |rm| (CAR #1#) . #2#) NIL))
                 (GO G191)))
               (SEQ
                (EXIT
                 (LETT |ans|
                       (SPADCALL (|MODOP;rmadj| |rm| $) |ans| (QREFELT $ 53))
                       . #2#)))
               (LETT #1# (CDR #1#) . #2#) (GO G190) G191 (EXIT NIL))
          (EXIT |ans|))))) 

(DEFUN |MODOP;monomadj| (|m| $)
  (PROG (|ans| #1=#:G2005 |rec|)
    (RETURN
     (SEQ (LETT |ans| (|spadConstant| $ 12) . #2=(|MODOP;monomadj|))
          (SEQ (LETT |rec| NIL . #2#)
               (LETT #1# (SPADCALL |m| (QREFELT $ 90)) . #2#) G190
               (COND
                ((OR (ATOM #1#) (PROGN (LETT |rec| (CAR #1#) . #2#) NIL))
                 (GO G191)))
               (SEQ
                (EXIT
                 (LETT |ans|
                       (SPADCALL
                        (SPADCALL (|MODOP;opadj| (QCAR |rec|) $) (QCDR |rec|)
                                  (QREFELT $ 62))
                        |ans| (QREFELT $ 53))
                       . #2#)))
               (LETT #1# (CDR #1#) . #2#) (GO G190) G191 (EXIT NIL))
          (EXIT |ans|))))) 

(DEFUN |MODOP;opadj| (|op| $)
  (PROG (|adj|)
    (RETURN
     (SEQ
      (LETT |adj| (SPADCALL |op| (QREFELT $ 9) (QREFELT $ 85)) |MODOP;opadj|)
      (EXIT
       (COND
        ((QEQCAR |adj| 1)
         (|error| "adjoint: operator does not have a defined adjoint"))
        ('T (QCDR |adj|)))))))) 

(DEFUN |MODOP;conjug;2R;40| (|r| $) (SPADCALL |r| (QREFELT $ 107))) 

(PUT '|MODOP;conjug;2R;41| '|SPADreplace| '(XLAM (|r|) |r|)) 

(DEFUN |MODOP;conjug;2R;41| (|r| $) |r|) 

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

(DEFUN |ModuleOperator;| (|#1| |#2|)
  (PROG (|pv$| $ |dv$| DV$2 DV$1)
    (RETURN
     (PROGN
      (LETT DV$1 (|devaluate| |#1|) . #1=(|ModuleOperator|))
      (LETT DV$2 (|devaluate| |#2|) . #1#)
      (LETT |dv$| (LIST '|ModuleOperator| DV$1 DV$2) . #1#)
      (LETT $ (GETREFV 110) . #1#)
      (QSETREFV $ 0 |dv$|)
      (QSETREFV $ 3
                (LETT |pv$|
                      (|buildPredVector| 0 0
                                         (LIST
                                          (|HasCategory| |#1|
                                                         '(|CommutativeRing|))
                                          (|HasCategory| |#1|
                                                         '(|CharacteristicNonZero|))
                                          (|HasCategory| |#1|
                                                         '(|CharacteristicZero|))))
                      . #1#))
      (|haddProp| |$ConstructorCache| '|ModuleOperator| (LIST DV$1 DV$2)
                  (CONS 1 $))
      (|stuffDomainSlots| $)
      (QSETREFV $ 6 |#1|)
      (QSETREFV $ 7 |#2|)
      (QSETREFV $ 8
                (|FreeAbelianGroup|
                 (|List|
                  (|Record| (|:| |coef| |#1|)
                            (|:| |monom| (|FreeGroup| (|BasicOperator|)))))))
      (QSETREFV $ 9 '|%opAdjoint|)
      (QSETREFV $ 10 '|%opEval|)
      (QSETREFV $ 11 '|%invEval|)
      (COND
       ((|HasCategory| |#1| '(|OrderedSet|))
        (QSETREFV $ 16 (CONS (|dispatchFunction| |MODOP;makeop;RFg$;12|) $)))
       ('T
        (QSETREFV $ 16 (CONS (|dispatchFunction| |MODOP;makeop;RFg$;13|) $))))
      (COND
       ((|HasCategory| |#2| '(|ExpressionSpace|))
        (QSETREFV $ 87 (CONS (|dispatchFunction| |MODOP;opeval;Bo2M;24|) $)))
       ('T
        (QSETREFV $ 87 (CONS (|dispatchFunction| |MODOP;opeval;Bo2M;25|) $))))
      (COND
       ((|testBitVector| |pv$| 1)
        (PROGN
         (QSETREFV $ 99 (CONS (|dispatchFunction| |MODOP;*;R2$;32|) $))
         (QSETREFV $ 100 (CONS (|dispatchFunction| |MODOP;*;$R$;33|) $))
         (QSETREFV $ 102 (CONS (|dispatchFunction| |MODOP;adjoint;2$;34|) $))
         (QSETREFV $ 106 (CONS (|dispatchFunction| |MODOP;adjoint;3$;36|) $))
         (COND
          ((|HasSignature| |#1|
                           (LIST '|conjugate|
                                 (LIST (|devaluate| |#1|) (|devaluate| |#1|))))
           (QSETREFV $ 103 (CONS (|dispatchFunction| |MODOP;conjug;2R;40|) $)))
          ('T
           (QSETREFV $ 103
                     (CONS (|dispatchFunction| |MODOP;conjug;2R;41|) $)))))))
      $)))) 

(MAKEPROP '|ModuleOperator| '|infovec|
          (LIST
           '#(NIL NIL NIL NIL NIL (|FreeAbelianGroup| 40) (|local| |#1|)
              (|local| |#2|) '|Rep| 'OPADJ 'OPEVAL 'INVEVAL
              (CONS IDENTITY (FUNCALL (|dispatchFunction| |MODOP;One;$;1|) $))
              (0 . |One|) (|FreeGroup| 24) (4 . |One|) (8 . |makeop|)
              (|Integer|) (14 . |coerce|) |MODOP;coerce;R$;3|
              |MODOP;coerce;I$;2| (|Boolean|) (19 . |zero?|) (24 . |Zero|)
              (|BasicOperator|) (28 . |copy|) |MODOP;coerce;Bo$;4|
              (33 . |coerce|) (|Record| (|:| |coef| 6) (|:| |monom| 14))
              (|Record| (|:| |gen| 40) (|:| |exp| 17)) (|List| 29)
              (38 . |terms|) (43 . *) (49 . +) (55 . |Zero|) |MODOP;elt;$2M;6|
              (59 . *) (|NonNegativeInteger|) (65 . |characteristic|)
              |MODOP;characteristic;Nni;9| (|List| 28) (69 . |coerce|)
              (74 . |retract|) (|Symbol|) (|None|) (79 . |setProperty|)
              (|Mapping| 7 7) |MODOP;evaluate;$M$;11| (86 . |Zero|) (90 . <)
              (96 . -) (101 . -) (106 . |inv|) |MODOP;*;3$;21|
              (|Union| $ '"failed") (111 . |recip|) (116 . |Zero|)
              (120 . |Zero|) (|PositiveInteger|) (|RepeatedSquaring| $$)
              (124 . |expt|) (130 . |retract|) |MODOP;^;$I$;15|
              |MODOP;evaluateInverse;$M$;16| (135 . |zero?|) (|OutputForm|)
              (140 . |coerce|) (145 . +) (|Mapping| 65 65 65) (|List| 65)
              (151 . |reduce|) |MODOP;coerce;$Of;17| (157 . -) (162 . |coerce|)
              (167 . *) (173 . =) (179 . |coerce|) (184 . =) (190 . +)
              (196 . *) (202 . |last|) (207 . *) (213 . |concat!|) (219 . *)
              (|Union| 44 '"failed") (225 . |property|) (231 . |kernel|)
              (237 . |opeval|) (|Record| (|:| |gen| 24) (|:| |exp| 17))
              (|List| 88) (243 . |factors|) (|Union| 6 '#1="failed")
              |MODOP;retractIfCan;$U;30| |MODOP;recip;$U;29| (|Union| 40 '#1#)
              (248 . |retractIfCan|) (|Union| 24 '#1#) (253 . |retractIfCan|)
              |MODOP;retractIfCan;$U;31| (258 . *) (264 . *) (270 . *)
              (276 . |adjoint|) (281 . |conjug|) (|NoneFunctions1| $$)
              (286 . |coerce|) (291 . |adjoint|) (297 . |conjugate|)
              (|SingleInteger|) (|String|))
           '#(~= 302 |zero?| 308 |subtractIfCan| 313 |sample| 319
              |retractIfCan| 323 |retract| 333 |recip| 343 |opeval| 348 |one?|
              354 |makeop| 359 |latex| 365 |hash| 370 |evaluateInverse| 375
              |evaluate| 381 |elt| 387 |conjug| 393 |coerce| 398 |charthRoot|
              418 |characteristic| 423 |adjoint| 427 ^ 438 |Zero| 456 |One| 460
              = 464 - 470 + 481 * 487)
           'NIL
           (CONS
            (|makeByteWordVec2| 3
                                '(1 1 2 3 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
                                  0 0))
            (CONS
             '#(|Algebra&| |Module&| NIL NIL |Ring&| NIL NIL NIL NIL NIL
                |AbelianGroup&| NIL NIL |AbelianMonoid&| |Monoid&| NIL
                |SemiGroup&| |AbelianSemiGroup&| |SetCategory&| NIL
                |RetractableTo&| |RetractableTo&| NIL |BasicType&| NIL)
             (CONS
              '#((|Algebra| 6) (|Module| 6) (|CharacteristicNonZero|)
                 (|CharacteristicZero|) (|Ring|) (|BiModule| 6 6) (|Rng|)
                 (|LeftModule| $$) (|LeftModule| 6) (|RightModule| 6)
                 (|AbelianGroup|) (|CancellationAbelianMonoid|) (|SemiRing|)
                 (|AbelianMonoid|) (|Monoid|) (|SemiRng|) (|SemiGroup|)
                 (|AbelianSemiGroup|) (|SetCategory|) (|Eltable| 7 7)
                 (|RetractableTo| 24) (|RetractableTo| 6) (|unitsKnown|)
                 (|BasicType|) (|CoercibleTo| 65))
              (|makeByteWordVec2| 109
                                  '(0 6 0 13 0 14 0 15 2 0 0 6 14 16 1 6 0 17
                                    18 1 6 21 0 22 0 0 0 23 1 24 0 0 25 1 14 0
                                    24 27 1 8 30 0 31 2 7 0 17 0 32 2 7 0 0 0
                                    33 0 7 0 34 2 7 0 6 0 36 0 6 37 38 1 8 0 40
                                    41 1 0 24 0 42 3 24 0 0 43 44 45 0 6 0 48 2
                                    6 21 0 0 49 1 6 0 0 50 1 0 0 0 51 1 14 0 0
                                    52 1 6 54 0 55 0 8 0 56 0 5 0 57 2 59 2 2
                                    58 60 1 8 40 0 61 1 0 21 0 64 1 6 65 0 66 2
                                    65 0 0 0 67 2 69 65 68 0 70 1 65 0 0 72 1
                                    17 65 0 73 2 65 0 0 0 74 2 6 21 0 0 75 1 14
                                    65 0 76 2 14 21 0 0 77 2 0 0 0 0 78 2 6 0
                                    17 0 79 1 40 28 0 80 2 14 0 0 0 81 2 40 0 0
                                    0 82 2 6 0 0 0 83 2 24 84 0 43 85 2 7 0 24
                                    0 86 2 0 7 24 7 87 1 14 89 0 90 1 8 94 0 95
                                    1 14 96 0 97 2 0 0 6 0 99 2 0 0 0 6 100 2 0
                                    0 17 0 101 1 0 0 0 102 1 0 6 6 103 1 104 44
                                    2 105 2 0 0 0 0 106 1 6 0 0 107 2 0 21 0 0
                                    1 1 0 21 0 64 2 0 54 0 0 1 0 0 0 1 1 0 96 0
                                    98 1 0 91 0 92 1 0 24 0 42 1 0 6 0 1 1 0 54
                                    0 93 2 0 7 24 7 87 1 0 21 0 1 2 0 0 6 14 16
                                    1 0 109 0 1 1 0 108 0 1 2 0 0 0 46 63 2 0 0
                                    0 46 47 2 0 7 0 7 35 1 1 6 6 103 1 0 0 24
                                    26 1 0 0 6 19 1 0 0 17 20 1 0 65 0 71 1 2
                                    54 0 1 0 0 37 39 2 1 0 0 0 106 1 1 0 0 102
                                    2 0 0 0 17 62 2 0 0 0 37 1 2 0 0 0 58 1 0 0
                                    0 23 0 0 0 12 2 0 21 0 0 1 2 0 0 0 0 1 1 0
                                    0 0 51 2 0 0 0 0 78 2 1 0 0 6 100 2 1 0 6 0
                                    99 2 0 0 17 0 101 2 0 0 0 0 53 2 0 0 37 0 1
                                    2 0 0 58 0 1)))))
           '|lookupComplete|)) 
