
(/VERSIONCHECK 2) 

(DEFUN |LPOLY;eval1| (|lw| |v| |nv| $)
  (PROG (|s| |l| |r|)
    (RETURN
      (SEQ (COND
             ((NULL (SPADCALL |v| (SPADCALL |lw| (QREFELT $ 11))
                        (QREFELT $ 13)))
              (SPADCALL |lw| (QREFELT $ 14)))
             ('T
              (SEQ (LETT |s| (SPADCALL |lw| (QREFELT $ 16))
                         . #0=(|LPOLY;eval1|))
                   (EXIT (COND
                           ((QEQCAR |s| 0)
                            (COND
                              ((SPADCALL (QCDR |s|) |v| (QREFELT $ 17))
                               |nv|)
                              (#1='T (SPADCALL |lw| (QREFELT $ 14)))))
                           (#1#
                            (SEQ (LETT |l|
                                       (SPADCALL |lw| (QREFELT $ 18)) . #0#)
                                 (LETT |r|
                                       (SPADCALL |lw| (QREFELT $ 19)) . #0#)
                                 (EXIT (SPADCALL
                                        (|LPOLY;eval1| |l| |v| |nv| $)
                                        (|LPOLY;eval1| |r| |v| |nv| $)
                                        (QREFELT $ 20)))))))))))))) 

(DEFUN |LPOLY;eval2| (|lw| |lv| |lnv| $)
  (PROG (|s| |p| |l| |r|)
    (RETURN
      (SEQ (LETT |s| (SPADCALL |lw| (QREFELT $ 16))
                 . #0=(|LPOLY;eval2|))
           (EXIT (COND
                   ((QEQCAR |s| 0)
                    (SEQ (LETT |p|
                               (SPADCALL (QCDR |s|) |lv|
                                   (QREFELT $ 22)) . #0#)
                         (EXIT (COND
                                 ((EQL |p| 0)
                                  (SPADCALL |lw| (QREFELT $ 25)))
                                 (#1='T
                                  (SPADCALL |lnv| |p| (QREFELT $ 27)))))))
                   (#1#
                    (SEQ (LETT |l|
                               (SPADCALL |lw| (QREFELT $ 18)) . #0#)
                         (LETT |r|
                               (SPADCALL |lw| (QREFELT $ 19)) . #0#)
                         (EXIT (SPADCALL
                                   (|LPOLY;eval2| |l| |lv| |lnv| $)
                                   (|LPOLY;eval2| |r| |lv| |lnv| $)
                                   (QREFELT $ 20))))))))))) 

(DEFUN |LPOLY;eval;$VarSet2$;3| (|p| |v| |nv| $)
  (PROG (|t| #0=#:G1853 #1=#:G1851 #2=#:G1849 #3=#:G1850)
    (RETURN
      (SEQ (PROGN
             (LETT #3# NIL . #4=(|LPOLY;eval;$VarSet2$;3|))
             (SEQ (LETT |t| NIL . #4#) (LETT #0# |p| . #4#) G190
                  (COND
                    ((OR (ATOM #0#)
                         (PROGN (LETT |t| (CAR #0#) . #4#) NIL))
                     (GO G191)))
                  (SEQ (EXIT (PROGN
                               (LETT #1#
                                     (SPADCALL (QCDR |t|)
                                      (|LPOLY;eval1| (QCAR |t|) |v|
                                       |nv| $)
                                      (QREFELT $ 28)) . #4#)
                               (COND
                                 (#3# (LETT #2#
                                       (SPADCALL #2# #1#
                                        (QREFELT $ 29)) . #4#))
                                 ('T
                                  (PROGN
                                    (LETT #2# #1# . #4#)
                                    (LETT #3# 'T . #4#)))))))
                  (LETT #0# (CDR #0#) . #4#) (GO G190) G191 (EXIT NIL))
             (COND (#3# #2#) ('T (|spadConstant| $ 23)))))))) 

(DEFUN |LPOLY;eval;$LL$;4| (|p| |lv| |lnv| $)
  (PROG (|t| #0=#:G1858 #1=#:G1856 #2=#:G1854 #3=#:G1855)
    (RETURN
      (SEQ (PROGN
             (LETT #3# NIL . #4=(|LPOLY;eval;$LL$;4|))
             (SEQ (LETT |t| NIL . #4#) (LETT #0# |p| . #4#) G190
                  (COND
                    ((OR (ATOM #0#)
                         (PROGN (LETT |t| (CAR #0#) . #4#) NIL))
                     (GO G191)))
                  (SEQ (EXIT (PROGN
                               (LETT #1#
                                     (SPADCALL (QCDR |t|)
                                      (|LPOLY;eval2| (QCAR |t|) |lv|
                                       |lnv| $)
                                      (QREFELT $ 28)) . #4#)
                               (COND
                                 (#3# (LETT #2#
                                       (SPADCALL #2# #1#
                                        (QREFELT $ 29)) . #4#))
                                 ('T
                                  (PROGN
                                    (LETT #2# #1# . #4#)
                                    (LETT #3# 'T . #4#)))))))
                  (LETT #0# (CDR #0#) . #4#) (GO G190) G191 (EXIT NIL))
             (COND (#3# #2#) ('T (|spadConstant| $ 23)))))))) 

(DEFUN |LPOLY;lquo1| (|p| |lw| $)
  (COND
    ((SPADCALL |p| (QREFELT $ 34)) (|spadConstant| $ 35))
    ((SPADCALL |lw| (QREFELT $ 36))
     (SPADCALL |p| (SPADCALL |lw| (QREFELT $ 37)) (QREFELT $ 38)))
    ('T
     (SPADCALL
         (|LPOLY;lquo1|
             (|LPOLY;lquo1| |p| (SPADCALL |lw| (QREFELT $ 18)) $)
             (SPADCALL |lw| (QREFELT $ 19)) $)
         (|LPOLY;lquo1|
             (|LPOLY;lquo1| |p| (SPADCALL |lw| (QREFELT $ 19)) $)
             (SPADCALL |lw| (QREFELT $ 18)) $)
         (QREFELT $ 39))))) 

(DEFUN |LPOLY;rquo1| (|p| |lw| $)
  (COND
    ((SPADCALL |p| (QREFELT $ 34)) (|spadConstant| $ 35))
    ((SPADCALL |lw| (QREFELT $ 36))
     (SPADCALL |p| (SPADCALL |lw| (QREFELT $ 37)) (QREFELT $ 40)))
    ('T
     (SPADCALL
         (|LPOLY;rquo1|
             (|LPOLY;rquo1| |p| (SPADCALL |lw| (QREFELT $ 18)) $)
             (SPADCALL |lw| (QREFELT $ 19)) $)
         (|LPOLY;rquo1|
             (|LPOLY;rquo1| |p| (SPADCALL |lw| (QREFELT $ 19)) $)
             (SPADCALL |lw| (QREFELT $ 18)) $)
         (QREFELT $ 39))))) 

(DEFUN |LPOLY;coef;Xrp$R;7| (|p| |lp| $)
  (SPADCALL |p| (SPADCALL |lp| (QREFELT $ 41)) (QREFELT $ 42))) 

(DEFUN |LPOLY;lquo;Xrp$Xrp;8| (|p| |lp| $)
  (PROG (|t| #0=#:G1870 #1=#:G1868 #2=#:G1866 #3=#:G1867)
    (RETURN
      (SEQ (COND
             ((SPADCALL |lp| (|spadConstant| $ 23) (QREFELT $ 44))
              (|spadConstant| $ 35))
             (#4='T
              (PROGN
                (LETT #3# NIL . #5=(|LPOLY;lquo;Xrp$Xrp;8|))
                (SEQ (LETT |t| NIL . #5#) (LETT #0# |lp| . #5#) G190
                     (COND
                       ((OR (ATOM #0#)
                            (PROGN (LETT |t| (CAR #0#) . #5#) NIL))
                        (GO G191)))
                     (SEQ (EXIT (PROGN
                                  (LETT #1#
                                        (SPADCALL (QCDR |t|)
                                         (|LPOLY;lquo1| |p| (QCAR |t|)
                                          $)
                                         (QREFELT $ 45)) . #5#)
                                  (COND
                                    (#3#
                                     (LETT #2#
                                      (SPADCALL #2# #1# (QREFELT $ 46)) . #5#))
                                    ('T
                                     (PROGN
                                       (LETT #2# #1# . #5#)
                                       (LETT #3# 'T . #5#)))))))
                     (LETT #0# (CDR #0#) . #5#) (GO G190) G191
                     (EXIT NIL))
                (COND (#3# #2#) (#4# (|spadConstant| $ 35)))))))))) 

(DEFUN |LPOLY;rquo;Xrp$Xrp;9| (|p| |lp| $)
  (PROG (|t| #0=#:G1875 #1=#:G1873 #2=#:G1871 #3=#:G1872)
    (RETURN
      (SEQ (COND
             ((SPADCALL |lp| (|spadConstant| $ 23) (QREFELT $ 44))
              (|spadConstant| $ 35))
             (#4='T
              (PROGN
                (LETT #3# NIL . #5=(|LPOLY;rquo;Xrp$Xrp;9|))
                (SEQ (LETT |t| NIL . #5#) (LETT #0# |lp| . #5#) G190
                     (COND
                       ((OR (ATOM #0#)
                            (PROGN (LETT |t| (CAR #0#) . #5#) NIL))
                        (GO G191)))
                     (SEQ (EXIT (PROGN
                                  (LETT #1#
                                        (SPADCALL (QCDR |t|)
                                         (|LPOLY;rquo1| |p| (QCAR |t|)
                                          $)
                                         (QREFELT $ 45)) . #5#)
                                  (COND
                                    (#3#
                                     (LETT #2#
                                      (SPADCALL #2# #1# (QREFELT $ 46)) . #5#))
                                    ('T
                                     (PROGN
                                       (LETT #2# #1# . #5#)
                                       (LETT #3# 'T . #5#)))))))
                     (LETT #0# (CDR #0#) . #5#) (GO G190) G191
                     (EXIT NIL))
                (COND (#3# #2#) (#4# (|spadConstant| $ 35)))))))))) 

(DEFUN |LPOLY;LiePolyIfCan;XdpU;10| (|p| $)
  (PROG (|t| |w| |coef| |l| #0=#:G1892 |lp| |r| |p1|)
    (RETURN
      (SEQ (EXIT (COND
                   ((NULL (SPADCALL |p| (QREFELT $ 50)))
                    (CONS 1 "failed"))
                   ('T
                    (SEQ (LETT |p1| |p|
                               . #1=(|LPOLY;LiePolyIfCan;XdpU;10|))
                         (LETT |r| (|spadConstant| $ 23) . #1#)
                         (SEQ G190
                              (COND
                                ((NULL (COND
                                         ((SPADCALL |p1|
                                           (|spadConstant| $ 51)
                                           (QREFELT $ 52))
                                          'NIL)
                                         ('T 'T)))
                                 (GO G191)))
                              (SEQ (LETT |t|
                                    (SPADCALL |p1| (QREFELT $ 54)) . #1#)
                                   (LETT |w| (QCAR |t|) . #1#)
                                   (LETT |coef| (QCDR |t|) . #1#)
                                   (LETT |l|
                                    (SPADCALL |w| (QREFELT $ 57)) . #1#)
                                   (EXIT
                                    (COND
                                      ((QEQCAR |l| 1)
                                       (PROGN
                                         (LETT #0#
                                          (CONS 1 "failed") . #1#)
                                         (GO #0#)))
                                      ('T
                                       (SEQ
                                        (LETT |lp|
                                         (SPADCALL |coef|
                                          (SPADCALL (QCDR |l|)
                                           (QREFELT $ 14))
                                          (QREFELT $ 28)) . #1#)
                                        (LETT |r|
                                         (SPADCALL |r| |lp|
                                          (QREFELT $ 29)) . #1#)
                                        (EXIT
                                         (LETT |p1|
                                          (SPADCALL |p1|
                                           (SPADCALL |lp|
                                            (QREFELT $ 58))
                                           (QREFELT $ 59)) . #1#)))))))
                              NIL (GO G190) G191 (EXIT NIL))
                         (EXIT (CONS 0 |r|))))))
           #0# (EXIT #0#))))) 

(DEFUN |LPOLY;makeLyndon| (|u| |v| $)
  (SPADCALL (SPADCALL |u| (QREFELT $ 62)) (SPADCALL |v| (QREFELT $ 62))
      (QREFELT $ 63))) 

(DEFUN |LPOLY;crw| (|u| |v| $)
  (COND
    ((SPADCALL |u| |v| (QREFELT $ 64)) (|spadConstant| $ 23))
    ((SPADCALL |u| |v| (QREFELT $ 65)) (|LPOLY;lyndon| |u| |v| $))
    ('T (SPADCALL (|LPOLY;lyndon| |v| |u| $) (QREFELT $ 66))))) 

(DEFUN |LPOLY;lyndon| (|u| |v| $)
  (PROG (|u1| |u2|)
    (RETURN
      (SEQ (COND
             ((SPADCALL |u| (QREFELT $ 36))
              (SPADCALL (|LPOLY;makeLyndon| |u| |v| $)
                  (|spadConstant| $ 67) (QREFELT $ 68)))
             ('T
              (SEQ (LETT |u1| (SPADCALL |u| (QREFELT $ 18))
                         . #0=(|LPOLY;lyndon|))
                   (LETT |u2| (SPADCALL |u| (QREFELT $ 19)) . #0#)
                   (EXIT (COND
                           ((SPADCALL |u2| |v| (QREFELT $ 65))
                            (SPADCALL
                                (|LPOLY;cr1| |u1|
                                    (|LPOLY;lyndon| |u2| |v| $) $)
                                (|LPOLY;cr2|
                                    (|LPOLY;lyndon| |u1| |v| $) |u2| $)
                                (QREFELT $ 29)))
                           ('T
                            (SPADCALL (|LPOLY;makeLyndon| |u| |v| $)
                                (|spadConstant| $ 67) (QREFELT $ 68)))))))))))) 

(DEFUN |LPOLY;cr1| (|l| |p| $)
  (PROG (|t| #0=#:G1903 #1=#:G1901 #2=#:G1899 #3=#:G1900)
    (RETURN
      (SEQ (PROGN
             (LETT #3# NIL . #4=(|LPOLY;cr1|))
             (SEQ (LETT |t| NIL . #4#) (LETT #0# |p| . #4#) G190
                  (COND
                    ((OR (ATOM #0#)
                         (PROGN (LETT |t| (CAR #0#) . #4#) NIL))
                     (GO G191)))
                  (SEQ (EXIT (PROGN
                               (LETT #1#
                                     (SPADCALL (QCDR |t|)
                                      (|LPOLY;crw| |l| (QCAR |t|) $)
                                      (QREFELT $ 28)) . #4#)
                               (COND
                                 (#3# (LETT #2#
                                       (SPADCALL #2# #1#
                                        (QREFELT $ 29)) . #4#))
                                 ('T
                                  (PROGN
                                    (LETT #2# #1# . #4#)
                                    (LETT #3# 'T . #4#)))))))
                  (LETT #0# (CDR #0#) . #4#) (GO G190) G191 (EXIT NIL))
             (COND (#3# #2#) ('T (|spadConstant| $ 23)))))))) 

(DEFUN |LPOLY;cr2| (|p| |l| $)
  (PROG (|t| #0=#:G1908 #1=#:G1906 #2=#:G1904 #3=#:G1905)
    (RETURN
      (SEQ (PROGN
             (LETT #3# NIL . #4=(|LPOLY;cr2|))
             (SEQ (LETT |t| NIL . #4#) (LETT #0# |p| . #4#) G190
                  (COND
                    ((OR (ATOM #0#)
                         (PROGN (LETT |t| (CAR #0#) . #4#) NIL))
                     (GO G191)))
                  (SEQ (EXIT (PROGN
                               (LETT #1#
                                     (SPADCALL (QCDR |t|)
                                      (|LPOLY;crw| (QCAR |t|) |l| $)
                                      (QREFELT $ 28)) . #4#)
                               (COND
                                 (#3# (LETT #2#
                                       (SPADCALL #2# #1#
                                        (QREFELT $ 29)) . #4#))
                                 ('T
                                  (PROGN
                                    (LETT #2# #1# . #4#)
                                    (LETT #3# 'T . #4#)))))))
                  (LETT #0# (CDR #0#) . #4#) (GO G190) G191 (EXIT NIL))
             (COND (#3# #2#) ('T (|spadConstant| $ 23)))))))) 

(DEFUN |LPOLY;DPoly| (|w| $)
  (PROG (|l| |r|)
    (RETURN
      (SEQ (COND
             ((SPADCALL |w| (QREFELT $ 36))
              (SPADCALL (SPADCALL |w| (QREFELT $ 37)) (QREFELT $ 69)))
             ('T
              (SEQ (LETT |l|
                         (|LPOLY;DPoly| (SPADCALL |w| (QREFELT $ 18))
                             $)
                         . #0=(|LPOLY;DPoly|))
                   (LETT |r|
                         (|LPOLY;DPoly| (SPADCALL |w| (QREFELT $ 19))
                             $) . #0#)
                   (EXIT (SPADCALL (SPADCALL |l| |r| (QREFELT $ 70))
                             (SPADCALL |r| |l| (QREFELT $ 70))
                             (QREFELT $ 59)))))))))) 

(DEFUN |LPOLY;RPoly| (|w| $)
  (PROG (|l| |r|)
    (RETURN
      (SEQ (COND
             ((SPADCALL |w| (QREFELT $ 36))
              (SPADCALL (SPADCALL |w| (QREFELT $ 37)) (QREFELT $ 71)))
             ('T
              (SEQ (LETT |l|
                         (|LPOLY;RPoly| (SPADCALL |w| (QREFELT $ 18))
                             $)
                         . #0=(|LPOLY;RPoly|))
                   (LETT |r|
                         (|LPOLY;RPoly| (SPADCALL |w| (QREFELT $ 19))
                             $) . #0#)
                   (EXIT (SPADCALL (SPADCALL |l| |r| (QREFELT $ 72))
                             (SPADCALL |r| |l| (QREFELT $ 72))
                             (QREFELT $ 39)))))))))) 

(DEFUN |LPOLY;coerce;VarSet$;18| (|v| $)
  (SPADCALL (SPADCALL |v| (QREFELT $ 73)) (|spadConstant| $ 67)
      (QREFELT $ 68))) 

(DEFUN |LPOLY;construct;3$;19| (|x| |y| $)
  (PROG (|t| #0=#:G1920 #1=#:G1918 #2=#:G1916 #3=#:G1917)
    (RETURN
      (SEQ (PROGN
             (LETT #3# NIL . #4=(|LPOLY;construct;3$;19|))
             (SEQ (LETT |t| NIL . #4#) (LETT #0# |x| . #4#) G190
                  (COND
                    ((OR (ATOM #0#)
                         (PROGN (LETT |t| (CAR #0#) . #4#) NIL))
                     (GO G191)))
                  (SEQ (EXIT (PROGN
                               (LETT #1#
                                     (SPADCALL (QCDR |t|)
                                      (|LPOLY;cr1| (QCAR |t|) |y| $)
                                      (QREFELT $ 28)) . #4#)
                               (COND
                                 (#3# (LETT #2#
                                       (SPADCALL #2# #1#
                                        (QREFELT $ 29)) . #4#))
                                 ('T
                                  (PROGN
                                    (LETT #2# #1# . #4#)
                                    (LETT #3# 'T . #4#)))))))
                  (LETT #0# (CDR #0#) . #4#) (GO G190) G191 (EXIT NIL))
             (COND (#3# #2#) ('T (|spadConstant| $ 23)))))))) 

(DEFUN |LPOLY;construct;Lw2$;20| (|l| |p| $) (|LPOLY;cr1| |l| |p| $)) 

(DEFUN |LPOLY;construct;$Lw$;21| (|p| |l| $) (|LPOLY;cr2| |p| |l| $)) 

(DEFUN |LPOLY;construct;2Lw$;22| (|u| |v| $) (|LPOLY;crw| |u| |v| $)) 

(DEFUN |LPOLY;coerce;$Xdp;23| (|p| $)
  (PROG (|t| #0=#:G1928 #1=#:G1926 #2=#:G1924 #3=#:G1925)
    (RETURN
      (SEQ (PROGN
             (LETT #3# NIL . #4=(|LPOLY;coerce;$Xdp;23|))
             (SEQ (LETT |t| NIL . #4#) (LETT #0# |p| . #4#) G190
                  (COND
                    ((OR (ATOM #0#)
                         (PROGN (LETT |t| (CAR #0#) . #4#) NIL))
                     (GO G191)))
                  (SEQ (EXIT (PROGN
                               (LETT #1#
                                     (SPADCALL (QCDR |t|)
                                      (|LPOLY;DPoly| (QCAR |t|) $)
                                      (QREFELT $ 78)) . #4#)
                               (COND
                                 (#3# (LETT #2#
                                       (SPADCALL #2# #1#
                                        (QREFELT $ 79)) . #4#))
                                 ('T
                                  (PROGN
                                    (LETT #2# #1# . #4#)
                                    (LETT #3# 'T . #4#)))))))
                  (LETT #0# (CDR #0#) . #4#) (GO G190) G191 (EXIT NIL))
             (COND (#3# #2#) ('T (|spadConstant| $ 51)))))))) 

(DEFUN |LPOLY;coerce;$Xrp;24| (|p| $)
  (PROG (|t| #0=#:G1933 #1=#:G1931 #2=#:G1929 #3=#:G1930)
    (RETURN
      (SEQ (PROGN
             (LETT #3# NIL . #4=(|LPOLY;coerce;$Xrp;24|))
             (SEQ (LETT |t| NIL . #4#) (LETT #0# |p| . #4#) G190
                  (COND
                    ((OR (ATOM #0#)
                         (PROGN (LETT |t| (CAR #0#) . #4#) NIL))
                     (GO G191)))
                  (SEQ (EXIT (PROGN
                               (LETT #1#
                                     (SPADCALL (QCDR |t|)
                                      (|LPOLY;RPoly| (QCAR |t|) $)
                                      (QREFELT $ 45)) . #4#)
                               (COND
                                 (#3# (LETT #2#
                                       (SPADCALL #2# #1#
                                        (QREFELT $ 46)) . #4#))
                                 ('T
                                  (PROGN
                                    (LETT #2# #1# . #4#)
                                    (LETT #3# 'T . #4#)))))))
                  (LETT #0# (CDR #0#) . #4#) (GO G190) G191 (EXIT NIL))
             (COND (#3# #2#) ('T (|spadConstant| $ 35)))))))) 

(DEFUN |LPOLY;LiePoly;Lw$;25| (|l| $)
  (SPADCALL |l| (|spadConstant| $ 67) (QREFELT $ 68))) 

(DEFUN |LPOLY;varList;$L;26| (|p| $)
  (PROG (|t| #0=#:G1940 #1=#:G1937 #2=#:G1935 #3=#:G1936 |le|)
    (RETURN
      (SEQ (LETT |le|
                 (PROGN
                   (LETT #3# NIL . #4=(|LPOLY;varList;$L;26|))
                   (SEQ (LETT |t| NIL . #4#) (LETT #0# |p| . #4#) G190
                        (COND
                          ((OR (ATOM #0#)
                               (PROGN (LETT |t| (CAR #0#) . #4#) NIL))
                           (GO G191)))
                        (SEQ (EXIT (PROGN
                                     (LETT #1#
                                      (SPADCALL (QCAR |t|)
                                       (QREFELT $ 11)) . #4#)
                                     (COND
                                       (#3#
                                        (LETT #2#
                                         (SPADCALL #2# #1#
                                          (QREFELT $ 80)) . #4#))
                                       ('T
                                        (PROGN
                                          (LETT #2# #1# . #4#)
                                          (LETT #3# 'T . #4#)))))))
                        (LETT #0# (CDR #0#) . #4#) (GO G190) G191
                        (EXIT NIL))
                   (COND (#3# #2#) ('T (|IdentityError| '|setUnion|)))) . #4#)
           (EXIT (SPADCALL |le| (QREFELT $ 81))))))) 

(DEFUN |LPOLY;mirror;2$;27| (|p| $)
  (PROG (#0=#:G1944 |t| #1=#:G1945)
    (RETURN
      (SEQ (PROGN
             (LETT #0# NIL . #2=(|LPOLY;mirror;2$;27|))
             (SEQ (LETT |t| NIL . #2#) (LETT #1# |p| . #2#) G190
                  (COND
                    ((OR (ATOM #1#)
                         (PROGN (LETT |t| (CAR #1#) . #2#) NIL))
                     (GO G191)))
                  (SEQ (EXIT (LETT #0#
                                   (CONS
                                    (CONS (QCAR |t|)
                                     (COND
                                       ((ODDP
                                         (SPADCALL (QCAR |t|)
                                          (QREFELT $ 84)))
                                        (QCDR |t|))
                                       ('T
                                        (SPADCALL (QCDR |t|)
                                         (QREFELT $ 85)))))
                                    #0#) . #2#)))
                  (LETT #1# (CDR #1#) . #2#) (GO G190) G191
                  (EXIT (NREVERSE0 #0#)))))))) 

(DEFUN |LPOLY;trunc;$Nni$;28| (|p| |n| $)
  (COND
    ((< |n| (SPADCALL |p| (QREFELT $ 88)))
     (SPADCALL (SPADCALL |p| (QREFELT $ 89)) |n| (QREFELT $ 90)))
    ('T |p|))) 

(DEFUN |LPOLY;degree;$Nni;29| (|p| $)
  (COND
    ((NULL |p|) 0)
    ('T (SPADCALL (QCAR (|SPADfirst| |p|)) (QREFELT $ 84))))) 

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

(DEFUN |LiePolynomial;| (|#1| |#2|)
  (PROG (DV$1 DV$2 |dv$| $ |pv$|)
    (RETURN
      (PROGN
        (LETT DV$1 (|devaluate| |#1|) . #0=(|LiePolynomial|))
        (LETT DV$2 (|devaluate| |#2|) . #0#)
        (LETT |dv$| (LIST '|LiePolynomial| DV$1 DV$2) . #0#)
        (LETT $ (GETREFV 99) . #0#)
        (QSETREFV $ 0 |dv$|)
        (QSETREFV $ 3
            (LETT |pv$|
                  (|buildPredVector| 0 0
                      (LIST (|HasCategory| |#2| '(|Field|))
                            (|HasCategory| |#2| '(|CommutativeRing|)))) . #0#))
        (|haddProp| |$ConstructorCache| '|LiePolynomial|
            (LIST DV$1 DV$2) (CONS 1 $))
        (|stuffDomainSlots| $)
        (QSETREFV $ 6 |#1|)
        (QSETREFV $ 7 |#2|)
        (QSETREFV $ 8
            (|List| (|Record| (|:| |k| (|LyndonWord| |#1|))
                        (|:| |c| |#2|))))
        $)))) 

(MAKEPROP '|LiePolynomial| '|infovec|
    (LIST '#(NIL NIL NIL NIL NIL (|FreeModule1| 7 10) (|local| |#1|)
             (|local| |#2|) '|Rep| (|List| 6) (|LyndonWord| 6)
             (0 . |varList|) (|Boolean|) (5 . |member?|)
             |LPOLY;LiePoly;Lw$;25| (|Union| 6 '"failed")
             (11 . |retractIfCan|) (16 . =) (22 . |left|)
             (27 . |right|) |LPOLY;construct;3$;19| (|Integer|)
             (32 . |position|) (38 . |Zero|) (42 . |Zero|)
             (46 . |coerce|) (|List| $$) (51 . |elt|) (57 . *) (63 . +)
             |LPOLY;eval;$VarSet2$;3| (|List| $) |LPOLY;eval;$LL$;4|
             (|XRecursivePolynomial| 6 7) (69 . |constant?|)
             (74 . |Zero|) (78 . |retractable?|) (83 . |retract|)
             (88 . |lquo|) (94 . -) (100 . |rquo|)
             |LPOLY;coerce;$Xrp;24| (106 . |coef|) |LPOLY;coef;Xrp$R;7|
             (112 . =) (118 . *) (124 . +) |LPOLY;lquo;Xrp$Xrp;8|
             |LPOLY;rquo;Xrp$Xrp;9| (|XDistributedPolynomial| 6 7)
             (130 . |quasiRegular?|) (135 . |Zero|) (139 . =)
             (|Record| (|:| |k| 56) (|:| |c| 7)) (145 . |mindegTerm|)
             (|Union| $ '"failed") (|OrderedFreeMonoid| 6)
             (150 . |lyndonIfCan|) |LPOLY;coerce;$Xdp;23| (155 . -)
             |LPOLY;LiePolyIfCan;XdpU;10| (|Magma| 6) (161 . |coerce|)
             (166 . *) (172 . =) (178 . |lexico|) (184 . -)
             (189 . |One|) (193 . |monom|) (199 . |coerce|) (204 . *)
             (210 . |coerce|) (215 . *) (221 . |coerce|)
             |LPOLY;coerce;VarSet$;18| |LPOLY;construct;Lw2$;20|
             |LPOLY;construct;$Lw$;21| |LPOLY;construct;2Lw$;22|
             (226 . *) (232 . +) (238 . |setUnion|) (244 . |sort|)
             |LPOLY;varList;$L;26| (|PositiveInteger|) (249 . |length|)
             (254 . -) |LPOLY;mirror;2$;27| (|NonNegativeInteger|)
             |LPOLY;degree;$Nni;29| (259 . |reductum|)
             |LPOLY;trunc;$Nni$;28| (|Union| 10 '"failed")
             (|Mapping| 7 7) (|Record| (|:| |k| 10) (|:| |c| 7))
             (|List| 93) (|List| 7) (|String|) (|OutputForm|)
             (|SingleInteger|))
          '#(~= 264 |zero?| 270 |varList| 275 |trunc| 280
             |subtractIfCan| 286 |sample| 292 |rquo| 296 |retractIfCan|
             302 |retract| 307 |reductum| 312 |numberOfMonomials| 317
             |monomials| 322 |monomial?| 327 |monom| 332 |mirror| 338
             |map| 343 |lquo| 349 |leadingTerm| 355 |leadingMonomial|
             360 |leadingCoefficient| 365 |latex| 370 |hash| 375 |eval|
             380 |degree| 394 |construct| 399 |coerce| 423
             |coefficients| 448 |coefficient| 453 |coef| 459 |Zero| 465
             |ListOfTerms| 469 |LiePolyIfCan| 474 |LiePoly| 479 = 484 /
             490 - 496 + 507 * 513)
          'NIL
          (CONS (|makeByteWordVec2| 1 '(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
                (CONS '#(NIL |LieAlgebra&| NIL |Module&| NIL NIL NIL
                         |AbelianGroup&| NIL |AbelianMonoid&|
                         |AbelianSemiGroup&| |SetCategory&|
                         |RetractableTo&| |BasicType&| NIL)
                      (CONS '#((|FreeLieAlgebra| 6 7) (|LieAlgebra| 7)
                               (|FreeModuleCat| 7 (|LyndonWord| 6))
                               (|Module| 7) (|BiModule| 7 7)
                               (|LeftModule| 7) (|RightModule| 7)
                               (|AbelianGroup|)
                               (|CancellationAbelianMonoid|)
                               (|AbelianMonoid|) (|AbelianSemiGroup|)
                               (|SetCategory|)
                               (|RetractableTo| (|LyndonWord| 6))
                               (|BasicType|) (|CoercibleTo| 97))
                            (|makeByteWordVec2| 98
                                '(1 10 9 0 11 2 9 12 6 0 13 1 10 15 0
                                  16 2 6 12 0 0 17 1 10 0 0 18 1 10 0 0
                                  19 2 9 21 6 0 22 0 0 0 23 0 7 0 24 1
                                  0 0 10 25 2 26 2 0 21 27 2 0 0 7 0 28
                                  2 0 0 0 0 29 1 33 12 0 34 0 33 0 35 1
                                  10 12 0 36 1 10 6 0 37 2 33 0 0 6 38
                                  2 33 0 0 0 39 2 33 0 0 6 40 2 33 7 0
                                  0 42 2 0 12 0 0 44 2 33 0 7 0 45 2 33
                                  0 0 0 46 1 49 12 0 50 0 49 0 51 2 49
                                  12 0 0 52 1 49 53 0 54 1 10 55 56 57
                                  2 49 0 0 0 59 1 10 61 0 62 2 61 0 0 0
                                  63 2 10 12 0 0 64 2 10 12 0 0 65 1 0
                                  0 0 66 0 7 0 67 2 0 0 10 7 68 1 49 0
                                  6 69 2 49 0 0 0 70 1 33 0 6 71 2 33 0
                                  0 0 72 1 10 0 6 73 2 49 0 7 0 78 2 49
                                  0 0 0 79 2 9 0 0 0 80 1 9 0 0 81 1 10
                                  83 0 84 1 7 0 0 85 1 0 0 0 89 2 0 12
                                  0 0 1 1 0 12 0 1 1 0 9 0 82 2 0 0 0
                                  87 90 2 0 55 0 0 1 0 0 0 1 2 0 33 33
                                  0 48 1 0 91 0 1 1 0 10 0 1 1 0 0 0 89
                                  1 0 87 0 1 1 0 31 0 1 1 0 12 0 1 2 0
                                  0 10 7 68 1 0 0 0 86 2 0 0 92 0 1 2 0
                                  33 33 0 47 1 0 93 0 1 1 0 10 0 1 1 0
                                  7 0 1 1 0 96 0 1 1 0 98 0 1 3 0 0 0 6
                                  0 30 3 0 0 0 9 31 32 1 0 87 0 88 2 0
                                  0 0 10 76 2 0 0 10 10 77 2 0 0 10 0
                                  75 2 0 0 0 0 20 1 0 0 10 25 1 0 33 0
                                  41 1 0 0 6 74 1 0 49 0 58 1 0 97 0 1
                                  1 0 95 0 1 2 0 7 0 10 1 2 0 7 33 0 43
                                  0 0 0 23 1 0 94 0 1 1 0 55 49 60 1 0
                                  0 10 14 2 0 12 0 0 44 2 1 0 0 7 1 2 0
                                  0 0 0 1 1 0 0 0 66 2 0 0 0 0 29 2 0 0
                                  7 10 1 2 0 0 7 0 28 2 0 0 0 7 1 2 0 0
                                  21 0 1 2 0 0 87 0 1 2 0 0 83 0 1)))))
          '|lookupComplete|)) 
