aboutsummaryrefslogtreecommitdiff
path: root/src/algebra/strap/PI.lsp
blob: 109f6a2aa939abd79f195fdc61723bbb9f9a7173 (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
(/VERSIONCHECK 2) 

(|noteSubDomainInfo| '|PositiveInteger| '(|NonNegativeInteger|)
    '(|%ilt| 0 |#1|)) 

(DEFUN |PositiveInteger| ()
  (DECLARE (SPECIAL |$ConstructorCache|))
  (LET ((#0=#:G1376 (HGET |$ConstructorCache| '|PositiveInteger|)))
    (COND
      (#0# (|CDRwithIncrement| (CDAR #0#)))
      (T (UNWIND-PROTECT
           (PROG1 (CDDAR (HPUT |$ConstructorCache| '|PositiveInteger|
                               (LIST (CONS NIL
                                      (CONS 1 (|PositiveInteger;|))))))
             (SETQ #0# T))
           (COND
             ((NOT #0#) (HREM |$ConstructorCache| '|PositiveInteger|)))))))) 

(DEFUN |PositiveInteger;| ()
  (DECLARE (SPECIAL |$ConstructorCache|))
  (LET ((|dv$| '(|PositiveInteger|)) ($ (|newShell| 16))
        (|pv$| (|buildPredVector| 0 0 NIL)))
    (SETF (|shellEntry| $ 0) |dv$|)
    (SETF (|shellEntry| $ 3) |pv$|)
    (|haddProp| |$ConstructorCache| '|PositiveInteger| NIL (CONS 1 $))
    (|stuffDomainSlots| $)
    $)) 

(MAKEPROP '|PositiveInteger| '|infovec|
    (LIST '#(NIL NIL NIL NIL NIL (|NonNegativeInteger|) (0 . |Zero|)
             (|Integer|) (4 . |Zero|) (|Boolean|) (8 . >)
             (|PositiveInteger|) (|Union| $ '"failed") (|String|)
             (|OutputForm|) (|SingleInteger|))
          '#(~= 14 |sample| 20 |recip| 24 |one?| 29 |min| 34 |max| 40
             |latex| 46 |hash| 51 |gcd| 56 |coerce| 62 |before?| 67
             |One| 73 >= 77 > 83 = 89 <= 95 < 101 + 107 ** 113 * 125)
          '(((|commutative| "*") . 0))
          (CONS (|makeByteWordVec2| 1 '(0 0 0 0 0 0 0 0 0 0))
                (CONS '#(NIL |Monoid&| NIL |SemiGroup&|
                         |AbelianSemiGroup&| |SetCategory&|
                         |OrderedType&| |BasicType&| NIL NIL)
                      (CONS '#((|OrderedAbelianSemiGroup|) (|Monoid|)
                               (|OrderedSet|) (|SemiGroup|)
                               (|AbelianSemiGroup|) (|SetCategory|)
                               (|OrderedType|) (|BasicType|) (|Type|)
                               (|CoercibleTo| 14))
                            (|makeByteWordVec2| 15
                                '(0 5 0 6 0 7 0 8 2 5 9 0 0 10 2 0 9 0
                                  0 1 0 0 0 1 1 0 12 0 1 1 0 9 0 1 2 0
                                  0 0 0 1 2 0 0 0 0 1 1 0 13 0 1 1 0 15
                                  0 1 2 0 0 0 0 1 1 0 14 0 1 2 0 9 0 0
                                  1 0 0 0 1 2 0 9 0 0 1 2 0 9 0 0 1 2 0
                                  9 0 0 1 2 0 9 0 0 1 2 0 9 0 0 1 2 0 0
                                  0 0 1 2 0 0 0 11 1 2 0 0 0 5 1 2 0 0
                                  0 0 1 2 0 0 11 0 1)))))
          '|lookupComplete|)) 

(MAKEPROP '|PositiveInteger| 'NILADIC T)