
(/VERSIONCHECK 2) 

(DEFUN |DPMO;*;R2$;1| (|r| |x| $)
  (PROG (#0=#:G1818 #1=#:G1819 |i| #2=#:G1820)
    (RETURN
      (SEQ (PRIMVEC2ARR
               (PROGN
                 (LETT #0# (GETREFV #3=(QREFELT $ 6))
                       . #4=(|DPMO;*;R2$;1|))
                 (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 |r|
                                          (SPADCALL |x| |i|
                                           (QREFELT $ 11))
                                          (QREFELT $ 12)))))
                      (LETT |i|
                            (PROG1 (QSADD1 |i|)
                              (LETT #1# (QSADD1 #1#) . #4#)) . #4#)
                      (GO G190) G191 (EXIT NIL))
                 #0#)))))) 

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

(DEFUN |DirectProductModule;| (|#1| |#2| |#3|)
  (PROG (DV$1 DV$2 DV$3 |dv$| $ #0=#:G1842 #1=#:G1841 #2=#:G1840
              #3=#:G1839 #4=#:G1838 |pv$|)
    (RETURN
      (PROGN
        (LETT DV$1 (|devaluate| |#1|) . #5=(|DirectProductModule|))
        (LETT DV$2 (|devaluate| |#2|) . #5#)
        (LETT DV$3 (|devaluate| |#3|) . #5#)
        (LETT |dv$| (LIST '|DirectProductModule| DV$1 DV$2 DV$3) . #5#)
        (LETT $ (GETREFV 44) . #5#)
        (QSETREFV $ 0 |dv$|)
        (QSETREFV $ 3
            (LETT |pv$|
                  (|buildPredVector| 0 0
                      (LIST (|HasCategory| |#3| '(|Field|))
                            (|HasCategory| |#3| '(|Ring|))
                            (|HasCategory| |#3|
                                '(|OrderedAbelianMonoidSup|))
                            (LETT #0#
                                  (|HasCategory| |#3| '(|OrderedRing|)) . #5#)
                            (OR (|HasCategory| |#3|
                                    '(|OrderedAbelianMonoidSup|))
                                #0#)
                            (|HasCategory| |#3| '(|Monoid|))
                            (|HasCategory| |#3| '(|unitsKnown|))
                            (LETT #1#
                                  (|HasCategory| |#3|
                                      '(|CommutativeRing|)) . #5#)
                            (OR #1# (|HasCategory| |#3| '(|Field|))
                                (|HasCategory| |#3| '(|Ring|)))
                            (OR #1# (|HasCategory| |#3| '(|Field|)))
                            (OR #1# (|HasCategory| |#3| '(|Ring|)))
                            (|HasCategory| |#3| '(|Finite|))
                            (|HasCategory| |#3|
                                '(|LinearlyExplicitRingOver|
                                     (|Integer|)))
                            (|HasCategory| |#3|
                                '(|PartialDifferentialRing| (|Symbol|)))
                            (LETT #2#
                                  (|HasCategory| |#3|
                                      '(|DifferentialRing|)) . #5#)
                            (OR (|HasCategory| |#3|
                                    '(|LinearlyExplicitRingOver|
                                      (|Integer|)))
                                (|HasCategory| |#3|
                                    '(|PartialDifferentialRing|
                                      (|Symbol|)))
                                #1# #2# (|HasCategory| |#3| '(|Ring|)))
                            (|HasCategory| |#3| '(|SetCategory|))
                            (|HasCategory| (|Integer|) '(|OrderedSet|))
                            (AND (|HasCategory| |#3| '(|Ring|))
                                 (|HasCategory| |#3|
                                     '(|LinearlyExplicitRingOver|
                                       (|Integer|))))
                            (AND #2# (|HasCategory| |#3| '(|Ring|)))
                            (AND (|HasCategory| |#3| '(|Ring|))
                                 (|HasCategory| |#3|
                                     '(|PartialDifferentialRing|
                                       (|Symbol|))))
                            (OR (AND #2#
                                     (|HasCategory| |#3| '(|Ring|)))
                                (|HasCategory| |#3| '(|Monoid|))
                                (AND (|HasCategory| |#3| '(|Ring|))
                                     (|HasCategory| |#3|
                                      '(|LinearlyExplicitRingOver|
                                        (|Integer|))))
                                (AND (|HasCategory| |#3| '(|Ring|))
                                     (|HasCategory| |#3|
                                      '(|PartialDifferentialRing|
                                        (|Symbol|)))))
                            (LETT #3#
                                  (AND (|HasCategory| |#3|
                                        '(|SetCategory|))
                                       (|HasCategory| |#3|
                                        '(|RetractableTo| (|Integer|)))) . #5#)
                            (OR (AND (|HasCategory| |#3|
                                      '(|LinearlyExplicitRingOver|
                                        (|Integer|)))
                                     (|HasCategory| |#3|
                                      '(|RetractableTo| (|Integer|))))
                                (AND (|HasCategory| |#3|
                                      '(|PartialDifferentialRing|
                                        (|Symbol|)))
                                     (|HasCategory| |#3|
                                      '(|RetractableTo| (|Integer|))))
                                (AND #1#
                                     (|HasCategory| |#3|
                                      '(|RetractableTo| (|Integer|))))
                                (AND #2#
                                     (|HasCategory| |#3|
                                      '(|RetractableTo| (|Integer|))))
                                (AND (|HasCategory| |#3| '(|Field|))
                                     (|HasCategory| |#3|
                                      '(|RetractableTo| (|Integer|))))
                                (AND (|HasCategory| |#3| '(|Finite|))
                                     (|HasCategory| |#3|
                                      '(|RetractableTo| (|Integer|))))
                                (AND (|HasCategory| |#3| '(|Monoid|))
                                     (|HasCategory| |#3|
                                      '(|RetractableTo| (|Integer|))))
                                (AND (|HasCategory| |#3|
                                      '(|OrderedAbelianMonoidSup|))
                                     (|HasCategory| |#3|
                                      '(|RetractableTo| (|Integer|))))
                                (AND #0#
                                     (|HasCategory| |#3|
                                      '(|RetractableTo| (|Integer|))))
                                (AND (|HasCategory| |#3| '(|Ring|))
                                     (|HasCategory| |#3|
                                      '(|RetractableTo| (|Integer|))))
                                #3#)
                            (OR (|HasCategory| |#3| '(|Ring|)) #3#)
                            (LETT #4#
                                  (AND (|HasCategory| |#3|
                                        '(|RetractableTo|
                                          (|Fraction| (|Integer|))))
                                       (|HasCategory| |#3|
                                        '(|SetCategory|))) . #5#)
                            (OR (AND (|HasCategory| |#3|
                                      '(|RetractableTo|
                                        (|Fraction| (|Integer|))))
                                     (|HasCategory| |#3|
                                      '(|LinearlyExplicitRingOver|
                                        (|Integer|))))
                                (AND (|HasCategory| |#3|
                                      '(|RetractableTo|
                                        (|Fraction| (|Integer|))))
                                     (|HasCategory| |#3|
                                      '(|PartialDifferentialRing|
                                        (|Symbol|))))
                                (AND (|HasCategory| |#3|
                                      '(|RetractableTo|
                                        (|Fraction| (|Integer|))))
                                     #1#)
                                (AND (|HasCategory| |#3|
                                      '(|RetractableTo|
                                        (|Fraction| (|Integer|))))
                                     #2#)
                                (AND (|HasCategory| |#3|
                                      '(|RetractableTo|
                                        (|Fraction| (|Integer|))))
                                     (|HasCategory| |#3| '(|Field|)))
                                (AND (|HasCategory| |#3|
                                      '(|RetractableTo|
                                        (|Fraction| (|Integer|))))
                                     (|HasCategory| |#3| '(|Finite|)))
                                (AND (|HasCategory| |#3|
                                      '(|RetractableTo|
                                        (|Fraction| (|Integer|))))
                                     (|HasCategory| |#3| '(|Monoid|)))
                                (AND (|HasCategory| |#3|
                                      '(|RetractableTo|
                                        (|Fraction| (|Integer|))))
                                     (|HasCategory| |#3|
                                      '(|OrderedAbelianMonoidSup|)))
                                (AND (|HasCategory| |#3|
                                      '(|RetractableTo|
                                        (|Fraction| (|Integer|))))
                                     #0#)
                                (AND (|HasCategory| |#3|
                                      '(|RetractableTo|
                                        (|Fraction| (|Integer|))))
                                     (|HasCategory| |#3| '(|Ring|)))
                                #4#)
                            (|HasCategory| |#3|
                                '(|CancellationAbelianMonoid|))
                            (|HasCategory| |#3| '(|AbelianSemiGroup|))
                            (AND (|HasCategory| |#3| '(|SetCategory|))
                                 (|HasCategory| |#3|
                                     (LIST '|Evalable|
                                      (|devaluate| |#3|))))
                            (OR (AND #1#
                                     (|HasCategory| |#3|
                                      (LIST '|Evalable|
                                       (|devaluate| |#3|))))
                                (AND #2#
                                     (|HasCategory| |#3|
                                      (LIST '|Evalable|
                                       (|devaluate| |#3|))))
                                (AND (|HasCategory| |#3| '(|Field|))
                                     (|HasCategory| |#3|
                                      (LIST '|Evalable|
                                       (|devaluate| |#3|))))
                                (AND (|HasCategory| |#3| '(|Finite|))
                                     (|HasCategory| |#3|
                                      (LIST '|Evalable|
                                       (|devaluate| |#3|))))
                                (AND (|HasCategory| |#3| '(|Monoid|))
                                     (|HasCategory| |#3|
                                      (LIST '|Evalable|
                                       (|devaluate| |#3|))))
                                (AND (|HasCategory| |#3|
                                      '(|OrderedAbelianMonoidSup|))
                                     (|HasCategory| |#3|
                                      (LIST '|Evalable|
                                       (|devaluate| |#3|))))
                                (AND #0#
                                     (|HasCategory| |#3|
                                      (LIST '|Evalable|
                                       (|devaluate| |#3|))))
                                (AND (|HasCategory| |#3| '(|Ring|))
                                     (|HasCategory| |#3|
                                      (LIST '|Evalable|
                                       (|devaluate| |#3|))))
                                (AND (|HasCategory| |#3|
                                      '(|SetCategory|))
                                     (|HasCategory| |#3|
                                      (LIST '|Evalable|
                                       (|devaluate| |#3|))))
                                (AND (|HasCategory| |#3|
                                      (LIST '|Evalable|
                                       (|devaluate| |#3|)))
                                     (|HasCategory| |#3|
                                      '(|LinearlyExplicitRingOver|
                                        (|Integer|))))
                                (AND (|HasCategory| |#3|
                                      (LIST '|Evalable|
                                       (|devaluate| |#3|)))
                                     (|HasCategory| |#3|
                                      '(|PartialDifferentialRing|
                                        (|Symbol|))))))) . #5#))
        (|haddProp| |$ConstructorCache| '|DirectProductModule|
            (LIST DV$1 DV$2 DV$3) (CONS 1 $))
        (|stuffDomainSlots| $)
        (QSETREFV $ 6 |#1|)
        (QSETREFV $ 7 |#2|)
        (QSETREFV $ 8 |#3|)
        (AND (|HasCategory| $ '(|finiteAggregate|))
             (|augmentPredVector| $ 2147483648))
        (AND (|HasCategory| $ '(|finiteAggregate|))
             (|HasCategory| |#3| '(|SetCategory|))
             (|augmentPredVector| $ 4294967296))
        (AND (|HasCategory| $ '(|shallowlyMutable|))
             (|augmentPredVector| $ 8589934592))
        (QSETREFV $ 9 (|Vector| |#3|))
        $)))) 

(MAKEPROP '|DirectProductModule| '|infovec|
    (LIST '#(NIL NIL NIL NIL NIL (|DirectProduct| 6 8) (|local| |#1|)
             (|local| |#2|) (|local| |#3|) '|Rep| (|Integer|)
             (0 . |elt|) (6 . *) |DPMO;*;R2$;1| (|Boolean|)
             (|NonNegativeInteger|) (|List| 8) (|Equation| 8)
             (|List| 17) (|Matrix| 10) (|Matrix| $)
             (|Record| (|:| |mat| 19) (|:| |vec| (|Vector| 10)))
             (|Vector| $) (|List| 24) (|Symbol|) (|List| 15)
             (|Fraction| 10) (|Union| 26 '"failed")
             (|Union| 10 '"failed") (|PositiveInteger|)
             (|Union| $ '"failed") (|Mapping| 14 8) (|Void|)
             (|Mapping| 8 8) (|CardinalNumber|) (|List| $)
             (|Record| (|:| |mat| 37) (|:| |vec| 42)) (|Matrix| 8)
             (|Union| 8 '"failed") (|SingleInteger|) (|OutputForm|)
             (|String|) (|Vector| 8) (|List| 10))
          '#(|elt| 12 * 18) 'NIL
          (CONS (|makeByteWordVec2| 31
                    '(0 1 8 2 2 10 4 8 2 13 14 15 9 8 16 0 9 2 3 4 11 8
                      16 0 5 0 5 2 0 0 5 2 6 0 0 5 6 12 0 0 0 31 17 0 0
                      0 0 0 0 31 7 8 17 27 24))
                (CONS '#(|DirectProductCategory&| |VectorSpace&|
                         |Algebra&| |FullyLinearlyExplicitRingOver&|
                         |DifferentialExtension&| |Module&|
                         |OrderedRing&| NIL NIL NIL
                         |PartialDifferentialRing&| |DifferentialRing&|
                         NIL NIL |Ring&| NIL NIL NIL NIL NIL NIL NIL
                         NIL |AbelianGroup&| NIL NIL NIL NIL
                         |IndexedAggregate&| |AbelianMonoid&| NIL NIL
                         |Monoid&| |HomogeneousAggregate&|
                         |AbelianSemiGroup&| |OrderedSet&| |SemiGroup&|
                         |Finite&| |Aggregate&| |SetCategory&|
                         |EltableAggregate&| |Evalable&|
                         |FullyRetractableTo&| NIL |BasicType&| NIL NIL
                         NIL NIL |InnerEvalable&| NIL NIL
                         |RetractableTo&| |RetractableTo&|
                         |RetractableTo&|)
                      (CONS '#((|DirectProductCategory| 6 8)
                               (|VectorSpace| 8) (|Algebra| 8)
                               (|FullyLinearlyExplicitRingOver| 8)
                               (|DifferentialExtension| 8) (|Module| 8)
                               (|OrderedRing|) (|CommutativeRing|)
                               (|LinearlyExplicitRingOver| 8)
                               (|LinearlyExplicitRingOver| 10)
                               (|PartialDifferentialRing| 24)
                               (|DifferentialRing|) (|BiModule| 8 8)
                               (|BiModule| $$ $$) (|Ring|)
                               (|LeftModule| 7) (|LeftModule| 8)
                               (|RightModule| 8)
                               (|OrderedAbelianMonoidSup|)
                               (|OrderedAbelianGroup|)
                               (|LeftModule| $$) (|RightModule| $$)
                               (|Rng|) (|AbelianGroup|)
                               (|OrderedCancellationAbelianMonoid|)
                               (|CancellationAbelianMonoid|)
                               (|OrderedAbelianMonoid|) (|SemiRing|)
                               (|IndexedAggregate| 10 8)
                               (|AbelianMonoid|)
                               (|OrderedAbelianSemiGroup|) (|SemiRng|)
                               (|Monoid|) (|HomogeneousAggregate| 8)
                               (|AbelianSemiGroup|) (|OrderedSet|)
                               (|SemiGroup|) (|Finite|) (|Aggregate|)
                               (|SetCategory|)
                               (|EltableAggregate| 10 8) (|Evalable| 8)
                               (|FullyRetractableTo| 8) (|Type|)
                               (|BasicType|) (|finiteAggregate|)
                               (|CoercibleTo| (|Vector| 8))
                               (|Eltable| 10 8) (|CoercibleTo| 40)
                               (|InnerEvalable| 8 8) (|unitsKnown|)
                               (|CommutativeStar|) (|RetractableTo| 8)
                               (|RetractableTo| 26)
                               (|RetractableTo| 10))
                            (|makeByteWordVec2| 13
                                '(2 0 8 0 10 11 2 8 0 7 0 12 2 0 8 0 10
                                  11 2 0 0 7 0 13)))))
          '|lookupIncomplete|)) 
