
(/VERSIONCHECK 2) 

(DEFUN |LA;One;$;1| ($)
  (SPADCALL (|spadConstant| $ 9) (|spadConstant| $ 10) (QREFELT $ 11))) 

(DEFUN |LA;*;3$;2| (|x| |y| $)
  (SPADCALL
      (SPADCALL (SPADCALL |x| (QREFELT $ 13))
          (SPADCALL |y| (QREFELT $ 13)) (QREFELT $ 14))
      (SPADCALL (SPADCALL |x| (QREFELT $ 15))
          (SPADCALL |y| (QREFELT $ 15)) (QREFELT $ 16))
      (QREFELT $ 11))) 

(DEFUN |LA;characteristic;Nni;3| ($) (SPADCALL (QREFELT $ 19))) 

(DEFUN |LocalAlgebra| (&REST #0=#:G1821)
  (PROG ()
    (RETURN
      (PROG (#1=#:G1822)
        (RETURN
          (COND
            ((LETT #1#
                   (|lassocShiftWithFunction| (|devaluateList| #0#)
                       (HGET |$ConstructorCache| '|LocalAlgebra|)
                       '|domainEqualList|)
                   . #2=(|LocalAlgebra|))
             (|CDRwithIncrement| #1#))
            ('T
             (UNWIND-PROTECT
               (PROG1 (APPLY (|function| |LocalAlgebra;|) #0#)
                 (LETT #1# T . #2#))
               (COND
                 ((NOT #1#) (HREM |$ConstructorCache| '|LocalAlgebra|))))))))))) 

(DEFUN |LocalAlgebra;| (|#1| |#2| |#3|)
  (PROG (DV$1 DV$2 DV$3 |dv$| $ |pv$|)
    (RETURN
      (PROGN
        (LETT DV$1 (|devaluate| |#1|) . #0=(|LocalAlgebra|))
        (LETT DV$2 (|devaluate| |#2|) . #0#)
        (LETT DV$3 (|devaluate| |#3|) . #0#)
        (LETT |dv$| (LIST '|LocalAlgebra| DV$1 DV$2 DV$3) . #0#)
        (LETT $ (GETREFV 28) . #0#)
        (QSETREFV $ 0 |dv$|)
        (QSETREFV $ 3
            (LETT |pv$|
                  (|buildPredVector| 0 0
                      (LIST (|HasCategory| |#1| '(|OrderedRing|)))) . #0#))
        (|haddProp| |$ConstructorCache| '|LocalAlgebra|
            (LIST DV$1 DV$2 DV$3) (CONS 1 $))
        (|stuffDomainSlots| $)
        (QSETREFV $ 6 |#1|)
        (QSETREFV $ 7 |#2|)
        (QSETREFV $ 8 |#3|)
        $)))) 

(MAKEPROP '|LocalAlgebra| '|infovec|
    (LIST '#(NIL NIL NIL NIL NIL (|Localize| 6 7 8) (|local| |#1|)
             (|local| |#2|) (|local| |#3|) (0 . |One|) (4 . |One|)
             (8 . /)
             (CONS IDENTITY
                   (FUNCALL (|dispatchFunction| |LA;One;$;1|) $))
             (14 . |numer|) (19 . *) (25 . |denom|) (30 . *)
             |LA;*;3$;2| (|NonNegativeInteger|) (36 . |characteristic|)
             |LA;characteristic;Nni;3| (|Boolean|) (|Integer|)
             (|Union| $ '"failed") (|PositiveInteger|)
             (|SingleInteger|) (|String|) (|OutputForm|))
          '#(~= 40 |zero?| 46 |subtractIfCan| 51 |sign| 57 |sample| 62
             |recip| 66 |positive?| 71 |one?| 76 |numer| 81 |negative?|
             86 |min| 91 |max| 97 |latex| 103 |hash| 108 |denom| 113
             |coerce| 118 |characteristic| 133 |abs| 137 ^ 142 |Zero|
             154 |One| 158 >= 162 > 168 = 174 <= 180 < 186 / 192 - 204
             + 215 ** 221 * 233)
          'NIL
          (CONS (|makeByteWordVec2| 1
                    '(0 0 1 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 1 0 0 1 0 0 0
                      0))
                (CONS '#(|Algebra&| |Module&| |OrderedRing&| |Ring&|
                         NIL NIL NIL NIL NIL NIL |AbelianGroup&| NIL
                         NIL NIL NIL |AbelianMonoid&| |Monoid&| NIL NIL
                         |SemiGroup&| |AbelianSemiGroup&| |OrderedSet&|
                         |SetCategory&| NIL |BasicType&| NIL)
                      (CONS '#((|Algebra| 7) (|Module| 7)
                               (|OrderedRing|) (|Ring|)
                               (|BiModule| 7 7) (|Rng|)
                               (|RightModule| 7) (|LeftModule| 7)
                               (|LeftModule| $$)
                               (|OrderedAbelianGroup|) (|AbelianGroup|)
                               (|OrderedCancellationAbelianMonoid|)
                               (|CancellationAbelianMonoid|)
                               (|SemiRing|) (|OrderedAbelianMonoid|)
                               (|AbelianMonoid|) (|Monoid|) (|SemiRng|)
                               (|OrderedAbelianSemiGroup|)
                               (|SemiGroup|) (|AbelianSemiGroup|)
                               (|OrderedSet|) (|SetCategory|)
                               (|unitsKnown|) (|BasicType|)
                               (|CoercibleTo| 27))
                            (|makeByteWordVec2| 27
                                '(0 6 0 9 0 8 0 10 2 0 0 6 8 11 1 0 6 0
                                  13 2 6 0 0 0 14 1 0 8 0 15 2 8 0 0 0
                                  16 0 6 18 19 2 0 21 0 0 1 1 0 21 0 1
                                  2 0 23 0 0 1 1 1 22 0 1 0 0 0 1 1 0
                                  23 0 1 1 1 21 0 1 1 0 21 0 1 1 0 6 0
                                  13 1 1 21 0 1 2 1 0 0 0 1 2 1 0 0 0 1
                                  1 0 26 0 1 1 0 25 0 1 1 0 8 0 15 1 0
                                  0 7 1 1 0 0 22 1 1 0 27 0 1 0 0 18 20
                                  1 1 0 0 1 2 0 0 0 18 1 2 0 0 0 24 1 0
                                  0 0 1 0 0 0 12 2 1 21 0 0 1 2 1 21 0
                                  0 1 2 0 21 0 0 1 2 1 21 0 0 1 2 1 21
                                  0 0 1 2 0 0 6 8 11 2 0 0 0 8 1 2 0 0
                                  0 0 1 1 0 0 0 1 2 0 0 0 0 1 2 0 0 0
                                  18 1 2 0 0 0 24 1 2 0 0 7 0 1 2 0 0 0
                                  7 1 2 0 0 22 0 1 2 0 0 0 0 17 2 0 0
                                  18 0 1 2 0 0 24 0 1)))))
          '|lookupComplete|)) 
