
(/VERSIONCHECK 2) 

(DEFUN |GROUP-;/;3S;1| (|x| |y| $)
  (SPADCALL |x| (SPADCALL |y| (QREFELT $ 7)) (QREFELT $ 8))) 

(DEFUN |GROUP-;recip;SU;2| (|x| $)
  (CONS 0 (SPADCALL |x| (QREFELT $ 7)))) 

(DEFUN |GROUP-;^;SIS;3| (|x| |n| $) (SPADCALL |x| |n| (QREFELT $ 13))) 

(DEFUN |GROUP-;**;SIS;4| (|x| |n| $)
  (COND
    ((ZEROP |n|) (|spadConstant| $ 15))
    ((< |n| 0)
     (SPADCALL (SPADCALL |x| (QREFELT $ 7)) (- |n|) (QREFELT $ 18)))
    ('T (SPADCALL |x| |n| (QREFELT $ 18))))) 

(DEFUN |GROUP-;conjugate;3S;5| (|p| |q| $)
  (SPADCALL (SPADCALL (SPADCALL |q| (QREFELT $ 7)) |p| (QREFELT $ 8))
      |q| (QREFELT $ 8))) 

(DEFUN |GROUP-;commutator;3S;6| (|p| |q| $)
  (SPADCALL
      (SPADCALL
          (SPADCALL (SPADCALL |p| (QREFELT $ 7))
              (SPADCALL |q| (QREFELT $ 7)) (QREFELT $ 8))
          |p| (QREFELT $ 8))
      |q| (QREFELT $ 8))) 

(DEFUN |Group&| (|#1|)
  (PROG (DV$1 |dv$| $ |pv$|)
    (RETURN
      (PROGN
        (LETT DV$1 (|devaluate| |#1|) . #0=(|Group&|))
        (LETT |dv$| (LIST '|Group&| DV$1) . #0#)
        (LETT $ (GETREFV 23) . #0#)
        (QSETREFV $ 0 |dv$|)
        (QSETREFV $ 3 (LETT |pv$| (|buildPredVector| 0 0 NIL) . #0#))
        (|stuffDomainSlots| $)
        (QSETREFV $ 6 |#1|)
        $)))) 

(MAKEPROP '|Group&| '|infovec|
    (LIST '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) (0 . |inv|) (5 . *)
             |GROUP-;/;3S;1| (|Union| $ '"failed") |GROUP-;recip;SU;2|
             (|Integer|) (11 . **) |GROUP-;^;SIS;3| (17 . |One|)
             (|PositiveInteger|) (|RepeatedSquaring| 6) (21 . |expt|)
             |GROUP-;**;SIS;4| |GROUP-;conjugate;3S;5|
             |GROUP-;commutator;3S;6| (|NonNegativeInteger|))
          '#(|recip| 27 |conjugate| 32 |commutator| 38 ^ 44 / 50 ** 56)
          'NIL
          (CONS (|makeByteWordVec2| 1 'NIL)
                (CONS '#()
                      (CONS '#()
                            (|makeByteWordVec2| 21
                                '(1 6 0 0 7 2 6 0 0 0 8 2 6 0 0 12 13 0
                                  6 0 15 2 17 6 6 16 18 1 0 10 0 11 2 0
                                  0 0 0 20 2 0 0 0 0 21 2 0 0 0 12 14 2
                                  0 0 0 0 9 2 0 0 0 12 19)))))
          '|lookupComplete|)) 
