
(/VERSIONCHECK 2) 

(PUT '|AGG-;eq?;2SB;1| '|SPADreplace| 'EQ) 

(DEFUN |AGG-;eq?;2SB;1| (|a| |b| $) (EQ |a| |b|)) 

(DEFUN |AGG-;sample;S;2| ($) (SPADCALL (QREFELT $ 9))) 

(DEFUN |AGG-;empty?;SB;3| (|a| $) (EQL (SPADCALL |a| (QREFELT $ 12)) 0)) 

(DEFUN |AGG-;less?;SNniB;4| (|a| |n| $) (< (SPADCALL |a| (QREFELT $ 12)) |n|)) 

(DEFUN |AGG-;more?;SNniB;5| (|a| |n| $) (< |n| (SPADCALL |a| (QREFELT $ 12)))) 

(DEFUN |AGG-;size?;SNniB;6| (|a| |n| $) (EQL (SPADCALL |a| (QREFELT $ 12)) |n|)) 

(DEFUN |Aggregate&| (|#1|)
  (PROG (|pv$| $ |dv$| DV$1)
    (RETURN
     (PROGN
      (LETT DV$1 (|devaluate| |#1|) . #1=(|Aggregate&|))
      (LETT |dv$| (LIST '|Aggregate&| DV$1) . #1#)
      (LETT $ (GETREFV 17) . #1#)
      (QSETREFV $ 0 |dv$|)
      (QSETREFV $ 3
                (LETT |pv$|
                      (|buildPredVector| 0 0
                                         (LIST
                                          (|HasCategory| |#1|
                                                         '(|finiteAggregate|))))
                      . #1#))
      (|stuffDomainSlots| $)
      (QSETREFV $ 6 |#1|)
      (COND
       ((|testBitVector| |pv$| 1)
        (PROGN
         (QSETREFV $ 13 (CONS (|dispatchFunction| |AGG-;empty?;SB;3|) $))
         (QSETREFV $ 14 (CONS (|dispatchFunction| |AGG-;less?;SNniB;4|) $))
         (QSETREFV $ 15 (CONS (|dispatchFunction| |AGG-;more?;SNniB;5|) $))
         (QSETREFV $ 16 (CONS (|dispatchFunction| |AGG-;size?;SNniB;6|) $)))))
      $)))) 

(MAKEPROP '|Aggregate&| '|infovec|
          (LIST
           '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|Boolean|)
              |AGG-;eq?;2SB;1| (0 . |empty|) |AGG-;sample;S;2|
              (|NonNegativeInteger|) (4 . |#|) (9 . |empty?|) (14 . |less?|)
              (20 . |more?|) (26 . |size?|))
           '#(|size?| 32 |sample| 38 |more?| 42 |less?| 48 |eq?| 54 |empty?|
              60)
           'NIL
           (CONS (|makeByteWordVec2| 1 'NIL)
                 (CONS '#()
                       (CONS '#()
                             (|makeByteWordVec2| 16
                                                 '(0 6 0 9 1 6 11 0 12 1 0 7 0
                                                   13 2 0 7 0 11 14 2 0 7 0 11
                                                   15 2 0 7 0 11 16 2 0 7 0 11
                                                   16 0 0 0 10 2 0 7 0 11 15 2
                                                   0 7 0 11 14 2 0 7 0 0 8 1 0
                                                   7 0 13)))))
           '|lookupComplete|)) 
