
(/VERSIONCHECK 2) 

(DEFUN |DIAGG-;dictionary;LA;1| (|l| $)
  (PROG (|d| |x| #0=#:G1825)
    (RETURN
      (SEQ (LETT |d| (SPADCALL (QREFELT $ 8))
                 . #1=(|DIAGG-;dictionary;LA;1|))
           (SEQ (LETT |x| NIL . #1#) (LETT #0# |l| . #1#) G190
                (COND
                  ((OR (ATOM #0#)
                       (PROGN (LETT |x| (CAR #0#) . #1#) NIL))
                   (GO G191)))
                (SEQ (EXIT (SPADCALL |x| |d| (QREFELT $ 9))))
                (LETT #0# (CDR #0#) . #1#) (GO G190) G191 (EXIT NIL))
           (EXIT |d|))))) 

(DEFUN |DIAGG-;select!;M2A;2| (|f| |t| $)
  (PROG ()
    (RETURN
      (SPADCALL (CONS #'|DIAGG-;select!;M2A;2!0| (VECTOR $ |f|)) |t|
          (QREFELT $ 16))))) 

(DEFUN |DIAGG-;select!;M2A;2!0| (|#1| $$)
  (PROG ($)
    (LETT $ (QREFELT $$ 0) |DIAGG-;select!;M2A;2|)
    (RETURN
      (PROGN
        (COND
          ((SPADCALL |#1| (QREFELT $$ 1)) (|spadConstant| $ 13))
          ('T (|spadConstant| $ 14))))))) 

(DEFUN |DIAGG-,=;mem?| (|x| $) (SPADCALL |x| |t| (QREFELT $ 21))) 

(DEFUN |DIAGG-;=;SB;4| (|s| |t| $)
  (COND
    ((SPADCALL |s| |t| (QREFELT $ 18)) 'T)
    ((NULL (EQL (SPADCALL |s| (QREFELT $ 20))
                (SPADCALL |t| (QREFELT $ 20))))
     'NIL)
    ('T
     (SPADCALL (CONS (|function| |DIAGG-;mem?|) $)
         (SPADCALL |s| (QREFELT $ 22)) (QREFELT $ 23))))) 

(DEFUN |DIAGG-;remove!;M2A;5| (|f| |t| $)
  (PROG (|m| #0=#:G1838)
    (RETURN
      (SEQ (SEQ (LETT |m| NIL . #1=(|DIAGG-;remove!;M2A;5|))
                (LETT #0# (SPADCALL |t| (QREFELT $ 22)) . #1#) G190
                (COND
                  ((OR (ATOM #0#)
                       (PROGN (LETT |m| (CAR #0#) . #1#) NIL))
                   (GO G191)))
                (SEQ (EXIT (COND
                             ((SPADCALL |m| |f|)
                              (SPADCALL |m| |t| (QREFELT $ 25))))))
                (LETT #0# (CDR #0#) . #1#) (GO G190) G191 (EXIT NIL))
           (EXIT |t|))))) 

(DEFUN |Dictionary&| (|#1| |#2|)
  (PROG (DV$1 DV$2 |dv$| $ |pv$|)
    (RETURN
      (PROGN
        (LETT DV$1 (|devaluate| |#1|) . #0=(|Dictionary&|))
        (LETT DV$2 (|devaluate| |#2|) . #0#)
        (LETT |dv$| (LIST '|Dictionary&| DV$1 DV$2) . #0#)
        (LETT $ (GETREFV 27) . #0#)
        (QSETREFV $ 0 |dv$|)
        (QSETREFV $ 3 (LETT |pv$| (|buildPredVector| 0 0 NIL) . #0#))
        (|stuffDomainSlots| $)
        (QSETREFV $ 6 |#1|)
        (QSETREFV $ 7 |#2|)
        (COND
          ((|HasCategory| |#1| '(|finiteAggregate|))
           (PROGN
             (QSETREFV $ 17
                 (CONS (|dispatchFunction| |DIAGG-;select!;M2A;2|) $))
             (QSETREFV $ 26
                 (CONS (|dispatchFunction| |DIAGG-;remove!;M2A;5|) $)))))
        $)))) 

(MAKEPROP '|Dictionary&| '|infovec|
    (LIST '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|local| |#2|)
             (0 . |dictionary|) (4 . |insert!|) (|List| 7)
             |DIAGG-;dictionary;LA;1| (|Boolean|) (10 . |false|)
             (14 . |true|) (|Mapping| 12 7) (18 . |remove!|)
             (24 . |select!|) (30 . |eq?|) (|NonNegativeInteger|)
             (36 . |#|) (41 . |member?|) (47 . |parts|) (52 . |every?|)
             (58 . =) (64 . |remove!|) (70 . |remove!|))
          '#(|select!| 76 |remove!| 82 |dictionary| 88 = 93) 'NIL
          (CONS (|makeByteWordVec2| 1 'NIL)
                (CONS '#()
                      (CONS '#()
                            (|makeByteWordVec2| 26
                                '(0 6 0 8 2 6 0 7 0 9 0 12 0 13 0 12 0
                                  14 2 6 0 15 0 16 2 0 0 15 0 17 2 6 12
                                  0 0 18 1 6 19 0 20 2 6 12 7 0 21 1 6
                                  10 0 22 2 10 12 15 0 23 2 0 12 0 0 24
                                  2 6 0 7 0 25 2 0 0 15 0 26 2 0 0 15 0
                                  17 2 0 0 15 0 26 1 0 0 10 11 2 0 12 0
                                  0 24)))))
          '|lookupComplete|)) 
