
(/VERSIONCHECK 2) 

(DEFUN |POLYLIFT;map;MMPS;1| (|fv| |fc| |p| $)
  (PROG (|x1| |t| |ans| |up|)
    (RETURN
      (SEQ (LETT |x1| (SPADCALL |p| (QREFELT $ 12))
                 . #0=(|POLYLIFT;map;MMPS;1|))
           (EXIT (COND
                   ((QEQCAR |x1| 1)
                    (SPADCALL (SPADCALL |p| (QREFELT $ 13)) |fc|))
                   ('T
                    (SEQ (LETT |up|
                               (SPADCALL |p| (QCDR |x1|)
                                   (QREFELT $ 15)) . #0#)
                         (LETT |t| (SPADCALL (QCDR |x1|) |fv|) . #0#)
                         (LETT |ans|
                               (SPADCALL (|spadConstant| $ 16) |fc|) . #0#)
                         (SEQ G190
                              (COND
                                ((NULL (COND
                                         ((SPADCALL |up|
                                           (QREFELT $ 19))
                                          'NIL)
                                         ('T 'T)))
                                 (GO G191)))
                              (SEQ (LETT |ans|
                                    (SPADCALL |ans|
                                     (SPADCALL
                                      (SPADCALL |fv| |fc|
                                       (SPADCALL |up| (QREFELT $ 20))
                                       (QREFELT $ 23))
                                      (SPADCALL |t|
                                       (SPADCALL |up| (QREFELT $ 25))
                                       (QREFELT $ 26))
                                      (QREFELT $ 27))
                                     (QREFELT $ 28)) . #0#)
                                   (EXIT
                                    (LETT |up|
                                     (SPADCALL |up| (QREFELT $ 29)) . #0#)))
                              NIL (GO G190) G191 (EXIT NIL))
                         (EXIT (SPADCALL |ans|
                                   (SPADCALL |fv| |fc|
                                    (SPADCALL |up| (QREFELT $ 20))
                                    (QREFELT $ 23))
                                   (QREFELT $ 28))))))))))) 

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

(DEFUN |PolynomialCategoryLifting;| (|#1| |#2| |#3| |#4| |#5|)
  (PROG (DV$1 DV$2 DV$3 DV$4 DV$5 |dv$| $ |pv$|)
    (RETURN
      (PROGN
        (LETT DV$1 (|devaluate| |#1|)
              . #0=(|PolynomialCategoryLifting|))
        (LETT DV$2 (|devaluate| |#2|) . #0#)
        (LETT DV$3 (|devaluate| |#3|) . #0#)
        (LETT DV$4 (|devaluate| |#4|) . #0#)
        (LETT DV$5 (|devaluate| |#5|) . #0#)
        (LETT |dv$|
              (LIST '|PolynomialCategoryLifting| DV$1 DV$2 DV$3 DV$4
                    DV$5) . #0#)
        (LETT $ (GETREFV 30) . #0#)
        (QSETREFV $ 0 |dv$|)
        (QSETREFV $ 3 (LETT |pv$| (|buildPredVector| 0 0 NIL) . #0#))
        (|haddProp| |$ConstructorCache| '|PolynomialCategoryLifting|
            (LIST DV$1 DV$2 DV$3 DV$4 DV$5) (CONS 1 $))
        (|stuffDomainSlots| $)
        (QSETREFV $ 6 |#1|)
        (QSETREFV $ 7 |#2|)
        (QSETREFV $ 8 |#3|)
        (QSETREFV $ 9 |#4|)
        (QSETREFV $ 10 |#5|)
        $)))) 

(MAKEPROP '|PolynomialCategoryLifting| '|infovec|
    (LIST '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|local| |#2|)
             (|local| |#3|) (|local| |#4|) (|local| |#5|)
             (|Union| 7 '"failed") (0 . |mainVariable|)
             (5 . |leadingCoefficient|)
             (|SparseUnivariatePolynomial| $) (10 . |univariate|)
             (16 . |Zero|) (|Boolean|) (|SparseUnivariatePolynomial| 9)
             (20 . |ground?|) (25 . |leadingCoefficient|)
             (|Mapping| 10 7) (|Mapping| 10 8) |POLYLIFT;map;MMPS;1|
             (|NonNegativeInteger|) (30 . |degree|) (35 . **) (41 . *)
             (47 . +) (53 . |reductum|))
          '#(|map| 58) 'NIL
          (CONS (|makeByteWordVec2| 1 'NIL)
                (CONS '#()
                      (CONS '#()
                            (|makeByteWordVec2| 29
                                '(1 9 11 0 12 1 9 8 0 13 2 9 14 0 7 15
                                  0 8 0 16 1 18 17 0 19 1 18 9 0 20 1
                                  18 24 0 25 2 10 0 0 24 26 2 10 0 0 0
                                  27 2 10 0 0 0 28 1 18 0 0 29 3 0 10
                                  21 22 9 23)))))
          '|lookupComplete|)) 
