
(/VERSIONCHECK 2) 

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

(DEFUN |FiniteField;| (|#1| |#2|)
  (PROG (DV$1 DV$2 |dv$| $ #0=#:G1848 |pv$|)
    (RETURN
      (PROGN
        (LETT DV$1 (|devaluate| |#1|) . #1=(|FiniteField|))
        (LETT DV$2 (|devaluate| |#2|) . #1#)
        (LETT |dv$| (LIST '|FiniteField| DV$1 DV$2) . #1#)
        (LETT $ (GETREFV 45) . #1#)
        (QSETREFV $ 0 |dv$|)
        (QSETREFV $ 3
            (LETT |pv$|
                  (|buildPredVector| 0 0
                      (LIST (|HasCategory| (|PrimeField| |#1|)
                                '(|CharacteristicZero|))
                            (|HasCategory| (|PrimeField| |#1|)
                                '(|Finite|))
                            (LETT #0#
                                  (|HasCategory| (|PrimeField| |#1|)
                                      '(|CharacteristicNonZero|)) . #1#)
                            (OR #0#
                                (|HasCategory| (|PrimeField| |#1|)
                                    '(|Finite|))))) . #1#))
        (|haddProp| |$ConstructorCache| '|FiniteField| (LIST DV$1 DV$2)
            (CONS 1 $))
        (|stuffDomainSlots| $)
        (QSETREFV $ 6 |#1|)
        (QSETREFV $ 7 |#2|)
        $)))) 

(MAKEPROP '|FiniteField| '|infovec|
    (LIST '#(NIL NIL NIL NIL NIL
             (|FiniteFieldExtensionByPolynomial| 27
                 (NRTEVAL (SPADCALL (QREFELT $ 7) (QREFELT $ 11))))
             (|local| |#1|) (|local| |#2|)
             (|SparseUnivariatePolynomial| 27) (|PositiveInteger|)
             (|FiniteFieldPolynomialPackage| 27)
             (0 . |createIrreduciblePoly|) (|Union| $ '"failed")
             (|Union| 15 '"failed") (|OnePointCompletion| 9)
             (|NonNegativeInteger|) (|List| $) (|Union| 29 '"failed")
             (|Matrix| $) (|Table| 9 15) (|Integer|)
             (|Record| (|:| |factor| 20) (|:| |exponent| 20))
             (|List| 21) (|Boolean|)
             (|Union| '"prime" '"polynomial" '"normal" '"cyclic")
             (|Union| 8 '"failed") (|SparseUnivariatePolynomial| $)
             (|PrimeField| 6) (|Matrix| 27) (|Vector| $) (|Vector| 27)
             (|CardinalNumber|) (|Union| 27 '"failed") (|Fraction| 20)
             (|Factored| $) (|Union| 16 '"failed")
             (|Record| (|:| |coef1| $) (|:| |coef2| $))
             (|Union| 36 '"failed")
             (|Record| (|:| |coef1| $) (|:| |coef2| $)
                 (|:| |generator| $))
             (|Record| (|:| |quotient| $) (|:| |remainder| $))
             (|Record| (|:| |coef| 16) (|:| |generator| $))
             (|Record| (|:| |unit| $) (|:| |canonical| $)
                 (|:| |associate| $))
             (|String|) (|OutputForm|) (|SingleInteger|))
          '#() 'NIL
          (CONS (|makeByteWordVec2| 4
                    '(0 0 2 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 1 2 0 0 0
                      0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 0 0 0 0 0 0 0
                      0 0))
                (CONS '#(|FiniteAlgebraicExtensionField&|
                         |ExtensionField&| |FiniteFieldCategory&|
                         |FieldOfPrimeCharacteristic&| |Field&|
                         |EuclideanDomain&| NIL
                         |UniqueFactorizationDomain&| |GcdDomain&|
                         |DivisionRing&| |IntegralDomain&|
                         |VectorSpace&| |Algebra&| |Algebra&| |Module&|
                         |Module&| NIL NIL |Module&| NIL NIL
                         |DifferentialRing&| NIL NIL NIL |Ring&| NIL
                         NIL NIL NIL NIL NIL NIL |AbelianGroup&| NIL
                         NIL |AbelianMonoid&| |Monoid&| NIL
                         |SemiGroup&| |AbelianSemiGroup&| |Finite&| NIL
                         |SetCategory&| |RetractableTo&| NIL NIL NIL
                         NIL NIL |BasicType&| NIL)
                      (CONS '#((|FiniteAlgebraicExtensionField|
                                   (|PrimeField| 6))
                               (|ExtensionField| (|PrimeField| 6))
                               (|FiniteFieldCategory|)
                               (|FieldOfPrimeCharacteristic|) (|Field|)
                               (|EuclideanDomain|)
                               (|PrincipalIdealDomain|)
                               (|UniqueFactorizationDomain|)
                               (|GcdDomain|) (|DivisionRing|)
                               (|IntegralDomain|)
                               (|VectorSpace| (|PrimeField| 6))
                               (|Algebra| 33) (|Algebra| $$)
                               (|Module| (|PrimeField| 6))
                               (|Module| 33) (|EntireRing|)
                               (|CommutativeRing|) (|Module| $$)
                               (|CharacteristicNonZero|)
                               (|CharacteristicZero|)
                               (|DifferentialRing|)
                               (|BiModule| (|PrimeField| 6)
                                   (|PrimeField| 6))
                               (|BiModule| 33 33) (|BiModule| $$ $$)
                               (|Ring|)
                               (|RightModule| (|PrimeField| 6))
                               (|LeftModule| (|PrimeField| 6))
                               (|RightModule| 33) (|LeftModule| 33)
                               (|LeftModule| $$) (|Rng|)
                               (|RightModule| $$) (|AbelianGroup|)
                               (|CancellationAbelianMonoid|)
                               (|SemiRing|) (|AbelianMonoid|)
                               (|Monoid|) (|SemiRng|) (|SemiGroup|)
                               (|AbelianSemiGroup|) (|Finite|)
                               (|StepThrough|) (|SetCategory|)
                               (|RetractableTo| (|PrimeField| 6))
                               (|canonicalsClosed|)
                               (|canonicalUnitNormal|)
                               (|noZeroDivisors|) (|CommutativeStar|)
                               (|unitsKnown|) (|BasicType|)
                               (|CoercibleTo| 43))
                            (|makeByteWordVec2| 11 '(1 10 8 9 11)))))
          '|lookupIncomplete|)) 
