diff --git a/books/bookvol10.4.pamphlet b/books/bookvol10.4.pamphlet
index bd5e00d..c72984e 100644
--- a/books/bookvol10.4.pamphlet
+++ b/books/bookvol10.4.pamphlet
@@ -156347,481 +156347,6 @@ UTSodetools(F, UP, L, UTS): Exports == Implementation where
 
 @
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\section{package POLYVEC U32VectorPolynomialOperations}
-<<U32VectorPolynomialOperations.input>>=
-)set break resume
-)sys rm -f U32VectorPolynomialOperations.output
-)spool U32VectorPolynomialOperations.output
-)set message test on
-)set message auto off
-)clear all
-
---S 1 of 1
-)show U32VectorPolynomialOperations
---R U32VectorPolynomialOperations  is a package constructor
---R Abbreviation for U32VectorPolynomialOperations is POLYVEC 
---R This constructor is exposed in this frame.
---R Issue )edit bookvol10.4.pamphlet to see algebra source code for POLYVEC 
---R
---R------------------------------- Operations --------------------------------
---R degree : U32Vector -> Integer        
---R copy_first : (U32Vector,U32Vector,Integer) -> Void
---R copy_slice : (U32Vector,U32Vector,Integer,Integer) -> Void
---R differentiate : (U32Vector,Integer) -> U32Vector
---R differentiate : (U32Vector,NonNegativeInteger,Integer) -> U32Vector
---R divide! : (U32Vector,U32Vector,U32Vector,Integer) -> Void
---R eval_at : (U32Vector,Integer,Integer,Integer) -> Integer
---R gcd : (U32Vector,U32Vector,Integer) -> U32Vector
---R gcd : (PrimitiveArray U32Vector,Integer,Integer,Integer) -> U32Vector
---R lcm : (PrimitiveArray U32Vector,Integer,Integer,Integer) -> U32Vector
---R mul : (U32Vector,U32Vector,Integer) -> U32Vector
---R mul_by_binomial : (U32Vector,Integer,Integer) -> Void
---R mul_by_binomial : (U32Vector,Integer,Integer,Integer) -> Void
---R mul_by_scalar : (U32Vector,Integer,Integer,Integer) -> Void
---R pow : (U32Vector,PositiveInteger,NonNegativeInteger,Integer) -> U32Vector
---R remainder! : (U32Vector,U32Vector,Integer) -> Void
---R to_mod_pa : (SparseUnivariatePolynomial Integer,Integer) -> U32Vector
---R truncated_mul_add : (U32Vector,U32Vector,U32Vector,Integer,Integer) -> Void
---R truncated_multiplication : (U32Vector,U32Vector,Integer,Integer) -> U32Vector
---R vector_add_mul : (U32Vector,U32Vector,Integer,Integer,Integer,Integer) -> Void
---R vector_combination : (U32Vector,Integer,U32Vector,Integer,Integer,Integer,Integer) -> Void
---R
---E 1
-
-)spool
-)lisp (bye)
-@
-<<U32VectorPolynomialOperations.help>>=
-====================================================================
-U32VectorPolynomialOperations examples
-====================================================================
-
-See Also:
-o )show U32VectorPolynomialOperations
-
-@
-\pagehead{U32VectorPolynomialOperations}{POLYVEC}
-\pagepic{ps/v104u32vectorpolynomialoperations.eps}{POLYVEC}{1.00}
-
-{\bf Exports:}\\
-\begin{tabular}{lll}
-\cross{POLYVEC}{copy\_first} &
-\cross{POLYVEC}{copy\_slice} &
-\cross{POLYVEC}{degree} \\
-\cross{POLYVEC}{differentiate} &
-\cross{POLYVEC}{divide!} &
-\cross{POLYVEC}{eval\_at} \\
-\cross{POLYVEC}{gcd} &
-\cross{POLYVEC}{lcm} &
-\cross{POLYVEC}{mul} \\
-\cross{POLYVEC}{mul\_by\_binomial} &
-\cross{POLYVEC}{mul\_by\_scalar} &
-\cross{POLYVEC}{pow} \\
-\cross{POLYVEC}{remainder!} &
-\cross{POLYVEC}{to\_mod\_pa} &
-\cross{POLYVEC}{truncated\_mul\_add} \\
-\cross{POLYVEC}{truncated\_multiplication} &
-\cross{POLYVEC}{vector\_add\_mul} &
-\cross{POLYVEC}{vector\_combination} 
-\end{tabular}
-
-<<package POLYVEC U32VectorPolynomialOperations>>=
-)abbrev package POLYVEC U32VectorPolynomialOperations
-++ Author: Waldek Hebisch
-++ Description: 
-++ This is a low-level package which implements operations
-++ on vectors treated as univariate modular polynomials.  Most
-++ operations takes modulus as parameter.  Modulus is machine
-++ sized prime which should be small enough to avoid overflow
-++ in intermediate calculations.
-U32VectorPolynomialOperations() : Export == Implementation where
-    PA ==> U32Vector
-    Export ==> with
-        copy__first : (PA, PA, Integer) -> Void
-          ++ copy__first(v1, v2, n) copies first n elements
-          ++ of v2 into n first positions in v1.
-        copy__slice : (PA, PA, Integer, Integer) -> Void
-          ++ copy__first(v1, v2, m, n) copies the slice of v2 starting
-          ++ at m elements and having n elements into corresponding
-          ++ positions in v1.
-        eval__at : (PA, Integer, Integer, Integer) -> Integer
-          ++ eval__at(v, deg, pt, p) treats v as coefficients of
-          ++ polynomial of degree deg and evaluates the
-          ++ polynomial at point pt modulo p
-        vector__add__mul : (PA, PA, Integer, Integer, Integer, Integer) _
-            -> Void
-          ++ vector__add__mul(v1, v2, m, n, c, p) sets v1(m), ...,
-          ++ v1(n) to corresponding extries in v1 + c*v2
-          ++ modulo p.
-        mul__by__binomial : (PA, Integer, Integer) -> Void
-          ++ mul__by__binomial(v,  pt, p) treats v a polynomial
-          ++ and multiplies in place this polynomial by binomial (x + pt).
-          ++ Highest coefficient of product is ignored.
-        mul__by__binomial : (PA, Integer, Integer, Integer) -> Void
-          ++ mul__by__binomial(v, deg, pt, p) treats v as
-          ++ coefficients of polynomial of degree deg and
-          ++ multiplies in place this polynomial by binomial (x + pt).
-          ++ Highest coefficient of product is ignored.
-        mul__by__scalar : (PA, Integer, Integer, Integer) -> Void
-          ++ mul__by__scalar(v, deg, c, p) treats v as
-          ++ coefficients of polynomial of degree deg and
-          ++ multiplies in place this polynomial by scalar c
-        mul : (PA, PA, Integer) -> PA
-          ++ Polynomial multiplication.
-        truncated__multiplication : (PA, PA, Integer, Integer) -> PA
-          ++ truncated__multiplication(x, y, d, p) computes
-          ++ x*y truncated after degree d
-        truncated__mul__add : (PA, PA, PA, Integer, Integer) -> Void
-          ++ truncated__mul__add(x, y, z, d, p) adds to z
-          ++ the produce x*y truncated after degree d
-        pow : (PA, PositiveInteger, NonNegativeInteger, Integer) -> PA
-          ++ pow(u, n, d, p) returns u^n truncated after degree d, except if
-          ++ n=1, in which case u itself is returned
-        differentiate : (PA, Integer) -> PA
-          ++ Polynomial differentiation.
-        differentiate : (PA, NonNegativeInteger, Integer) -> PA
-          ++ Polynomial differentiation.
-        divide! : (PA, PA, PA, Integer) -> Void
-          ++ Polynomial division.
-        remainder! : (PA, PA, Integer) -> Void
-          ++ Polynomial remainder
-        vector__combination : (PA, Integer, PA, Integer, _
-                               Integer, Integer, p : Integer) -> Void
-          ++ vector__combination(v1, c1, v2, c2, n, delta, p) replaces
-          ++ first n + 1 entires of v1 by corresponding entries of
-          ++ c1*v1+c2*x^delta*v2 mod p.
-        to__mod__pa : (SparseUnivariatePolynomial Integer, Integer) -> PA
-          ++ to__mod__pa(s, p) reduces coefficients of polynomial
-          ++ s modulo primte p and converts the resut to vector
-        gcd : (PA, PA, Integer) -> PA
-          ++ Polynomial gcd.
-        gcd : (PrimitiveArray PA, Integer, Integer, Integer) -> PA
-          ++ gcd(a, lo, hi, p) computes gcd of elements
-          ++ a(lo), a(lo+1), ..., a(hi).
-        lcm : (PrimitiveArray PA, Integer, Integer, Integer) -> PA
-          ++ lcm(a, lo, hi, p) computes lcm of elements
-          ++ a(lo), a(lo+1), ..., a(hi).
-        degree : PA -> Integer
-          ++ degree(v) is degree of v treated as polynomial
-
-    Implementation ==> add
-
-        Qmuladdmod ==> QSMULADDMOD64_-32$Lisp
-        Qmuladd  ==> QSMULADD64_-32$Lisp
-        Qmul ==> QSMULMOD32$Lisp
-        Qdot2 ==> QSDOT2MOD64_-32$Lisp
-        Qrem ==> QSMOD64_-32$Lisp
-        modInverse ==> invmod
-
-        copy__first(np : PA, op : PA, n : Integer) : Void ==
-            ns := n pretend SingleInteger
-            for j in 0..(ns - 1) repeat
-                np(j) := op(j)
-
-        copy__slice(np : PA, op : PA, m : Integer, _
-                    n : Integer) : Void ==
-            ms := m pretend SingleInteger
-            ns := n pretend SingleInteger
-            for j in ms..(ms + ns - 1) repeat
-                np(j) := op(j)
-
-        eval__at(v : PA, deg : Integer, pt : Integer, _
-               p : Integer) : Integer ==
-            i : SingleInteger := deg::SingleInteger
-            res : Integer := 0
-            while i >= 0 repeat
-                res := Qmuladdmod(pt, res, v(i), p)
-                i := i - 1
-            res
-
-        to__mod__pa(s : SparseUnivariatePolynomial Integer, p : Integer) : PA ==
-            zero?(s) => new(1, 0)$PA
-            n0 := degree(s) pretend SingleInteger
-            ncoeffs := new((n0+1) pretend NonNegativeInteger, 0)$PA
-            while not(zero?(s)) repeat
-                n := degree(s)
-                ncoeffs(n) := positiveRemainder(leadingCoefficient(s), p)
-                s := reductum(s)
-            ncoeffs
-
-        vector__add__mul(v1 : PA, v2 : PA, m : Integer, n : Integer, _
-                         c : Integer, p : Integer) : Void ==
-            ms := m pretend SingleInteger
-            ns := n pretend SingleInteger
-            for i in ms..ns repeat
-                v1(i) := Qmuladdmod(c, v2(i), v1(i), p)
-
-        mul__by__binomial(v : PA, n : Integer, pt : Integer, _
-                          p : Integer) : Void ==
-            prev__coeff : Integer := 0
-            ns := n pretend SingleInteger
-            for i in 0..(ns - 1) repeat
-                pp := v(i)
-                v(i) := Qmuladdmod(pt, pp, prev__coeff, p)
-                prev__coeff := pp
-
-        mul__by__binomial(v : PA, pt : Integer, _
-                          p : Integer) : Void ==
-            mul__by__binomial(v, #v, pt, p)
-
-        mul__by__scalar(v : PA, n : Integer, c : Integer, _
-                        p : Integer) : Void ==
-            ns := n pretend SingleInteger
-            for i in 0..ns repeat
-                v(i) := Qmul(c, v(i), p)
-
-        degree(v : PA) : Integer ==
-            n := #v
-            for i in (n - 1)..0 by -1 repeat
-                v(i) ~= 0 => return i
-            -1
-
-        vector__combination(v1 : PA, c1 : Integer, _
-                            v2 : PA, c2 : Integer, _
-                            n : Integer, delta : Integer, _
-                            p : Integer) : Void ==
-            ns := n pretend SingleInteger
-            ds := delta pretend SingleInteger
-            if c1 ~= 1 then
-                for i in 0..(ds - 1) repeat
-                    v1(i) := Qmul(v1(i), c1, p)
-                for i in ds..ns repeat
-                    v1(i) := Qdot2(v1(i), c1, v2(i - ds), c2, p)
-            else
-                for i in ds..ns repeat
-                    v1(i) := Qmuladdmod(c2, v2(i - ds), v1(i), p)
-
-        divide!(r0 : PA, r1 : PA, res : PA, p: Integer) : Void ==
-            dr0 := degree(r0)
-            dr1 := degree(r1)
-            c0 := r1(dr1)
-            c0 := modInverse(c0, p)
-            while dr0 >= dr1 repeat
-                delta := dr0 - dr1
-                c1 := Qmul(c0, r0(dr0), p)
-                res(delta) := c1
-                c1 := p - c1
-                r0(dr0) := 0
-                dr0 := dr0 - 1
-                if dr0 < 0 then break
-                vector__combination(r0, 1, r1, c1, dr0, delta, p)
-                while r0(dr0) = 0 repeat
-                    dr0 := dr0 - 1
-                    if dr0 < 0 then break
-
-        remainder!(r0 : PA, r1 : PA, p: Integer) : Void ==
-            dr0 := degree(r0)
-            dr1 := degree(r1)
-            c0 := r1(dr1)
-            c0 := modInverse(c0, p)
-            while dr0 >= dr1 repeat
-                delta := dr0 - dr1
-                c1 := Qmul(c0, r0(dr0), p)
-                c1 := p - c1
-                r0(dr0) := 0
-                dr0 := dr0 - 1
-                if dr0 < 0 then break
-                vector__combination(r0, 1, r1, c1, dr0, delta, p)
-                while r0(dr0) = 0 repeat
-                    dr0 := dr0 - 1
-                    if dr0 < 0 then break
-
-        gcd(x : PA, y : PA, p : Integer) : PA ==
-            dr0 := degree(y) pretend SingleInteger
-            dr1 : SingleInteger
-            if dr0 < 0 then
-                tmpp := x
-                x := y
-                y := tmpp
-                dr1 := dr0
-                dr0 := degree(y) pretend SingleInteger
-            else
-                dr1 := degree(x) pretend SingleInteger
-            dr0 < 0 =>
-                dr1 < 0 =>
-                    return new(1, 0)$PA
-                r1 := new((dr1 + 1) pretend NonNegativeInteger, 0)$PA
-                copy__first(r1, x, dr1 + 1)
-                c := r1(dr1)
-                c := modInverse(c, p)
-                mul__by__scalar(r1, dr1, c, p)
-                return r1
-            r0 := new((dr0 + 1) pretend NonNegativeInteger, 0)$PA
-            copy__first(r0, y, dr0 + 1)
-            r1 := new((dr1 + 1) pretend NonNegativeInteger, 0)$PA
-            copy__first(r1, x, dr1 + 1)
-            while dr1 > 0 repeat
-                while dr0 >= dr1 repeat
-                    delta := dr0 - dr1
-                    c1 := QSDIFFERENCE(p, r0(dr0))$Lisp
-                    c0 := r1(dr1)
-                    if c0 ~= 1 and delta > 30 then
-                        c0 :=  modInverse(c0, p)
-                        mul__by__scalar(r1, dr1, c0, p)
-                        c0 := 1
-                    r0(dr0) := 0
-                    dr0 := dr0 - 1
-                    vector__combination(r0, c0, r1, c1, dr0, delta, p)
-                    while r0(dr0) = 0 repeat
-                        dr0 := dr0 - 1
-                        if dr0 < 0 then break
-                tmpp := r0
-                tmp := dr0
-                r0 := r1
-                dr0 := dr1
-                r1 := tmpp
-                dr1 := tmp
-            dr1 >= 0 =>
-                r1(0) := 1
-                return r1
-            c := r0(dr0)
-            c := modInverse(c, p)
-            mul__by__scalar(r0, dr0, c, p)
-            r0
-
-        gcd(a : PrimitiveArray PA, lo : Integer, hi: Integer, p: Integer) _
-              : PA ==
-            res := a(lo)
-            for i in (lo + 1)..hi repeat
-                res := gcd(a(i), res, p)
-            res
-
-        lcm2(v1 : PA, v2 : PA, p : Integer) : PA ==
-            pp := gcd(v1, v2, p)
-            dv2 := degree(v2)
-            dpp := degree(pp)
-            dv2 = dpp =>
-                v1
-            dpp = 0 => mul(v1, v2, p)
-            tmp1 := new((dv2 + 1) pretend NonNegativeInteger, 0)$PA
-            tmp2 := new((dv2 - dpp + 1) pretend NonNegativeInteger, 0)$PA
-            copy__first(tmp1, v2, dv2 + 1)
-            divide!(tmp1, pp, tmp2, p)
-            mul(v1, tmp2, p)
-
-        lcm(a : PrimitiveArray PA, lo : Integer, hi: Integer, p: Integer) _
-              : PA ==
-            res := a(lo)
-            for i in (lo + 1)..hi repeat
-                res := lcm2(a(i), res, p)
-            res
-
-        inner__mul : (PA, PA, PA,  SingleInteger, SingleInteger, _
-                      SingleInteger, Integer) -> Void
-
-        mul(x : PA, y : PA, p : Integer) : PA ==
-            xdeg := degree(x) pretend SingleInteger
-            ydeg := degree(y) pretend SingleInteger
-            if xdeg > ydeg then
-                tmpp := x
-                tmp := xdeg
-                x := y
-                xdeg := ydeg
-                y := tmpp
-                ydeg := tmp
-            xcoeffs := x
-            ycoeffs := y
-            xdeg < 0 => x
-            xdeg = 0 and xcoeffs(0) = 1 => copy(y)
-            zdeg : SingleInteger := xdeg + ydeg
-            zdeg0 := (zdeg::Integer) pretend NonNegativeInteger
-            zcoeffs := new(zdeg0 + 1, 0)$PA
-            inner__mul(xcoeffs, ycoeffs, zcoeffs, xdeg, ydeg, zdeg, p)
-            zcoeffs
-
-        inner__mul(x, y, z, xdeg, ydeg, zdeg, p) ==
-            if xdeg > ydeg then
-                tmpp := x
-                tmp := xdeg
-                x := y
-                xdeg := ydeg
-                y := tmpp
-                ydeg := tmp
-            xdeg :=
-                xdeg > zdeg => zdeg
-                xdeg
-            ydeg :=
-                ydeg > zdeg => zdeg
-                ydeg
-            ss : Integer
-            i : SingleInteger
-            j : SingleInteger
-            for i in 0..xdeg repeat
-                ss := z(i)
-                for j in 0..i repeat
-                    ss := Qmuladd(x(i - j), y(j), ss)
-                z(i) := Qrem(ss, p)
-            for i in (xdeg+1)..ydeg repeat
-                ss := z(i)
-                for j in 0..xdeg repeat
-                    ss := Qmuladd(x(j), y(i-j), ss)
-                z(i) := Qrem(ss, p)
-            for i in (ydeg+1)..zdeg repeat
-                ss := z(i)
-                for j in (i-xdeg)..ydeg repeat
-                    ss := Qmuladd(x(i - j), y(j), ss)
-                z(i) := Qrem(ss, p)
-
-        truncated__mul__add(x, y, z, m, p) ==
-            xdeg := (#x - 1) pretend SingleInteger
-            ydeg := (#y - 1) pretend SingleInteger
-            inner__mul(x, y, z, xdeg, ydeg, m pretend SingleInteger, p)
-
-        truncated__multiplication(x, y, m, p) ==
-            xdeg := (#x - 1) pretend SingleInteger
-            ydeg := (#y - 1) pretend SingleInteger
-            z := new((m pretend SingleInteger + 1)
-                        pretend NonNegativeInteger, 0)$PA
-            inner__mul(x, y, z, xdeg, ydeg, m pretend SingleInteger, p)
-            z
-
-        pow(x : PA, n : PositiveInteger, d: NonNegativeInteger, _
-            p : Integer) : PA ==
-            one? n => x
-            odd?(n)$Integer =>
-                truncated__multiplication(x,
-                    pow(truncated__multiplication(x, x, d, p),
-                        shift(n,-1) pretend PositiveInteger,
-                        d,
-                        p),
-                    d,
-                    p)
-            pow(truncated__multiplication(x, x, d, p),
-                shift(n,-1) pretend PositiveInteger,
-                d,
-                p)
-
-        differentiate(x: PA, p: Integer): PA ==
-            d := #x - 1
-            if zero? d then empty()$PA
-            else
-                r := new(d::NonNegativeInteger, 0)$PA
-                for i in 0..d-1 repeat
-                    i1 := i+1
-                    r.i := Qmul(i1, x.i1, p)
-                r
-
-        differentiate(x: PA, n: NonNegativeInteger, p: Integer): PA ==
-            zero? n => x
-            d := #x - 1
-            if d < n then empty()$PA
-            else
-                r := new((d-n+1) pretend NonNegativeInteger, 0)$PA
-                for i in n..d repeat
-                    j := i-n
-                    f := j+1
-                    for k in j+2..i repeat f := Qmul(f, k, p)
-                    r.(j pretend NonNegativeInteger) := Qmul(f, x.i, p)
-                r
-
-@
-<<POLYVEC.dotabb>>=
-"POLYVEC" [color="#FF4488",href="bookvol10.4.pdf#nameddest=POLYVEC"]
-"A1AGG" [color="#4488FF",href="bookvol10.2.pdf#nameddest=A1AGG"]
-"POLYVEC" -> "A1AGG"
-
-@
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \chapter{Chapter V}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \section{package VECTOR2 VectorFunctions2}
diff --git a/books/bookvol5.pamphlet b/books/bookvol5.pamphlet
index 56721b0..cc22727 100644
--- a/books/bookvol5.pamphlet
+++ b/books/bookvol5.pamphlet
@@ -24011,7 +24011,6 @@ otherwise the new algebra won't be loaded by the interpreter when needed.
    (|UniversalSegmentFunctions2| . UNISEG2)
    (|UserDefinedVariableOrdering| . UDVO)
    (|U32Vector| . U32VEC)
-   (|U32VectorPolynomialOperations| . POLYVEC)
    (|Vector| . VECTOR)
    (|VectorFunctions2| . VECTOR2)
    (|ViewDefaultsPackage| . VIEWDEF)
diff --git a/books/ps/v104u32vectorpolynomialoperations.eps b/books/ps/v104u32vectorpolynomialoperations.eps
deleted file mode 100644
index 8ddd59f..0000000
--- a/books/ps/v104u32vectorpolynomialoperations.eps
+++ /dev/null
@@ -1,266 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: Graphviz version 2.20.2 (Mon Mar 30 10:09:11 UTC 2009)
-%%For: (root) root
-%%Title: pic
-%%Pages: 1
-%%BoundingBox: 36 36 124 152
-%%EndComments
-save
-%%BeginProlog
-/DotDict 200 dict def
-DotDict begin
-
-/setupLatin1 {
-mark
-/EncodingVector 256 array def
- EncodingVector 0
-
-ISOLatin1Encoding 0 255 getinterval putinterval
-EncodingVector 45 /hyphen put
-
-% Set up ISO Latin 1 character encoding
-/starnetISO {
-        dup dup findfont dup length dict begin
-        { 1 index /FID ne { def }{ pop pop } ifelse
-        } forall
-        /Encoding EncodingVector def
-        currentdict end definefont
-} def
-/Times-Roman starnetISO def
-/Times-Italic starnetISO def
-/Times-Bold starnetISO def
-/Times-BoldItalic starnetISO def
-/Helvetica starnetISO def
-/Helvetica-Oblique starnetISO def
-/Helvetica-Bold starnetISO def
-/Helvetica-BoldOblique starnetISO def
-/Courier starnetISO def
-/Courier-Oblique starnetISO def
-/Courier-Bold starnetISO def
-/Courier-BoldOblique starnetISO def
-cleartomark
-} bind def
-
-%%BeginResource: procset graphviz 0 0
-/coord-font-family /Times-Roman def
-/default-font-family /Times-Roman def
-/coordfont coord-font-family findfont 8 scalefont def
-
-/InvScaleFactor 1.0 def
-/set_scale {
-       dup 1 exch div /InvScaleFactor exch def
-       scale
-} bind def
-
-% styles
-/solid { [] 0 setdash } bind def
-/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def
-/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def
-/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def
-/bold { 2 setlinewidth } bind def
-/filled { } bind def
-/unfilled { } bind def
-/rounded { } bind def
-/diagonals { } bind def
-
-% hooks for setting color 
-/nodecolor { sethsbcolor } bind def
-/edgecolor { sethsbcolor } bind def
-/graphcolor { sethsbcolor } bind def
-/nopcolor {pop pop pop} bind def
-
-/beginpage {	% i j npages
-	/npages exch def
-	/j exch def
-	/i exch def
-	/str 10 string def
-	npages 1 gt {
-		gsave
-			coordfont setfont
-			0 0 moveto
-			(\() show i str cvs show (,) show j str cvs show (\)) show
-		grestore
-	} if
-} bind def
-
-/set_font {
-	findfont exch
-	scalefont setfont
-} def
-
-% draw text fitted to its expected width
-/alignedtext {			% width text
-	/text exch def
-	/width exch def
-	gsave
-		width 0 gt {
-			[] 0 setdash
-			text stringwidth pop width exch sub text length div 0 text ashow
-		} if
-	grestore
-} def
-
-/boxprim {				% xcorner ycorner xsize ysize
-		4 2 roll
-		moveto
-		2 copy
-		exch 0 rlineto
-		0 exch rlineto
-		pop neg 0 rlineto
-		closepath
-} bind def
-
-/ellipse_path {
-	/ry exch def
-	/rx exch def
-	/y exch def
-	/x exch def
-	matrix currentmatrix
-	newpath
-	x y translate
-	rx ry scale
-	0 0 1 0 360 arc
-	setmatrix
-} bind def
-
-/endpage { showpage } bind def
-/showpage { } def
-
-/layercolorseq
-	[	% layer color sequence - darkest to lightest
-		[0 0 0]
-		[.2 .8 .8]
-		[.4 .8 .8]
-		[.6 .8 .8]
-		[.8 .8 .8]
-	]
-def
-
-/layerlen layercolorseq length def
-
-/setlayer {/maxlayer exch def /curlayer exch def
-	layercolorseq curlayer 1 sub layerlen mod get
-	aload pop sethsbcolor
-	/nodecolor {nopcolor} def
-	/edgecolor {nopcolor} def
-	/graphcolor {nopcolor} def
-} bind def
-
-/onlayer { curlayer ne {invis} if } def
-
-/onlayers {
-	/myupper exch def
-	/mylower exch def
-	curlayer mylower lt
-	curlayer myupper gt
-	or
-	{invis} if
-} def
-
-/curlayer 0 def
-
-%%EndResource
-%%EndProlog
-%%BeginSetup
-14 default-font-family set_font
-1 setmiterlimit
-% /arrowlength 10 def
-% /arrowwidth 5 def
-
-% make sure pdfmark is harmless for PS-interpreters other than Distiller
-/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse
-% make '<<' and '>>' safe on PS Level 1 devices
-/languagelevel where {pop languagelevel}{1} ifelse
-2 lt {
-    userdict (<<) cvn ([) cvn load put
-    userdict (>>) cvn ([) cvn load put
-} if
-
-%%EndSetup
-setupLatin1
-%%Page: 1 1
-%%PageBoundingBox: 36 36 124 152
-%%PageOrientation: Portrait
-0 0 1 beginpage
-gsave
-36 36 88 116 boxprim clip newpath
-1 1 set_scale 0 rotate 40 40 translate
-% POLYVEC
-gsave
-[ /Rect [ 0 72 80 108 ]
-  /Border [ 0 0 0 ]
-  /Action << /Subtype /URI /URI (bookvol10.4.pdf#nameddest=POLYVEC) >>
-  /Subtype /Link
-/ANN pdfmark
-0.939 0.733 1.000 nodecolor
-newpath 80 108 moveto
-0 108 lineto
-0 72 lineto
-80 72 lineto
-closepath fill
-1 setlinewidth
-filled
-0.939 0.733 1.000 nodecolor
-newpath 80 108 moveto
-0 108 lineto
-0 72 lineto
-80 72 lineto
-closepath stroke
-0.000 0.000 0.000 nodecolor
-14 /Times-Roman set_font
-7.5 85.9 moveto 65 (POLYVEC) alignedtext
-grestore
-% A1AGG
-gsave
-[ /Rect [ 7 0 73 36 ]
-  /Border [ 0 0 0 ]
-  /Action << /Subtype /URI /URI (bookvol10.2.pdf#nameddest=A1AGG) >>
-  /Subtype /Link
-/ANN pdfmark
-0.606 0.733 1.000 nodecolor
-newpath 73 36 moveto
-7 36 lineto
-7 0 lineto
-73 0 lineto
-closepath fill
-1 setlinewidth
-filled
-0.606 0.733 1.000 nodecolor
-newpath 73 36 moveto
-7 36 lineto
-7 0 lineto
-73 0 lineto
-closepath stroke
-0.000 0.000 0.000 nodecolor
-14 /Times-Roman set_font
-14.5 13.9 moveto 51 (A1AGG) alignedtext
-grestore
-% POLYVEC->A1AGG
-gsave
-1 setlinewidth
-0.000 0.000 0.000 edgecolor
-newpath 40 72 moveto
-40 64 40 55 40 46 curveto
-stroke
-0.000 0.000 0.000 edgecolor
-newpath 43.5 46 moveto
-40 36 lineto
-36.5 46 lineto
-closepath fill
-1 setlinewidth
-solid
-0.000 0.000 0.000 edgecolor
-newpath 43.5 46 moveto
-40 36 lineto
-36.5 46 lineto
-closepath stroke
-grestore
-endpage
-showpage
-grestore
-%%PageTrailer
-%%EndPage: 1
-%%Trailer
-end
-restore
-%%EOF
diff --git a/changelog b/changelog
index b9cf799..1ba0684 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,8 @@
+20100813 tpd src/axiom-website/patches.html 20100813.01.tpd.patch
+20100813 tpd src/algebra/Makefile.pamphlet remove POLYVEC
+20100813 tpd books/ps/v104u32vectorpolynomialoperations.eps remove POLYVEC
+20100813 tpd books/bookvol5 remove POLYVEC
+20100813 tpd books/bookvol10.4 remove POLYVEC
 20100806 tpd src/axiom-website/patches.html 20100806.01.tpd.patch
 20100806 tpd books/ps/v103guessoptionfunctions0.eps added
 20100805 tpd src/axiom-website/patches.html 20100805.01.tpd.patch
diff --git a/src/algebra/Makefile.pamphlet b/src/algebra/Makefile.pamphlet
index c06e32a..698dbff 100644
--- a/src/algebra/Makefile.pamphlet
+++ b/src/algebra/Makefile.pamphlet
@@ -4468,7 +4468,7 @@ LAYER9=\
   ${OUT}/DIRPROD2.o ${OUT}/IMATRIX.o  ${OUT}/INTRVL.o  \
   ${OUT}/IVECTOR.o  ${OUT}/LOCPOWC.o  \
   ${OUT}/LODO1.o    ${OUT}/LODO2.o    ${OUT}/LPOLY.o   \
-  ${OUT}/LSMP.o     ${OUT}/LSMP1.o    ${OUT}/MATCAT2.o  ${OUT}/POLYVEC.o \
+  ${OUT}/LSMP.o     ${OUT}/LSMP1.o    ${OUT}/MATCAT2.o  \
   ${OUT}/PROJPL.o   ${OUT}/PTCAT.o    ${OUT}/STRICAT.o  ${OUT}/TRIMAT.o  \
   layer9done
 
@@ -4660,22 +4660,6 @@ LAYER9=\
 "MATCAT2" -> "MATCAT"
 /*"MATCAT2" -> "ARR2CAT"*/
 
-"POLYVEC" [color="#FF4488",href="bookvol10.4.pdf#nameddest=POLYVEC"]
-"POLYVEC" -> "A1AGG"
-/*"POLYVEC" -> {"SINT"; "NNI"; "INT"; "FLAGG"; "LNAGG"; "IXAGG"; "HOAGG"}*/
-/*"POLYVEC" -> {"AGG"; "TYPE"; "SETCAT"; "BASTYPE"; "KOERCE"; "EVALAB"}*/
-/*"POLYVEC" -> {"IEVALAB"; "ELTAGG"; "ELTAB"; "CLAGG"; "KONVERT"; "ORDSET"}*/
-/*"POLYVEC" -> {"BOOLEAN"; "INS"; "UFD"; "GCDDOM"; "INTDOM"; "COMRING"}*/
-/*"POLYVEC" -> {"RING"; "RNG"; "ABELGRP"; "CABMON"; "ABELMON"; "ABELSG"}*/
-/*"POLYVEC" -> {"SGROUP"; "MONOID"; "LMODULE"; "BMODULE"; "RMODULE"; "PI"}*/
-/*"POLYVEC" -> {"ALGEBRA"; "MODULE"; "ENTIRER"; "EUCDOM"; "PID"; "OINTDOM"}*/
-/*"POLYVEC" -> {"ORDRING"; "OAGROUP"; "OCAMON"; "OAMON"; "OASGP"; "DIFRING"}*/
-/*"POLYVEC" -> {"RETRACT"; "LINEXP"; "PATMAB"; "CFCAT"; "REAL"; "CHARZ"}*/
-/*"POLYVEC" -> {"STEP"; "INS-"; "EUCDOM-"; "UFD-"; "GCDDOM-"; "INTDOM-"}*/
-/*"POLYVEC" -> {"ALGEBRA-"; "DIFRING-"; "ORDRING-"; "MODULE-"; "RING-"}*/
-/*"POLYVEC" -> {"ABELGRP-"; "ABELMON-"; "MONOID-"; "ORDSET-"; "ABELSG-"}*/
-/*"POLYVEC" -> {"SGROUP-"; "SETCAT-"; "RETRACT-"; "BASTYPE-"; "PRIMARR"}*/
-
 "PROJPL" [color="#88FF44",href="bookvol10.3.pdf#nameddest=PROJPL"]
 /*"PROJPL" -> {"PRSPCAT"; "SETCATD"; "SETCAT"; "BASTYPE"; "KOERCE"; "FIELD"}*/
 "PROJPL" -> "PROJSP"
@@ -17983,7 +17967,6 @@ SPADHELP=\
  ${HELP}/UnivariateTaylorSeriesCategory.help \
  ${HELP}/UniversalSegment.help \
  ${HELP}/U32Vector.help \
- ${HELP}/U32VectorPolynomialOperations.help \
  ${HELP}/Variable.help \
  ${HELP}/Vector.help \
  ${HELP}/VectorCategory.help \
@@ -18664,7 +18647,6 @@ REGRESS= \
  UnivariateTaylorSeriesCategory.regress \
  UniversalSegment.regress \
  U32Vector.regress \
- U32VectorPolynomialOperations.regress \
  Variable.regress \
  Vector.regress \
  VectorCategory.regress \
@@ -26758,18 +26740,6 @@ ${HELP}/U32Vector.help: ${BOOKS}/bookvol10.3.pamphlet
             >${INPUT}/U32Vector.input
 	@echo "U32Vector (U32VEC)" >>${HELPFILE}
 
-${HELP}/U32VectorPolynomialOperations.help: ${BOOKS}/bookvol10.4.pamphlet
-	@echo 8200 create U32VectorPolynomialOperations.help from \
-           ${BOOKS}/bookvol10.4.pamphlet
-	@${TANGLE} -R"U32VectorPolynomialOperations.help" \
-           ${BOOKS}/bookvol10.4.pamphlet \
-           >${HELP}/U32VectorPolynomialOperations.help
-	@cp -f ${HELP}/U32VectorPolynomialOperations.help ${HELP}/POLYVEC.help
-	@${TANGLE} -R"U32VectorPolynomialOperations.input" \
-            ${BOOKS}/bookvol10.4.pamphlet \
-            >${INPUT}/U32VectorPolynomialOperations.input
-	@echo "U32VectorPolynomialOperations (POLYVEC)" >>${HELPFILE}
-
 ${HELP}/Variable.help: ${BOOKS}/bookvol10.3.pamphlet
 	@echo 5000 create Variable.help from \
            ${BOOKS}/bookvol10.3.pamphlet
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index a03a643..f0651fc 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -3057,5 +3057,7 @@ src/axiom-website/download.html add debian, fedora<br/>
 src/axiom-website/download.html add vector<br/>
 <a href="patches/20100806.01.tpd.patch">20100806.01.tpd.patch</a>
 books/ps/v103guessoptionfunctions0.eps added<br/>
+<a href="patches/20100813.01.tpd.patch">20100813.01.tpd.patch</a>
+books/bookvol10.4 remove POLYVEC<br/>
  </body>
 </html>
