
(/VERSIONCHECK 2) 

(DEFUN |AN;zero?;$B;1| (|a| $)
  (SPADCALL |a| (|spadConstant| $ 7) (QREFELT $ 10))) 

(DEFUN |AN;one?;$B;2| (|a| $)
  (SPADCALL |a| (|spadConstant| $ 12) (QREFELT $ 10))) 

(DEFUN |AN;=;2$B;3| (|a| |b| $)
  (SPADCALL (SPADCALL |a| |b| (QREFELT $ 15)) (|spadConstant| $ 7)
            (QREFELT $ 10))) 

(DEFUN |AN;convert;$If;4| (|x| $)
  (SPADCALL (SPADCALL |x| (QREFELT $ 18)) (QREFELT $ 20))) 

(DEFUN |AlgebraicNumber| #1=()
  (PROG #1#
    (RETURN
     (PROG (#2=#:G696)
       (RETURN
        (COND
         ((LETT #2# (HGET |$ConstructorCache| '|AlgebraicNumber|)
                . #3=(|AlgebraicNumber|))
          (|CDRwithIncrement| (CDAR #2#)))
         ('T
          (UNWIND-PROTECT
              (PROG1
                  (CDDAR
                   (HPUT |$ConstructorCache| '|AlgebraicNumber|
                         (LIST (CONS NIL (CONS 1 (|AlgebraicNumber;|))))))
                (LETT #2# T . #3#))
            (COND
             ((NOT #2#) (HREM |$ConstructorCache| '|AlgebraicNumber|))))))))))) 

(DEFUN |AlgebraicNumber;| ()
  (PROG (|dv$| $ |pv$|)
    (RETURN
     (PROGN
      (LETT |dv$| '(|AlgebraicNumber|) . #1=(|AlgebraicNumber|))
      (LETT $ (GETREFV 66) . #1#)
      (QSETREFV $ 0 |dv$|)
      (QSETREFV $ 3 (LETT |pv$| (|buildPredVector| 0 0 NIL) . #1#))
      (|haddProp| |$ConstructorCache| '|AlgebraicNumber| NIL (CONS 1 $))
      (|stuffDomainSlots| $)
      (AND (|HasCategory| $ '(|Ring|)) (|augmentPredVector| $ 1))
      (AND (|HasCategory| $ '(|RetractableTo| (|Integer|)))
           (|augmentPredVector| $ 2))
      (QSETREFV $ 6 (|InnerAlgebraicNumber|))
      $)))) 

(MAKEPROP '|AlgebraicNumber| '|infovec|
          (LIST
           '#(NIL NIL NIL NIL NIL (|InnerAlgebraicNumber|) '|Rep| (0 . |Zero|)
              (4 . |Zero|) (|Boolean|) (8 . |trueEqual|) |AN;zero?;$B;1|
              (14 . |One|) (18 . |One|) |AN;one?;$B;2| (22 . -) |AN;=;2$B;3|
              (|InputForm|) (28 . |convert|) (|InputFormFunctions1| $$)
              (33 . |coerceToType|) |AN;convert;$If;4|
              (|SparseUnivariatePolynomial| $) (|Kernel| $) (|List| 23)
              (|SparseMultivariatePolynomial| 37 23) (|NonNegativeInteger|)
              (|Complex| 34) (|Matrix| 35) (|Matrix| $) (|DoubleFloat|)
              (|Record| (|:| |mat| 28) (|:| |vec| (|Vector| 35))) (|Vector| $)
              (|Matrix| 37) (|Float|) (|Fraction| 37)
              (|Record| (|:| |mat| 33) (|:| |vec| (|Vector| 37))) (|Integer|)
              (|Union| 35 '#1="failed") (|Union| 37 '#1#) (|PositiveInteger|)
              (|Union| $ '"failed")
              (|Record| (|:| |unit| $) (|:| |canonical| $) (|:| |associate| $))
              (|List| $) (|Union| 43 '"failed")
              (|Record| (|:| |coef| 43) (|:| |generator| $))
              (|Record| (|:| |quotient| $) (|:| |remainder| $))
              (|Record| (|:| |coef1| $) (|:| |coef2| $)) (|Union| 47 '"failed")
              (|Record| (|:| |coef1| $) (|:| |coef2| $) (|:| |generator| $))
              (|Factored| $) (|Polynomial| $) (|Symbol|) (|BasicOperator|)
              (|Mapping| $ $) (|List| 53) (|Mapping| $ 43) (|List| 56)
              (|List| 54) (|List| 52) (|Union| 23 '"failed") (|List| 62)
              (|Equation| $) (|SingleInteger|) (|String|) (|OutputForm|))
           '#(~= 38 |zerosOf| 44 |zeroOf| 60 |zero?| 76 |unitNormal| 81
              |unitCanonical| 86 |unit?| 91 |tower| 96 |subtractIfCan| 101
              |subst| 107 |squareFreePart| 126 |squareFree| 131 |sqrt| 136
              |smaller?| 141 |sizeLess?| 147 |sample| 153 |rootsOf| 157
              |rootOf| 173 |retractIfCan| 189 |retract| 204 |rem| 219
              |reducedSystem| 225 |reduce| 247 |recip| 252 |quo| 257
              |principalIdeal| 263 |prime?| 268 |paren| 273 |operators| 283
              |operator| 288 |one?| 293 |odd?| 298 |numer| 303 |nthRoot| 308
              |norm| 314 |multiEuclidean| 338 |minPoly| 344 |map| 349
              |mainKernel| 355 |lcm| 360 |latex| 371 |kernels| 376 |kernel| 381
              |is?| 393 |inv| 405 |height| 410 |hash| 415 |gcdPolynomial| 420
              |gcd| 426 |freeOf?| 437 |factor| 449 |extendedEuclidean| 454
              |exquo| 467 |expressIdealMember| 473 |even?| 479 |eval| 484
              |euclideanSize| 580 |elt| 585 |divide| 621 |distribute| 627
              |differentiate| 638 |denom| 649 |definingPolynomial| 654
              |convert| 659 |coerce| 679 |characteristic| 709 |box| 713
              |belong?| 723 |associates?| 728 ^ 734 |Zero| 758 |One| 762 D 766
              = 777 / 783 - 789 + 800 * 806)
           'NIL
           (CONS
            (|makeByteWordVec2| 1
                                '(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
                                  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
                                  0 0 0 0 0 0 0 0 0 0))
            (CONS
             '#(|AlgebraicallyClosedField&| |Field&| |EuclideanDomain&|
                |UniqueFactorizationDomain&| NIL |GcdDomain&| |DivisionRing&|
                |IntegralDomain&| |Algebra&| |Algebra&| |DifferentialRing&| NIL
                NIL NIL |Module&| NIL |Module&| NIL NIL NIL |Ring&| NIL NIL NIL
                NIL NIL |AbelianGroup&| NIL NIL |ExpressionSpace&| NIL
                |Monoid&| |AbelianMonoid&| NIL |SemiGroup&| |AbelianSemiGroup&|
                NIL |SetCategory&| |Evalable&| NIL NIL NIL NIL |RetractableTo&|
                |RetractableTo&| |RadicalCategory&| NIL NIL NIL NIL NIL
                |BasicType&| |InnerEvalable&| |InnerEvalable&| |RetractableTo&|
                NIL)
             (CONS
              '#((|AlgebraicallyClosedField|) (|Field|) (|EuclideanDomain|)
                 (|UniqueFactorizationDomain|) (|PrincipalIdealDomain|)
                 (|GcdDomain|) (|DivisionRing|) (|IntegralDomain|)
                 (|Algebra| 35) (|Algebra| $$) (|DifferentialRing|)
                 (|CharacteristicZero|) (|LinearlyExplicitRingOver| 35)
                 (|LinearlyExplicitRingOver| 37) (|Module| 35) (|EntireRing|)
                 (|Module| $$) (|CommutativeRing|) (|BiModule| 35 35)
                 (|BiModule| $$ $$) (|Ring|) (|RightModule| 35)
                 (|LeftModule| 35) (|RightModule| $$) (|LeftModule| $$) (|Rng|)
                 (|AbelianGroup|) (|SemiRing|) (|CancellationAbelianMonoid|)
                 (|ExpressionSpace|) (|SemiRng|) (|Monoid|) (|AbelianMonoid|)
                 (|Comparable|) (|SemiGroup|) (|AbelianSemiGroup|)
                 (|RealConstant|) (|SetCategory|) (|Evalable| $$)
                 (|ConvertibleTo| 17) (|ConvertibleTo| 27) (|ConvertibleTo| 34)
                 (|ConvertibleTo| 30) (|RetractableTo| 35) (|RetractableTo| 37)
                 (|RadicalCategory|) (|canonicalsClosed|)
                 (|canonicalUnitNormal|) (|unitsKnown|) (|noZeroDivisors|)
                 (|CommutativeStar|) (|BasicType|) (|InnerEvalable| $$ $$)
                 (|InnerEvalable| (|Kernel| $$) $$)
                 (|RetractableTo| (|Kernel| $$)) (|CoercibleTo| 65))
              (|makeByteWordVec2| 65
                                  '(0 0 0 7 0 6 0 8 2 6 9 0 0 10 0 0 0 12 0 6 0
                                    13 2 0 0 0 0 15 1 6 17 0 18 1 19 17 17 20 2
                                    0 9 0 0 1 1 0 43 51 1 1 0 43 22 1 2 0 43 22
                                    52 1 1 0 0 22 1 1 0 0 51 1 2 0 0 22 52 1 1
                                    0 9 0 11 1 0 42 0 1 1 0 0 0 1 1 0 9 0 1 1 0
                                    24 0 1 2 0 41 0 0 1 2 0 0 0 61 1 3 0 0 0 24
                                    43 1 2 0 0 0 62 1 1 0 0 0 1 1 0 50 0 1 1 0
                                    0 0 1 2 0 9 0 0 1 2 0 9 0 0 1 0 0 0 1 1 0
                                    43 51 1 2 0 43 22 52 1 1 0 43 22 1 1 0 0 51
                                    1 1 0 0 22 1 2 0 0 22 52 1 1 0 38 0 1 1 0
                                    39 0 1 1 0 60 0 1 1 0 35 0 1 1 0 37 0 1 1 0
                                    23 0 1 2 0 0 0 0 1 1 0 28 29 1 2 0 31 29 32
                                    1 1 0 33 29 1 2 0 36 29 32 1 1 0 0 0 1 1 0
                                    41 0 1 2 0 0 0 0 1 1 0 45 43 1 1 0 9 0 1 1
                                    0 0 0 1 1 0 0 43 1 1 0 55 0 1 1 0 53 53 1 1
                                    0 9 0 14 1 2 9 0 1 1 0 25 0 1 2 0 0 0 37 1
                                    2 0 0 0 23 1 2 0 0 0 24 1 2 0 22 22 23 1 2
                                    0 22 22 24 1 2 0 44 43 0 1 1 1 22 23 1 2 0
                                    0 54 23 1 1 0 60 0 1 2 0 0 0 0 1 1 0 0 43 1
                                    1 0 64 0 1 1 0 24 0 1 2 0 0 53 43 1 2 0 0
                                    53 0 1 2 0 9 0 53 1 2 0 9 0 52 1 1 0 0 0 1
                                    1 0 26 0 1 1 0 63 0 1 2 0 22 22 22 1 1 0 0
                                    43 1 2 0 0 0 0 1 2 0 9 0 0 1 2 0 9 0 52 1 1
                                    0 50 0 1 3 0 48 0 0 0 1 2 0 49 0 0 1 2 0 41
                                    0 0 1 2 0 44 43 0 1 1 2 9 0 1 3 0 0 0 53 54
                                    1 3 0 0 0 55 57 1 3 0 0 0 53 56 1 3 0 0 0
                                    55 58 1 3 0 0 0 52 56 1 3 0 0 0 52 54 1 3 0
                                    0 0 59 58 1 3 0 0 0 59 57 1 3 0 0 0 43 43 1
                                    2 0 0 0 62 1 3 0 0 0 0 0 1 2 0 0 0 61 1 3 0
                                    0 0 23 0 1 3 0 0 0 24 43 1 1 0 26 0 1 5 0 0
                                    53 0 0 0 0 1 2 0 0 53 43 1 3 0 0 53 0 0 1 4
                                    0 0 53 0 0 0 1 2 0 0 53 0 1 2 0 46 0 0 1 1
                                    0 0 0 1 2 0 0 0 0 1 1 0 0 0 1 2 0 0 0 26 1
                                    1 0 25 0 1 1 1 0 0 1 1 0 27 0 1 1 0 17 0 21
                                    1 0 30 0 1 1 0 34 0 1 1 0 0 25 1 1 0 0 37 1
                                    1 0 0 0 1 1 0 0 35 1 1 0 0 23 1 1 0 65 0 1
                                    0 0 26 1 1 0 0 0 1 1 0 0 43 1 1 0 9 53 1 2
                                    0 9 0 0 1 2 0 0 0 40 1 2 0 0 0 26 1 2 0 0 0
                                    37 1 2 0 0 0 35 1 0 0 0 7 0 0 0 12 1 0 0 0
                                    1 2 0 0 0 26 1 2 0 9 0 0 16 2 0 0 0 0 1 1 0
                                    0 0 1 2 0 0 0 0 15 2 0 0 0 0 1 2 0 0 40 0 1
                                    2 0 0 26 0 1 2 0 0 0 0 1 2 0 0 37 0 1 2 0 0
                                    35 0 1 2 0 0 0 35 1)))))
           '|lookupComplete|)) 

(MAKEPROP '|AlgebraicNumber| 'NILADIC T) 
