
(/VERSIONCHECK 2) 

(DEFPARAMETER |OctonionCategory;CAT| 'NIL) 

(DEFPARAMETER |OctonionCategory;AL| 'NIL) 

(DEFUN |OctonionCategory| (#0=#:G1882)
  (LET (#1=#:G1883)
    (COND
      ((SETQ #1# (|assoc| #2=(|devaluate| #0#) |OctonionCategory;AL|))
       (CDR #1#))
      (T (SETQ |OctonionCategory;AL|
               (|cons5| (CONS #2# (SETQ #1# (|OctonionCategory;| #0#)))
                        |OctonionCategory;AL|))
         #1#)))) 

(DEFUN |OctonionCategory;| (|t#1|)
  (PROG (#0=#:G1881)
    (RETURN
      (PROG1 (LETT #0#
                   (|sublisV|
                       (PAIR '(|t#1|) (LIST (|devaluate| |t#1|)))
                       (COND
                         (|OctonionCategory;CAT|)
                         ('T
                          (LETT |OctonionCategory;CAT|
                                (|Join| (|Algebra| '|t#1|)
                                        (|FullyRetractableTo| '|t#1|)
                                        (|FullyEvalableOver| '|t#1|)
                                        (|mkCategory| '|domain|
                                         '(((|conjugate| ($ $)) T)
                                           ((|real| (|t#1| $)) T)
                                           ((|imagi| (|t#1| $)) T)
                                           ((|imagj| (|t#1| $)) T)
                                           ((|imagk| (|t#1| $)) T)
                                           ((|imagE| (|t#1| $)) T)
                                           ((|imagI| (|t#1| $)) T)
                                           ((|imagJ| (|t#1| $)) T)
                                           ((|imagK| (|t#1| $)) T)
                                           ((|norm| (|t#1| $)) T)
                                           ((|octon|
                                             ($ |t#1| |t#1| |t#1| |t#1|
                                              |t#1| |t#1| |t#1| |t#1|))
                                            T)
                                           ((|abs| (|t#1| $))
                                            (|has| |t#1|
                                             (|RealNumberSystem|)))
                                           ((|rational?|
                                             ((|Boolean|) $))
                                            (|has| |t#1|
                                             (|IntegerNumberSystem|)))
                                           ((|rational|
                                             ((|Fraction| (|Integer|))
                                              $))
                                            (|has| |t#1|
                                             (|IntegerNumberSystem|)))
                                           ((|rationalIfCan|
                                             ((|Union|
                                               (|Fraction| (|Integer|))
                                               "failed")
                                              $))
                                            (|has| |t#1|
                                             (|IntegerNumberSystem|)))
                                           ((|inv| ($ $))
                                            (|has| |t#1| (|Field|))))
                                         '(((|Finite|)
                                            (|has| |t#1| (|Finite|)))
                                           ((|OrderedSet|)
                                            (|has| |t#1|
                                             (|OrderedSet|)))
                                           ((|ConvertibleTo|
                                             (|InputForm|))
                                            (|has| |t#1|
                                             (|ConvertibleTo|
                                              (|InputForm|))))
                                           ((|CharacteristicZero|)
                                            (|has| |t#1|
                                             (|CharacteristicZero|)))
                                           ((|CharacteristicNonZero|)
                                            (|has| |t#1|
                                             (|CharacteristicNonZero|))))
                                         '((|Fraction| (|Integer|))
                                           (|Boolean|))
                                         NIL))
                                . #1=(|OctonionCategory|))))) . #1#)
        (SETELT #0# 0 (LIST '|OctonionCategory| (|devaluate| |t#1|))))))) 
