
(/VERSIONCHECK 2) 

(DEFPARAMETER |AbelianGroup;AL| 'NIL) 

(DEFUN |AbelianGroup| ()
  (LET (#:G2843)
    (COND (|AbelianGroup;AL|) (T (SETQ |AbelianGroup;AL| (|AbelianGroup;|)))))) 

(DEFUN |AbelianGroup;| ()
  (PROG (#1=#:G2841)
    (RETURN
     (PROG1
         (LETT #1#
               (|Join| (|CancellationAbelianMonoid|)
                       (|mkCategory| '|domain|
                                     '(((- ($ $)) T) ((- ($ $ $)) T)
                                       ((* ($ (|Integer|) $)) T))
                                     NIL '((|Integer|)) NIL))
               |AbelianGroup|)
       (SETELT #1# 0 '(|AbelianGroup|)))))) 

(MAKEPROP '|AbelianGroup| 'NILADIC T) 
