aboutsummaryrefslogtreecommitdiff
path: root/src/algebra/strap/SETAGG.lsp
diff options
context:
space:
mode:
Diffstat (limited to 'src/algebra/strap/SETAGG.lsp')
-rw-r--r--src/algebra/strap/SETAGG.lsp58
1 files changed, 58 insertions, 0 deletions
diff --git a/src/algebra/strap/SETAGG.lsp b/src/algebra/strap/SETAGG.lsp
new file mode 100644
index 00000000..e28d5608
--- /dev/null
+++ b/src/algebra/strap/SETAGG.lsp
@@ -0,0 +1,58 @@
+
+(/VERSIONCHECK 2)
+
+(DEFPARAMETER |SetAggregate;CAT| 'NIL)
+
+(DEFPARAMETER |SetAggregate;AL| 'NIL)
+
+(DEFUN |SetAggregate| (#0=#:G1394)
+ (LET (#1=#:G1395)
+ (COND
+ ((SETQ #1# (|assoc| (|devaluate| #0#) |SetAggregate;AL|))
+ (CDR #1#))
+ (T (SETQ |SetAggregate;AL|
+ (|cons5| (CONS (|devaluate| #0#)
+ (SETQ #1# (|SetAggregate;| #0#)))
+ |SetAggregate;AL|))
+ #1#))))
+
+(DEFUN |SetAggregate;| (|t#1|)
+ (PROG (#0=#:G1393)
+ (RETURN
+ (PROG1 (LETT #0#
+ (|sublisV|
+ (PAIR '(|t#1|) (LIST (|devaluate| |t#1|)))
+ (COND
+ (|SetAggregate;CAT|)
+ ('T
+ (LETT |SetAggregate;CAT|
+ (|Join| (|SetCategory|)
+ (|Collection| '|t#1|)
+ (|mkCategory| '|domain|
+ '(((|part?| ((|Boolean|) $ $))
+ T)
+ ((|brace| ($)) T)
+ ((|brace|
+ ($ (|List| |t#1|)))
+ T)
+ ((|set| ($)) T)
+ ((|set| ($ (|List| |t#1|)))
+ T)
+ ((|intersect| ($ $ $)) T)
+ ((|difference| ($ $ $)) T)
+ ((|difference| ($ $ |t#1|))
+ T)
+ ((|symmetricDifference|
+ ($ $ $))
+ T)
+ ((|subset?|
+ ((|Boolean|) $ $))
+ T)
+ ((|union| ($ $ $)) T)
+ ((|union| ($ $ |t#1|)) T)
+ ((|union| ($ |t#1| $)) T))
+ '((|partiallyOrderedSet| T))
+ '((|Boolean|) (|List| |t#1|))
+ NIL))
+ . #1=(|SetAggregate|))))) . #1#)
+ (SETELT #0# 0 (LIST '|SetAggregate| (|devaluate| |t#1|)))))))