
(/VERSIONCHECK 2) 

(DEFUN |FGLMICPK;zeroDim?| (|lq2| $)
  (PROG (#0=#:G1839 |s| #1=#:G1840 |q2| #2=#:G1841 |m| #3=#:G1826 |x|
            |lv|)
    (RETURN
      (SEQ (LETT |lq2| (SPADCALL |lq2| (QREFELT $ 10))
                 . #4=(|FGLMICPK;zeroDim?|))
           (EXIT (COND
                   ((OR (NULL |lq2|)
                        (< (LENGTH |lq2|) (LENGTH (QREFELT $ 7))))
                    'NIL)
                   ('T
                    (SEQ (LETT |lv|
                               (PROGN
                                 (LETT #0# NIL . #4#)
                                 (SEQ (LETT |s| NIL . #4#)
                                      (LETT #1# (QREFELT $ 7) . #4#)
                                      G190
                                      (COND
                                        ((OR (ATOM #1#)
                                          (PROGN
                                            (LETT |s| (CAR #1#) . #4#)
                                            NIL))
                                         #5=(GO G191)))
                                      (SEQ
                                       (EXIT
                                        (LETT #0#
                                         (CONS
                                          (PROG2
                                           (LETT #3#
                                            (SPADCALL |s|
                                             (QREFELT $ 14)) . #4#)
                                           (QCDR #3#)
                                            (|check-union|
                                             (QEQCAR #3# 0)
                                             (|OrderedVariableList|
                                              (QREFELT $ 7))
                                             #3#))
                                          #0#) . #4#)))
                                      (LETT #1# (CDR #1#) . #4#)
                                      #6=(GO G190) G191
                                      (EXIT (NREVERSE0 #0#)))) . #4#)
                         (SEQ (LETT |q2| NIL . #4#)
                              (LETT #2# |lq2| . #4#) G190
                              (COND
                                ((OR (ATOM #2#)
                                     (PROGN
                                       (LETT |q2| (CAR #2#) . #4#)
                                       NIL)
                                     (NULL
                                      (COND
                                        ((NULL |lv|) 'NIL)
                                        ('T 'T))))
                                 #5#))
                              (SEQ (LETT |m|
                                    (SPADCALL |q2| (QREFELT $ 16)) . #4#)
                                   (LETT |x|
                                    (PROG2
                                     (LETT #3#
                                      (SPADCALL |m| (QREFELT $ 18)) . #4#)
                                     (QCDR #3#)
                                      (|check-union| (QEQCAR #3# 0)
                                       (|OrderedVariableList|
                                        (QREFELT $ 7))
                                       #3#)) . #4#)
                                   (EXIT
                                    (COND
                                      ((SPADCALL
                                        (SPADCALL
                                         (SPADCALL |m| |x|
                                          (QREFELT $ 20))
                                         (QREFELT $ 22))
                                        (QREFELT $ 24))
                                       (LETT |lv|
                                        (SPADCALL |x| |lv|
                                         (QREFELT $ 26)) . #4#)))))
                              (LETT #2# (CDR #2#) . #4#) #6# G191
                              (EXIT NIL))
                         (EXIT (NULL |lv|)))))))))) 

(DEFUN |FGLMICPK;zeroDimensional?;LB;2| (|lq1| $)
  (PROG (#0=#:G1845 |q1| #1=#:G1846 |lq2|)
    (RETURN
      (SEQ (LETT |lq2|
                 (PROGN
                   (LETT #0# NIL
                         . #2=(|FGLMICPK;zeroDimensional?;LB;2|))
                   (SEQ (LETT |q1| NIL . #2#) (LETT #1# |lq1| . #2#)
                        G190
                        (COND
                          ((OR (ATOM #1#)
                               (PROGN (LETT |q1| (CAR #1#) . #2#) NIL))
                           (GO G191)))
                        (SEQ (EXIT (LETT #0#
                                    (CONS
                                     (SPADCALL |q1| (QREFELT $ 29))
                                     #0#) . #2#)))
                        (LETT #1# (CDR #1#) . #2#) (GO G190) G191
                        (EXIT (NREVERSE0 #0#)))) . #2#)
           (EXIT (|FGLMICPK;zeroDim?| |lq2| $)))))) 

(DEFUN |FGLMICPK;fglmIfCan;LU;3| (|lq1| $)
  (PROG (#0=#:G1858 |q1| #1=#:G1859 |lq2| |lq3| #2=#:G1860 |q3|
            #3=#:G1861)
    (RETURN
      (SEQ (LETT |lq2|
                 (PROGN
                   (LETT #0# NIL . #4=(|FGLMICPK;fglmIfCan;LU;3|))
                   (SEQ (LETT |q1| NIL . #4#) (LETT #1# |lq1| . #4#)
                        G190
                        (COND
                          ((OR (ATOM #1#)
                               (PROGN (LETT |q1| (CAR #1#) . #4#) NIL))
                           #5=(GO G191)))
                        (SEQ (EXIT (LETT #0#
                                    (CONS
                                     (SPADCALL |q1| (QREFELT $ 29))
                                     #0#) . #4#)))
                        (LETT #1# (CDR #1#) . #4#) #6=(GO G190) G191
                        (EXIT (NREVERSE0 #0#)))) . #4#)
           (LETT |lq2| (SPADCALL |lq2| (QREFELT $ 10)) . #4#)
           (COND
             ((NULL (|FGLMICPK;zeroDim?| |lq2| $))
              (EXIT (CONS 1 "failed"))))
           (LETT |lq3| (SPADCALL |lq2| (QREFELT $ 34)) . #4#)
           (LETT |lq1|
                 (PROGN
                   (LETT #2# NIL . #4#)
                   (SEQ (LETT |q3| NIL . #4#) (LETT #3# |lq3| . #4#)
                        G190
                        (COND
                          ((OR (ATOM #3#)
                               (PROGN (LETT |q3| (CAR #3#) . #4#) NIL))
                           #5#))
                        (SEQ (EXIT (LETT #2#
                                    (CONS
                                     (SPADCALL |q3| (QREFELT $ 36))
                                     #2#) . #4#)))
                        (LETT #3# (CDR #3#) . #4#) #6# G191
                        (EXIT (NREVERSE0 #2#)))) . #4#)
           (EXIT (CONS 0 |lq1|)))))) 

(DEFUN |FGLMICPK;groebner;2L;4| (|lq1| $)
  (PROG (#0=#:G1870 #1=#:G1871 |lq2| #2=#:G1872 |q1| #3=#:G1873
            #4=#:G1874 #5=#:G1875 |lq3| #6=#:G1876 |q3| #7=#:G1877)
    (RETURN
      (SEQ (LETT |lq2|
                 (PROGN
                   (LETT #0# NIL . #8=(|FGLMICPK;groebner;2L;4|))
                   (SEQ (LETT |q1| NIL . #8#) (LETT #1# |lq1| . #8#)
                        G190
                        (COND
                          ((OR (ATOM #1#)
                               (PROGN (LETT |q1| (CAR #1#) . #8#) NIL))
                           #9=(GO G191)))
                        (SEQ (EXIT (LETT #0#
                                    (CONS
                                     (SPADCALL |q1| (QREFELT $ 29))
                                     #0#) . #8#)))
                        (LETT #1# (CDR #1#) . #8#) #10=(GO G190) G191
                        (EXIT (NREVERSE0 #0#)))) . #8#)
           (LETT |lq2| (SPADCALL |lq2| (QREFELT $ 10)) . #8#)
           (COND
             ((NULL (|FGLMICPK;zeroDim?| |lq2| $))
              (EXIT (SEQ (LETT |lq3|
                               (PROGN
                                 (LETT #2# NIL . #8#)
                                 (SEQ (LETT |q1| NIL . #8#)
                                      (LETT #3# |lq1| . #8#) G190
                                      (COND
                                        ((OR (ATOM #3#)
                                          (PROGN
                                            (LETT |q1| (CAR #3#) . #8#)
                                            NIL))
                                         #9#))
                                      (SEQ
                                       (EXIT
                                        (LETT #2#
                                         (CONS
                                          (SPADCALL |q1|
                                           (QREFELT $ 39))
                                          #2#) . #8#)))
                                      (LETT #3# (CDR #3#) . #8#) #10#
                                      G191 (EXIT (NREVERSE0 #2#)))) . #8#)
                         (LETT |lq3|
                               (SPADCALL |lq3| (QREFELT $ 41)) . #8#)
                         (EXIT (PROGN
                                 (LETT #4# NIL . #8#)
                                 (SEQ (LETT |q3| NIL . #8#)
                                      (LETT #5# |lq3| . #8#) G190
                                      (COND
                                        ((OR (ATOM #5#)
                                          (PROGN
                                            (LETT |q3| (CAR #5#) . #8#)
                                            NIL))
                                         #9#))
                                      (SEQ
                                       (EXIT
                                        (LETT #4#
                                         (CONS
                                          (SPADCALL |q3|
                                           (QREFELT $ 36))
                                          #4#) . #8#)))
                                      (LETT #5# (CDR #5#) . #8#) #10#
                                      G191 (EXIT (NREVERSE0 #4#)))))))))
           (LETT |lq3| (SPADCALL |lq2| (QREFELT $ 34)) . #8#)
           (EXIT (PROGN
                   (LETT #6# NIL . #8#)
                   (SEQ (LETT |q3| NIL . #8#) (LETT #7# |lq3| . #8#)
                        G190
                        (COND
                          ((OR (ATOM #7#)
                               (PROGN (LETT |q3| (CAR #7#) . #8#) NIL))
                           #9#))
                        (SEQ (EXIT (LETT #6#
                                    (CONS
                                     (SPADCALL |q3| (QREFELT $ 36))
                                     #6#) . #8#)))
                        (LETT #7# (CDR #7#) . #8#) #10# G191
                        (EXIT (NREVERSE0 #6#))))))))) 

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

(DEFUN |FGLMIfCanPackage;| (|#1| |#2|)
  (PROG (DV$1 DV$2 |dv$| $ |pv$|)
    (RETURN
      (PROGN
        (LETT DV$1 (|devaluate| |#1|) . #0=(|FGLMIfCanPackage|))
        (LETT DV$2 (|devaluate| |#2|) . #0#)
        (LETT |dv$| (LIST '|FGLMIfCanPackage| DV$1 DV$2) . #0#)
        (LETT $ (GETREFV 43) . #0#)
        (QSETREFV $ 0 |dv$|)
        (QSETREFV $ 3 (LETT |pv$| (|buildPredVector| 0 0 NIL) . #0#))
        (|haddProp| |$ConstructorCache| '|FGLMIfCanPackage|
            (LIST DV$1 DV$2) (CONS 1 $))
        (|stuffDomainSlots| $)
        (QSETREFV $ 6 |#1|)
        (QSETREFV $ 7 |#2|)
        $)))) 

(MAKEPROP '|FGLMIfCanPackage| '|infovec|
    (LIST '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|local| |#2|)
             (|List| 15)
             (|GroebnerPackage| 6
                 (|HomogeneousDirectProduct|
                     (NRTEVAL (LENGTH (QREFELT $ 7)))
                     (|NonNegativeInteger|))
                 13 15)
             (0 . |groebner|) (|Union| $ '"failed") (|Symbol|)
             (|OrderedVariableList| 7) (5 . |variable|)
             (|HomogeneousDistributedMultivariatePolynomial| 7 6)
             (10 . |leadingMonomial|) (|Union| 13 '"failed")
             (15 . |mainVariable|) (|SparseUnivariatePolynomial| $)
             (20 . |univariate|) (|SparseUnivariatePolynomial| 15)
             (26 . |leadingCoefficient|) (|Boolean|) (31 . |ground?|)
             (|List| 13) (36 . |remove|) (|Polynomial| 6)
             (|PolToPol| 7 6) (42 . |pToHdmp|) (|List| 27)
             |FGLMICPK;zeroDimensional?;LB;2| (|List| 35)
             (|LinGroebnerPackage| 7 6) (47 . |totolex|)
             (|DistributedMultivariatePolynomial| 7 6) (52 . |dmpToP|)
             (|Union| 30 '"failed") |FGLMICPK;fglmIfCan;LU;3|
             (57 . |pToDmp|)
             (|GroebnerPackage| 6
                 (|DirectProduct| (NRTEVAL (LENGTH (QREFELT $ 7)))
                     (|NonNegativeInteger|))
                 13 35)
             (62 . |groebner|) |FGLMICPK;groebner;2L;4|)
          '#(|zeroDimensional?| 67 |groebner| 72 |fglmIfCan| 77) 'NIL
          (CONS (|makeByteWordVec2| 1 'NIL)
                (CONS '#()
                      (CONS '#()
                            (|makeByteWordVec2| 42
                                '(1 9 8 8 10 1 13 11 12 14 1 15 0 0 16
                                  1 15 17 0 18 2 15 19 0 13 20 1 21 15
                                  0 22 1 15 23 0 24 2 25 0 13 0 26 1 28
                                  15 27 29 1 33 32 8 34 1 28 27 35 36 1
                                  28 35 27 39 1 40 32 32 41 1 0 23 30
                                  31 1 0 30 30 42 1 0 37 30 38)))))
          '|lookupComplete|)) 
