
(/VERSIONCHECK 2) 

(DEFUN |ODP;<;2$B;1| (|x| |y| $) (SPADCALL |x| |y| (QREFELT $ 8))) 

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

(DEFUN |OrderedDirectProduct;| (|#1| |#2| |#3|)
  (PROG (DV$1 DV$2 DV$3 |dv$| $ #0=#:G1838 #1=#:G1837 #2=#:G1836
              #3=#:G1835 #4=#:G1834 |pv$|)
    (RETURN
      (PROGN
        (LETT DV$1 (|devaluate| |#1|) . #5=(|OrderedDirectProduct|))
        (LETT DV$2 (|devaluate| |#2|) . #5#)
        (LETT DV$3 (|devaluate| |#3|) . #5#)
        (LETT |dv$|
              (LIST '|OrderedDirectProduct| DV$1 DV$2 DV$3) . #5#)
        (LETT $ (GETREFV 42) . #5#)
        (QSETREFV $ 0 |dv$|)
        (QSETREFV $ 3
            (LETT |pv$|
                  (|buildPredVector| 0 0
                      (LIST (|HasCategory| |#2| '(|SetCategory|))
                            (|HasCategory| |#2| '(|Field|))
                            (|HasCategory| |#2| '(|Ring|))
                            (|HasCategory| |#2|
                                '(|OrderedAbelianMonoidSup|))
                            (LETT #0#
                                  (|HasCategory| |#2| '(|OrderedRing|)) . #5#)
                            (OR (|HasCategory| |#2|
                                    '(|OrderedAbelianMonoidSup|))
                                #0#)
                            (|HasCategory| |#2| '(|Monoid|))
                            (|HasCategory| |#2| '(|unitsKnown|))
                            (LETT #1#
                                  (|HasCategory| |#2|
                                      '(|CommutativeRing|)) . #5#)
                            (OR #1# (|HasCategory| |#2| '(|Field|))
                                (|HasCategory| |#2| '(|Ring|)))
                            (OR #1# (|HasCategory| |#2| '(|Field|)))
                            (OR #1# (|HasCategory| |#2| '(|Ring|)))
                            (|HasCategory| |#2| '(|Finite|))
                            (|HasCategory| |#2|
                                '(|LinearlyExplicitRingOver|
                                     (|Integer|)))
                            (|HasCategory| |#2|
                                '(|PartialDifferentialRing| (|Symbol|)))
                            (LETT #2#
                                  (|HasCategory| |#2|
                                      '(|DifferentialRing|)) . #5#)
                            (OR (|HasCategory| |#2|
                                    '(|LinearlyExplicitRingOver|
                                      (|Integer|)))
                                (|HasCategory| |#2|
                                    '(|PartialDifferentialRing|
                                      (|Symbol|)))
                                #1# #2# (|HasCategory| |#2| '(|Field|))
                                (|HasCategory| |#2| '(|Ring|)))
                            (OR (|HasCategory| |#2|
                                    '(|LinearlyExplicitRingOver|
                                      (|Integer|)))
                                (|HasCategory| |#2|
                                    '(|PartialDifferentialRing|
                                      (|Symbol|)))
                                #1# #2# (|HasCategory| |#2| '(|Ring|)))
                            (|HasCategory| (|Integer|) '(|OrderedSet|))
                            (AND (|HasCategory| |#2| '(|Ring|))
                                 (|HasCategory| |#2|
                                     '(|LinearlyExplicitRingOver|
                                       (|Integer|))))
                            (AND #2# (|HasCategory| |#2| '(|Ring|)))
                            (AND (|HasCategory| |#2| '(|Ring|))
                                 (|HasCategory| |#2|
                                     '(|PartialDifferentialRing|
                                       (|Symbol|))))
                            (AND (|HasCategory| |#2| '(|SetCategory|))
                                 (|HasCategory| |#2|
                                     '(|RetractableTo| (|Integer|))))
                            (OR (|HasCategory| |#2| '(|Ring|))
                                (AND (|HasCategory| |#2|
                                      '(|SetCategory|))
                                     (|HasCategory| |#2|
                                      '(|RetractableTo| (|Integer|)))))
                            (AND (|HasCategory| |#2|
                                     '(|RetractableTo|
                                       (|Fraction| (|Integer|))))
                                 (|HasCategory| |#2| '(|SetCategory|)))
                            (LETT #3#
                                  (|HasCategory| |#2|
                                      '(|CancellationAbelianMonoid|)) . #5#)
                            (OR (|HasCategory| |#2|
                                    '(|LinearlyExplicitRingOver|
                                      (|Integer|)))
                                (|HasCategory| |#2|
                                    '(|PartialDifferentialRing|
                                      (|Symbol|)))
                                #3# #1# #2#
                                (|HasCategory| |#2| '(|Field|))
                                (|HasCategory| |#2| '(|Ring|)))
                            (LETT #4#
                                  (|HasCategory| |#2|
                                      '(|AbelianSemiGroup|)) . #5#)
                            (OR (|HasCategory| |#2|
                                    '(|LinearlyExplicitRingOver|
                                      (|Integer|)))
                                (|HasCategory| |#2|
                                    '(|PartialDifferentialRing|
                                      (|Symbol|)))
                                #4# #3# #1# #2#
                                (|HasCategory| |#2| '(|Field|))
                                (|HasCategory| |#2| '(|Finite|))
                                (|HasCategory| |#2| '(|Monoid|))
                                (|HasCategory| |#2|
                                    '(|OrderedAbelianMonoidSup|))
                                #0# (|HasCategory| |#2| '(|Ring|))
                                (|HasCategory| |#2| '(|SetCategory|)))
                            (OR (|HasCategory| |#2|
                                    '(|LinearlyExplicitRingOver|
                                      (|Integer|)))
                                (|HasCategory| |#2|
                                    '(|PartialDifferentialRing|
                                      (|Symbol|)))
                                #4# #3# #1# #2#
                                (|HasCategory| |#2| '(|Field|))
                                (|HasCategory| |#2| '(|Ring|)))
                            (OR (AND (|HasCategory| |#2|
                                      '(|RetractableTo|
                                        (|Fraction| (|Integer|))))
                                     (|HasCategory| |#2|
                                      '(|LinearlyExplicitRingOver|
                                        (|Integer|))))
                                (AND (|HasCategory| |#2|
                                      '(|RetractableTo|
                                        (|Fraction| (|Integer|))))
                                     (|HasCategory| |#2|
                                      '(|PartialDifferentialRing|
                                        (|Symbol|))))
                                (AND (|HasCategory| |#2|
                                      '(|RetractableTo|
                                        (|Fraction| (|Integer|))))
                                     #4#)
                                (AND (|HasCategory| |#2|
                                      '(|RetractableTo|
                                        (|Fraction| (|Integer|))))
                                     #3#)
                                (AND (|HasCategory| |#2|
                                      '(|RetractableTo|
                                        (|Fraction| (|Integer|))))
                                     #1#)
                                (AND (|HasCategory| |#2|
                                      '(|RetractableTo|
                                        (|Fraction| (|Integer|))))
                                     #2#)
                                (AND (|HasCategory| |#2|
                                      '(|RetractableTo|
                                        (|Fraction| (|Integer|))))
                                     (|HasCategory| |#2| '(|Field|)))
                                (AND (|HasCategory| |#2|
                                      '(|RetractableTo|
                                        (|Fraction| (|Integer|))))
                                     (|HasCategory| |#2| '(|Finite|)))
                                (AND (|HasCategory| |#2|
                                      '(|RetractableTo|
                                        (|Fraction| (|Integer|))))
                                     (|HasCategory| |#2| '(|Monoid|)))
                                (AND (|HasCategory| |#2|
                                      '(|RetractableTo|
                                        (|Fraction| (|Integer|))))
                                     (|HasCategory| |#2|
                                      '(|OrderedAbelianMonoidSup|)))
                                (AND (|HasCategory| |#2|
                                      '(|RetractableTo|
                                        (|Fraction| (|Integer|))))
                                     #0#)
                                (AND (|HasCategory| |#2|
                                      '(|RetractableTo|
                                        (|Fraction| (|Integer|))))
                                     (|HasCategory| |#2| '(|Ring|)))
                                (AND (|HasCategory| |#2|
                                      '(|RetractableTo|
                                        (|Fraction| (|Integer|))))
                                     (|HasCategory| |#2|
                                      '(|SetCategory|))))
                            (OR (AND (|HasCategory| |#2|
                                      '(|LinearlyExplicitRingOver|
                                        (|Integer|)))
                                     (|HasCategory| |#2|
                                      '(|RetractableTo| (|Integer|))))
                                (AND (|HasCategory| |#2|
                                      '(|PartialDifferentialRing|
                                        (|Symbol|)))
                                     (|HasCategory| |#2|
                                      '(|RetractableTo| (|Integer|))))
                                (AND #4#
                                     (|HasCategory| |#2|
                                      '(|RetractableTo| (|Integer|))))
                                (AND #3#
                                     (|HasCategory| |#2|
                                      '(|RetractableTo| (|Integer|))))
                                (AND #1#
                                     (|HasCategory| |#2|
                                      '(|RetractableTo| (|Integer|))))
                                (AND #2#
                                     (|HasCategory| |#2|
                                      '(|RetractableTo| (|Integer|))))
                                (AND (|HasCategory| |#2| '(|Field|))
                                     (|HasCategory| |#2|
                                      '(|RetractableTo| (|Integer|))))
                                (AND (|HasCategory| |#2| '(|Finite|))
                                     (|HasCategory| |#2|
                                      '(|RetractableTo| (|Integer|))))
                                (AND (|HasCategory| |#2| '(|Monoid|))
                                     (|HasCategory| |#2|
                                      '(|RetractableTo| (|Integer|))))
                                (AND (|HasCategory| |#2|
                                      '(|OrderedAbelianMonoidSup|))
                                     (|HasCategory| |#2|
                                      '(|RetractableTo| (|Integer|))))
                                (AND #0#
                                     (|HasCategory| |#2|
                                      '(|RetractableTo| (|Integer|))))
                                (AND (|HasCategory| |#2| '(|Ring|))
                                     (|HasCategory| |#2|
                                      '(|RetractableTo| (|Integer|))))
                                (AND (|HasCategory| |#2|
                                      '(|SetCategory|))
                                     (|HasCategory| |#2|
                                      '(|RetractableTo| (|Integer|)))))
                            (AND (|HasCategory| |#2| '(|SetCategory|))
                                 (|HasCategory| |#2|
                                     (LIST '|Evalable|
                                      (|devaluate| |#2|))))
                            (OR (AND #4#
                                     (|HasCategory| |#2|
                                      (LIST '|Evalable|
                                       (|devaluate| |#2|))))
                                (AND #3#
                                     (|HasCategory| |#2|
                                      (LIST '|Evalable|
                                       (|devaluate| |#2|))))
                                (AND #1#
                                     (|HasCategory| |#2|
                                      (LIST '|Evalable|
                                       (|devaluate| |#2|))))
                                (AND #2#
                                     (|HasCategory| |#2|
                                      (LIST '|Evalable|
                                       (|devaluate| |#2|))))
                                (AND (|HasCategory| |#2| '(|Field|))
                                     (|HasCategory| |#2|
                                      (LIST '|Evalable|
                                       (|devaluate| |#2|))))
                                (AND (|HasCategory| |#2| '(|Finite|))
                                     (|HasCategory| |#2|
                                      (LIST '|Evalable|
                                       (|devaluate| |#2|))))
                                (AND (|HasCategory| |#2| '(|Monoid|))
                                     (|HasCategory| |#2|
                                      (LIST '|Evalable|
                                       (|devaluate| |#2|))))
                                (AND (|HasCategory| |#2|
                                      '(|OrderedAbelianMonoidSup|))
                                     (|HasCategory| |#2|
                                      (LIST '|Evalable|
                                       (|devaluate| |#2|))))
                                (AND #0#
                                     (|HasCategory| |#2|
                                      (LIST '|Evalable|
                                       (|devaluate| |#2|))))
                                (AND (|HasCategory| |#2| '(|Ring|))
                                     (|HasCategory| |#2|
                                      (LIST '|Evalable|
                                       (|devaluate| |#2|))))
                                (AND (|HasCategory| |#2|
                                      '(|SetCategory|))
                                     (|HasCategory| |#2|
                                      (LIST '|Evalable|
                                       (|devaluate| |#2|))))
                                (AND (|HasCategory| |#2|
                                      (LIST '|Evalable|
                                       (|devaluate| |#2|)))
                                     (|HasCategory| |#2|
                                      '(|LinearlyExplicitRingOver|
                                        (|Integer|))))
                                (AND (|HasCategory| |#2|
                                      (LIST '|Evalable|
                                       (|devaluate| |#2|)))
                                     (|HasCategory| |#2|
                                      '(|PartialDifferentialRing|
                                        (|Symbol|))))))) . #5#))
        (|haddProp| |$ConstructorCache| '|OrderedDirectProduct|
            (LIST DV$1 DV$2 DV$3) (CONS 1 $))
        (|stuffDomainSlots| $)
        (QSETREFV $ 6 |#1|)
        (QSETREFV $ 7 |#2|)
        (QSETREFV $ 8 |#3|)
        (AND (|HasCategory| $ '(|finiteAggregate|))
             (|augmentPredVector| $ 17179869184))
        (AND (|HasCategory| $ '(|finiteAggregate|))
             (|HasCategory| |#2| '(|SetCategory|))
             (|augmentPredVector| $ 34359738368))
        (AND (|HasCategory| $ '(|shallowlyMutable|))
             (|augmentPredVector| $ 68719476736))
        (QSETREFV $ 9 (|Vector| |#2|))
        $)))) 

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