
(/VERSIONCHECK 2) 

(DEFUN |FreeAbelianMonoid| (#0=#:G1826)
  (PROG ()
    (RETURN
      (PROG (#1=#:G1827)
        (RETURN
          (COND
            ((LETT #1#
                   (|lassocShiftWithFunction| (LIST (|devaluate| #0#))
                       (HGET |$ConstructorCache| '|FreeAbelianMonoid|)
                       '|domainEqualList|)
                   . #2=(|FreeAbelianMonoid|))
             (|CDRwithIncrement| #1#))
            ('T
             (UNWIND-PROTECT
               (PROG1 (|FreeAbelianMonoid;| #0#) (LETT #1# T . #2#))
               (COND
                 ((NOT #1#)
                  (HREM |$ConstructorCache| '|FreeAbelianMonoid|))))))))))) 

(DEFUN |FreeAbelianMonoid;| (|#1|)
  (PROG (DV$1 |dv$| $ |pv$|)
    (RETURN
      (PROGN
        (LETT DV$1 (|devaluate| |#1|) . #0=(|FreeAbelianMonoid|))
        (LETT |dv$| (LIST '|FreeAbelianMonoid| DV$1) . #0#)
        (LETT $ (GETREFV 20) . #0#)
        (QSETREFV $ 0 |dv$|)
        (QSETREFV $ 3
            (LETT |pv$|
                  (|buildPredVector| 0 0
                      (LIST (|HasCategory| (|NonNegativeInteger|)
                                '(|OrderedAbelianMonoid|)))) . #0#))
        (|haddProp| |$ConstructorCache| '|FreeAbelianMonoid|
            (LIST DV$1) (CONS 1 $))
        (|stuffDomainSlots| $)
        (QSETREFV $ 6 |#1|)
        $)))) 

(MAKEPROP '|FreeAbelianMonoid| '|infovec|
    (LIST '#(NIL NIL NIL NIL NIL
             (|InnerFreeAbelianMonoid| 6 9 (NRTEVAL 1)) (|local| |#1|)
             (|Mapping| 9 9) (|Mapping| 6 6) (|NonNegativeInteger|)
             (|Integer|) (|Record| (|:| |gen| 6) (|:| |exp| 9))
             (|List| 11) (|Union| 6 '"failed") (|Union| $ '"failed")
             (|Boolean|) (|PositiveInteger|) (|String|) (|OutputForm|)
             (|SingleInteger|))
          '#() 'NIL
          (CONS (|makeByteWordVec2| 1 '(0 0 0 0 0 0 0 0))
                (CONS '#(NIL NIL |AbelianMonoid&| |AbelianSemiGroup&|
                         |SetCategory&| |BasicType&| |RetractableTo&|
                         NIL)
                      (CONS '#((|FreeAbelianMonoidCategory| 6 9)
                               (|CancellationAbelianMonoid|)
                               (|AbelianMonoid|) (|AbelianSemiGroup|)
                               (|SetCategory|) (|BasicType|)
                               (|RetractableTo| 6) (|CoercibleTo| 18))
                            (|makeByteWordVec2| -999999 'NIL))))
          '|lookupIncomplete|)) 
