diff options
Diffstat (limited to 'src/algebra')
-rw-r--r-- | src/algebra/Makefile.am | 30 | ||||
-rw-r--r-- | src/algebra/Makefile.in | 30 | ||||
-rw-r--r-- | src/algebra/aggcat.spad.pamphlet | 16 | ||||
-rw-r--r-- | src/algebra/lmdict.spad.pamphlet | 3 | ||||
-rw-r--r-- | src/algebra/matcat.spad.pamphlet | 9 | ||||
-rw-r--r-- | src/algebra/mset.spad.pamphlet | 3 | ||||
-rw-r--r-- | src/algebra/newdata.spad.pamphlet | 5 | ||||
-rw-r--r-- | src/algebra/polset.spad.pamphlet | 7 | ||||
-rw-r--r-- | src/algebra/tree.spad.pamphlet | 7 | ||||
-rw-r--r-- | src/algebra/triset.spad.pamphlet | 3 | ||||
-rw-r--r-- | src/algebra/vector.spad.pamphlet | 4 |
11 files changed, 55 insertions, 62 deletions
diff --git a/src/algebra/Makefile.am b/src/algebra/Makefile.am index 6fcb211e..49801808 100644 --- a/src/algebra/Makefile.am +++ b/src/algebra/Makefile.am @@ -268,7 +268,7 @@ strap-0/ARR2CAT.$(FASLEXT): strap-0/HOAGG.$(FASLEXT) strap-0/MATCAT.$(FASLEXT): strap-0/ARR2CAT.$(FASLEXT) \ strap-0/EUCDOM.$(FASLEXT) strap-0/INTDOM.$(FASLEXT) \ - strap-0/FIELD.$(FASLEXT) + strap-0/FIELD.$(FASLEXT) strap-0/FINAGG.$(FASLEXT) strap-0/IDPC.$(FASLEXT): strap-0/SETCAT.$(FASLEXT) @@ -305,7 +305,8 @@ strap-0/RCAGG.$(FASLEXT): strap-0/HOAGG.$(FASLEXT) strap-0/ELAGG.$(FASLEXT): strap-0/LNAGG.$(FASLEXT) strap-0/SRAGG.$(FASLEXT): strap-0/A1AGG.$(FASLEXT) strap-0/A1AGG.$(FASLEXT): strap-0/FLAGG.$(FASLEXT) -strap-0/FLAGG.$(FASLEXT): strap-0/LNAGG.$(FASLEXT) +strap-0/FLAGG.$(FASLEXT): strap-0/LNAGG.$(FASLEXT) strap-0/FINAGG.$(FASLEXT) +strap-0/FINAGG.$(FASLEXT): strap-0/HOAGG.$(FASLEXT) strap-0/LNAGG.$(FASLEXT): strap-0/IXAGG.$(FASLEXT) \ strap-0/CLAGG.$(FASLEXT) strap-0/ETLAB.$(FASLEXT) strap-0/IXAGG.$(FASLEXT): strap-0/HOAGG.$(FASLEXT) \ @@ -611,7 +612,7 @@ strap-1/BTAGG.$(FASLEXT): strap-1/ORDSET.$(FASLEXT) \ strap-1/A1AGG.$(FASLEXT) strap-1/FSAGG.$(FASLEXT): strap-1/KDAGG.$(FASLEXT) \ - strap-1/SETAGG.$(FASLEXT) + strap-1/SETAGG.$(FASLEXT) strap-1/FINAGG.$(FASLEXT) strap-1/LSAGG.$(FASLEXT): strap-1/STAGG.$(FASLEXT) \ strap-1/FLAGG.$(FASLEXT) strap-1/ELAGG.$(FASLEXT) @@ -629,7 +630,9 @@ strap-1/SRAGG.$(FASLEXT): strap-1/A1AGG.$(FASLEXT) strap-1/A1AGG.$(FASLEXT): strap-1/FLAGG.$(FASLEXT) -strap-1/FLAGG.$(FASLEXT): strap-1/LNAGG.$(FASLEXT) +strap-1/FLAGG.$(FASLEXT): strap-1/LNAGG.$(FASLEXT) strap-1/FINAGG.$(FASLEXT) + +strap-1/FINAGG.$(FASLEXT): strap-1/HOAGG.$(FASLEXT) strap-1/LNAGG.$(FASLEXT): strap-1/IXAGG.$(FASLEXT) \ strap-1/CLAGG.$(FASLEXT) strap-1/ETLAB.$(FASLEXT) \ @@ -664,7 +667,7 @@ strap-1/CTORCAT.$(FASLEXT): strap-1/OPERCAT.$(FASLEXT) \ strap-1/MATCAT.$(FASLEXT): strap-1/ARR2CAT.$(FASLEXT) \ strap-1/INTDOM.$(FASLEXT) strap-1/FIELD.$(FASLEXT) \ - strap-1/EUCDOM.$(FASLEXT) + strap-1/EUCDOM.$(FASLEXT) strap-1/FINAGG.$(FASLEXT) strap-1/VECTCAT.$(FASLEXT): strap-1/A1AGG.$(FASLEXT) \ strap-1/ABELSG.$(FASLEXT) strap-1/ABELMON.$(FASLEXT) \ @@ -985,7 +988,7 @@ strap-2/UPOLYC.$(FASLEXT): strap-2/POLYCAT.$(FASLEXT) \ strap-2/ARR2CAT.$(FASLEXT): strap-2/HOAGG.$(FASLEXT) strap-2/FSAGG.$(FASLEXT): strap-2/KDAGG.$(FASLEXT) \ - strap-2/SETAGG.$(FASLEXT) + strap-2/SETAGG.$(FASLEXT) strap-2/FINAGG.$(FASLEXT) strap-2/ALAGG.$(FASLEXT): strap-2/TBAGG.$(FASLEXT) strap-2/LSAGG.$(FASLEXT) strap-2/LSAGG.$(FASLEXT): strap-2/STAGG.$(FASLEXT) \ strap-2/FLAGG.$(FASLEXT) strap-2/ELAGG.$(FASLEXT) @@ -1000,7 +1003,8 @@ strap-2/RCAGG.$(FASLEXT): strap-2/HOAGG.$(FASLEXT) strap-2/ELAGG.$(FASLEXT): strap-2/LNAGG.$(FASLEXT) strap-2/SRAGG.$(FASLEXT): strap-2/A1AGG.$(FASLEXT) strap-2/A1AGG.$(FASLEXT): strap-2/FLAGG.$(FASLEXT) -strap-2/FLAGG.$(FASLEXT): strap-2/LNAGG.$(FASLEXT) +strap-2/FLAGG.$(FASLEXT): strap-2/LNAGG.$(FASLEXT) strap-2/FINAGG.$(FASLEXT) +strap-2/FINAGG.$(FASLEXT): strap-2/HOAGG.$(FASLEXT) strap-2/LNAGG.$(FASLEXT): strap-2/IXAGG.$(FASLEXT) \ strap-2/CLAGG.$(FASLEXT) strap-2/ETLAB.$(FASLEXT) strap-2/IXAGG.$(FASLEXT): strap-2/HOAGG.$(FASLEXT) \ @@ -1019,7 +1023,7 @@ strap-2/SEXCAT.$(FASLEXT): strap-2/SETCAT.$(FASLEXT) \ strap-2/KVTFROM.$(FASLEXT) strap-2/ELTAB.$(FASLEXT) strap-2/MATCAT.$(FASLEXT): strap-2/ARR2CAT.$(FASLEXT) \ - strap-2/FLAGG.$(FASLEXT) + strap-2/FLAGG.$(FASLEXT) strap-2/FINAGG.$(FASLEXT) strap-2/CATEGORY.$(FASLEXT): strap-2/KOERCE.$(FASLEXT) \ strap-1/OUTFORM.$(FASLEXT) strap-1/LIST.$(FASLEXT) \ @@ -1347,10 +1351,10 @@ $(OUT)/ELTAGG.$(FASLEXT): $(OUT)/AGG.$(FASLEXT) $(OUT)/SETCAT.$(FASLEXT) $(OUT)/IXAGG.$(FASLEXT): $(OUT)/ELTAGG.$(FASLEXT) $(OUT)/EVALAB.$(FASLEXT) $(OUT)/RCAGG.$(FASLEXT): $(OUT)/EVALAB.$(FASLEXT) $(OUT)/SETCAT.$(FASLEXT) \ $(OUT)/AGG.$(FASLEXT) -$(OUT)/QUAGG.$(FASLEXT): $(OUT)/BGAGG.$(FASLEXT) -$(OUT)/SKAGG.$(FASLEXT): $(OUT)/BGAGG.$(FASLEXT) +$(OUT)/QUAGG.$(FASLEXT): $(OUT)/BGAGG.$(FASLEXT) $(OUT)/FINAGG.$(FASLEXT) +$(OUT)/SKAGG.$(FASLEXT): $(OUT)/BGAGG.$(FASLEXT) $(OUT)/FINAGG.$(FASLEXT) $(OUT)/DQAGG.$(FASLEXT): $(OUT)/QUAGG.$(FASLEXT) $(OUT)/SKAGG.$(FASLEXT) -$(OUT)/PRQAGG.$(FASLEXT): $(OUT)/BGAGG.$(FASLEXT) +$(OUT)/PRQAGG.$(FASLEXT): $(OUT)/BGAGG.$(FASLEXT) $(OUT)/FINAGG.$(FASLEXT) #$(OUT)/DLAGG.$(FASLEXT): $(OUT)/RCAGG.$(FASLEXT) #$(OUT)/URAGG.$(FASLEXT): $(OUT)/RCAGG.$(FASLEXT) #$(OUT)/BRAGG.$(FASLEXT): $(OUT)/RCAGG.$(FASLEXT) @@ -1358,7 +1362,7 @@ $(OUT)/FLAGG.$(FASLEXT): $(OUT)/BMODULE.$(FASLEXT) $(OUT)/PID.$(FASLEXT) \ $(OUT)/OAGROUP.$(FASLEXT) $(OUT)/RETRACT.$(FASLEXT) \ $(OUT)/LINEXP.$(FASLEXT) $(OUT)/PATMAB.$(FASLEXT) \ $(OUT)/REAL.$(FASLEXT) $(OUT)/CHARZ.$(FASLEXT) \ - $(OUT)/DIFFSPC.$(FASLEXT) + $(OUT)/DIFFSPC.$(FASLEXT) $(OUT)/FINAGG.$(FASLEXT) $(OUT)/A1AGG.$(FASLEXT): $(OUT)/SETCAT.$(FASLEXT) $(OUT)/BOOLE-.$(FASLEXT) \ $(OUT)/FLAGG.$(FASLEXT) $(OUT)/LOGIC-.$(FASLEXT) \ $(OUT)/ORDTYPE-.$(FASLEXT) @@ -1454,6 +1458,7 @@ $(OUT)/SGPOPC.$(FASLEXT): $(OUT)/BINOPC.$(FASLEXT) $(OUT)/BASTYPE.$(FASLEXT) $(OUT)/SGPOP.$(FASLEXT): $(OUT)/SGPOPC.$(FASLEXT) $(OUT)/SETCAT.$(FASLEXT) \ $(OUT)/BINOP.$(FASLEXT) $(OUT)/MONOPC.$(FASLEXT): $(OUT)/SGPOPC.$(FASLEXT) +$(OUT)/FSAGG.$(FASLEXT): $(OUT)/FINAGG.$(FASLEXT) $(OUT)/FINAGG.$(FASLEXT): $(OUT)/HOAGG.$(FASLEXT) @@ -1737,6 +1742,7 @@ $(OUT)/PENDTREE.$(FASLEXT): $(OUT)/TREE.$(FASLEXT) $(OUT)/QFORM.$(FASLEXT): $(OUT)/SQMATRIX.$(FASLEXT) $(OUT)/SQMATRIX.$(FASLEXT): $(OUT)/SMATCAT.$(FASLEXT) \ $(OUT)/MATRIX.$(FASLEXT) $(OUT)/IARRAY2.$(FASLEXT) +$(OUT)/MATCAT.$(FASLEXT): $(OUT)/FINAGG.$(FASLEXT) $(OUT)/SMATCAT.$(FASLEXT): $(OUT)/RMATCAT.$(FASLEXT) $(OUT)/RMATCAT.$(FASLEXT): $(OUT)/DIRPROD.$(FASLEXT) $(OUT)/DIRPROD.$(FASLEXT): $(OUT)/DIRPCAT.$(FASLEXT) diff --git a/src/algebra/Makefile.in b/src/algebra/Makefile.in index d5f800a0..c098271f 100644 --- a/src/algebra/Makefile.in +++ b/src/algebra/Makefile.in @@ -1758,7 +1758,7 @@ strap-0/ARR2CAT.$(FASLEXT): strap-0/HOAGG.$(FASLEXT) strap-0/MATCAT.$(FASLEXT): strap-0/ARR2CAT.$(FASLEXT) \ strap-0/EUCDOM.$(FASLEXT) strap-0/INTDOM.$(FASLEXT) \ - strap-0/FIELD.$(FASLEXT) + strap-0/FIELD.$(FASLEXT) strap-0/FINAGG.$(FASLEXT) strap-0/IDPC.$(FASLEXT): strap-0/SETCAT.$(FASLEXT) @@ -1795,7 +1795,8 @@ strap-0/RCAGG.$(FASLEXT): strap-0/HOAGG.$(FASLEXT) strap-0/ELAGG.$(FASLEXT): strap-0/LNAGG.$(FASLEXT) strap-0/SRAGG.$(FASLEXT): strap-0/A1AGG.$(FASLEXT) strap-0/A1AGG.$(FASLEXT): strap-0/FLAGG.$(FASLEXT) -strap-0/FLAGG.$(FASLEXT): strap-0/LNAGG.$(FASLEXT) +strap-0/FLAGG.$(FASLEXT): strap-0/LNAGG.$(FASLEXT) strap-0/FINAGG.$(FASLEXT) +strap-0/FINAGG.$(FASLEXT): strap-0/HOAGG.$(FASLEXT) strap-0/LNAGG.$(FASLEXT): strap-0/IXAGG.$(FASLEXT) \ strap-0/CLAGG.$(FASLEXT) strap-0/ETLAB.$(FASLEXT) strap-0/IXAGG.$(FASLEXT): strap-0/HOAGG.$(FASLEXT) \ @@ -2101,7 +2102,7 @@ strap-1/BTAGG.$(FASLEXT): strap-1/ORDSET.$(FASLEXT) \ strap-1/A1AGG.$(FASLEXT) strap-1/FSAGG.$(FASLEXT): strap-1/KDAGG.$(FASLEXT) \ - strap-1/SETAGG.$(FASLEXT) + strap-1/SETAGG.$(FASLEXT) strap-1/FINAGG.$(FASLEXT) strap-1/LSAGG.$(FASLEXT): strap-1/STAGG.$(FASLEXT) \ strap-1/FLAGG.$(FASLEXT) strap-1/ELAGG.$(FASLEXT) @@ -2119,7 +2120,9 @@ strap-1/SRAGG.$(FASLEXT): strap-1/A1AGG.$(FASLEXT) strap-1/A1AGG.$(FASLEXT): strap-1/FLAGG.$(FASLEXT) -strap-1/FLAGG.$(FASLEXT): strap-1/LNAGG.$(FASLEXT) +strap-1/FLAGG.$(FASLEXT): strap-1/LNAGG.$(FASLEXT) strap-1/FINAGG.$(FASLEXT) + +strap-1/FINAGG.$(FASLEXT): strap-1/HOAGG.$(FASLEXT) strap-1/LNAGG.$(FASLEXT): strap-1/IXAGG.$(FASLEXT) \ strap-1/CLAGG.$(FASLEXT) strap-1/ETLAB.$(FASLEXT) \ @@ -2154,7 +2157,7 @@ strap-1/CTORCAT.$(FASLEXT): strap-1/OPERCAT.$(FASLEXT) \ strap-1/MATCAT.$(FASLEXT): strap-1/ARR2CAT.$(FASLEXT) \ strap-1/INTDOM.$(FASLEXT) strap-1/FIELD.$(FASLEXT) \ - strap-1/EUCDOM.$(FASLEXT) + strap-1/EUCDOM.$(FASLEXT) strap-1/FINAGG.$(FASLEXT) strap-1/VECTCAT.$(FASLEXT): strap-1/A1AGG.$(FASLEXT) \ strap-1/ABELSG.$(FASLEXT) strap-1/ABELMON.$(FASLEXT) \ @@ -2472,7 +2475,7 @@ strap-2/UPOLYC.$(FASLEXT): strap-2/POLYCAT.$(FASLEXT) \ strap-2/ARR2CAT.$(FASLEXT): strap-2/HOAGG.$(FASLEXT) strap-2/FSAGG.$(FASLEXT): strap-2/KDAGG.$(FASLEXT) \ - strap-2/SETAGG.$(FASLEXT) + strap-2/SETAGG.$(FASLEXT) strap-2/FINAGG.$(FASLEXT) strap-2/ALAGG.$(FASLEXT): strap-2/TBAGG.$(FASLEXT) strap-2/LSAGG.$(FASLEXT) strap-2/LSAGG.$(FASLEXT): strap-2/STAGG.$(FASLEXT) \ strap-2/FLAGG.$(FASLEXT) strap-2/ELAGG.$(FASLEXT) @@ -2487,7 +2490,8 @@ strap-2/RCAGG.$(FASLEXT): strap-2/HOAGG.$(FASLEXT) strap-2/ELAGG.$(FASLEXT): strap-2/LNAGG.$(FASLEXT) strap-2/SRAGG.$(FASLEXT): strap-2/A1AGG.$(FASLEXT) strap-2/A1AGG.$(FASLEXT): strap-2/FLAGG.$(FASLEXT) -strap-2/FLAGG.$(FASLEXT): strap-2/LNAGG.$(FASLEXT) +strap-2/FLAGG.$(FASLEXT): strap-2/LNAGG.$(FASLEXT) strap-2/FINAGG.$(FASLEXT) +strap-2/FINAGG.$(FASLEXT): strap-2/HOAGG.$(FASLEXT) strap-2/LNAGG.$(FASLEXT): strap-2/IXAGG.$(FASLEXT) \ strap-2/CLAGG.$(FASLEXT) strap-2/ETLAB.$(FASLEXT) strap-2/IXAGG.$(FASLEXT): strap-2/HOAGG.$(FASLEXT) \ @@ -2506,7 +2510,7 @@ strap-2/SEXCAT.$(FASLEXT): strap-2/SETCAT.$(FASLEXT) \ strap-2/KVTFROM.$(FASLEXT) strap-2/ELTAB.$(FASLEXT) strap-2/MATCAT.$(FASLEXT): strap-2/ARR2CAT.$(FASLEXT) \ - strap-2/FLAGG.$(FASLEXT) + strap-2/FLAGG.$(FASLEXT) strap-2/FINAGG.$(FASLEXT) strap-2/CATEGORY.$(FASLEXT): strap-2/KOERCE.$(FASLEXT) \ strap-1/OUTFORM.$(FASLEXT) strap-1/LIST.$(FASLEXT) \ @@ -2687,10 +2691,10 @@ $(OUT)/ELTAGG.$(FASLEXT): $(OUT)/AGG.$(FASLEXT) $(OUT)/SETCAT.$(FASLEXT) $(OUT)/IXAGG.$(FASLEXT): $(OUT)/ELTAGG.$(FASLEXT) $(OUT)/EVALAB.$(FASLEXT) $(OUT)/RCAGG.$(FASLEXT): $(OUT)/EVALAB.$(FASLEXT) $(OUT)/SETCAT.$(FASLEXT) \ $(OUT)/AGG.$(FASLEXT) -$(OUT)/QUAGG.$(FASLEXT): $(OUT)/BGAGG.$(FASLEXT) -$(OUT)/SKAGG.$(FASLEXT): $(OUT)/BGAGG.$(FASLEXT) +$(OUT)/QUAGG.$(FASLEXT): $(OUT)/BGAGG.$(FASLEXT) $(OUT)/FINAGG.$(FASLEXT) +$(OUT)/SKAGG.$(FASLEXT): $(OUT)/BGAGG.$(FASLEXT) $(OUT)/FINAGG.$(FASLEXT) $(OUT)/DQAGG.$(FASLEXT): $(OUT)/QUAGG.$(FASLEXT) $(OUT)/SKAGG.$(FASLEXT) -$(OUT)/PRQAGG.$(FASLEXT): $(OUT)/BGAGG.$(FASLEXT) +$(OUT)/PRQAGG.$(FASLEXT): $(OUT)/BGAGG.$(FASLEXT) $(OUT)/FINAGG.$(FASLEXT) #$(OUT)/DLAGG.$(FASLEXT): $(OUT)/RCAGG.$(FASLEXT) #$(OUT)/URAGG.$(FASLEXT): $(OUT)/RCAGG.$(FASLEXT) #$(OUT)/BRAGG.$(FASLEXT): $(OUT)/RCAGG.$(FASLEXT) @@ -2698,7 +2702,7 @@ $(OUT)/FLAGG.$(FASLEXT): $(OUT)/BMODULE.$(FASLEXT) $(OUT)/PID.$(FASLEXT) \ $(OUT)/OAGROUP.$(FASLEXT) $(OUT)/RETRACT.$(FASLEXT) \ $(OUT)/LINEXP.$(FASLEXT) $(OUT)/PATMAB.$(FASLEXT) \ $(OUT)/REAL.$(FASLEXT) $(OUT)/CHARZ.$(FASLEXT) \ - $(OUT)/DIFFSPC.$(FASLEXT) + $(OUT)/DIFFSPC.$(FASLEXT) $(OUT)/FINAGG.$(FASLEXT) $(OUT)/A1AGG.$(FASLEXT): $(OUT)/SETCAT.$(FASLEXT) $(OUT)/BOOLE-.$(FASLEXT) \ $(OUT)/FLAGG.$(FASLEXT) $(OUT)/LOGIC-.$(FASLEXT) \ $(OUT)/ORDTYPE-.$(FASLEXT) @@ -2794,6 +2798,7 @@ $(OUT)/SGPOPC.$(FASLEXT): $(OUT)/BINOPC.$(FASLEXT) $(OUT)/BASTYPE.$(FASLEXT) $(OUT)/SGPOP.$(FASLEXT): $(OUT)/SGPOPC.$(FASLEXT) $(OUT)/SETCAT.$(FASLEXT) \ $(OUT)/BINOP.$(FASLEXT) $(OUT)/MONOPC.$(FASLEXT): $(OUT)/SGPOPC.$(FASLEXT) +$(OUT)/FSAGG.$(FASLEXT): $(OUT)/FINAGG.$(FASLEXT) $(OUT)/FINAGG.$(FASLEXT): $(OUT)/HOAGG.$(FASLEXT) @@ -2903,6 +2908,7 @@ $(OUT)/PENDTREE.$(FASLEXT): $(OUT)/TREE.$(FASLEXT) $(OUT)/QFORM.$(FASLEXT): $(OUT)/SQMATRIX.$(FASLEXT) $(OUT)/SQMATRIX.$(FASLEXT): $(OUT)/SMATCAT.$(FASLEXT) \ $(OUT)/MATRIX.$(FASLEXT) $(OUT)/IARRAY2.$(FASLEXT) +$(OUT)/MATCAT.$(FASLEXT): $(OUT)/FINAGG.$(FASLEXT) $(OUT)/SMATCAT.$(FASLEXT): $(OUT)/RMATCAT.$(FASLEXT) $(OUT)/RMATCAT.$(FASLEXT): $(OUT)/DIRPROD.$(FASLEXT) $(OUT)/DIRPROD.$(FASLEXT): $(OUT)/DIRPCAT.$(FASLEXT) diff --git a/src/algebra/aggcat.spad.pamphlet b/src/algebra/aggcat.spad.pamphlet index 938a09fb..83667f77 100644 --- a/src/algebra/aggcat.spad.pamphlet +++ b/src/algebra/aggcat.spad.pamphlet @@ -168,6 +168,7 @@ HomogeneousAggregate(S:Type): Category == Aggregate with ++ number of elements. FiniteAggregate(S: Type): Category == Exports where Exports == HomogeneousAggregate S with + finiteAggregate -- FIXME: TEMPORARY FOR TRANSITIONAL PURPOSE ONLY #: % -> NonNegativeInteger ++ \spad{#u} returns the number of items in u. any?: (S->Boolean,%) -> Boolean @@ -346,8 +347,7 @@ import BagAggregate ++ References: ++ Description: ++ A stack is a bag where the last item inserted is the first item extracted. -StackAggregate(S:Type): Category == BagAggregate S with - finiteAggregate +StackAggregate(S:Type): Category == Join(BagAggregate S,FiniteAggregate S) with push!: (S,%) -> S ++ push!(x,s) pushes x onto stack s, i.e. destructively changing s ++ so as to have a new first (top) element x. @@ -383,8 +383,7 @@ import BagAggregate ++ References: ++ Description: ++ A queue is a bag where the first item inserted is the first item extracted. -QueueAggregate(S:Type): Category == BagAggregate S with - finiteAggregate +QueueAggregate(S:Type): Category == Join(BagAggregate S,FiniteAggregate S) with enqueue!: (S, %) -> S ++ enqueue!(x,q) inserts x into the queue q at the back end. dequeue!: % -> S @@ -481,8 +480,7 @@ import BagAggregate ++ Description: ++ A priority queue is a bag of items from an ordered set where the item ++ extracted is always the maximum element. -PriorityQueueAggregate(S:OrderedSet): Category == BagAggregate S with - finiteAggregate +PriorityQueueAggregate(S:OrderedSet): Category == Join(BagAggregate S,FiniteAggregate S) with max: % -> S ++ max(q) returns the maximum element of priority queue q. merge: (%,%) -> % @@ -737,8 +735,7 @@ import SetAggregate ++ by order or multiplicity. ++ See \spadtype{Set} for an example. FiniteSetAggregate(S:SetCategory): Category == - Join(Dictionary S, SetAggregate S) with - finiteAggregate + Join(Dictionary S, SetAggregate S,FiniteAggregate S) with cardinality: % -> NonNegativeInteger ++ cardinality(u) returns the number of elements of u. ++ Note: \axiom{cardinality(u) = #u}. @@ -1937,8 +1934,7 @@ import Integer ++ The finite property of the aggregate adds several exports to the ++ list of exports from \spadtype{LinearAggregate} such as ++ \spadfun{reverse}, \spadfun{sort}, and so on. -FiniteLinearAggregate(S:Type): Category == LinearAggregate S with - finiteAggregate +FiniteLinearAggregate(S:Type): Category == Join(LinearAggregate S,FiniteAggregate S) with merge: ((S,S)->Boolean,%,%) -> % ++ merge(p,a,b) returns an aggregate c which merges \axiom{a} and b. ++ The result is produced by examining each element x of \axiom{a} and y diff --git a/src/algebra/lmdict.spad.pamphlet b/src/algebra/lmdict.spad.pamphlet index deede84c..0b1e3ee3 100644 --- a/src/algebra/lmdict.spad.pamphlet +++ b/src/algebra/lmdict.spad.pamphlet @@ -36,8 +36,7 @@ NNI ==> NonNegativeInteger D ==> Record(entry:S, count:NonNegativeInteger) -ListMultiDictionary(S:SetCategory): MultiDictionary(S) with - finiteAggregate +ListMultiDictionary(S:SetCategory): Join(MultiDictionary S,FiniteAggregate S) with duplicates?: % -> Boolean ++ duplicates?(d) tests if dictionary d has duplicate entries. substitute : (S, S, %) -> % diff --git a/src/algebra/matcat.spad.pamphlet b/src/algebra/matcat.spad.pamphlet index c895e038..530a083a 100644 --- a/src/algebra/matcat.spad.pamphlet +++ b/src/algebra/matcat.spad.pamphlet @@ -12,9 +12,9 @@ \section{category MATCAT MatrixCategory} <<category MATCAT MatrixCategory>>= )abbrev category MATCAT MatrixCategory -++ Authors: Grabmeier, Gschnitzer, Williamson +++ Authors: Grabmeier, Gschnitzer, Williamson, Gabriel Dos Reis ++ Date Created: 1987 -++ Date Last Updated: July 1990 +++ Date Last Updated: May 17, 2013 ++ Basic Operations: ++ Related Domains: Matrix(R) ++ Also See: @@ -569,10 +569,7 @@ RectangularMatrixCategory(m,n,R,Row,Col): Category == Definition where Row : DirectProductCategory(n,R) Col : DirectProductCategory(m,R) - Definition ==> Join(BiModule(R,R),HomogeneousAggregate(R)) with - - finiteAggregate - ++ matrices are finite + Definition ==> Join(BiModule(R,R),FiniteAggregate R) with if R has CommutativeRing then Module(R) diff --git a/src/algebra/mset.spad.pamphlet b/src/algebra/mset.spad.pamphlet index 351eefee..9d564ee9 100644 --- a/src/algebra/mset.spad.pamphlet +++ b/src/algebra/mset.spad.pamphlet @@ -23,8 +23,7 @@ ++ Examples: ++ References: ++ Description: A multiset is a set with multiplicities. -Multiset(S: SetCategory): MultisetAggregate S with - finiteAggregate +Multiset(S: SetCategory): Join(MultisetAggregate S,FiniteAggregate S) with shallowlyMutable multiset: () -> % ++ multiset()$D creates an empty multiset of domain D. diff --git a/src/algebra/newdata.spad.pamphlet b/src/algebra/newdata.spad.pamphlet index 071fc497..d53ed96b 100644 --- a/src/algebra/newdata.spad.pamphlet +++ b/src/algebra/newdata.spad.pamphlet @@ -316,7 +316,7 @@ SplittingNode(V,C) : Exports == Implementation where )abbrev domain SPLTREE SplittingTree ++ Author: Marc Moereno Maza ++ Date Created: 07/05/1996 -++ Date Last Updated: 07/19/1996 +++ Date Last Updated: May 16, 2013 ++ Basic Functions: ++ Related Constructors: ++ Also See: @@ -361,9 +361,8 @@ SplittingTree(V,C) : Exports == Implementation where S ==> SplittingNode(V,C) A ==> Record(root:S,subTrees:List(%)) - Exports == RecursiveAggregate(S) with + Exports == Join(RecursiveAggregate S,FiniteAggregate S) with shallowlyMutable - finiteAggregate extractSplittingLeaf : % -> Union(%,"failed") ++ \axiom{extractSplittingLeaf(a)} returns the left ++ most leaf (as a tree) whose status is false diff --git a/src/algebra/polset.spad.pamphlet b/src/algebra/polset.spad.pamphlet index 6043955c..b52209a6 100644 --- a/src/algebra/polset.spad.pamphlet +++ b/src/algebra/polset.spad.pamphlet @@ -34,8 +34,7 @@ PolynomialSetCategory(R:Ring, E:OrderedAbelianMonoidSup,_ VarSet:OrderedSet, P:RecursivePolynomialCategory(R,E,VarSet)): Category == - Join(SetCategory,Collection(P),CoercibleTo(List(P))) with - finiteAggregate + Join(SetCategory,Collection P,FiniteAggregate P,CoercibleTo List P) with retractIfCan : List(P) -> Union($,"failed") ++ \axiom{retractIfCan(lp)} returns an element of the domain whose elements ++ are the members of \axiom{lp} if such an element exists, otherwise @@ -376,13 +375,11 @@ GeneralPolynomialSet(R,E,VarSet,P) : Exports == Implementation where LP ==> List P PtoP ==> P -> P - Exports == PolynomialSetCategory(R,E,VarSet,P) with - + Exports == Join(PolynomialSetCategory(R,E,VarSet,P),FiniteAggregate P) with convert : LP -> $ ++ \axiom{convert(lp)} returns the polynomial set whose members ++ are the polynomials of \axiom{lp}. - finiteAggregate shallowlyMutable Implementation == add diff --git a/src/algebra/tree.spad.pamphlet b/src/algebra/tree.spad.pamphlet index 403f7351..1352bd35 100644 --- a/src/algebra/tree.spad.pamphlet +++ b/src/algebra/tree.spad.pamphlet @@ -30,8 +30,7 @@ import List ++ Each tree is either empty or else is a {\it node} consisting of a value and ++ a list of (sub)trees. Tree(S: SetCategory): T==C where - T== RecursiveAggregate(S) with - finiteAggregate + T== Join(RecursiveAggregate S,FiniteAggregate S) with shallowlyMutable tree: (S,List %) -> % ++ tree(nd,ls) creates a tree with value nd, and children @@ -329,11 +328,9 @@ Tree(S: SetCategory): T==C where ++ Description: \spadtype{BinaryTreeCategory(S)} is the category of ++ binary trees: a tree which is either empty or else is a \spadfun{node} consisting ++ of a value and a \spadfun{left} and \spadfun{right}, both binary trees. -BinaryTreeCategory(S: SetCategory): Category == BinaryRecursiveAggregate(S) with +BinaryTreeCategory(S: SetCategory): Category == Join(BinaryRecursiveAggregate S,FiniteAggregate S) with shallowlyMutable ++ Binary trees have updateable components - finiteAggregate - ++ Binary trees have a finite number of components node: (%,S,%) -> % ++ node(left,v,right) creates a binary tree with value \spad{v}, a binary ++ tree \spad{left}, and a binary tree \spad{right}. diff --git a/src/algebra/triset.spad.pamphlet b/src/algebra/triset.spad.pamphlet index 78312236..4efdd114 100644 --- a/src/algebra/triset.spad.pamphlet +++ b/src/algebra/triset.spad.pamphlet @@ -51,8 +51,7 @@ import List TriangularSetCategory(R:IntegralDomain,E:OrderedAbelianMonoidSup,_ V:OrderedSet,P:RecursivePolynomialCategory(R,E,V)): Category == - PolynomialSetCategory(R,E,V,P) with - finiteAggregate + Join(PolynomialSetCategory(R,E,V,P),FiniteAggregate P) with shallowlyMutable infRittWu? : ($,$) -> Boolean diff --git a/src/algebra/vector.spad.pamphlet b/src/algebra/vector.spad.pamphlet index 4bd83302..fafce6ca 100644 --- a/src/algebra/vector.spad.pamphlet +++ b/src/algebra/vector.spad.pamphlet @@ -216,9 +216,7 @@ VectorFunctions2(A, B): Exports == Implementation where ++ Many categorical properties are preserved under this construction. DirectProductCategory(dim:NonNegativeInteger, R:Type): Category == - Join(IndexedAggregate(Integer, R), CoercibleTo Vector R) with - finiteAggregate - ++ attribute to indicate an aggregate of finite size + Join(IndexedAggregate(Integer,R),FiniteAggregate R,CoercibleTo Vector R) with directProduct: Vector R -> % ++ directProduct(v) converts the vector v to become ++ a direct product. Error: if the length of v is |