
(/VERSIONCHECK 2) 

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

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

(MAKEPROP '|FiniteFieldExtension| '|infovec|
    (LIST '#(NIL NIL NIL NIL NIL
             (|FiniteFieldExtensionByPolynomial| 6
                 (NRTEVAL (SPADCALL (QREFELT $ 7) (QREFELT $ 11))))
             (|local| |#1|) (|local| |#2|)
             (|SparseUnivariatePolynomial| 6) (|PositiveInteger|)
             (|FiniteFieldPolynomialPackage| 6)
             (0 . |createIrreduciblePoly|) (|Union| $ '"failed")
             (|Union| 15 '"failed") (|OnePointCompletion| 9)
             (|NonNegativeInteger|) (|List| $) (|Union| 28 '"failed")
             (|Matrix| $) (|Table| 9 15) (|Integer|)
             (|Record| (|:| |factor| 20) (|:| |exponent| 20))
             (|List| 21) (|Boolean|)
             (|Union| '"prime" '"polynomial" '"normal" '"cyclic")
             (|Union| 8 '"failed") (|SparseUnivariatePolynomial| $)
             (|Matrix| 6) (|Vector| $) (|Vector| 6) (|CardinalNumber|)
             (|Union| 6 '"failed") (|Fraction| 20) (|Factored| $)
             (|Union| 16 '"failed")
             (|Record| (|:| |coef1| $) (|:| |coef2| $))
             (|Union| 35 '"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| 6)
                               (|ExtensionField| 6)
                               (|FiniteFieldCategory|)
                               (|FieldOfPrimeCharacteristic|) (|Field|)
                               (|EuclideanDomain|)
                               (|PrincipalIdealDomain|)
                               (|UniqueFactorizationDomain|)
                               (|GcdDomain|) (|DivisionRing|)
                               (|IntegralDomain|) (|VectorSpace| 6)
                               (|Algebra| 32) (|Algebra| $$)
                               (|Module| 6) (|Module| 32)
                               (|EntireRing|) (|CommutativeRing|)
                               (|Module| $$) (|CharacteristicNonZero|)
                               (|CharacteristicZero|)
                               (|DifferentialRing|) (|BiModule| 6 6)
                               (|BiModule| 32 32) (|BiModule| $$ $$)
                               (|Ring|) (|RightModule| 6)
                               (|LeftModule| 6) (|RightModule| 32)
                               (|LeftModule| 32) (|LeftModule| $$)
                               (|Rng|) (|RightModule| $$)
                               (|AbelianGroup|)
                               (|CancellationAbelianMonoid|)
                               (|SemiRing|) (|AbelianMonoid|)
                               (|Monoid|) (|SemiRng|) (|SemiGroup|)
                               (|AbelianSemiGroup|) (|Finite|)
                               (|StepThrough|) (|SetCategory|)
                               (|RetractableTo| 6) (|canonicalsClosed|)
                               (|canonicalUnitNormal|)
                               (|noZeroDivisors|) (|CommutativeStar|)
                               (|unitsKnown|) (|BasicType|)
                               (|CoercibleTo| 42))
                            (|makeByteWordVec2| 11 '(1 10 8 9 11)))))
          '|lookupIncomplete|)) 
