
(/VERSIONCHECK 2) 

(DEFUN |IDPOAM;<;2$B;1| (|x| |y| $)
  (COND
    ((NULL |y|) 'NIL)
    ((OR (NULL |x|)
         (SPADCALL (QCAR (|SPADfirst| |x|)) (QCAR (|SPADfirst| |y|))
             (QREFELT $ 11)))
     'T)
    ((SPADCALL (QCAR (|SPADfirst| |y|)) (QCAR (|SPADfirst| |x|))
         (QREFELT $ 11))
     'NIL)
    ((SPADCALL (QCDR (|SPADfirst| |x|)) (QCDR (|SPADfirst| |y|))
         (QREFELT $ 12))
     'T)
    ((SPADCALL (QCDR (|SPADfirst| |y|)) (QCDR (|SPADfirst| |x|))
         (QREFELT $ 12))
     'NIL)
    ('T (SPADCALL (CDR |x|) (CDR |y|) (QREFELT $ 13))))) 

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

(DEFUN |IndexedDirectProductOrderedAbelianMonoid;| (|#1| |#2|)
  (PROG (DV$1 DV$2 |dv$| $ |pv$|)
    (RETURN
      (PROGN
        (LETT DV$1 (|devaluate| |#1|)
              . #0=(|IndexedDirectProductOrderedAbelianMonoid|))
        (LETT DV$2 (|devaluate| |#2|) . #0#)
        (LETT |dv$|
              (LIST '|IndexedDirectProductOrderedAbelianMonoid| DV$1
                    DV$2) . #0#)
        (LETT $ (GETREFV 20) . #0#)
        (QSETREFV $ 0 |dv$|)
        (QSETREFV $ 3 (LETT |pv$| (|buildPredVector| 0 0 NIL) . #0#))
        (|haddProp| |$ConstructorCache|
            '|IndexedDirectProductOrderedAbelianMonoid|
            (LIST DV$1 DV$2) (CONS 1 $))
        (|stuffDomainSlots| $)
        (QSETREFV $ 6 |#1|)
        (QSETREFV $ 7 |#2|)
        (QSETREFV $ 8 (|Record| (|:| |k| |#2|) (|:| |c| |#1|)))
        (QSETREFV $ 9 (|List| (QREFELT $ 8)))
        $)))) 

(MAKEPROP '|IndexedDirectProductOrderedAbelianMonoid| '|infovec|
    (LIST '#(NIL NIL NIL NIL NIL
             (|IndexedDirectProductAbelianMonoid| 6 7) (|local| |#1|)
             (|local| |#2|) '|Term| '|Rep| (|Boolean|) (0 . <) (6 . <)
             |IDPOAM;<;2$B;1| (|Mapping| 6 6) (|NonNegativeInteger|)
             (|PositiveInteger|) (|SingleInteger|) (|String|)
             (|OutputForm|))
          '#(< 12) 'NIL
          (CONS (|makeByteWordVec2| 1 '(0 0 0 0 0 0 0 0 0))
                (CONS '#(NIL NIL |AbelianMonoid&| |OrderedSet&| NIL
                         |AbelianSemiGroup&| |SetCategory&|
                         |BasicType&| NIL)
                      (CONS '#((|OrderedAbelianMonoid|)
                               (|OrderedAbelianSemiGroup|)
                               (|AbelianMonoid|) (|OrderedSet|)
                               (|IndexedDirectProductCategory| 6 7)
                               (|AbelianSemiGroup|) (|SetCategory|)
                               (|BasicType|) (|CoercibleTo| 19))
                            (|makeByteWordVec2| 13
                                '(2 7 10 0 0 11 2 6 10 0 0 12 2 0 10 0
                                  0 13)))))
          '|lookupIncomplete|)) 
