diff --git a/books/bookvol10.2.pamphlet b/books/bookvol10.2.pamphlet
index 2daf16b..613dce3 100644
--- a/books/bookvol10.2.pamphlet
+++ b/books/bookvol10.2.pamphlet
@@ -4194,15 +4194,16 @@ These exports come from \refto{BasicType}():
\begin{chunk}{category LOGIC Logic}
)abbrev category LOGIC Logic
++ Description:
-++ `Logic' provides the basic operations for lattices, e.g., boolean algebra.
+++ Logic provides the basic operations for lattices,
+++ for example, boolean algebra.
Logic: Category == BasicType with
_~: % -> %
++ ~(x) returns the logical complement of x.
_/_\: (%, %) -> %
- ++ \spadignore { /\ }returns the logical `meet', e.g. `and'.
+ ++ \spadignore{/\} returns the logical `meet', for example, `and'.
_\_/: (%, %) -> %
- ++ \spadignore{ \/ } returns the logical `join', e.g. `or'.
+ ++ \spadignore{\/} returns the logical `join', for example, `or'.
add
_\_/(x: %,y: %) == _~( _/_\(_~(x), _~(y)))
@@ -7351,7 +7352,7 @@ These exports come from \refto{SetCategory}():
++ Date Last Updated: May 20, 1991
++ References: Algebra 2d Edition, MacLane and Birkhoff, MacMillan 1979
++ Description:
-++ GradedModule(R,E) denotes ``E-graded R-module'', i.e. collection of
+++ GradedModule(R,E) denotes ``E-graded R-module'', that is, collection of
++ R-modules indexed by an abelian monoid E.
++ An element \spad{g} of \spad{G[s]} for some specific \spad{s} in \spad{E}
++ is said to be an element of \spad{G} with degree \spad{s}.
@@ -7362,30 +7363,37 @@ These exports come from \refto{SetCategory}():
++ mathematical category of graded modules.
GradedModule(R: CommutativeRing, E: AbelianMonoid): Category ==
- SetCategory with
- degree: % -> E
- ++ degree(g) names the degree of g. The set of all elements
- ++ of a given degree form an R-module.
- 0: constant -> %
- ++ 0 denotes the zero of degree 0.
- _*: (R, %) -> %
- ++ r*g is left module multiplication.
- _*: (%, R) -> %
- ++ g*r is right module multiplication.
-
- _-: % -> %
- ++ -g is the additive inverse of g in the module of elements
- ++ of the same grade as g.
- _+: (%, %) -> %
- ++ g+h is the sum of g and h in the module of elements of
- ++ the same degree as g and h. Error: if g and h
- ++ have different degrees.
- _-: (%, %) -> %
- ++ g-h is the difference of g and h in the module of elements of
- ++ the same degree as g and h. Error: if g and h
- ++ have different degrees.
- add
- (x: %) - (y: %) == x+(-y)
+ SetCategory with
+
+ degree: % -> E
+ ++ degree(g) names the degree of g. The set of all elements
+ ++ of a given degree form an R-module.
+
+ 0: constant -> %
+ ++ \spad{0} denotes the zero of degree 0.
+
+ _*: (R, %) -> %
+ ++ r*g is left module multiplication.
+
+ _*: (%, R) -> %
+ ++ g*r is right module multiplication.
+
+ _-: % -> %
+ ++ -g is the additive inverse of g in the module of elements
+ ++ of the same grade as g.
+
+ _+: (%, %) -> %
+ ++ g+h is the sum of g and h in the module of elements of
+ ++ the same degree as g and h. Error: if g and h
+ ++ have different degrees.
+
+ _-: (%, %) -> %
+ ++ g-h is the difference of g and h in the module of elements of
+ ++ the same degree as g and h. Error: if g and h
+ ++ have different degrees.
+ add
+
+ (x: %) - (y: %) == x+(-y)
\end{chunk}
\begin{chunk}{GRMOD.dotabb}
@@ -9898,10 +9906,10 @@ These exports come from \refto{SetCategory}():
++ with an associative operation \spadop{*}.
++
++ Axioms\br
-++ \tab{5}\spad{associative("*":(%,%)->%)}\tab{5}\spad{ (x*y)*z = x*(y*z)}
+++ \tab{5}\spad{associative("*":(%,%)->%)}\tab{5}\spad{(x*y)*z = x*(y*z)}
++
++ Conditional attributes\br
-++ \tab{5}\spad{commutative("*":(%,%)->%)}\tab{5}\spad{ x*y = y*x }
+++ \tab{5}\spad{commutative("*":(%,%)->%)}\tab{5}\spad{x*y = y*x}
SemiGroup(): Category == SetCategory with
@@ -13211,23 +13219,29 @@ These exports come from \refto{RetractableTo}(R:CommutativeRing):
++ with the same mapping type can be distinguished by name.
GradedAlgebra(R: CommutativeRing, E: AbelianMonoid): Category ==
- Join(GradedModule(R, E),RetractableTo(R)) with
- 1: constant -> %
- ++ 1 is the identity for \spad{product}.
- product: (%, %) -> %
- ++ product(a,b) is the degree-preserving R-linear product:
- ++
- ++ \spad{degree product(a,b) = degree a + degree b}
- ++ \spad{product(a1+a2,b) = product(a1,b) + product(a2,b)}
- ++ \spad{product(a,b1+b2) = product(a,b1) + product(a,b2)}
- ++ \spad{product(r*a,b) = product(a,r*b) = r*product(a,b)}
- ++ \spad{product(a,product(b,c)) = product(product(a,b),c)}
- add
- if not (R is %) then
- 0: % == (0$R)::%
- 1: % == 1$R::%
- (r: R)*(x: %) == product(r::%, x)
- (x: %)*(r: R) == product(x, r::%)
+ Join(GradedModule(R, E),RetractableTo(R)) with
+
+ 1: constant -> %
+ ++ \spad{1} is the identity for \spad{product}.
+
+ product: (%, %) -> %
+ ++ product(a,b) is the degree-preserving R-linear product:
+ ++
+ ++ \spad{degree product(a,b) = degree a + degree b}
+ ++ \spad{product(a1+a2,b) = product(a1,b) + product(a2,b)}
+ ++ \spad{product(a,b1+b2) = product(a,b1) + product(a,b2)}
+ ++ \spad{product(r*a,b) = product(a,r*b) = r*product(a,b)}
+ ++ \spad{product(a,product(b,c)) = product(product(a,b),c)}
+ add
+ if not (R is %) then
+
+ 0: % == (0$R)::%
+
+ 1: % == 1$R::%
+
+ (r: R)*(x: %) == product(r::%, x)
+
+ (x: %)*(r: R) == product(x, r::%)
\end{chunk}
\begin{chunk}{GRALG.dotabb}
@@ -13752,55 +13766,69 @@ These exports come from \refto{Monad}():
++ AMS, Providence, 1968
++ Description:
++ MonadWithUnit is the class of multiplicative monads with unit,
-++ i.e. sets with a binary operation and a unit element.
+++ that is, sets with a binary operation and a unit element.
++
++ Axioms\br
-++ \tab{5}leftIdentity("*":(%,%)->%,1) e.g. 1*x=x\br
-++ \tab{5}rightIdentity("*":(%,%)->%,1) e.g x*1=x
+++ \tab{5}leftIdentity("*":(%,%)->%,1) for example, 1*x=x\br
+++ \tab{5}rightIdentity("*":(%,%)->%,1) for example, x*1=x
++
++ Common Additional Axioms\br
++ \tab{5}unitsKnown - if "recip" says "failed", it PROVES input wasn't a unit
MonadWithUnit(): Category == Monad with
+
1: constant -> %
- ++ 1 returns the unit element, denoted by 1.
+ ++ \spad{1} returns the unit element, denoted by 1.
+
one?: % -> Boolean
++ one?(a) tests whether \spad{a} is the unit 1.
+
rightPower: (%,NonNegativeInteger) -> %
++ rightPower(a,n) returns the \spad{n}-th right power of \spad{a},
- ++ i.e. \spad{rightPower(a,n) := rightPower(a,n-1) * a} and
+ ++ that is, \spad{rightPower(a,n) := rightPower(a,n-1) * a} and
++ \spad{rightPower(a,0) := 1}.
+
leftPower: (%,NonNegativeInteger) -> %
++ leftPower(a,n) returns the \spad{n}-th left power of \spad{a},
- ++ i.e. \spad{leftPower(a,n) := a * leftPower(a,n-1)} and
+ ++ that is, \spad{leftPower(a,n) := a * leftPower(a,n-1)} and
++ \spad{leftPower(a,0) := 1}.
+
"**": (%,NonNegativeInteger) -> %
++ \spad{a**n} returns the \spad{n}-th power of \spad{a},
++ defined by repeated squaring.
+
recip: % -> Union(%,"failed")
++ recip(a) returns an element, which is both a left and a right
++ inverse of \spad{a},
++ or \spad{"failed"} if such an element doesn't exist or cannot
++ be determined (see unitsKnown).
+
leftRecip: % -> Union(%,"failed")
++ leftRecip(a) returns an element, which is a left inverse of
++ \spad{a}, or \spad{"failed"} if such an element doesn't exist
++ or cannot be determined (see unitsKnown).
+
rightRecip: % -> Union(%,"failed")
++ rightRecip(a) returns an element, which is a right inverse of
++ \spad{a}, or \spad{"failed"} if such an element doesn't exist
++ or cannot be determined (see unitsKnown).
+
add
+
import RepeatedSquaring(%)
+
one? x == x = 1
+
x:% ** n:NonNegativeInteger ==
zero? n => 1
expt(x,n pretend PositiveInteger)
+
rightPower(a,n) ==
zero? n => 1
res := 1
for i in 1..n repeat res := res * a
res
+
leftPower(a,n) ==
zero? n => 1
res := 1
@@ -16827,12 +16855,12 @@ These exports come from \refto{Monoid}():
\begin{chunk}{category GROUP Group}
)abbrev category GROUP Group
++ Description:
-++ The class of multiplicative groups, i.e. monoids with
+++ The class of multiplicative groups, that is, monoids with
++ multiplicative inverses.
++
++ Axioms\br
-++ \tab{5}\spad{leftInverse("*":(%,%)->%,inv)}\tab{5}\spad{ inv(x)*x = 1 }\br
-++ \tab{5}\spad{rightInverse("*":(%,%)->%,inv)}\tab{4}\spad{ x*inv(x) = 1 }
+++ \tab{5}\spad{leftInverse("*":(%,%)->%,inv)}\tab{5}\spad{inv(x)*x = 1}\br
+++ \tab{5}\spad{rightInverse("*":(%,%)->%,inv)}\tab{4}\spad{x*inv(x) = 1}
Group(): Category == Monoid with
inv: % -> %
@@ -21611,37 +21639,40 @@ These exports come from \refto{BagAggregate}(S:Type):
++ A stack is a bag where the last item inserted is the first item extracted.
StackAggregate(S:Type): Category == BagAggregate S with
+
finiteAggregate
+
push_!: (S,%) -> S
- ++ push!(x,s) pushes x onto stack s, i.e. destructively changing s
+ ++push!(x,s) pushes x onto stack s, that is, destructively changing s
++ so as to have a new first (top) element x.
++ Afterwards, pop!(s) produces x and pop!(s) produces the original s.
++
++X a:Stack INT:= stack [1,2,3,4,5]
++X push! a
++X a
+
pop_!: % -> S
- ++ pop!(s) returns the top element x, destructively removing x from s.
+ ++pop!(s) returns the top element x, destructively removing x from s.
++ Note that Use \axiom{top(s)} to obtain x without removing it from s.
++ Error: if s is empty.
++
++X a:Stack INT:= stack [1,2,3,4,5]
++X pop! a
++X a
+
top: % -> S
- ++ top(s) returns the top element x from s; s remains unchanged.
+ ++top(s) returns the top element x from s; s remains unchanged.
++ Note that Use \axiom{pop!(s)} to obtain x and remove it from s.
++
++X a:Stack INT:= stack [1,2,3,4,5]
++X top a
+
depth: % -> NonNegativeInteger
- ++ depth(s) returns the number of elements of stack s.
+ ++depth(s) returns the number of elements of stack s.
++ Note that \axiom{depth(s) = #s}.
++
++X a:Stack INT:= stack [1,2,3,4,5]
++X depth a
-
-
\end{chunk}
\begin{chunk}{SKAGG.dotabb}
"SKAGG" [color=lightblue,href="bookvol10.2.pdf#nameddest=SKAGG"];
@@ -24996,14 +25027,16 @@ These exports come from \refto{OrderedSet}():
++ Date Last Updated: 29 March 1990
++ Description:
++ PermutationCategory provides a categorial environment
-++ for subgroups of bijections of a set (i.e. permutations)
+++ for subgroups of bijections of a set (that is, permutations)
PermutationCategory(S:SetCategory): Category == Group with
+
cycle : List S -> %
- ++ cycle(ls) coerces a cycle ls, i.e. a list with not
+ ++ cycle(ls) coerces a cycle ls, that is, a list with not
++ repetitions to a permutation, which maps ls.i to
++ ls.i+1, indices modulo the length of the list.
++ Error: if repetitions occur.
+
cycles : List List S -> %
++ cycles(lls) coerces a list list of cycles lls
++ to a permutation, each cycle being a list with not
@@ -25011,21 +25044,27 @@ PermutationCategory(S:SetCategory): Category == Group with
++ ls.i to ls.i+1, indices modulo the length of the list,
++ then these permutations are mutiplied.
++ Error: if repetitions occur in one cycle.
+
eval : (%,S) -> S
++ eval(p, el) returns the image of el under the
++ permutation p.
+
elt : (%,S) -> S
++ elt(p, el) returns the image of el under the
++ permutation p.
+
orbit : (%,S) -> Set S
++ orbit(p, el) returns the orbit of el under the
- ++ permutation p, i.e. the set which is given by applications of
+ ++ permutation p, that is, the set which is given by applications of
++ the powers of p to el.
+
"<" : (%,%) -> Boolean
++ p < q is an order relation on permutations.
++ Note that this order is only total if and only if S is totally ordered
++ or S is finite.
+
if S has OrderedSet then OrderedSet
+
if S has Finite then OrderedSet
\end{chunk}
@@ -31514,9 +31553,9 @@ These exports come from \refto{AbelianGroup}():
++ multiplication by elements of the rng.
++
++ Axioms\br
-++ \tab{5}\spad{ x*(a*b) = (x*a)*b }\br
-++ \tab{5}\spad{ x*(a+b) = (x*a)+(x*b) }\br
-++ \tab{5}\spad{ (x+y)*x = (x*a)+(y*a) }
+++ \tab{5}\spad{x*(a*b) = (x*a)*b}\br
+++ \tab{5}\spad{x*(a+b) = (x*a)+(x*b)}\br
+++ \tab{5}\spad{(x+y)*x = (x*a)+(y*a)}
RightModule(R:Rng):Category == AbelianGroup with
"*": (%,R) -> %
@@ -31861,7 +31900,7 @@ These exports come from \refto{RightModule}(S:Ring):
++ to potentially different rings.
++
++ Axiom\br
-++ \tab{5}\spad{ r*(x*s) = (r*x)*s }
+++ \tab{5}\spad{r*(x*s) = (r*x)*s}
BiModule(R:Ring,S:Ring):Category ==
Join(LeftModule(R),RightModule(S)) with
@@ -39050,31 +39089,39 @@ These exports come from \refto{Ring}():
++ \tab{5}\spad{differentiate(x*y,e)=x*differentiate(y,e)+differentiate(x,e)*y}
PartialDifferentialRing(S:SetCategory): Category == Ring with
+
differentiate: (%, S) -> %
++ differentiate(x,v) computes the partial derivative of x
++ with respect to v.
+
differentiate: (%, List S) -> %
++ differentiate(x,[s1,...sn]) computes successive partial
++ derivatives,
- ++ i.e. \spad{differentiate(...differentiate(x, s1)..., sn)}.
+ ++ that is, \spad{differentiate(...differentiate(x, s1)..., sn)}.
+
differentiate: (%, S, NonNegativeInteger) -> %
- ++ differentiate(x, s, n) computes multiple partial derivatives, i.e.
- ++ n-th derivative of x with respect to s.
+ ++ differentiate(x, s, n) computes multiple partial derivatives,
+ ++ that is, n-th derivative of x with respect to s.
+
differentiate: (%, List S, List NonNegativeInteger) -> %
++ differentiate(x, [s1,...,sn], [n1,...,nn]) computes
- ++ multiple partial derivatives, i.e.
+ ++ multiple partial derivatives, that is, \spad{D(...D(x, s1)..., sn)}.
+
D: (%, S) -> %
++ D(x,v) computes the partial derivative of x
++ with respect to v.
+
D: (%, List S) -> %
++ D(x,[s1,...sn]) computes successive partial derivatives,
- ++ i.e. \spad{D(...D(x, s1)..., sn)}.
+ ++ that is, \spad{D(...D(x, s1)..., sn)}.
+
D: (%, S, NonNegativeInteger) -> %
- ++ D(x, s, n) computes multiple partial derivatives, i.e.
+ ++ D(x, s, n) computes multiple partial derivatives, that is,
++ n-th derivative of x with respect to s.
+
D: (%, List S, List NonNegativeInteger) -> %
++ D(x, [s1,...,sn], [n1,...,nn]) computes
- ++ multiple partial derivatives, i.e.
+ ++ multiple partial derivatives, that is,
++ \spad{D(...D(x, s1, n1)..., sn, nn)}.
add
differentiate(r:%, l:List S) ==
diff --git a/books/bookvol10.3.pamphlet b/books/bookvol10.3.pamphlet
index 08dd0a3..8914b8f 100644
--- a/books/bookvol10.3.pamphlet
+++ b/books/bookvol10.3.pamphlet
@@ -44028,8 +44028,8 @@ o )show Float
++ The decision to choose the base to be binary has some unfortunate
++ consequences. First, decimal numbers like 0.3 cannot be represented
++ exactly. Second, there is a further loss of accuracy during
-++ conversion to decimal for output. To compensate for this, if d
-++ digits of precision are specified, \spad{1 + ceiling(log2 d)} bits are used.
+++ conversion to decimal for output. To compensate for this, if d digits
+++ of precision are specified, \spad{1 + ceiling(log2(10^d))} bits are used.
++ Two numbers that are displayed identically may therefore be
++ not equal. On the other hand, a significant efficiency loss would
++ be incurred if we chose to use a decimal base when the underlying
@@ -85660,6 +85660,7 @@ o )show NumericalOptimizationProblem
\end{tabular}
\begin{chunk}{domain OPTPROB NumericalOptimizationProblem}
+)abbrev domain OPTPROB NumericalOptimizationProblem
++ Author: Brian Dupee
++ Date Created: December 1997
++ Date Last Updated: December 1997
@@ -85678,7 +85679,7 @@ o )show NumericalOptimizationProblem
++ cf:\axiomType{List Expression DoubleFloat},\br
++ ub:\axiomType{List OrderedCompletion DoubleFloat})
++
-++ and one for least-squares problems that is optimization of a set of
+++ and one for least-squares problems i.e. optimization of a set of
++ observations of a data set:
++
++ \axiomType{Record}(lfn:\axiomType{List Expression DoubleFloat},\br
diff --git a/buglist b/buglist
index 96ebf10..81d466a 100644
--- a/buglist
+++ b/buglist
@@ -11,13 +11,12 @@ typos 40363:
dup 50006:
nonextend 60077:
-=========================================================================
-warnings 20572:
-
->compiling SGROUP.spad to SGROUP.nrlib
+============================================================================
---->-->SemiGroup&(constructor): Missing left brace
-"the class of all multiplicative semigroups, that is, a set with an associative operation \\spadop{*}. \\blankline Axioms\\br \\tab{5}\\spad{associative(\"*\":(\\%,\\%)->\\%)}\\tab{5}\\spad{ (x*y)*z = x*(y*z)} \\blankline Conditional attributes\\br \\tab{5}\\spad{commutative(\"*\":(\\%,\\%)->\\%)}\\tab{5}\\spad{ x*y = \\spad{y*x} }"
+ finalizing nrlib IDPAM
+ Warnings:
+ [1] +: res has no value
+ [2] +: endcell has no value
=========================================================================
bug 7236:
@@ -920,38 +919,6 @@ typos 40354:
--->bookvol10.2.pamphlet-->BlowUpMethodCategory(constructor): Not documented!!!!
--->bookvol10.2.pamphlet-->BlowUpMethodCategory(): Missing Description
-
-=========================================================================
-typos 40353:
-
->compiling LMODULE.spad to LMODULE.nrlib
-
---->bookvol10.2.pamphlet-->LeftModule(constructor): Missing left brace
-"The category of left modules over an \\spad{rng} (ring not necessarily with unit). This is an abelian group which supports left multiplation by elements of the rng. \\blankline Axioms\\br \\tab{5}\\spad{ (a*b)*x = a*(b*x) }\\br \\tab{5}\\spad{ (a+b)*x = (a*x)+(b*x) }\\br \\tab{5}\\spad{ a*(x+y) = (a*x)+(a*y) }"
-
-=========================================================================
-typos 40352:
-
->compiling LOGIC.spad to LOGIC.nrlib
---->-->Logic&((/\ (% % %))): Missing right brace for \spadignore
-
---->-->Logic&((\/ (% % %))): Missing left brace
---->-->Logic&((\/ (% % %))): Missing left brace
-"\\spadignore{ \\spad{\\/} } returns the logical `join', \\spadignore{e.g.} `or'."
-
---->-->Logic&(constructor): Missing left brace
-"`Logic' provides the basic operations for lattices, \\spadignore{e.g.} boolean algebra."
-
---->bookvol10.2.pamphlet-->Logic((/\ (% % %))): Missing right brace for \spadignore
-
---->bookvol10.2.pamphlet-->Logic((\/ (% % %))): Missing left brace
---->bookvol10.2.pamphlet-->Logic((\/ (% % %))): Missing left brace
-"\\spadignore{ \\spad{\\/} } returns the logical `join', \\spadignore{e.g.} `or'."
-
---->bookvol10.2.pamphlet-->Logic(constructor): Missing left brace
-"`Logic' provides the basic operations for lattices, \\spadignore{e.g.} boolean algebra."
-
-
=========================================================================
typos 40349:
@@ -972,14 +939,6 @@ typos 40348:
=========================================================================
-typos 40344:
-
->compiling RMODULE.spad to RMODULE.nrlib
-
---->bookvol10.2.pamphlet-->RightModule(constructor): Missing left brace
-"The category of right modules over an \\spad{rng} (ring not necessarily with unit). This is an abelian group which supports right multiplication by elements of the rng. \\blankline Axioms\\br \\tab{5}\\spad{ x*(a*b) = (x*a)*b }\\br \\tab{5}\\spad{ x*(a+b) = (x*a)+(x*b) }\\br \\tab{5}\\spad{ (x+y)*x = (x*a)+(y*a) }"
-
-=========================================================================
typos 40343:
>compiling SETCATD.spad to SETCATD.nrlib
@@ -1062,14 +1021,6 @@ typos 40335:
"\\indented{1}{A cubic Bezier curve is a simple interpolation between the} \\indented{1}{starting point, a left-middle point,, a right-middle point,} \\indented{1}{and the ending point based on a parameter \\spad{t.}} \\indented{1}{Given a start point a=[x1,y1], the left-middle point b=[x2,y2],} \\indented{1}{the right-middle point c=[x3,y3] and an endpoint d=[x4,y4]} \\indented{1}{f(t) \\spad{==} \\spad{[(1-t)^3} \\spad{x1} + 3t(1-t)^2 \\spad{x2} + 3t^2 (1-t) \\spad{x3} + \\spad{t^3} x4,} \\indented{10}{(1-t)^3 \\spad{y1} + 3t(1-t)^2 \\spad{y2} + 3t^2 (1-t) \\spad{y3} + \\spad{t^3} y4]} \\blankline \\spad{X} n:=cubicBezier([2.0,2.0],[2.0,4.0],[6.0,4.0],[6.0,2.0]) \\spad{X} [n(t/10.0) for \\spad{t} in 0..10 by 1]"
=========================================================================
-typos 40334:
-
->compiling BMODULE.spad to BMODULE.nrlib
-
---->bookvol10.2.pamphlet-->BiModule(constructor): Missing left brace
-"A \\spadtype{BiModule} is both a left and right module with respect to potentially different rings. \\blankline Axiom\\br \\tab{5}\\spad{ r*(x*s) = (r*x)*s }"
-
-=========================================================================
typos 40333:
>compiling FAMONC.spad to FAMONC.nrlib
@@ -1078,105 +1029,6 @@ typos 40333:
"\\indented{1}{size(x) returns the number of terms in \\spad{x.}} \\indented{1}{mapGen(f, \\spad{a1\\^e1} \\spad{...} an\\^en) returns} \\spad{f(a1)\\^e1 \\spad{...} f(an)\\^en}."
=========================================================================
-typos 40332:
-
->compiling GROUP.spad to GROUP.nrlib
-
---->-->Group&(constructor): Missing left brace
---->-->Group&(constructor): Missing left brace
-"The class of multiplicative groups, \\spadignore{i.e.} monoids with multiplicative inverses. \\blankline Axioms\\br \\tab{5}\\spad{leftInverse(\"*\":(\\%,\\%)->\\%,inv)}\\tab{5}\\spad{ inv(x)*x = 1 }\\br \\tab{5}\\spad{rightInverse(\"*\":(\\%,\\%)->\\%,inv)}\\tab{4}\\spad{ x*inv(x) = 1 }"
-
---->bookvol10.2.pamphlet-->Group(constructor): Missing left brace
---->bookvol10.2.pamphlet-->Group(constructor): Missing left brace
-"The class of multiplicative groups, \\spadignore{i.e.} monoids with multiplicative inverses. \\blankline Axioms\\br \\tab{5}\\spad{leftInverse(\"*\":(\\%,\\%)->\\%,inv)}\\tab{5}\\spad{ inv(x)*x = 1 }\\br \\tab{5}\\spad{rightInverse(\"*\":(\\%,\\%)->\\%,inv)}\\tab{4}\\spad{ x*inv(x) = 1 }"
-
-=========================================================================
-typos 40331:
-
->compiling MONADWU.spad to MONADWU.nrlib
-
---->-->MonadWithUnit&(((One) (%) constant)): Improper first word in comments:
-"1 returns the unit element, denoted by 1."
-
---->-->MonadWithUnit&((rightPower (% % (NonNegativeInteger)))): Missing left brace
-"\\spad{rightPower(a,n)} returns the \\spad{n}-th right power of \\spad{a}, \\spadignore{i.e.} \\spad{rightPower(a,n) \\spad{:=} rightPower(a,n-1) * a} and \\spad{rightPower(a,0) \\spad{:=} 1}."
-
---->-->MonadWithUnit&((leftPower (% % (NonNegativeInteger)))): Missing left brace
-"\\spad{leftPower(a,n)} returns the \\spad{n}-th left power of \\spad{a}, \\spadignore{i.e.} \\spad{leftPower(a,n) \\spad{:=} a * leftPower(a,n-1)} and \\spad{leftPower(a,0) \\spad{:=} 1}."
-
---->-->MonadWithUnit&(constructor): Missing left brace
---->-->MonadWithUnit&(constructor): Missing left brace
-"MonadWithUnit is the class of multiplicative monads with unit, \\spadignore{i.e.} sets with a binary operation and a unit element. \\blankline Axioms\\br \\tab{5}leftIdentity(\"*\":(\\%,\\%)->\\%,1) \\spadignore{e.g.} 1*x=x\\br \\tab{5}rightIdentity(\"*\":(\\%,\\%)->\\%,1) e.g x*1=x \\blankline Common Additional Axioms\\br \\tab{5}unitsKnown - if \"recip\" says \"failed\", it PROVES input wasn't a unit"
-
---->bookvol10.2.pamphlet-->MonadWithUnit(((One) (%) constant)): Improper first word in comments:
-"1 returns the unit element, denoted by 1."
-
---->bookvol10.2.pamphlet-->MonadWithUnit((rightPower (% % (NonNegativeInteger)))): Missing left brace
-"\\spad{rightPower(a,n)} returns the \\spad{n}-th right power of \\spad{a}, \\spadignore{i.e.} \\spad{rightPower(a,n) \\spad{:=} rightPower(a,n-1) * a} and \\spad{rightPower(a,0) \\spad{:=} 1}."
-
---->bookvol10.2.pamphlet-->MonadWithUnit((leftPower (% % (NonNegativeInteger)))): Missing left brace
-"\\spad{leftPower(a,n)} returns the \\spad{n}-th left power of \\spad{a}, \\spadignore{i.e.} \\spad{leftPower(a,n) \\spad{:=} a * leftPower(a,n-1)} and \\spad{leftPower(a,0) \\spad{:=} 1}."
-
---->bookvol10.2.pamphlet-->MonadWithUnit(constructor): Missing left brace
---->bookvol10.2.pamphlet-->MonadWithUnit(constructor): Missing left brace
-"MonadWithUnit is the class of multiplicative monads with unit, \\spadignore{i.e.} sets with a binary operation and a unit element. \\blankline Axioms\\br \\tab{5}leftIdentity(\"*\":(\\%,\\%)->\\%,1) \\spadignore{e.g.} 1*x=x\\br \\tab{5}rightIdentity(\"*\":(\\%,\\%)->\\%,1) e.g x*1=x \\blankline Common Additional Axioms\\br \\tab{5}unitsKnown - if \"recip\" says \"failed\", it PROVES input wasn't a unit"
-
-=========================================================================
-typos 40330:
-
->compiling PERMCAT.spad to PERMCAT.nrlib
-
---->bookvol10.2.pamphlet-->PermutationCategory((cycle (% (List S)))): Missing left brace
-"\\spad{cycle(ls)} coerces a cycle \\spad{ls,} \\spadignore{i.e.} a list with not repetitions to a permutation, which maps ls.i to ls.i+1, indices modulo the length of the list. Error: if repetitions occur."
-
---->bookvol10.2.pamphlet-->PermutationCategory((orbit ((Set S) % S))): Missing left brace
-"\\spad{orbit(p, el)} returns the orbit of el under the permutation \\spad{p,} \\spadignore{i.e.} the set which is given by applications of the powers of \\spad{p} to el."
-
---->bookvol10.2.pamphlet-->PermutationCategory(constructor): Mismatch: left pren matches right brace
-"PermutationCategory provides a categorial environment for subgroups of bijections of a set (\\spadignore{i.e.} permutations)"
-
-=========================================================================
-typos 40329:
-
->compiling PDRING.spad to PDRING.nrlib
-
---->-->PartialDifferentialRing&((differentiate (% % (List S)))): Missing left brace
-"\\spad{differentiate(x,[s1,...sn])} computes successive partial derivatives, \\spadignore{i.e.} \\spad{differentiate(...differentiate(x, s1)..., sn)}."
-
---->-->PartialDifferentialRing&((differentiate (% % S (NonNegativeInteger)))): Missing left brace
-"\\spad{differentiate(x, \\spad{s,} \\spad{n)}} computes multiple partial derivatives, \\spadignore{i.e.} \\spad{n}-th derivative of \\spad{x} with respect to \\spad{s.}"
-
---->-->PartialDifferentialRing&((differentiate (% % (List S) (List (NonNegativeInteger))))): Missing left brace
-"\\spad{differentiate(x, [s1,...,sn], [n1,...,nn])} computes multiple partial derivatives, \\spadignore{i.e.}"
-
---->-->PartialDifferentialRing&((D (% % (List S)))): Missing left brace
-"\\spad{D(x,[s1,...sn])} computes successive partial derivatives, \\spadignore{i.e.} \\spad{D(...D(x, s1)..., sn)}."
-
---->-->PartialDifferentialRing&((D (% % S (NonNegativeInteger)))): Missing left brace
-"\\spad{D(x, \\spad{s,} \\spad{n)}} computes multiple partial derivatives, \\spadignore{i.e.} \\spad{n}-th derivative of \\spad{x} with respect to \\spad{s.}"
-
---->-->PartialDifferentialRing&((D (% % (List S) (List (NonNegativeInteger))))): Missing left brace
-"\\spad{D(x, [s1,...,sn], [n1,...,nn])} computes multiple partial derivatives, \\spadignore{i.e.} \\spad{D(...D(x, \\spad{s1,} n1)..., \\spad{sn,} nn)}."
-
---->bookvol10.2.pamphlet-->PartialDifferentialRing((differentiate (% % (List S)))): Missing left brace
-"\\spad{differentiate(x,[s1,...sn])} computes successive partial derivatives, \\spadignore{i.e.} \\spad{differentiate(...differentiate(x, s1)..., sn)}."
-
---->bookvol10.2.pamphlet-->PartialDifferentialRing((differentiate (% % S (NonNegativeInteger)))): Missing left brace
-"\\spad{differentiate(x, \\spad{s,} \\spad{n)}} computes multiple partial derivatives, \\spadignore{i.e.} \\spad{n}-th derivative of \\spad{x} with respect to \\spad{s.}"
-
---->bookvol10.2.pamphlet-->PartialDifferentialRing((differentiate (% % (List S) (List (NonNegativeInteger))))): Missing left brace
-"\\spad{differentiate(x, [s1,...,sn], [n1,...,nn])} computes multiple partial derivatives, \\spadignore{i.e.}"
-
---->bookvol10.2.pamphlet-->PartialDifferentialRing((D (% % (List S)))): Missing left brace
-"\\spad{D(x,[s1,...sn])} computes successive partial derivatives, \\spadignore{i.e.} \\spad{D(...D(x, s1)..., sn)}."
-
---->bookvol10.2.pamphlet-->PartialDifferentialRing((D (% % S (NonNegativeInteger)))): Missing left brace
-"\\spad{D(x, \\spad{s,} \\spad{n)}} computes multiple partial derivatives, \\spadignore{i.e.} \\spad{n}-th derivative of \\spad{x} with respect to \\spad{s.}"
-
---->bookvol10.2.pamphlet-->PartialDifferentialRing((D (% % (List S) (List (NonNegativeInteger))))): Missing left brace
-"\\spad{D(x, [s1,...,sn], [n1,...,nn])} computes multiple partial derivatives, \\spadignore{i.e.} \\spad{D(...D(x, \\spad{s1,} n1)..., \\spad{sn,} nn)}."
-
-=========================================================================
typos 40328:
--->bookvol10.2.pamphlet-->PlacesCategory((+ ((Divisor %) % %))): Not documented!!!!
@@ -1213,23 +1065,6 @@ typos 40326:
"\\indented{1}{delete!(u,i) destructively deletes the \\axiom{i}th element of u.} \\blankline \\spad{E} Data:=Record(age:Integer,gender:String) \\spad{E} a1:AssociationList(String,Data):=table() \\spad{E} a1.\"tim\":=[55,\"male\"]$Data \\spad{E} delete!(a1,1)"
=========================================================================
-typos 40325:
-
->compiling GRMOD.spad to GRMOD.nrlib
-
---->-->GradedModule&(((Zero) (%) constant)): Improper first word in comments:
-"0 denotes the zero of degree 0."
-
---->-->GradedModule&(constructor): Missing left brace
-"GradedModule(R,E) denotes ``E-graded R-module'', \\spadignore{i.e.} collection of R-modules indexed by an abelian monoid E. An element \\spad{g} of \\spad{G[s]} for some specific \\spad{s} in \\spad{E} is said to be an element of \\spad{G} with degree \\spad{s}. Sums are defined in each module \\spad{G[s]} so two elements of \\spad{G} have a sum if they have the same degree. \\blankline Morphisms can be defined and composed by degree to give the mathematical category of graded modules."
-
---->bookvol10.2.pamphlet-->GradedModule(((Zero) (%) constant)): Improper first word in comments:
-"0 denotes the zero of degree 0."
-
---->bookvol10.2.pamphlet-->GradedModule(constructor): Missing left brace
-"GradedModule(R,E) denotes ``E-graded R-module'', \\spadignore{i.e.} collection of R-modules indexed by an abelian monoid E. An element \\spad{g} of \\spad{G[s]} for some specific \\spad{s} in \\spad{E} is said to be an element of \\spad{G} with degree \\spad{s}. Sums are defined in each module \\spad{G[s]} so two elements of \\spad{G} have a sum if they have the same degree. \\blankline Morphisms can be defined and composed by degree to give the mathematical category of graded modules."
-
-=========================================================================
typos 40324:
>compiling IFAMON.spad to IFAMON.nrlib
@@ -1238,35 +1073,6 @@ typos 40324:
(|FreeAbelianMonoidCategory| |#1| |#2|) has no outputForm : (%,((OutputForm,OutputForm) -> OutputForm),((OutputForm,OutputForm) -> OutputForm),Integer) -> OutputForm
=========================================================================
-typos 40323:
-
->compiling GRALG.spad to GRALG.nrlib
-
---->-->GradedAlgebra&(((One) (%) constant)): Improper first word in comments:
-"1 is the identity for \\spad{product}."
-
---->bookvol10.2.pamphlet-->GradedAlgebra(((One) (%) constant)): Improper first word in comments:
-"1 is the identity for \\spad{product}."
-
-=========================================================================
-typos 40322:
-
->compiling SKAGG.spad to SKAGG.nrlib
-
---->bookvol10.2.pamphlet-->StackAggregate((push! (S S %))): Improper first word in comments:
---->bookvol10.2.pamphlet-->StackAggregate((push! (S S %))): Missing left brace
-"\\indented{1}{push!(x,s) pushes \\spad{x} onto stack \\spad{s,} \\spadignore{i.e.} destructively changing \\spad{s}} \\indented{1}{so as to have a new first (top) element \\spad{x.}} \\indented{1}{Afterwards, pop!(s) produces \\spad{x} and pop!(s) produces the original \\spad{s.}} \\blankline \\spad{X} a:Stack INT:= stack [1,2,3,4,5] \\spad{X} push! a \\spad{X} a"
-
---->bookvol10.2.pamphlet-->StackAggregate((pop! (S %))): Improper first word in comments:
-"\\indented{1}{pop!(s) returns the top element \\spad{x,} destructively removing \\spad{x} from \\spad{s.}} \\indented{1}{Note that Use \\axiom{top(s)} to obtain \\spad{x} without removing it from \\spad{s.}} \\indented{1}{Error: if \\spad{s} is empty.} \\blankline \\spad{X} a:Stack INT:= stack [1,2,3,4,5] \\spad{X} pop! a \\spad{X} a"
-
---->bookvol10.2.pamphlet-->StackAggregate((top (S %))): Improper first word in comments:
-"\\indented{1}{top(s) returns the top element \\spad{x} from \\spad{s;} \\spad{s} remains unchanged.} \\indented{1}{Note that Use \\axiom{pop!(s)} to obtain \\spad{x} and remove it from \\spad{s.}} \\blankline \\spad{X} a:Stack INT:= stack [1,2,3,4,5] \\spad{X} top a"
-
---->bookvol10.2.pamphlet-->StackAggregate((depth ((NonNegativeInteger) %))): Improper first word in comments:
-"\\indented{1}{depth(s) returns the number of elements of stack \\spad{s.}} \\indented{1}{Note that \\axiom{depth(s) = \\#s}.} \\blankline \\spad{X} a:Stack INT:= stack [1,2,3,4,5] \\spad{X} depth a"
-
-=========================================================================
typos 40321:
>compiling BSTREE.spad to BSTREE.nrlib
@@ -28623,6 +28429,15 @@ Value = (|RepeatedDoubling|)
;; The variable |BiModule;CAT| is undefined.
;; The compiler will assume this variable is a global.
+=========================================================================
+warnings 20572:
+
+>compiling SGROUP.spad to SGROUP.nrlib
+
+--->-->SemiGroup&(constructor): Missing left brace
+"the class of all multiplicative semigroups, that is, a set with an associative operation \\spadop{*}. \\blankline Axioms\\br \\tab{5}\\spad{associative(\"*\":(\\%,\\%)->\\%)}\\tab{5}\\spad{ (x*y)*z = x*(y*z)} \\blankline Conditional attributes\\br \\tab{5}\\spad{commutative(\"*\":(\\%,\\%)->\\%)}\\tab{5}\\spad{ x*y = \\spad{y*x} }"
+
+
============================================================================
finalizing nrlib CACHSET
@@ -28700,13 +28515,6 @@ Value = (|RepeatedDoubling|)
============================================================================
- finalizing nrlib IDPAM
- Warnings:
- [1] +: res has no value
- [2] +: endcell has no value
-
-============================================================================
-
finalizing nrlib IXAGG
; (DEFUN |IndexedAggregate| ...) is being compiled.
;; The variable |IndexedAggregate;AL| is undefined.
@@ -40505,3 +40313,185 @@ typos 40130:
--->bookvol10.2.pamphlet-->FunctionFieldCategory((rationalPoints ((List (List F))))): Improper first word in comments:
"\\indented{1}{rationalPoints() returns the list of all the affine} rational points."
+fixed 20130318.02.tpd.patch
+=========================================================================
+typos 40334:
+
+>compiling BMODULE.spad to BMODULE.nrlib
+
+--->bookvol10.2.pamphlet-->BiModule(constructor): Missing left brace
+"A \\spadtype{BiModule} is both a left and right module with respect to potentially different rings. \\blankline Axiom\\br \\tab{5}\\spad{ r*(x*s) = (r*x)*s }"
+
+=========================================================================
+typos 40353:
+
+>compiling LMODULE.spad to LMODULE.nrlib
+
+--->bookvol10.2.pamphlet-->LeftModule(constructor): Missing left brace
+"The category of left modules over an \\spad{rng} (ring not necessarily with unit). This is an abelian group which supports left multiplation by elements of the rng. \\blankline Axioms\\br \\tab{5}\\spad{ (a*b)*x = a*(b*x) }\\br \\tab{5}\\spad{ (a+b)*x = (a*x)+(b*x) }\\br \\tab{5}\\spad{ a*(x+y) = (a*x)+(a*y) }"
+
+=========================================================================
+typos 40352:
+
+>compiling LOGIC.spad to LOGIC.nrlib
+--->-->Logic&((/\ (% % %))): Missing right brace for \spadignore
+
+--->-->Logic&((\/ (% % %))): Missing left brace
+--->-->Logic&((\/ (% % %))): Missing left brace
+"\\spadignore{ \\spad{\\/} } returns the logical `join', \\spadignore{e.g.} `or'."
+
+--->-->Logic&(constructor): Missing left brace
+"`Logic' provides the basic operations for lattices, \\spadignore{e.g.} boolean algebra."
+
+--->bookvol10.2.pamphlet-->Logic((/\ (% % %))): Missing right brace for \spadignore
+
+--->bookvol10.2.pamphlet-->Logic((\/ (% % %))): Missing left brace
+--->bookvol10.2.pamphlet-->Logic((\/ (% % %))): Missing left brace
+"\\spadignore{ \\spad{\\/} } returns the logical `join', \\spadignore{e.g.} `or'."
+
+--->bookvol10.2.pamphlet-->Logic(constructor): Missing left brace
+"`Logic' provides the basic operations for lattices, \\spadignore{e.g.} boolean algebra."
+
+
+=========================================================================
+typos 40344:
+
+>compiling RMODULE.spad to RMODULE.nrlib
+
+--->bookvol10.2.pamphlet-->RightModule(constructor): Missing left brace
+"The category of right modules over an \\spad{rng} (ring not necessarily with unit). This is an abelian group which supports right multiplication by elements of the rng. \\blankline Axioms\\br \\tab{5}\\spad{ x*(a*b) = (x*a)*b }\\br \\tab{5}\\spad{ x*(a+b) = (x*a)+(x*b) }\\br \\tab{5}\\spad{ (x+y)*x = (x*a)+(y*a) }"
+
+=========================================================================
+typos 40332:
+
+>compiling GROUP.spad to GROUP.nrlib
+
+--->-->Group&(constructor): Missing left brace
+--->-->Group&(constructor): Missing left brace
+"The class of multiplicative groups, \\spadignore{i.e.} monoids with multiplicative inverses. \\blankline Axioms\\br \\tab{5}\\spad{leftInverse(\"*\":(\\%,\\%)->\\%,inv)}\\tab{5}\\spad{ inv(x)*x = 1 }\\br \\tab{5}\\spad{rightInverse(\"*\":(\\%,\\%)->\\%,inv)}\\tab{4}\\spad{ x*inv(x) = 1 }"
+
+--->bookvol10.2.pamphlet-->Group(constructor): Missing left brace
+--->bookvol10.2.pamphlet-->Group(constructor): Missing left brace
+"The class of multiplicative groups, \\spadignore{i.e.} monoids with multiplicative inverses. \\blankline Axioms\\br \\tab{5}\\spad{leftInverse(\"*\":(\\%,\\%)->\\%,inv)}\\tab{5}\\spad{ inv(x)*x = 1 }\\br \\tab{5}\\spad{rightInverse(\"*\":(\\%,\\%)->\\%,inv)}\\tab{4}\\spad{ x*inv(x) = 1 }"
+
+=========================================================================
+typos 40331:
+
+>compiling MONADWU.spad to MONADWU.nrlib
+
+--->-->MonadWithUnit&(((One) (%) constant)): Improper first word in comments:
+"1 returns the unit element, denoted by 1."
+
+--->-->MonadWithUnit&((rightPower (% % (NonNegativeInteger)))): Missing left brace
+"\\spad{rightPower(a,n)} returns the \\spad{n}-th right power of \\spad{a}, \\spadignore{i.e.} \\spad{rightPower(a,n) \\spad{:=} rightPower(a,n-1) * a} and \\spad{rightPower(a,0) \\spad{:=} 1}."
+
+--->-->MonadWithUnit&((leftPower (% % (NonNegativeInteger)))): Missing left brace
+"\\spad{leftPower(a,n)} returns the \\spad{n}-th left power of \\spad{a}, \\spadignore{i.e.} \\spad{leftPower(a,n) \\spad{:=} a * leftPower(a,n-1)} and \\spad{leftPower(a,0) \\spad{:=} 1}."
+
+--->-->MonadWithUnit&(constructor): Missing left brace
+--->-->MonadWithUnit&(constructor): Missing left brace
+"MonadWithUnit is the class of multiplicative monads with unit, \\spadignore{i.e.} sets with a binary operation and a unit element. \\blankline Axioms\\br \\tab{5}leftIdentity(\"*\":(\\%,\\%)->\\%,1) \\spadignore{e.g.} 1*x=x\\br \\tab{5}rightIdentity(\"*\":(\\%,\\%)->\\%,1) e.g x*1=x \\blankline Common Additional Axioms\\br \\tab{5}unitsKnown - if \"recip\" says \"failed\", it PROVES input wasn't a unit"
+
+--->bookvol10.2.pamphlet-->MonadWithUnit(((One) (%) constant)): Improper first word in comments:
+"1 returns the unit element, denoted by 1."
+
+--->bookvol10.2.pamphlet-->MonadWithUnit((rightPower (% % (NonNegativeInteger)))): Missing left brace
+"\\spad{rightPower(a,n)} returns the \\spad{n}-th right power of \\spad{a}, \\spadignore{i.e.} \\spad{rightPower(a,n) \\spad{:=} rightPower(a,n-1) * a} and \\spad{rightPower(a,0) \\spad{:=} 1}."
+
+--->bookvol10.2.pamphlet-->MonadWithUnit((leftPower (% % (NonNegativeInteger)))): Missing left brace
+"\\spad{leftPower(a,n)} returns the \\spad{n}-th left power of \\spad{a}, \\spadignore{i.e.} \\spad{leftPower(a,n) \\spad{:=} a * leftPower(a,n-1)} and \\spad{leftPower(a,0) \\spad{:=} 1}."
+
+--->bookvol10.2.pamphlet-->MonadWithUnit(constructor): Missing left brace
+--->bookvol10.2.pamphlet-->MonadWithUnit(constructor): Missing left brace
+"MonadWithUnit is the class of multiplicative monads with unit, \\spadignore{i.e.} sets with a binary operation and a unit element. \\blankline Axioms\\br \\tab{5}leftIdentity(\"*\":(\\%,\\%)->\\%,1) \\spadignore{e.g.} 1*x=x\\br \\tab{5}rightIdentity(\"*\":(\\%,\\%)->\\%,1) e.g x*1=x \\blankline Common Additional Axioms\\br \\tab{5}unitsKnown - if \"recip\" says \"failed\", it PROVES input wasn't a unit"
+
+=========================================================================
+typos 40330:
+
+>compiling PERMCAT.spad to PERMCAT.nrlib
+
+--->bookvol10.2.pamphlet-->PermutationCategory((cycle (% (List S)))): Missing left brace
+"\\spad{cycle(ls)} coerces a cycle \\spad{ls,} \\spadignore{i.e.} a list with not repetitions to a permutation, which maps ls.i to ls.i+1, indices modulo the length of the list. Error: if repetitions occur."
+
+--->bookvol10.2.pamphlet-->PermutationCategory((orbit ((Set S) % S))): Missing left brace
+"\\spad{orbit(p, el)} returns the orbit of el under the permutation \\spad{p,} \\spadignore{i.e.} the set which is given by applications of the powers of \\spad{p} to el."
+
+--->bookvol10.2.pamphlet-->PermutationCategory(constructor): Mismatch: left pren matches right brace
+"PermutationCategory provides a categorial environment for subgroups of bijections of a set (\\spadignore{i.e.} permutations)"
+
+=========================================================================
+typos 40329:
+
+>compiling PDRING.spad to PDRING.nrlib
+
+--->-->PartialDifferentialRing&((differentiate (% % (List S)))): Missing left brace
+"\\spad{differentiate(x,[s1,...sn])} computes successive partial derivatives, \\spadignore{i.e.} \\spad{differentiate(...differentiate(x, s1)..., sn)}."
+
+--->-->PartialDifferentialRing&((differentiate (% % S (NonNegativeInteger)))): Missing left brace
+"\\spad{differentiate(x, \\spad{s,} \\spad{n)}} computes multiple partial derivatives, \\spadignore{i.e.} \\spad{n}-th derivative of \\spad{x} with respect to \\spad{s.}"
+
+--->-->PartialDifferentialRing&((differentiate (% % (List S) (List (NonNegativeInteger))))): Missing left brace
+"\\spad{differentiate(x, [s1,...,sn], [n1,...,nn])} computes multiple partial derivatives, \\spadignore{i.e.}"
+
+--->-->PartialDifferentialRing&((D (% % (List S)))): Missing left brace
+"\\spad{D(x,[s1,...sn])} computes successive partial derivatives, \\spadignore{i.e.} \\spad{D(...D(x, s1)..., sn)}."
+
+--->-->PartialDifferentialRing&((D (% % S (NonNegativeInteger)))): Missing left brace
+"\\spad{D(x, \\spad{s,} \\spad{n)}} computes multiple partial derivatives, \\spadignore{i.e.} \\spad{n}-th derivative of \\spad{x} with respect to \\spad{s.}"
+
+--->-->PartialDifferentialRing&((D (% % (List S) (List (NonNegativeInteger))))): Missing left brace
+"\\spad{D(x, [s1,...,sn], [n1,...,nn])} computes multiple partial derivatives, \\spadignore{i.e.} \\spad{D(...D(x, \\spad{s1,} n1)..., \\spad{sn,} nn)}."
+
+--->bookvol10.2.pamphlet-->PartialDifferentialRing((differentiate (% % (List S)))): Missing left brace
+"\\spad{differentiate(x,[s1,...sn])} computes successive partial derivatives, \\spadignore{i.e.} \\spad{differentiate(...differentiate(x, s1)..., sn)}."
+
+--->bookvol10.2.pamphlet-->PartialDifferentialRing((differentiate (% % S (NonNegativeInteger)))): Missing left brace
+"\\spad{differentiate(x, \\spad{s,} \\spad{n)}} computes multiple partial derivatives, \\spadignore{i.e.} \\spad{n}-th derivative of \\spad{x} with respect to \\spad{s.}"
+
+--->bookvol10.2.pamphlet-->PartialDifferentialRing((differentiate (% % (List S) (List (NonNegativeInteger))))): Missing left brace
+"\\spad{differentiate(x, [s1,...,sn], [n1,...,nn])} computes multiple partial derivatives, \\spadignore{i.e.}"
+
+--->bookvol10.2.pamphlet-->PartialDifferentialRing((D (% % (List S)))): Missing left brace
+"\\spad{D(x,[s1,...sn])} computes successive partial derivatives, \\spadignore{i.e.} \\spad{D(...D(x, s1)..., sn)}."
+
+--->bookvol10.2.pamphlet-->PartialDifferentialRing((D (% % S (NonNegativeInteger)))): Missing left brace
+"\\spad{D(x, \\spad{s,} \\spad{n)}} computes multiple partial derivatives, \\spadignore{i.e.} \\spad{n}-th derivative of \\spad{x} with respect to \\spad{s.}"
+
+--->bookvol10.2.pamphlet-->PartialDifferentialRing((D (% % (List S) (List (NonNegativeInteger))))): Missing left brace
+"\\spad{D(x, [s1,...,sn], [n1,...,nn])} computes multiple partial derivatives, \\spadignore{i.e.} \\spad{D(...D(x, \\spad{s1,} n1)..., \\spad{sn,} nn)}."
+
+=========================================================================
+typos 40325:
+
+>compiling GRMOD.spad to GRMOD.nrlib
+
+--->-->GradedModule&(((Zero) (%) constant)): Improper first word in comments:
+"0 denotes the zero of degree 0."
+
+--->-->GradedModule&(constructor): Missing left brace
+"GradedModule(R,E) denotes ``E-graded R-module'', \\spadignore{i.e.} collection of R-modules indexed by an abelian monoid E. An element \\spad{g} of \\spad{G[s]} for some specific \\spad{s} in \\spad{E} is said to be an element of \\spad{G} with degree \\spad{s}. Sums are defined in each module \\spad{G[s]} so two elements of \\spad{G} have a sum if they have the same degree. \\blankline Morphisms can be defined and composed by degree to give the mathematical category of graded modules."
+
+--->bookvol10.2.pamphlet-->GradedModule(((Zero) (%) constant)): Improper first word in comments:
+"0 denotes the zero of degree 0."
+
+--->bookvol10.2.pamphlet-->GradedModule(constructor): Missing left brace
+"GradedModule(R,E) denotes ``E-graded R-module'', \\spadignore{i.e.} collection of R-modules indexed by an abelian monoid E. An element \\spad{g} of \\spad{G[s]} for some specific \\spad{s} in \\spad{E} is said to be an element of \\spad{G} with degree \\spad{s}. Sums are defined in each module \\spad{G[s]} so two elements of \\spad{G} have a sum if they have the same degree. \\blankline Morphisms can be defined and composed by degree to give the mathematical category of graded modules."
+
+=========================================================================
+typos 40322:
+
+>compiling SKAGG.spad to SKAGG.nrlib
+
+--->bookvol10.2.pamphlet-->StackAggregate((push! (S S %))): Improper first word in comments:
+--->bookvol10.2.pamphlet-->StackAggregate((push! (S S %))): Missing left brace
+"\\indented{1}{push!(x,s) pushes \\spad{x} onto stack \\spad{s,} \\spadignore{i.e.} destructively changing \\spad{s}} \\indented{1}{so as to have a new first (top) element \\spad{x.}} \\indented{1}{Afterwards, pop!(s) produces \\spad{x} and pop!(s) produces the original \\spad{s.}} \\blankline \\spad{X} a:Stack INT:= stack [1,2,3,4,5] \\spad{X} push! a \\spad{X} a"
+
+--->bookvol10.2.pamphlet-->StackAggregate((pop! (S %))): Improper first word in comments:
+"\\indented{1}{pop!(s) returns the top element \\spad{x,} destructively removing \\spad{x} from \\spad{s.}} \\indented{1}{Note that Use \\axiom{top(s)} to obtain \\spad{x} without removing it from \\spad{s.}} \\indented{1}{Error: if \\spad{s} is empty.} \\blankline \\spad{X} a:Stack INT:= stack [1,2,3,4,5] \\spad{X} pop! a \\spad{X} a"
+
+--->bookvol10.2.pamphlet-->StackAggregate((top (S %))): Improper first word in comments:
+"\\indented{1}{top(s) returns the top element \\spad{x} from \\spad{s;} \\spad{s} remains unchanged.} \\indented{1}{Note that Use \\axiom{pop!(s)} to obtain \\spad{x} and remove it from \\spad{s.}} \\blankline \\spad{X} a:Stack INT:= stack [1,2,3,4,5] \\spad{X} top a"
+
+--->bookvol10.2.pamphlet-->StackAggregate((depth ((NonNegativeInteger) %))): Improper first word in comments:
+"\\indented{1}{depth(s) returns the number of elements of stack \\spad{s.}} \\indented{1}{Note that \\axiom{depth(s) = \\#s}.} \\blankline \\spad{X} a:Stack INT:= stack [1,2,3,4,5] \\spad{X} depth a"
+
diff --git a/changelog b/changelog
index 646158d..660da0d 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,7 @@
+20130318 rxb src/axiom-website/patches.html 20130318.02.tpd.patch
+20130318 tpd buglist fix typos
+20130318 tpd books/bookvol10.3 fix typos
+20130318 tpd books/bookvol10.2 fix typos
20130318 rxb src/axiom-website/patches.html 20130318.01.rxb.patch
20130318 rxb src/algebra/Makefile add MatrixManipulation
20130318 rxb books/bookvol5 expose MatrixManipulation, add Raoul Bourquin
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index f2149be..1de25b7 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -4101,5 +4101,7 @@ books/bookvol10.2 REAL fix 40345
books/bookvol10.2 fix multiple typos
20130318.01.rxb.patch
books/bookvol10.4 add MatrixManipulation
+20130318.02.tpd.patch
+books/bookvol10.2, bookvol10.3 fix typos