aboutsummaryrefslogtreecommitdiff
path: root/src/algebra/strap/FFIELDC.lsp
blob: dce56f052d136f22ae6d1ca9c90e46d68bd026f1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
(/VERSIONCHECK 2) 

(DEFPARAMETER |FiniteFieldCategory;AL| 'NIL) 

(DEFUN |FiniteFieldCategory| ()
  (LET (#:G1404)
    (COND
      (|FiniteFieldCategory;AL|)
      (T (SETQ |FiniteFieldCategory;AL| (|FiniteFieldCategory;|)))))) 

(DEFUN |FiniteFieldCategory;| ()
  (PROG (#0=#:G1402)
    (RETURN
      (PROG1 (LETT #0#
                   (|Join| (|FieldOfPrimeCharacteristic|) (|Finite|)
                           (|StepThrough|) (|DifferentialRing|)
                           (|mkCategory| '|domain|
                               '(((|charthRoot| ($ $)) T)
                                 ((|conditionP|
                                      ((|Union| (|Vector| $) "failed")
                                       (|Matrix| $)))
                                  T)
                                 ((|factorsOfCyclicGroupSize|
                                      ((|List|
                                        (|Record|
                                         (|:| |factor| (|Integer|))
                                         (|:| |exponent| (|Integer|))))))
                                  T)
                                 ((|tableForDiscreteLogarithm|
                                      ((|Table| (|PositiveInteger|)
                                        (|NonNegativeInteger|))
                                       (|Integer|)))
                                  T)
                                 ((|createPrimitiveElement| ($)) T)
                                 ((|primitiveElement| ($)) T)
                                 ((|primitive?| ((|Boolean|) $)) T)
                                 ((|discreteLog|
                                      ((|NonNegativeInteger|) $))
                                  T)
                                 ((|order| ((|PositiveInteger|) $)) T)
                                 ((|representationType|
                                      ((|Union| "prime" "polynomial"
                                        "normal" "cyclic")))
                                  T))
                               NIL
                               '((|PositiveInteger|)
                                 (|NonNegativeInteger|) (|Boolean|)
                                 (|Table| (|PositiveInteger|)
                                          (|NonNegativeInteger|))
                                 (|Integer|)
                                 (|List| (|Record|
                                          (|:| |factor| (|Integer|))
                                          (|:| |exponent| (|Integer|))))
                                 (|Matrix| $))
                               NIL))
                   |FiniteFieldCategory|)
        (SETELT #0# 0 '(|FiniteFieldCategory|)))))) 

(SETQ |$CategoryFrame|
      (|put| '|FiniteFieldCategory| '|isCategory| T
             (|addModemap| '|FiniteFieldCategory|
                 '(|FiniteFieldCategory|) '((|Category|)) T
                 '|FiniteFieldCategory| |$CategoryFrame|))) 

(MAKEPROP '|FiniteFieldCategory| 'NILADIC T)