diff --git a/books/bookvol10.4.pamphlet b/books/bookvol10.4.pamphlet
index 8580fe1..c65e095 100644
--- a/books/bookvol10.4.pamphlet
+++ b/books/bookvol10.4.pamphlet
@@ -143965,6 +143965,268 @@ TranscendentalRischDESystem(F, UP): Exports == Implementation where
 @
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \section{package SOLVETRA TransSolvePackage}
+<<TransSolvePackage.input>>=
+)set break resume
+)sys rm -f TransSolvePackage.output
+)spool TransSolvePackage.output
+)set message test on
+)set message auto off
+)clear all
+--S 1 of 4
+solve(1/2*v*v*cos(theta+phi)*cos(theta+phi)+g*l*cos(phi)=g*l,phi)
+--R 
+--R
+--R   (1)
+--R   [phi= 2atan(%phi0) - theta, phi= 2atan(%phi1) - theta,
+--R
+--R     phi =
+--R           2
+--R        *
+--R           atan
+--R                  ROOT
+--R                               4    theta 4        4          2     theta 2
+--R                           - 3v tan(-----)  + (- 6v  + 24g l v )tan(-----)
+--R                                      2                               2
+--R                         + 
+--R                               4          2      2 2
+--R                           - 3v  + 24g l v  - 48g l
+--R                      *
+--R                              2
+--R                         %phi1
+--R                     + 
+--R                                   4    theta 4        4          2     theta 2
+--R                               - 2v tan(-----)  + (- 4v  + 16g l v )tan(-----)
+--R                                          2                               2
+--R                             + 
+--R                                   4          2      2 2
+--R                               - 2v  + 16g l v  - 32g l
+--R                          *
+--R                             %phi0
+--R                         + 
+--R                                  2    theta 3             2      2 2     theta
+--R                         - 16g l v tan(-----)  + (- 16g l v  + 64g l )tan(-----)
+--R                                         2                                  2
+--R                      *
+--R                         %phi1
+--R                     + 
+--R                               4    theta 4        4          2     theta 2
+--R                           - 3v tan(-----)  + (- 6v  + 24g l v )tan(-----)
+--R                                      2                               2
+--R                         + 
+--R                               4          2      2 2
+--R                           - 3v  + 24g l v  - 48g l
+--R                      *
+--R                              2
+--R                         %phi0
+--R                     + 
+--R                                      2    theta 3
+--R                             - 16g l v tan(-----)
+--R                                             2
+--R                           + 
+--R                                       2      2 2     theta
+--R                             (- 16g l v  + 64g l )tan(-----)
+--R                                                        2
+--R                      *
+--R                         %phi0
+--R                     + 
+--R                          4          2     theta 4      4    theta 2     4
+--R                       (8v  + 16g l v )tan(-----)  + 16v tan(-----)  + 8v
+--R                                             2                 2
+--R                     + 
+--R                                2      2 2
+--R                       - 16g l v  - 64g l
+--R                + 
+--R                      2    theta 2    2
+--R                  (- v tan(-----)  - v  + 4g l)%phi1
+--R                             2
+--R                + 
+--R                      2    theta 2    2                         theta
+--R                  (- v tan(-----)  - v  + 4g l)%phi0 - 8g l tan(-----)
+--R                             2                                    2
+--R             /
+--R                  2    theta 2     2
+--R                2v tan(-----)  + 2v  - 8g l
+--R                         2
+--R       + 
+--R         - theta
+--R     ,
+--R
+--R     phi =
+--R         -
+--R              2
+--R           *
+--R              atan
+--R                     ROOT
+--R                                  4    theta 4        4          2     theta 2
+--R                              - 3v tan(-----)  + (- 6v  + 24g l v )tan(-----)
+--R                                         2                               2
+--R                            + 
+--R                                  4          2      2 2
+--R                              - 3v  + 24g l v  - 48g l
+--R                         *
+--R                                 2
+--R                            %phi1
+--R                        + 
+--R                                      4    theta 4
+--R                                  - 2v tan(-----)
+--R                                             2
+--R                                + 
+--R                                       4          2     theta 2     4          2
+--R                                  (- 4v  + 16g l v )tan(-----)  - 2v  + 16g l v
+--R                                                          2
+--R                                + 
+--R                                       2 2
+--R                                  - 32g l
+--R                             *
+--R                                %phi0
+--R                            + 
+--R                                       2    theta 3
+--R                              - 16g l v tan(-----)
+--R                                              2
+--R                            + 
+--R                                        2      2 2     theta
+--R                              (- 16g l v  + 64g l )tan(-----)
+--R                                                         2
+--R                         *
+--R                            %phi1
+--R                        + 
+--R                                  4    theta 4        4          2     theta 2
+--R                              - 3v tan(-----)  + (- 6v  + 24g l v )tan(-----)
+--R                                         2                               2
+--R                            + 
+--R                                  4          2      2 2
+--R                              - 3v  + 24g l v  - 48g l
+--R                         *
+--R                                 2
+--R                            %phi0
+--R                        + 
+--R                                       2    theta 3
+--R                              - 16g l v tan(-----)
+--R                                              2
+--R                            + 
+--R                                        2      2 2     theta
+--R                              (- 16g l v  + 64g l )tan(-----)
+--R                                                         2
+--R                         *
+--R                            %phi0
+--R                        + 
+--R                             4          2     theta 4      4    theta 2     4
+--R                          (8v  + 16g l v )tan(-----)  + 16v tan(-----)  + 8v
+--R                                                2                 2
+--R                        + 
+--R                                   2      2 2
+--R                          - 16g l v  - 64g l
+--R                   + 
+--R                       2    theta 2    2
+--R                     (v tan(-----)  + v  - 4g l)%phi1
+--R                              2
+--R                   + 
+--R                       2    theta 2    2                         theta
+--R                     (v tan(-----)  + v  - 4g l)%phi0 + 8g l tan(-----)
+--R                              2                                    2
+--R                /
+--R                     2    theta 2     2
+--R                   2v tan(-----)  + 2v  - 8g l
+--R                            2
+--R       + 
+--R         - theta
+--R     ]
+--R                                       Type: List Equation Expression Integer
+--E 1
+
+--S 2 of 4
+definingPolynomial %phi0
+--R 
+--R
+--R   (2)
+--R              4         2      2            2             theta 2
+--R       ((%phi0  - 2%phi0  + 1)v  + (- 4%phi0  - 4)g l)tan(-----)
+--R                                                            2
+--R     + 
+--R              3                  theta          4         2      2
+--R       (8%phi0  + 8%phi0)g l tan(-----) + (%phi0  - 2%phi0  + 1)v
+--R                                   2
+--R     + 
+--R                4         2
+--R       (- 4%phi0  - 4%phi0 )g l
+--R  /
+--R      2    theta 2    2
+--R     v tan(-----)  + v  - 4g l
+--R             2
+--R                                                     Type: Expression Integer
+--E 2
+
+--S 3 of 4
+definingPolynomial %phi1
+--R 
+--R
+--R   (3)
+--R         2    theta 2    2             3
+--R       (v tan(-----)  + v  - 4g l)%phi0
+--R                2
+--R     + 
+--R               2    theta 2            theta           2                   2
+--R       (%phi1 v tan(-----)  + 8g l tan(-----) + %phi1 v  - 4%phi1 g l)%phi0
+--R                      2                  2
+--R     + 
+--R                  2      2            theta 2                  theta
+--R           ((%phi1  - 2)v  - 4g l)tan(-----)  + 8%phi1 g l tan(-----)
+--R                                        2                        2
+--R         + 
+--R                 2      2            2
+--R           (%phi1  - 2)v  + (- 4%phi1  - 4)g l
+--R      *
+--R         %phi0
+--R     + 
+--R              3           2                  theta 2
+--R       ((%phi1  - 2%phi1)v  - 4%phi1 g l)tan(-----)
+--R                                               2
+--R     + 
+--R            2             theta          3           2            3
+--R     (8%phi1  + 8)g l tan(-----) + (%phi1  - 2%phi1)v  + (- 4%phi1  - 4%phi1)g l
+--R                            2
+--R  /
+--R      2    theta 2    2
+--R     v tan(-----)  + v  - 4g l
+--R             2
+--R                                                     Type: Expression Integer
+--E 3
+
+--S 4 of 4
+)show TransSolvePackage
+--R 
+--R TransSolvePackage R: Join(OrderedSet,EuclideanDomain,RetractableTo Integer,LinearlyExplicitRingOver Integer,CharacteristicZero)  is a package constructor
+--R Abbreviation for TransSolvePackage is SOLVETRA 
+--R This constructor is exposed in this frame.
+--R Issue )edit bookvol10.4.spad.pamphlet to see algebra source code for SOLVETRA 
+--R
+--R------------------------------- Operations --------------------------------
+--R solve : Expression R -> List Equation Expression R
+--R solve : Equation Expression R -> List Equation Expression R
+--R solve : (Equation Expression R,Symbol) -> List Equation Expression R
+--R solve : (Expression R,Symbol) -> List Equation Expression R
+--R solve : (List Equation Expression R,List Symbol) -> List List Equation Expression R
+--R
+--E 4
+
+)spool
+
+@
+<<TransSolvePackage.help>>=
+====================================================================
+TransSolvePackage examples
+====================================================================
+
+solve(1/2*v*v*cos(theta+phi)*cos(theta+phi)+g*l*cos(phi)=g*l,phi)
+
+definingPolynomial %phi0
+
+definingPolynomial %phi1
+
+See Also:
+o )show TransSolvePackage
+
+@
 \pagehead{TransSolvePackage}{SOLVETRA}
 \pagepic{ps/v104transsolvepackage.ps}{SOLVETRA}{1.00}
 
@@ -144033,6 +144295,11 @@ TransSolvePackage(R) : Exports == Implementation where
        ++ solve(expr,x) finds the solutions of the equation expr = 0
        ++ with respect to the symbol x where expr is a function
        ++ of type Expression(R).
+       ++
+       ++X solve(1/2*v*v*cos(theta+phi)*cos(theta+phi)+g*l*cos(phi)=g*l,phi)
+       ++X definingPolynomial %phi0
+       ++X definingPolynomial %phi1
+
      solve :  (L EQ RE, L S) -> L L EQ RE
        ++ solve(leqs, lvar) returns a list of solutions to the list of 
        ++ equations leqs with respect to the list of symbols lvar.
diff --git a/changelog b/changelog
index 9f43f13..a93333e 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,6 @@
+20090716 tpd src/axiom-website/patches.html 20090716.01.tpd.patch
+20090716 tpd src/algebra/Makefile add SOLVTRA help, regress
+20090716 tpd books/bookvol10.4 add SOLVTRA regress, help, examples
 20090712 tpd src/axiom-website/patches.html 20090712.07.tpd.patch
 20090712 tpd src/interp/Makefile remove br-saturn
 20090712 tpd src/interp/br-con.boot merge br-saturn.boot
diff --git a/src/algebra/Makefile.pamphlet b/src/algebra/Makefile.pamphlet
index ec15b71..c9fe4f1 100644
--- a/src/algebra/Makefile.pamphlet
+++ b/src/algebra/Makefile.pamphlet
@@ -16509,8 +16509,9 @@ SPADHELP=\
  ${HELP}/SquareFreeRegularTriangularSet.help ${HELP}/Stack.help \
  ${HELP}/Stream.help                 ${HELP}/String.help \
  ${HELP}/StringTable.help            ${HELP}/Symbol.help \
- ${HELP}/TexFormat.help \
+ ${HELP}/TexFormat.help              \
  ${HELP}/Table.help                  ${HELP}/TextFile.help \
+ ${HELP}/TransSolvePackage.help \
  ${HELP}/TwoDimensionalArray.help    ${HELP}/TwoDimensionalViewport.help \
  ${HELP}/UnivariateSkewPolynomial.help \
  ${HELP}/UnivariatePolynomial.help   ${HELP}/UniversalSegment.help \
@@ -16591,7 +16592,7 @@ REGRESS= Any.regress \
  Stream.regress                 String.regress \
  StringTable.regress            Symbol.regress \
  Table.regress                  TexFormat.regress \
- TextFile.regress \
+ TextFile.regress               TransSolvePackage.regress \
  TwoDimensionalArray.regress    UnivariateSkewPolynomial.regress \
  UnivariatePolynomial.regress   UniversalSegment.regress \
  Vector.regress                 Void.regress \
@@ -17825,6 +17826,16 @@ ${HELP}/TextFile.help: ${BOOKS}/bookvol10.3.pamphlet
             >${INPUT}/TextFile.input
 	@echo "TextFile (TEXTFILE)" >>${HELPFILE}
 
+${HELP}/TransSolvePackage.help: ${BOOKS}/bookvol10.4.pamphlet
+	@echo 8155 create TransSolvePackage.help from \
+           ${BOOKS}/bookvol10.4.pamphlet
+	@${TANGLE} -R"TransSolvePackage.help" ${BOOKS}/bookvol10.4.pamphlet \
+           >${HELP}/TransSolvePackage.help
+	@cp ${HELP}/TransSolvePackage.help ${HELP}/SOLVETRA.help
+	@${TANGLE} -R"TransSolvePackage.input" ${BOOKS}/bookvol10.4.pamphlet \
+            >${INPUT}/TransSolvePackage.input
+	@echo "TransSolvePackage (SOLVETRA)" >>${HELPFILE}
+
 ${HELP}/TwoDimensionalArray.help: ${BOOKS}/bookvol10.3.pamphlet
 	@echo 8160 create TwoDimensionalArray.help from \
            ${BOOKS}/bookvol10.3.pamphlet
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index 41872b4..6b2b254 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -1723,5 +1723,7 @@ merge br-con and br-util<br/>
 merge br-con and br-prof<br/>
 <a href="patches/20090712.07.tpd.patch">20090712.07.tpd.patch</a>
 merge br-con and br-saturn<br/>
+<a href="patches/20090716.01.tpd.patch">20090716.01.tpd.patch</a>
+books/bookvol10.4 add SOLVTRA regress, help, examples<br/>
  </body>
 </html>
