diff options
Diffstat (limited to 'src/algebra')
-rw-r--r-- | src/algebra/Makefile.in | 19 | ||||
-rw-r--r-- | src/algebra/Makefile.pamphlet | 19 | ||||
-rw-r--r-- | src/algebra/catdef.spad.pamphlet | 98 | ||||
-rw-r--r-- | src/algebra/exposed.lsp.pamphlet | 3 | ||||
-rw-r--r-- | src/algebra/op.spad.pamphlet | 2 | ||||
-rw-r--r-- | src/algebra/strap/ABELGRP.lsp | 13 | ||||
-rw-r--r-- | src/algebra/strap/DFLOAT.lsp | 19 | ||||
-rw-r--r-- | src/algebra/strap/INT.lsp | 27 | ||||
-rw-r--r-- | src/algebra/strap/SINT.lsp | 30 | ||||
-rw-r--r-- | src/algebra/term.spad.pamphlet | 9 |
10 files changed, 162 insertions, 77 deletions
diff --git a/src/algebra/Makefile.in b/src/algebra/Makefile.in index cee9ae4c..db050ac9 100644 --- a/src/algebra/Makefile.in +++ b/src/algebra/Makefile.in @@ -301,11 +301,11 @@ $(OUT)/LOGIC.$(FASLEXT): $(OUT)/BASTYPE.$(FASLEXT) $(OUT)/SGROUP.$(FASLEXT) $(OUT)/SGROUP-.$(FASLEXT): $(OUT)/SETCAT.$(FASLEXT) $(OUT)/ABELSG.$(FASLEXT) $(OUT)/ABELSG-.$(FASLEXT): $(OUT)/SETCAT.$(FASLEXT) -$(OUT)/LMODULE.$(FASLEXT): $(OUT)/SETCAT.$(FASLEXT) -$(OUT)/RMODULE.$(FASLEXT): $(OUT)/SETCAT.$(FASLEXT) +$(OUT)/LMODULE.$(FASLEXT): $(OUT)/SETCAT.$(FASLEXT) $(OUT)/LLINSET.$(FASLEXT) +$(OUT)/RMODULE.$(FASLEXT): $(OUT)/SETCAT.$(FASLEXT) $(OUT)/RLINSET.$(FASLEXT) $(OUT)/BMODULE.$(FASLEXT): $(OUT)/LMODULE.$(FASLEXT) \ $(OUT)/RMODULE.$(FASLEXT) $(OUT)/SGROUP.$(FASLEXT) -$(OUT)/MODULE.$(FASLEXT): $(OUT)/BMODULE.$(FASLEXT) +$(OUT)/MODULE.$(FASLEXT): $(OUT)/BMODULE.$(FASLEXT) $(OUT)/LINSET.$(FASLEXT) $(OUT)/ALGEBRA.$(FASLEXT): $(OUT)/MODULE.$(FASLEXT) $(OUT)/OAGROUP.$(FASLEXT): $(OUT)/OCAMON.$(FASLEXT) $(OUT)/OCAMON.$(FASLEXT): $(OUT)/OAMON.$(FASLEXT) @@ -313,10 +313,13 @@ $(OUT)/OAMON.$(FASLEXT): $(OUT)/OASGP.$(FASLEXT) $(OUT)/OASGP.$(FASLEXT): $(OUT)/ORDSET.$(FASLEXT) $(OUT)/ABELSG.$(FASLEXT) $(OUT)/RNG.$(FASLEXT): $(OUT)/SGROUP.$(FASLEXT) +$(OUT)/LLINSET.$(FASLEXT): $(OUT)/SETCAT.$(FASLEXT) +$(OUT)/RLINSET.$(FASLEXT): $(OUT)/SETCAT.$(FASLEXT) +$(OUT)/LINSET.$(FASLEXT): $(OUT)/LLINSET.$(FASLEXT) $(OUT)/RLINSET.$(FASLEXT) + $(OUT)/CTORKIND.$(FASLEXT): $(OUT)/SETCAT.$(FASLEXT) $(OUT)/IOMODE.$(FASLEXT): $(OUT)/SETCAT.$(FASLEXT) -$(OUT)/REF.$(FASLEXT): $(OUT)/SETCAT.$(FASLEXT) $(OUT)/IDENT.$(FASLEXT) $(OUT)/PRINT.$(FASLEXT): $(OUT)/TYPE.$(FASLEXT) $(OUT)/RTVALUE.$(FASLEXT): $(OUT)/TYPE.$(FASLEXT) @@ -330,7 +333,7 @@ axiom_algebra_layer_0 = \ RMODULE ALGEBRA ALGEBRA- SGROUP SGROUP- ABELSG \ ABELSG- ORDSET ORDSET- OASGP FILECAT SEXCAT \ MODULE MODULE- PID OAGROUP OCAMON OAMON \ - RNG ORDFIN \ + RNG ORDFIN LLINSET RLINSET LINSET \ MKBCFUNC MKRECORD MKUCFUNC DROPT1 PLOT1 ITFUN2 \ ITFUN3 STREAM1 STREAM2 STREAM3 ANY1 SEGBIND2 \ COMBOPC EQ2 NONE1 CONDUIT IOMODE CTORKIND \ @@ -374,7 +377,7 @@ $(OUT)/BYTEORD.$(FASLEXT): $(OUT)/SETCAT.$(FASLEXT) $(OUT)/RING.$(FASLEXT): $(OUT)/RNG.$(FASLEXT) $(OUT)/MONOID.$(FASLEXT) \ $(OUT)/LMODULE.$(FASLEXT) $(OUT)/KOERCE.$(FASLEXT) $(OUT)/MONOID.$(FASLEXT): $(OUT)/SGROUP.$(FASLEXT) -$(OUT)/ABELGRP.$(FASLEXT): $(OUT)/CABMON.$(FASLEXT) +$(OUT)/ABELGRP.$(FASLEXT): $(OUT)/CABMON.$(FASLEXT) $(OUT)/LLINSET.$(FASLEXT) $(OUT)/ABELMON.$(FASLEXT): $(OUT)/ABELSG.$(FASLEXT) $(OUT)/ORDRING.$(FASLEXT): $(OUT)/OAGROUP.$(FASLEXT) $(OUT)/RING.$(FASLEXT) \ $(OUT)/MONOID.$(FASLEXT) @@ -388,17 +391,17 @@ $(OUT)/GCDDOM.$(FASLEXT): $(OUT)/INTDOM.$(FASLEXT) $(OUT)/UFD.$(FASLEXT): $(OUT)/GCDDOM.$(FASLEXT) $(OUT)/ES.$(FASLEXT) $(OUT)/ES.$(FASLEXT): $(OUT)/RING.$(FASLEXT) $(OUT)/CACHSET.$(FASLEXT) \ $(OUT)/REF.$(FASLEXT) $(OUT)/ALIST.$(FASLEXT) \ - $(OUT)/PATAB.$(FASLEXT) + $(OUT)/PATAB.$(FASLEXT) $(OUT)/PRIMARR.$(FASLEXT) $(OUT)/CACHSET.$(FASLEXT): $(OUT)/ORDSET.$(FASLEXT) $(OUT)/ALIST.$(FASLEXT): $(OUT)/ALAGG.$(FASLEXT) $(OUT)/PATAB.$(FASLEXT): $(OUT)/TYPE.$(FASLEXT) $(OUT)/BOOLEAN.$(FASLEXT): $(OUT)/PROPLOG.$(FASLEXT) -$(OUT)/ES.$(FASLEXT): $(OUT)/PRIMARR.$(FASLEXT) $(OUT)/VECTCAT.$(FASLEXT): $(OUT)/RADCAT.$(FASLEXT) $(OUT)/IARRAY1.$(FASLEXT): $(OUT)/PRIMARR.$(FASLEXT) $(OUT)/PROPERTY.$(FASLEXT): $(OUT)/IDENT.$(FASLEXT) $(OUT)/BINDING.$(FASLEXT): $(OUT)/PROPERTY.$(FASLEXT) $(OUT)/OPERCAT.$(FASLEXT): $(OUT)/ARITY.$(FASLEXT) +$(OUT)/REF.$(FASLEXT): $(OUT)/SETCAT.$(FASLEXT) $(OUT)/IDENT.$(FASLEXT) axiom_algebra_layer_1 = \ ABELGRP ABELGRP- ABELMON ABELMON- FORTCAT ITUPLE \ diff --git a/src/algebra/Makefile.pamphlet b/src/algebra/Makefile.pamphlet index ad0818cf..1d0e4a83 100644 --- a/src/algebra/Makefile.pamphlet +++ b/src/algebra/Makefile.pamphlet @@ -255,11 +255,11 @@ $(OUT)/LOGIC.$(FASLEXT): $(OUT)/BASTYPE.$(FASLEXT) $(OUT)/SGROUP.$(FASLEXT) $(OUT)/SGROUP-.$(FASLEXT): $(OUT)/SETCAT.$(FASLEXT) $(OUT)/ABELSG.$(FASLEXT) $(OUT)/ABELSG-.$(FASLEXT): $(OUT)/SETCAT.$(FASLEXT) -$(OUT)/LMODULE.$(FASLEXT): $(OUT)/SETCAT.$(FASLEXT) -$(OUT)/RMODULE.$(FASLEXT): $(OUT)/SETCAT.$(FASLEXT) +$(OUT)/LMODULE.$(FASLEXT): $(OUT)/SETCAT.$(FASLEXT) $(OUT)/LLINSET.$(FASLEXT) +$(OUT)/RMODULE.$(FASLEXT): $(OUT)/SETCAT.$(FASLEXT) $(OUT)/RLINSET.$(FASLEXT) $(OUT)/BMODULE.$(FASLEXT): $(OUT)/LMODULE.$(FASLEXT) \ $(OUT)/RMODULE.$(FASLEXT) $(OUT)/SGROUP.$(FASLEXT) -$(OUT)/MODULE.$(FASLEXT): $(OUT)/BMODULE.$(FASLEXT) +$(OUT)/MODULE.$(FASLEXT): $(OUT)/BMODULE.$(FASLEXT) $(OUT)/LINSET.$(FASLEXT) $(OUT)/ALGEBRA.$(FASLEXT): $(OUT)/MODULE.$(FASLEXT) $(OUT)/OAGROUP.$(FASLEXT): $(OUT)/OCAMON.$(FASLEXT) $(OUT)/OCAMON.$(FASLEXT): $(OUT)/OAMON.$(FASLEXT) @@ -267,10 +267,13 @@ $(OUT)/OAMON.$(FASLEXT): $(OUT)/OASGP.$(FASLEXT) $(OUT)/OASGP.$(FASLEXT): $(OUT)/ORDSET.$(FASLEXT) $(OUT)/ABELSG.$(FASLEXT) $(OUT)/RNG.$(FASLEXT): $(OUT)/SGROUP.$(FASLEXT) +$(OUT)/LLINSET.$(FASLEXT): $(OUT)/SETCAT.$(FASLEXT) +$(OUT)/RLINSET.$(FASLEXT): $(OUT)/SETCAT.$(FASLEXT) +$(OUT)/LINSET.$(FASLEXT): $(OUT)/LLINSET.$(FASLEXT) $(OUT)/RLINSET.$(FASLEXT) + $(OUT)/CTORKIND.$(FASLEXT): $(OUT)/SETCAT.$(FASLEXT) $(OUT)/IOMODE.$(FASLEXT): $(OUT)/SETCAT.$(FASLEXT) -$(OUT)/REF.$(FASLEXT): $(OUT)/SETCAT.$(FASLEXT) $(OUT)/IDENT.$(FASLEXT) $(OUT)/PRINT.$(FASLEXT): $(OUT)/TYPE.$(FASLEXT) $(OUT)/RTVALUE.$(FASLEXT): $(OUT)/TYPE.$(FASLEXT) @@ -284,7 +287,7 @@ axiom_algebra_layer_0 = \ RMODULE ALGEBRA ALGEBRA- SGROUP SGROUP- ABELSG \ ABELSG- ORDSET ORDSET- OASGP FILECAT SEXCAT \ MODULE MODULE- PID OAGROUP OCAMON OAMON \ - RNG ORDFIN \ + RNG ORDFIN LLINSET RLINSET LINSET \ MKBCFUNC MKRECORD MKUCFUNC DROPT1 PLOT1 ITFUN2 \ ITFUN3 STREAM1 STREAM2 STREAM3 ANY1 SEGBIND2 \ COMBOPC EQ2 NONE1 CONDUIT IOMODE CTORKIND \ @@ -333,7 +336,7 @@ $(OUT)/BYTEORD.$(FASLEXT): $(OUT)/SETCAT.$(FASLEXT) $(OUT)/RING.$(FASLEXT): $(OUT)/RNG.$(FASLEXT) $(OUT)/MONOID.$(FASLEXT) \ $(OUT)/LMODULE.$(FASLEXT) $(OUT)/KOERCE.$(FASLEXT) $(OUT)/MONOID.$(FASLEXT): $(OUT)/SGROUP.$(FASLEXT) -$(OUT)/ABELGRP.$(FASLEXT): $(OUT)/CABMON.$(FASLEXT) +$(OUT)/ABELGRP.$(FASLEXT): $(OUT)/CABMON.$(FASLEXT) $(OUT)/LLINSET.$(FASLEXT) $(OUT)/ABELMON.$(FASLEXT): $(OUT)/ABELSG.$(FASLEXT) $(OUT)/ORDRING.$(FASLEXT): $(OUT)/OAGROUP.$(FASLEXT) $(OUT)/RING.$(FASLEXT) \ $(OUT)/MONOID.$(FASLEXT) @@ -347,17 +350,17 @@ $(OUT)/GCDDOM.$(FASLEXT): $(OUT)/INTDOM.$(FASLEXT) $(OUT)/UFD.$(FASLEXT): $(OUT)/GCDDOM.$(FASLEXT) $(OUT)/ES.$(FASLEXT) $(OUT)/ES.$(FASLEXT): $(OUT)/RING.$(FASLEXT) $(OUT)/CACHSET.$(FASLEXT) \ $(OUT)/REF.$(FASLEXT) $(OUT)/ALIST.$(FASLEXT) \ - $(OUT)/PATAB.$(FASLEXT) + $(OUT)/PATAB.$(FASLEXT) $(OUT)/PRIMARR.$(FASLEXT) $(OUT)/CACHSET.$(FASLEXT): $(OUT)/ORDSET.$(FASLEXT) $(OUT)/ALIST.$(FASLEXT): $(OUT)/ALAGG.$(FASLEXT) $(OUT)/PATAB.$(FASLEXT): $(OUT)/TYPE.$(FASLEXT) $(OUT)/BOOLEAN.$(FASLEXT): $(OUT)/PROPLOG.$(FASLEXT) -$(OUT)/ES.$(FASLEXT): $(OUT)/PRIMARR.$(FASLEXT) $(OUT)/VECTCAT.$(FASLEXT): $(OUT)/RADCAT.$(FASLEXT) $(OUT)/IARRAY1.$(FASLEXT): $(OUT)/PRIMARR.$(FASLEXT) $(OUT)/PROPERTY.$(FASLEXT): $(OUT)/IDENT.$(FASLEXT) $(OUT)/BINDING.$(FASLEXT): $(OUT)/PROPERTY.$(FASLEXT) $(OUT)/OPERCAT.$(FASLEXT): $(OUT)/ARITY.$(FASLEXT) +$(OUT)/REF.$(FASLEXT): $(OUT)/SETCAT.$(FASLEXT) $(OUT)/IDENT.$(FASLEXT) axiom_algebra_layer_1 = \ ABELGRP ABELGRP- ABELMON ABELMON- FORTCAT ITUPLE \ diff --git a/src/algebra/catdef.spad.pamphlet b/src/algebra/catdef.spad.pamphlet index ae0d4f50..c7263464 100644 --- a/src/algebra/catdef.spad.pamphlet +++ b/src/algebra/catdef.spad.pamphlet @@ -1,14 +1,77 @@ \documentclass{article} \usepackage{axiom} -\begin{document} + \title{\$SPAD/src/algebra catdef.spad} -\author{James Davenport, Lalo Gonzalez-Vega} +\author{James Davenport, Lalo Gonzalez-Vega, Gabriel Dos~Reis} + +\begin{document} + \maketitle \begin{abstract} \end{abstract} -\eject \tableofcontents \eject + +\section{Linear sets} + +<<category LLINSET LeftLinearSet>>= +)abbrev category LLINSET LeftLinearSet +++ Author: Gabriel Dos Reis +++ Date Created: May 31, 2009 +++ Date Last Modified: May 31, 2009 +++ Description: +++ A set is an \spad{R}-left linear set if it is stable by left-dilation +++ by elements in the ring \spad{R}. This category differs from +++ \spad{LeftModule} in that no other assumption (such as addition) +++ is made about the underlying set. +++ See Also: RightLinearSet. +LeftLinearSet(R: Rng): Category == SetCategory with + 0: % + ++ \spad{0} represents the origin of the linear set + zero?: % -> Boolean + ++ \spad{zero? x} holds is \spad{x} is the origin. + *: (R,%) -> % + ++ \spad{r*x} is the left-dilation of \spad{x} by \spad{r}. + +@ + +<<category RLINSET RightLinearSet>>= +)abbrev category RLINSET RightLinearSet +++ Author: Gabriel Dos Reis +++ Date Created: May 31, 2009 +++ Date Last Modified: May 31, 2009 +++ Description: +++ A set is an \spad{R}-right linear set if it is stable by right-dilation +++ by elements in the ring \spad{R}. This category differs from +++ \spad{RightModule} in that no other assumption (such as addition) +++ is made about the underlying set. +++ See Also: LeftLinearSet. +RightLinearSet(R: Rng): Category == SetCategory with + 0: % + ++ \spad{0} represents the origin of the linear set + zero?: % -> Boolean + ++ \spad{zero? x} holds is \spad{x} is the origin. + *: (%,R) -> % + ++ \spad{r*x} is the left-dilation of \spad{x} by \spad{r}. + +@ + +<<category LINSET LinearSet>>= +)abbrev category LINSET LinearSet +++ Author: Gabriel Dos Reis +++ Date Created: May 31, 2009 +++ Date Last Modified: May 31, 2009 +++ Description: +++ A set is an \spad{R}-linear set if it is stable by dilation +++ by elements in the ring \spad{R}. This category differs from +++ \spad{Module} in that no other assumption (such as addition) +++ is made about the underlying set. +++ See Also: LeftLinearSet, RightLinearSet. +LinearSet(R: Rng): Category == Join(LeftLinearSet R, RightLinearSet R) + +@ + + \section{category ABELGRP AbelianGroup} <<category ABELGRP AbelianGroup>>= )abbrev category ABELGRP AbelianGroup @@ -29,13 +92,10 @@ ++ \spad{-(-x) = x} ++ \spad{x+(-x) = 0} -- following domain must be compiled with subsumption disabled -AbelianGroup(): Category == CancellationAbelianMonoid with - --operations - "-": % -> % ++ -x is the additive inverse of x. - "-": (%,%) -> % ++ x-y is the difference of x and y - ++ i.e. \spad{x + (-y)}. - -- subsumes the partial subtraction from previous - "*": (Integer,%) -> % ++ n*x is the product of x by the integer n. +AbelianGroup(): Category == Join(CancellationAbelianMonoid, LeftLinearSet Integer) with + -: % -> % ++ \spad{-x} is the additive inverse of \spad{x} + "-": (%,%) -> % ++ \spad{x-y} is the difference of \spad{x} + ++ and \spad{y} i.e. \spad{x + (-y)}. add (x:% - y:%):% == x+(-y) subtractIfCan(x:%, y:%):Union(%, "failed") == (x-y) :: Union(%,"failed") @@ -923,12 +983,10 @@ IntegralDomain(): Category == ++ \spad{ (a*b)*x = a*(b*x) } ++ \spad{ (a+b)*x = (a*x)+(b*x) } ++ \spad{ a*(x+y) = (a*x)+(a*y) } -LeftModule(R:Rng):Category == AbelianGroup with - --operations - "*": (R,%) -> % ++ r*x returns the left multiplication of the module element x - ++ by the ring element r. +LeftModule(R:Rng):Category == Join(AbelianGroup, LeftLinearSet R) @ + \section{category LINEXP LinearlyExplicitRingOver} <<category LINEXP LinearlyExplicitRingOver>>= )abbrev category LINEXP LinearlyExplicitRingOver @@ -972,7 +1030,7 @@ LinearlyExplicitRingOver(R:Ring): Category == Ring with ++ \spad{(a*b)*x = a*(b*x)} ++ \spad{(a+b)*x = (a*x)+(b*x)} ++ \spad{a*(x+y) = (a*x)+(a*y)} -Module(R:CommutativeRing): Category == BiModule(R,R) +Module(R:CommutativeRing): Category == Join(BiModule(R,R), LinearSet R) add if not(R is %) then x:%*r:R == r*x @@ -1502,12 +1560,10 @@ PrincipalIdealDomain(): Category == GcdDomain with ++ \spad{ x*(a*b) = (x*a)*b } ++ \spad{ x*(a+b) = (x*a)+(x*b) } ++ \spad{ (x+y)*x = (x*a)+(y*a) } -RightModule(R:Rng):Category == AbelianGroup with - --operations - "*": (%,R) -> % ++ x*r returns the right multiplication of the module element x - ++ by the ring element r. +RightModule(R:Rng):Category == Join(AbelianGroup, RightLinearSet R) @ + \section{category RING Ring} <<category RING Ring>>= )abbrev category RING Ring @@ -1524,7 +1580,6 @@ RightModule(R:Rng):Category == AbelianGroup with ++ The category of rings with unity, always associative, but ++ not necessarily commutative. ---Ring(): Category == Join(Rng,Monoid,LeftModule(%:Rng)) with Ring(): Category == Join(Rng,Monoid,LeftModule(%),CoercibleFrom Integer) with --operations characteristic: NonNegativeInteger @@ -1784,6 +1839,9 @@ VectorSpace(S:Field): Category == Module(S) with <<category CABMON CancellationAbelianMonoid>> <<category ABELGRP AbelianGroup>> <<category RNG Rng>> +<<category LLINSET LeftLinearSet>> +<<category RLINSET RightLinearSet>> +<<category LINSET LinearSet>> <<category LMODULE LeftModule>> <<category RMODULE RightModule>> <<category RING Ring>> diff --git a/src/algebra/exposed.lsp.pamphlet b/src/algebra/exposed.lsp.pamphlet index c1ca17ae..5247a755 100644 --- a/src/algebra/exposed.lsp.pamphlet +++ b/src/algebra/exposed.lsp.pamphlet @@ -679,11 +679,13 @@ (|KeyedDictionary| . KDAGG) (|LazyStreamAggregate| . LZSTAGG) (|LeftAlgebra| . LALG) + (|LeftLinearSet| . LLINSET) (|LeftModule| . LMODULE) (|LieAlgebra| . LIECAT) (|LinearAggregate| . LNAGG) (|LinearlyExplicitRingOver| . LINEXP) (|LinearOrdinaryDifferentialOperatorCategory| . LODOCAT) + (|LinearSet| . LINSET) (|LiouvillianFunctionCategory| . LFCAT) (|ListAggregate| . LSAGG) (|Logic| . LOGIC) @@ -752,6 +754,7 @@ (|RetractableTo| . RETRACT) (|RGBColorModel| . RGBCMDL) (|RGBColorSpace| . RGBCSPC) + (|RightLinearSet| . RLINSET) (|RightModule| . RMODULE) (|Ring| . RING) (|Rng| . RNG) diff --git a/src/algebra/op.spad.pamphlet b/src/algebra/op.spad.pamphlet index a467dd0e..09fba256 100644 --- a/src/algebra/op.spad.pamphlet +++ b/src/algebra/op.spad.pamphlet @@ -78,8 +78,6 @@ BasicOperator(): Exports == Implementation where input : $ -> Union(List SEX -> SEX, "failed") ++ input(op) returns the "%input" property of op if ++ it has one attached, "failed" otherwise. - is? : ($, Symbol) -> Boolean - ++ is?(op, s) tests if the name of op is s. has? : (%, Identifier) -> Boolean ++ \spad{has?(op,p)} tests if property \spad{s} is attached to \spad{op}. assert : (%, Identifier) -> $ diff --git a/src/algebra/strap/ABELGRP.lsp b/src/algebra/strap/ABELGRP.lsp index 467559ce..cd7922b8 100644 --- a/src/algebra/strap/ABELGRP.lsp +++ b/src/algebra/strap/ABELGRP.lsp @@ -4,14 +4,15 @@ (DEFPARAMETER |AbelianGroup;AL| 'NIL) (DEFUN |AbelianGroup;| () - (PROG (#0=#:G1399) + (PROG (#0=#:G1400) (RETURN (PROG1 (LETT #0# - (|Join| (|CancellationAbelianMonoid|) - (|mkCategory| '|domain| - '(((- ($ $)) T) ((- ($ $ $)) T) - ((* ($ (|Integer|) $)) T)) - NIL '((|Integer|)) NIL)) + (|sublisV| (PAIR '(#1=#:G1399) (LIST '(|Integer|))) + (|Join| (|CancellationAbelianMonoid|) + (|LeftLinearSet| '#1#) + (|mkCategory| '|domain| + '(((- ($ $)) T) ((- ($ $ $)) T)) NIL + 'NIL NIL))) |AbelianGroup|) (|setShellEntry| #0# 0 '(|AbelianGroup|)))))) diff --git a/src/algebra/strap/DFLOAT.lsp b/src/algebra/strap/DFLOAT.lsp index 58577fe4..582076db 100644 --- a/src/algebra/strap/DFLOAT.lsp +++ b/src/algebra/strap/DFLOAT.lsp @@ -1031,7 +1031,7 @@ (CONS (|makeByteWordVec2| 1 '(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0)) + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) (CONS '#(|FloatingPointSystem&| |RealNumberSystem&| |Field&| |EuclideanDomain&| NIL |UniqueFactorizationDomain&| |GcdDomain&| @@ -1039,9 +1039,10 @@ |Algebra&| |DifferentialRing&| NIL |OrderedRing&| |Module&| NIL NIL |Module&| NIL NIL |Ring&| NIL NIL NIL NIL NIL NIL NIL - |AbelianGroup&| NIL NIL NIL |AbelianMonoid&| - |Monoid&| NIL |OrderedSet&| - |AbelianSemiGroup&| |SemiGroup&| + |AbelianGroup&| NIL NIL NIL NIL NIL + |AbelianMonoid&| |Monoid&| NIL |OrderedSet&| + NIL NIL NIL NIL |AbelianSemiGroup&| + |SemiGroup&| NIL |TranscendentalFunctionCategory&| |RetractableTo&| |RetractableTo&| NIL |SetCategory&| NIL @@ -1072,9 +1073,15 @@ (|OrderedAbelianMonoid|) (|CancellationAbelianMonoid|) (|OrderedAbelianSemiGroup|) + (|LinearSet| 112) (|LinearSet| $$) (|AbelianMonoid|) (|Monoid|) (|PatternMatchable| 109) (|OrderedSet|) + (|LeftLinearSet| 112) + (|RightLinearSet| 112) + (|LeftLinearSet| $$) + (|RightLinearSet| $$) (|AbelianSemiGroup|) (|SemiGroup|) + (|LeftLinearSet| 26) (|TranscendentalFunctionCategory|) (|RetractableTo| 112) (|RetractableTo| 26) (|RealConstant|) @@ -1150,8 +1157,8 @@ 20 1 0 0 0 105 1 0 0 0 1 2 0 0 0 113 1 2 0 0 0 0 107 2 0 19 0 0 1 2 0 19 0 0 1 2 0 19 0 0 62 2 0 19 0 0 1 2 0 19 - 0 0 54 2 0 0 0 26 63 2 0 0 0 0 45 1 0 - 0 0 55 2 0 0 0 0 57 2 0 0 0 0 56 2 0 + 0 0 54 2 0 0 0 26 63 2 0 0 0 0 45 2 0 + 0 0 0 57 1 0 0 0 55 2 0 0 0 0 56 2 0 0 0 0 67 2 0 0 0 112 149 2 0 0 0 26 66 2 0 0 0 113 1 2 0 0 0 24 1 2 0 0 112 0 1 2 0 0 0 112 1 2 0 0 0 0 58 2 diff --git a/src/algebra/strap/INT.lsp b/src/algebra/strap/INT.lsp index 2d9d4f7a..038285e5 100644 --- a/src/algebra/strap/INT.lsp +++ b/src/algebra/strap/INT.lsp @@ -623,17 +623,19 @@ (|unitsKnown| . 0)) (CONS (|makeByteWordVec2| 1 '(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0)) (CONS '#(|IntegerNumberSystem&| |EuclideanDomain&| |UniqueFactorizationDomain&| NIL NIL |GcdDomain&| |IntegralDomain&| |Algebra&| NIL NIL |DifferentialRing&| |OrderedRing&| NIL NIL |Module&| NIL |Ring&| NIL NIL NIL NIL NIL - |AbelianGroup&| NIL NIL NIL |AbelianMonoid&| - |Monoid&| NIL NIL |OrderedSet&| - |AbelianSemiGroup&| |SemiGroup&| NIL - |RetractableTo&| |SetCategory&| NIL NIL NIL - NIL NIL NIL NIL NIL NIL NIL |BasicType&| NIL) + |AbelianGroup&| NIL NIL NIL NIL + |AbelianMonoid&| |Monoid&| NIL NIL + |OrderedSet&| NIL NIL |AbelianSemiGroup&| + |SemiGroup&| NIL NIL |RetractableTo&| + |SetCategory&| NIL NIL NIL NIL NIL NIL NIL NIL + NIL NIL |BasicType&| NIL) (CONS '#((|IntegerNumberSystem|) (|EuclideanDomain|) (|UniqueFactorizationDomain|) @@ -653,10 +655,13 @@ (|OrderedAbelianMonoid|) (|CancellationAbelianMonoid|) (|OrderedAbelianSemiGroup|) - (|AbelianMonoid|) (|Monoid|) - (|StepThrough|) (|PatternMatchable| 17) - (|OrderedSet|) (|AbelianSemiGroup|) - (|SemiGroup|) (|RealConstant|) + (|LinearSet| $$) (|AbelianMonoid|) + (|Monoid|) (|StepThrough|) + (|PatternMatchable| 17) (|OrderedSet|) + (|LeftLinearSet| $$) + (|RightLinearSet| $$) + (|AbelianSemiGroup|) (|SemiGroup|) + (|LeftLinearSet| 17) (|RealConstant|) (|RetractableTo| 17) (|SetCategory|) (|OpenMath|) (|ConvertibleTo| 14) (|ConvertibleTo| 55) @@ -713,7 +718,7 @@ 0 9 27 2 0 11 12 0 28 1 0 14 0 26 1 0 0 0 1 2 0 0 0 7 1 2 0 9 0 0 1 2 0 9 0 0 1 2 0 9 0 0 33 2 0 9 0 0 1 2 0 9 0 - 0 10 2 0 0 0 0 39 1 0 0 0 16 2 0 0 0 + 0 10 1 0 0 0 16 2 0 0 0 0 39 2 0 0 0 0 37 2 0 0 0 7 81 2 0 0 0 137 1 2 0 0 0 0 52 2 0 0 17 0 80 2 0 0 7 0 1 2 0 0 137 0 1))))) diff --git a/src/algebra/strap/SINT.lsp b/src/algebra/strap/SINT.lsp index b3ec9c35..cf309a77 100644 --- a/src/algebra/strap/SINT.lsp +++ b/src/algebra/strap/SINT.lsp @@ -599,19 +599,19 @@ (|leftUnitary| . 0) (|unitsKnown| . 0)) (CONS (|makeByteWordVec2| 1 '(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0)) + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0)) (CONS '#(|IntegerNumberSystem&| |EuclideanDomain&| |UniqueFactorizationDomain&| NIL NIL |GcdDomain&| |IntegralDomain&| |Algebra&| NIL NIL |DifferentialRing&| |OrderedRing&| NIL NIL |Module&| NIL |Ring&| NIL NIL NIL NIL NIL - |AbelianGroup&| NIL NIL NIL NIL + |AbelianGroup&| NIL NIL NIL NIL NIL |AbelianMonoid&| |Monoid&| NIL NIL NIL - |OrderedSet&| |AbelianSemiGroup&| |SemiGroup&| - |Logic&| NIL |RetractableTo&| |SetCategory&| - NIL NIL NIL NIL NIL NIL NIL NIL NIL - |BasicType&| NIL) + |OrderedSet&| NIL NIL |AbelianSemiGroup&| + |SemiGroup&| NIL |Logic&| NIL |RetractableTo&| + |SetCategory&| NIL NIL NIL NIL NIL NIL NIL NIL + NIL |BasicType&| NIL) (CONS '#((|IntegerNumberSystem|) (|EuclideanDomain|) (|UniqueFactorizationDomain|) @@ -632,12 +632,16 @@ (|CancellationAbelianMonoid|) (|OrderedFinite|) (|OrderedAbelianSemiGroup|) - (|AbelianMonoid|) (|Monoid|) (|Finite|) - (|StepThrough|) (|PatternMatchable| 5) - (|OrderedSet|) (|AbelianSemiGroup|) - (|SemiGroup|) (|Logic|) (|RealConstant|) - (|RetractableTo| 5) (|SetCategory|) - (|OpenMath|) (|ConvertibleTo| 98) + (|LinearSet| $$) (|AbelianMonoid|) + (|Monoid|) (|Finite|) (|StepThrough|) + (|PatternMatchable| 5) (|OrderedSet|) + (|LeftLinearSet| $$) + (|RightLinearSet| $$) + (|AbelianSemiGroup|) (|SemiGroup|) + (|LeftLinearSet| 5) (|Logic|) + (|RealConstant|) (|RetractableTo| 5) + (|SetCategory|) (|OpenMath|) + (|ConvertibleTo| 98) (|ConvertibleTo| 96) (|CombinatorialFunctionCategory|) (|ConvertibleTo| 100) diff --git a/src/algebra/term.spad.pamphlet b/src/algebra/term.spad.pamphlet index 6a9071c7..da897986 100644 --- a/src/algebra/term.spad.pamphlet +++ b/src/algebra/term.spad.pamphlet @@ -72,12 +72,15 @@ Arity(): Public == Private where OperatorCategory(S: SetCategory): Category == SetCategory with name: % -> S - ++ name(op) returns the externam name of `op'. + ++ \spad{name(op)} returns the externam name of \spad{op}. arity: % -> Arity - ++ arity(op) returns the arity of the operator `op'. + ++ \spad{arity(op)} returns the arity of the operator \spad{op}. + is?: (%,S) -> Boolean + ++ \spad{is?(op,n)} holds if the name of the operator \spad{op} + ++ is \spad{n}. add coerce(op: %): OutputForm == name(op)::OutputForm - + is?(op,n) == name op = n @ |