
(/VERSIONCHECK 2) 

(DEFPARAMETER |IntegerNumberSystem;AL| 'NIL) 

(DEFUN |IntegerNumberSystem| ()
  (LET (#:G8307)
    (COND (|IntegerNumberSystem;AL|)
          (T (SETQ |IntegerNumberSystem;AL| (|IntegerNumberSystem;|)))))) 

(DEFUN |IntegerNumberSystem;| ()
  (PROG (#1=#:G8305)
    (RETURN
     (PROG1
         (LETT #1#
               (|sublisV|
                (PAIR
                 '(#2=#:G8299 #3=#:G8300 #4=#:G8301 #5=#:G8302 #6=#:G8303
                   #7=#:G8304)
                 (LIST '(|Integer|) '(|Integer|) '(|Integer|) '(|InputForm|)
                       '(|Pattern| (|Integer|)) '(|Integer|)))
                (|Join| (|UniqueFactorizationDomain|) (|EuclideanDomain|)
                        (|OrderedIntegralDomain|) (|DifferentialRing|)
                        (|ConvertibleTo| '#2#) (|RetractableTo| '#3#)
                        (|LinearlyExplicitRingOver| '#4#)
                        (|ConvertibleTo| '#5#) (|ConvertibleTo| '#6#)
                        (|PatternMatchable| '#7#)
                        (|CombinatorialFunctionCategory|) (|RealConstant|)
                        (|CharacteristicZero|) (|StepThrough|)
                        (|canonicalUnitNormal|) (|multiplicativeValuation|)
                        (|mkCategory| '|domain|
                                      '(((|odd?| ((|Boolean|) $)) T)
                                        ((|even?| ((|Boolean|) $)) T)
                                        ((|base| ($)) T) ((|length| ($ $)) T)
                                        ((|shift| ($ $ $)) T)
                                        ((|bit?| ((|Boolean|) $ $)) T)
                                        ((|positiveRemainder| ($ $ $)) T)
                                        ((|symmetricRemainder| ($ $ $)) T)
                                        ((|rational?| ((|Boolean|) $)) T)
                                        ((|rational|
                                          ((|Fraction| (|Integer|)) $))
                                         T)
                                        ((|rationalIfCan|
                                          ((|Union| (|Fraction| (|Integer|))
                                                    "failed")
                                           $))
                                         T)
                                        ((|random| ($)) T) ((|random| ($ $)) T)
                                        ((|hash| ($ $)) T) ((|copy| ($ $)) T)
                                        ((|inc| ($ $)) T) ((|dec| ($ $)) T)
                                        ((|mask| ($ $)) T)
                                        ((|addmod| ($ $ $ $)) T)
                                        ((|submod| ($ $ $ $)) T)
                                        ((|mulmod| ($ $ $ $)) T)
                                        ((|powmod| ($ $ $ $)) T)
                                        ((|invmod| ($ $ $)) T))
                                      NIL
                                      '((|Fraction| (|Integer|)) (|Boolean|))
                                      NIL)))
               |IntegerNumberSystem|)
       (SETELT #1# 0 '(|IntegerNumberSystem|)))))) 

(MAKEPROP '|IntegerNumberSystem| 'NILADIC T) 
