diff --git a/changelog b/changelog
index 6759e97..38e83c3 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,5 @@
+20091219 tpd src/axiom-website/patches.html 20091219.02.tpd.patch
+20091219 tpd src/axiom-website/hyperdoc files added
 20091219 tpd src/axiom-website/patches.html 20091219.01.lxd.patch
 20091219 lxd books/bookvol7.1 fix typos
 20091219 lxd books/bookvol1 fix typos
diff --git a/src/axiom-website/hyperdoc/Makefile b/src/axiom-website/hyperdoc/Makefile
new file mode 100644
index 0000000..ed35f68
--- /dev/null
+++ b/src/axiom-website/hyperdoc/Makefile
@@ -0,0 +1,416 @@
+TANGLE=${AXIOM}/bin/lib/notangle
+
+%.xhtml: bookvol11.pamphlet
+	@ echo making $*.xhtml
+	@ ${TANGLE} -R"$*.xhtml" bookvol11.pamphlet > $*.xhtml
+
+PAGES=rootpage.xhtml \
+        commandline.xhtml \
+        basiccommand.xhtml \
+        tutorial.xhtml \
+        jenks.xhtml \
+          calculus.xhtml \
+            differentiate.xhtml \
+            indefiniteintegral.xhtml \
+            definiteintegral.xhtml \
+            basiclimit.xhtml \
+              reallimit.xhtml \
+              complexlimit.xhtml \
+              summation.xhtml \
+          bcmatrix.xhtml \
+          bcexpand.xhtml \
+          draw.xhtml \
+            draw2donevariable.xhtml \
+            draw2ddefinedcurve.xhtml \
+            draw2dpolynomialequation.xhtml \
+            draw3dtwovariable.xhtml \
+            draw3ddefinedtube.xhtml \
+            draw3ddefinedsurface.xhtml \
+          series.xhtml \
+            seriesexpand.xhtml \
+            taylorseries.xhtml \
+            laurentseries.xhtml \
+            puiseuxseries.xhtml \
+          solve.xhtml \
+            solvelinearequations.xhtml \
+            solvelinearmatrix.xhtml \
+            solvesystempolynomials.xhtml \
+            solvesinglepolynomial.xhtml \
+        topreferencepage.xhtml \
+          releasenotes.xhtml \
+          usersguidepage.xhtml \
+          aldorusersguidepage.xhtml \
+          foundationlibrarydocpage.xhtml \
+          topicspage.xhtml \
+            cats.xhtml \
+            dlmf.xhtml \
+            dlmfapproximations.xhtml \
+            dlmfasymptoticexpansions.xhtml \
+            dlmfbarnesgfunction.xhtml \
+            dlmfbetafunction.xhtml \
+            dlmfcontinuedfractions.xhtml \
+            dlmfdefinitions.xhtml \
+            dlmffunctionrelations.xhtml \
+            dlmfgraphics.xhtml \
+            dlmfinequalities.xhtml \
+            dlmfinfiniteproducts.xhtml \
+            dlmfintegrals.xhtml \
+            dlmfintegralrepresentations.xhtml \
+            dlmfmathematicalapplications.xhtml \
+            dlmfmethodsofcomputation.xhtml \
+            dlmfmultidimensionalintegral.xhtml \
+            dlmfnotation.xhtml \
+            dlmfphysicalapplications.xhtml \
+            dlmfpolygammafunctions.xhtml \
+            dlmfqgammaandbetafunctions.xhtml \
+            dlmfseriesexpansions.xhtml \
+            dlmfsums.xhtml \
+            dlmfsoftware.xhtml \
+            dlmfspecialvaluesandextrema.xhtml \
+            dlmftables.xhtml \
+          uglangpage.xhtml \
+          examplesexposedpage.xhtml \
+          ugsyscmdpage.xhtml \
+          operations.xhtml \
+          dblookup.xhtml \
+            dbcharacteristic.xhtml \
+              dbcomplexcomplex.xhtml \
+              dbcomplexconjugate.xhtml \
+              dbcomplexfactor.xhtml \
+              dbcompleximag.xhtml \
+              dbcomplexnorm.xhtml \
+              dbcomplexreal.xhtml \
+            dbcomplexdoublefloat.xhtml \
+            dbcomplexfloat.xhtml \
+            dbcomplexinteger.xhtml \
+            dbexpressioninteger.xhtml \
+            dbfractioninteger.xhtml \
+            dbfractionpolynomialinteger.xhtml \
+            dbopbinary.xhtml \
+            dbopacos.xhtml \
+            dbopacosh.xhtml \
+            dbopacot.xhtml \
+            dbopacoth.xhtml \
+            dbopacsc.xhtml \
+            dbopacsch.xhtml \
+            dbopaddmod.xhtml \
+            dbopairyai.xhtml \
+            dbopairybi.xhtml \
+            dbopapproximants.xhtml \
+            dbopasin.xhtml \
+            dbopasinh.xhtml \
+            dbopasec.xhtml \
+            dbopasech.xhtml \
+            dbopatan.xhtml \
+            dbopatanh.xhtml \
+            dbopbesseli.xhtml \
+            dbopbesselj.xhtml \
+            dbopbesselk.xhtml \
+            dbopbessely.xhtml \
+            dbopbeta.xhtml \
+            dbopcardinalnumber.xhtml \
+            dbopcoefficient.xhtml \
+            dbopcoefficients.xhtml \
+            dbopcoerce.xhtml \
+            dbopcolumn.xhtml \
+            dbopcompactfraction.xhtml \
+            dbopcomplexeigenvectors.xhtml \
+            dbopcomplexelementary.xhtml \
+            dbopcomplexintegrate.xhtml \
+            dbopcomplexlimit.xhtml \
+            dbopcomplexsolve.xhtml \
+            dbopcontent.xhtml \
+            dbopcontinuedfraction.xhtml \
+            dbopconvergents.xhtml \
+            dbopcopy.xhtml \
+            dbopcos.xhtml \
+            dbopcosh.xhtml \
+            dbopcot.xhtml \
+            dbopcoth.xhtml \
+            dbopcount.xhtml \
+            dbopcountableq.xhtml \
+            dbopcsc.xhtml \
+            dbopcsch.xhtml \
+            dbopcycleragits.xhtml \
+            dbopd.xhtml \
+            dbopdecimal.xhtml \
+            dbopdefiningpolynomial.xhtml \
+            dbopdegree.xhtml \
+            dbopdenom.xhtml \
+            dbopdeterminant.xhtml \
+            dbopdiagonalmatrix.xhtml \
+            dbopdigamma.xhtml \
+            dbopdigits.xhtml \
+            dbopdimension.xhtml \
+            dbopdivide.xhtml \
+            dbopeigenmatrix.xhtml \
+            dbopeigenvalues.xhtml \
+            dbopeigenvector.xhtml \
+            dbopeigenvectors.xhtml \
+            dbopelt.xhtml \
+            dbopeval.xhtml \
+            dbopevenq.xhtml \
+            dbopexp.xhtml \
+            dbopfactor.xhtml \
+            dbopfactorfraction.xhtml \
+            dbopfiniteq.xhtml \
+            dbopfirstdenom.xhtml \
+            dbopfirstnumer.xhtml \
+            dbopfractragits.xhtml \
+            dbopgamma.xhtml \
+            dbopgcd.xhtml \
+            dbophex.xhtml \
+            dbophorizconcat.xhtml \
+            dbophtrigs.xhtml \
+            dbophypergeometric0f1.xhtml \
+            dbopinteger.xhtml \
+            dbopintegrate.xhtml \
+            dbopinverse.xhtml \
+            dbopinvmod.xhtml \
+            dboplaurent.xhtml \
+            dboplcm.xhtml \
+            dbopleadingcoefficient.xhtml \
+            dbopleadingmonomial.xhtml \
+            dboplength.xhtml \
+            dboplimit.xhtml \
+            dboplog.xhtml \
+            dboploggamma.xhtml \
+            dbopmainvariable.xhtml \
+            dbopmap.xhtml \
+            dbopmapbang.xhtml \
+            dbopmatrix.xhtml \
+            dbopmax.xhtml \
+            dbopmemberq.xhtml \
+            dbopmin.xhtml \
+            dbopminimumdegree.xhtml \
+            dbopminus.xhtml \
+            dbopmonicdivide.xhtml \
+            dbopmulmod.xhtml \
+            dbopncols.xhtml \
+            dbopnew.xhtml \
+            dbopnorm.xhtml \
+            dbopnrows.xhtml \
+            dbopnthfractionalterm.xhtml \
+            dbopnthroot.xhtml \
+            dbopnullity.xhtml \
+            dbopnullspace.xhtml \
+            dbopnumberoffractionalterms.xhtml \
+            dbopnumer.xhtml \
+            dbopnumeric.xhtml \
+            dbopoperator.xhtml \
+            dboporthonormalbasis.xhtml \
+            dboppadicfraction.xhtml \
+            dboppartialfraction.xhtml \
+            dboppartialquotients.xhtml \
+            dboppattern.xhtml \
+            dboppermanent.xhtml \
+            dboppi.xhtml \
+            dbopplus.xhtml \
+            dboppolygamma.xhtml \
+            dboppositiveremainder.xhtml \
+            dbopprefixragits.xhtml \
+            dbopprimefactor.xhtml \
+            dboppuiseux.xhtml \
+            dbopqelt.xhtml \
+            dbopqseteltbang.xhtml \
+            dbopquatern.xhtml \
+            dbopquo.xhtml \
+            dbopradicaleigenvectors.xhtml \
+            dbopradicalsolve.xhtml \
+            dboprank.xhtml \
+            dbopratdenom.xhtml \
+            dboprealeigenvectors.xhtml \
+            dboprealelementary.xhtml \
+            dbopreduce.xhtml \
+            dbopreductum.xhtml \
+            dboprem.xhtml \
+            dbopresetvariableorder.xhtml \
+            dbopresultant.xhtml \
+            dboprootof.xhtml \
+            dboprootsimp.xhtml \
+            dboprootsof.xhtml \
+            dboprow.xhtml \
+            dboprowechelon.xhtml \
+            dbopsetcolumnbang.xhtml \
+            dbopsetelt.xhtml \
+            dbopseteltbang.xhtml \
+            dbopsetrowbang.xhtml \
+            dbopsetsubmatrixbang.xhtml \
+            dbopsimplify.xhtml\
+            dbopsec.xhtml \
+            dbopsech.xhtml \
+            dbopseries.xhtml \
+            dbopseriessolve.xhtml \
+            dbopsin.xhtml \
+            dbopsingleintegerand.xhtml \
+            dbopsingleintegernot.xhtml \
+            dbopsingleintegeror.xhtml \
+            dbopsingleintegerxor.xhtml \
+            dbopsinh.xhtml \
+            dbopsetvariableorder.xhtml \
+            dbopsolve.xhtml \
+            dbopsqrt.xhtml \
+            dbopstar.xhtml \
+            dbopstarstar.xhtml \
+            dbopsubmatrix.xhtml \
+            dbopsubmatrix.xhtml \
+            dbopsubmod.xhtml \
+            dboptan.xhtml \
+            dboptanh.xhtml \
+            dboptaylor.xhtml \
+            dboptimes.xhtml \
+            dboptotaldegree.xhtml \
+            dboptrace.xhtml \
+            dboptranspose.xhtml \
+            dboptrigs.xhtml \
+            dbopvariables.xhtml \
+            dbopvectorise.xhtml \
+            dbopvectorspace.xhtml \
+            dbopvertconcat.xhtml \
+            dbopwholepart.xhtml \
+            dbopwholeragits.xhtml \
+            dbopzeroof.xhtml \
+            dbopzerosof.xhtml \
+            dbpolynomialinteger.xhtml \
+            dbpolynomialfractioninteger.xhtml \
+          systemvariables.xhtml \
+          glossarypage.xhtml \
+          htxtoppage.xhtml \
+          refsearchpage.xhtml \
+        topicspage.xhtml \
+          numberspage.xhtml \
+            numintegers.xhtml \
+              numgeneralinfo.xhtml \
+              numfactorization.xhtml \
+              numfunctions.xhtml \
+              numexamples.xhtml \
+              numproblems.xhtml \
+            numfractions.xhtml \
+              numrationalnumbers.xhtml \
+              numquotientfields.xhtml \
+            nummachinefloats.xhtml \
+            numfloat.xhtml \
+            numcomplexnumbers.xhtml \
+            numfinitefields.xhtml \
+            numnumericfunctions.xhtml \
+            numcardinalnumbers.xhtml \
+            nummachinesizedintegers.xhtml \
+            numromannumerals.xhtml \
+            numcontinuedfractions.xhtml \
+            numpartialfractions.xhtml \
+            numquaternions.xhtml \
+            numoctonions.xhtml \
+            numrepeatingdecimals.xhtml \
+            numrepeatingbinaryexpansions.xhtml \
+            numrepeatinghexexpansions.xhtml \
+            numotherbases.xhtml \
+          polynomialpage.xhtml \
+            polybasicfunctions.xhtml \
+            polysubstitutions.xhtml \
+            polyfactorization.xhtml \
+              polyfactorization1.xhtml \
+              polyfactorization2.xhtml \
+              polyfactorization3.xhtml \
+              polyfactorization4.xhtml \
+            polygcdandfriends.xhtml \
+            polyroots.xhtml \
+              polyroots1.xhtml \
+              polyroots2.xhtml \
+              polyroots3.xhtml \
+              polyroots4.xhtml \
+            polyspecifictypes.xhtml \
+              polyspecifictypes1.xhtml \
+                factored.xhtml \
+              polyspecifictypes2.xhtml \
+              polyspecifictypes3.xhtml \
+              polyspecifictypes4.xhtml \
+          functionpage.xhtml \
+            funrationalfunctions.xhtml \
+            funalgebraicfunctions.xhtml \
+            funelementaryfunctions.xhtml \
+            funsimplification.xhtml \
+            funpatternmatching.xhtml \
+            funoperatoralgebra.xhtml \
+          equationpage.xhtml \
+            equsystemlinear.xhtml \
+            equdifferential.xhtml \
+              equdifferentiallinear.xhtml \
+              equdifferentialnonlinear.xhtml \
+              equdifferentialpowerseries.xhtml \
+          calculuspage.xhtml \
+            callimits.xhtml \
+            calderivatives.xhtml \
+            calintegrals.xhtml \
+            calmoreintegrals.xhtml \
+            callaplace.xhtml \
+            calseries.xhtml \
+              calseries1.xhtml \
+              calseries2.xhtml \
+              calseries3.xhtml \
+              calseries4.xhtml \
+              calseries5.xhtml \
+              calseries6.xhtml \
+              calseries7.xhtml \
+              calseries8.xhtml \
+          linalgpage.xhtml \
+            linintro.xhtml \
+            lincreate.xhtml \
+            linoperations.xhtml \
+            lineigen.xhtml \
+            linhilbert.xhtml \
+            linpermaent.xhtml \
+            linvectors.xhtml \
+            linsquarematrices.xhtml \
+            lin1darrays.xhtml \
+            lin2darrays.xhtml \
+            linconversion.xhtml \
+          graphicspage.xhtml \
+            graphexamples.xhtml \
+            graph2d.xhtml \
+            graph3d.xhtml \
+            graphviewports.xhtml \
+          algebrapage.xhtml \
+            algnumbertheory.xhtml \
+            alggrouptheory.xhtml \
+          cryptopage.xhtml \
+            cryptoclass1.xhtml \
+            cryptoclass2.xhtml \
+            cryptoclass3.xhtml \
+            cryptoclass4.xhtml \
+            cryptoclass5.xhtml \
+            cryptoclass6.xhtml \
+            cryptoclass7.xhtml \
+            cryptoclass8.xhtml \
+            cryptoclass9.xhtml \
+            cryptoclass10.xhtml \
+            cryptoclass11.xhtml \
+          ocwmit18085.xhtml \
+            ocwmit18085lecture1.xhtml \
+            ocwmit18085lecture2.xhtml \
+        man0page.xhtml \
+        topexamplepage.xhtml \
+        topsettingspage.xhtml \
+        axiomfonts.xhtml \
+        pagelist.xhtml \
+        pagematrix.xhtml \
+        pageonedimensionalarray.xhtml \
+        pagepermanent.xhtml \
+        pageset.xhtml \
+        pagesquarematrix.xhtml \
+        pagetable.xhtml \
+        pagetwodimensionalarray.xhtml \
+        pagevector.xhtml 
+
+
+all: ${PAGES}
+	@ mkdir -p bitmaps
+	@ ${TANGLE} -R"axiom1.bitmap" bookvol11.pamphlet >bitmaps/axiom1.bitmap
+	@ ${TANGLE} -R"rcm3720.input" bookvol11.pamphlet >rcm3720.input
+	@ ${TANGLE} -R"strang.input" bookvol11.pamphlet >strang.input
+	@ ${TANGLE} -R"signatures.txt" bookvol11.pamphlet >signatures.txt
+
+clean:
+	@ rm -rf bitmaps
+	@ rm -f *.xhtml
+	@ rm -f rcm3720.input
+	@ rm -f signatures.txt
diff --git a/src/axiom-website/hyperdoc/aldorusersguidepage.xhtml b/src/axiom-website/hyperdoc/aldorusersguidepage.xhtml
new file mode 100644
index 0000000..1cb3229
--- /dev/null
+++ b/src/axiom-website/hyperdoc/aldorusersguidepage.xhtml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<html xmlns="http://www.w3.org/1999/xhtml" 
+      xmlns:xlink="http://www.w3.org/1999/xlink"
+      xmlns:m="http://www.w3.org/1998/Math/MathML">
+ <head>
+  <meta http-equiv="Content-Type" content="text/html" charset="us-ascii"/>
+  <title>Axiom Documentation</title>
+  <style>
+
+   html {
+     background-color: #FFFF66;
+   }
+
+   body { 
+     margin: 0px;
+     padding: 0px;
+   }
+
+   div.command { 
+     color:red;
+   }
+
+   div.center {
+     color:blue;
+   }
+
+   div.reset {
+     visibility:hidden;
+   }
+
+   div.mathml { 
+     color:blue;
+   }
+
+   input.subbut {
+     background-color:#FFFF66;
+     border: 0;
+     color:green;
+     font-family: "Courier New", Courier, monospace;
+   }
+
+   input.noresult {
+     background-color:#FFFF66;
+     border: 0;
+     color:black;
+     font-family: "Courier New", Courier, monospace;
+   }
+
+   span.cmd { 
+     color:green;
+     font-family: "Courier New", Courier, monospace;
+   }
+
+   pre {
+     font-family: "Courier New", Courier, monospace;
+   }
+  </style>
+ </head>
+ <body>
+  <div align="center"><img align="middle" src="doctitle.png"/></div>
+  <hr/>
+aldorusersguidepage not implemented
+ </body>
+</html>
diff --git a/src/axiom-website/hyperdoc/algebrapage.xhtml b/src/axiom-website/hyperdoc/algebrapage.xhtml
new file mode 100644
index 0000000..6f9bfdf
--- /dev/null
+++ b/src/axiom-website/hyperdoc/algebrapage.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<html xmlns="http://www.w3.org/1999/xhtml" 
+      xmlns:xlink="http://www.w3.org/1999/xlink"
+      xmlns:m="http://www.w3.org/1998/Math/MathML">
+ <head>
+  <meta http-equiv="Content-Type" content="text/html" charset="us-ascii"/>
+  <title>Axiom Documentation</title>
+  <style>
+
+   html {
+     background-color: #FFFF66;
+   }
+
+   body { 
+     margin: 0px;
+     padding: 0px;
+   }
+
+   div.command { 
+     color:red;
+   }
+
+   div.center {
+     color:blue;
+   }
+
+   div.reset {
+     visibility:hidden;
+   }
+
+   div.mathml { 
+     color:blue;
+   }
+
+   input.subbut {
+     background-color:#FFFF66;
+     border: 0;
+     color:green;
+     font-family: "Courier New", Courier, monospace;
+   }
+
+   input.noresult {
+     background-color:#FFFF66;
+     border: 0;
+     color:black;
+     font-family: "Courier New", Courier, monospace;
+   }
+
+   span.cmd { 
+     color:green;
+     font-family: "Courier New", Courier, monospace;
+   }
+
+   pre {
+     font-family: "Courier New", Courier, monospace;
+   }
+  </style>
+ </head>
+ <body>
+  <div align="center"><img align="middle" src="doctitle.png"/></div>
+  <hr/>
+Axiom provides various facilities for treating topics in 
+abstract algebra
+  <table>
+   <tr>
+    <td>
+     <a href="algnumbertheory.xhtml">Number Theory</a>
+    </td>
+    <td>
+     Topics in algebraic number theory
+    </td>
+   </tr>
+   <tr>
+    <td>
+     <a href="alggrouptheory.xhtml">Group Theory</a>
+    </td>
+    <td>
+     Permuation groups; representation theory
+    </td>
+   </tr>
+  </table>
+ </body>
+</html>
diff --git a/src/axiom-website/hyperdoc/alggrouptheory.xhtml b/src/axiom-website/hyperdoc/alggrouptheory.xhtml
new file mode 100644
index 0000000..e370056
--- /dev/null
+++ b/src/axiom-website/hyperdoc/alggrouptheory.xhtml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<html xmlns="http://www.w3.org/1999/xhtml" 
+      xmlns:xlink="http://www.w3.org/1999/xlink"
+      xmlns:m="http://www.w3.org/1998/Math/MathML">
+ <head>
+  <meta http-equiv="Content-Type" content="text/html" charset="us-ascii"/>
+  <title>Axiom Documentation</title>
+  <style>
+
+   html {
+     background-color: #FFFF66;
+   }
+
+   body { 
+     margin: 0px;
+     padding: 0px;
+   }
+
+   div.command { 
+     color:red;
+   }
+
+   div.center {
+     color:blue;
+   }
+
+   div.reset {
+     visibility:hidden;
+   }
+
+   div.mathml { 
+     color:blue;
+   }
+
+   input.subbut {
+     background-color:#FFFF66;
+     border: 0;
+     color:green;
+     font-family: "Courier New", Courier, monospace;
+   }
+
+   input.noresult {
+     background-color:#FFFF66;
+     border: 0;
+     color:black;
+     font-family: "Courier New", Courier, monospace;
+   }
+
+   span.cmd { 
+     color:green;
+     font-family: "Courier New", Courier, monospace;
+   }
+
+   pre {
+     font-family: "Courier New", Courier, monospace;
+   }
+  </style>
+ </head>
+ <body>
+  <div align="center"><img align="middle" src="doctitle.png"/></div>
+  <hr/>
+      alggrouptheory not implemented
+ </body>
+</html>
diff --git a/src/axiom-website/hyperdoc/algnumbertheory.xhtml b/src/axiom-website/hyperdoc/algnumbertheory.xhtml
new file mode 100644
index 0000000..77fe978
--- /dev/null
+++ b/src/axiom-website/hyperdoc/algnumbertheory.xhtml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<html xmlns="http://www.w3.org/1999/xhtml" 
+      xmlns:xlink="http://www.w3.org/1999/xlink"
+      xmlns:m="http://www.w3.org/1998/Math/MathML">
+ <head>
+  <meta http-equiv="Content-Type" content="text/html" charset="us-ascii"/>
+  <title>Axiom Documentation</title>
+  <style>
+
+   html {
+     background-color: #FFFF66;
+   }
+
+   body { 
+     margin: 0px;
+     padding: 0px;
+   }
+
+   div.command { 
+     color:red;
+   }
+
+   div.center {
+     color:blue;
+   }
+
+   div.reset {
+     visibility:hidden;
+   }
+
+   div.mathml { 
+     color:blue;
+   }
+
+   input.subbut {
+     background-color:#FFFF66;
+     border: 0;
+     color:green;
+     font-family: "Courier New", Courier, monospace;
+   }
+
+   input.noresult {
+     background-color:#FFFF66;
+     border: 0;
+     color:black;
+     font-family: "Courier New", Courier, monospace;
+   }
+
+   span.cmd { 
+     color:green;
+     font-family: "Courier New", Courier, monospace;
+   }
+
+   pre {
+     font-family: "Courier New", Courier, monospace;
+   }
+  </style>
+ </head>
+ <body>
+  <div align="center"><img align="middle" src="doctitle.png"/></div>
+  <hr/>
+      algnumbertheory not implemented
+ </body>
+</html>
diff --git a/src/axiom-website/hyperdoc/axbook.tgz b/src/axiom-website/hyperdoc/axbook.tgz
new file mode 100644
index 0000000..1f24460
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook.tgz differ
diff --git a/src/axiom-website/hyperdoc/axbook/book-contents.diff b/src/axiom-website/hyperdoc/axbook/book-contents.diff
new file mode 100644
index 0000000..670cdc1
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/book-contents.diff
@@ -0,0 +1,158 @@
+--- /tmp/axbook/book-contents.xhtml	2007-10-08 16:32:41.000000000 -0400
++++ book-contents.xhtml	2007-10-03 16:07:31.000000000 -0400
+@@ -17,6 +17,7 @@
+ 
+   <body>
+ 
++<a name="chapter0"/>
+ <h3>Chapter 0: Introduction to Axiom</h3>
+ <a href="section-0.1.xhtml">0.1 Introduction to Axiom</a><br/>
+ <a href="section-0.1.xhtml#subsec-0.1.1" class="subseccontents">0.1.1 Symbolic Computation</a><br/>
+@@ -71,6 +72,7 @@
+ <a href="section-0.7.xhtml#subsubsec-0.7.5.2" class="subsubseccontents">0.7.5.2 The <span class="teletype">while</span> loop</a><br/>
+ <a href="section-0.7.xhtml#subsubsec-0.7.5.3" class="subsubseccontents">0.7.5.3 The <span class="teletype">for</span> loop</a><br/>
+ 
++<a name="chapter1"/>
+ <h3>Chapter 1: An Overview of Axiom</h3>
+ <a href="section-1.0.xhtml">1.0 An Overview of Axiom</a><br/>
+ <a href="section-1.1.xhtml">1.1 Starting Up and Winding Down</a><br/>
+@@ -101,6 +103,7 @@
+ <a href="section-1.15.xhtml#subsec-1.15.1" class="subseccontents">1.15.1 Undo</a><br/>
+ <a href="section-1.16.xhtml">1.16 Graphics</a><br/>
+ 
++<a name="chapter2"/>
+ <h3>Chapter 2: Using Types and Modes</h3>
+ <a href="section-2.0.xhtml">2.0 Using Types and Modes</a><br/>
+ <a href="section-2.1.xhtml">2.1 The Basic Idea</a><br/>
+@@ -124,6 +127,7 @@
+ <a href="section-2.11.xhtml">2.11 Exposing Domains and Packages</a><br/>
+ <a href="section-2.12.xhtml">2.12 Commands for Snooping</a><br/>
+ 
++<a name="chapter3"/>
+ <h3>Chapter 3: Using HyperDoc</h3>
+ <a href="section-3.0.xhtml">3.0 Using HyperDoc</a><br/>
+ <a href="section-3.1.xhtml">3.1 Headings</a><br/>
+@@ -136,6 +140,7 @@
+ <a href="section-3.7.xhtml">3.7 Example Pages</a><br/>
+ <a href="section-3.8.xhtml">3.8 X Window Resources for HyperDoc</a><br/>
+ 
++<a name="chapter4"/>
+ <h3>Chapter 4: Input Files and Output Styles</h3>
+ <a href="section-4.0.xhtml">4.0 Input Files and Output Styles</a><br/>
+ <a href="section-4.1.xhtml">4.1 Input Files</a><br/>
+@@ -146,6 +151,7 @@
+ <a href="section-4.6.xhtml">4.6 IBM Script Formula Format</a><br/>
+ <a href="section-4.7.xhtml">4.7 FORTRAN Format</a><br/>
+ 
++<a name="chapter5"/>
+ <h3>Chapter 5: Overview of Interactive Language</h3>
+ <a href="section-5.0.xhtml">5.0 Interactive Language</a><br/>
+ <a href="section-5.1.xhtml">5.1 Immediate and Delayed Assignments</a><br/>
+@@ -170,6 +176,7 @@
+ <a href="section-5.5.xhtml">5.5 Creating Lists and Streams with Iterators</a><br/>
+ <a href="section-5.6.xhtml">5.6 An Example: Streams of Primes</a><br/>
+ 
++<a name="chapter6"/>
+ <h3>Chapter 6: User-Defined Functions, Macros and Rules</h3>
+ <a href="section-6.0.xhtml">6.0 Functions, Macros and Rules</a><br/>
+ <a href="section-6.1.xhtml">6.1 Functions vs. Macros</a><br/>
+@@ -199,6 +206,7 @@
+ <a href="section-6.20.xhtml">6.20 Example: Testing for Palindromes</a><br/>
+ <a href="section-6.21.xhtml">6.21 Rules and Pattern Matching</a><br/>
+ 
++<a name="chapter7"/>
+ <h3>Chapter 7: Graphics</h3>
+ <a href="section-7.0.xhtml">7.0 Graphics</a><br/>
+ <a href="section-7.1.xhtml">7.1 Two-Dimensional Graphics</a><br/>
+@@ -238,6 +246,7 @@
+ <a href="section-7.2.xhtml#subsec-7.2.10" class="subseccontents">7.2.10 Operations for Three-Dimensional Graphics</a><br/>
+ <a href="section-7.2.xhtml#subsec-7.2.11" class="subseccontents">7.2.11 Customization using .Xdefaults</a><br/>
+ 
++<a name="chapter8"/>
+ <h3>Chapter 8: Advanced Problem Solving</h3>
+ <a href="section-8.0.xhtml">8.0 Advanced Problem Solving</a><br/>
+ <a href="section-8.1.xhtml">8.1 Numeric Functions</a><br/>
+@@ -282,6 +291,7 @@
+ <a href="section-8.13.xhtml">8.13 Computation of Galois Groups</a><br/>
+ <a href="section-8.14.xhtml">8.14 Non-Associative Algebras and Modelling Genetic Laws</a><br/>
+ 
++<a name="chapter9"/>
+ <h3>Chapter 9: Some Examples of Domains and Packages</h3>
+ <a href="section-9.1.xhtml">9.1 AssociationList</a><br/>
+ <a href="section-9.2.xhtml">9.2 BalancedBinaryTree</a><br/>
+@@ -418,6 +428,7 @@
+ <a href="section-9.90.xhtml">9.90 XPolynomialRing</a><br/>
+ <a href="section-9.91.xhtml">9.91 ZeroDimensionalSolvePackage</a><br/>
+ 
++<a name="chapter10"/>
+ <h3>Chapter 10: Interactive Programming</h3>
+ <a href="section-10.0.xhtml">10.0 Interactive Programming</a><br/>
+ <a href="section-10.1.xhtml">10.1 Drawing Ribbons Interactively</a><br/>
+@@ -431,6 +442,7 @@
+ <a href="section-10.9.xhtml">10.9 Functions Producing Functions</a><br/>
+ <a href="section-10.10.xhtml">10.10 Automatic Newton Iteration Formulas</a><br/>
+ 
++<a name="chapter11"/>
+ <h3>Chapter 11: Packages</h3>
+ <a href="section-11.0.xhtml">11.0 Packages</a><br/>
+ <a href="section-11.1.xhtml">11.1 Names, Abbreviations, and File Structure</a><br/>
+@@ -444,6 +456,7 @@
+ <a href="section-11.9.xhtml">11.9 Testing</a><br/>
+ <a href="section-11.10.xhtml">11.10 How Packages Work</a><br/>
+ 
++<a name="chapter12"/>
+ <h3>Chapter 12: Categories</h3>
+ <a href="section-12.0.xhtml">12.0 Categories</a><br/>
+ <a href="section-12.1.xhtml">12.1 Definitions</a><br/>
+@@ -459,6 +472,7 @@
+ <a href="section-12.11.xhtml">12.11 Conditionals</a><br/>
+ <a href="section-12.12.xhtml">12.12 Anonymous Categories</a><br/>
+ 
++<a name="chapter13"/>
+ <h3>Chapter 13: Domains</h3>
+ <a href="section-13.0.xhtml">13.0 Domains</a><br/>
+ <a href="section-13.1.xhtml">13.1 Domains vs. Packages</a><br/>
+@@ -483,6 +497,7 @@
+ <a href="section-13.13.xhtml#subsec-13.13.7" class="subseccontents">13.13.7 Putting It All Together</a><br/>
+ <a href="section-13.13.xhtml#subsec-13.13.8" class="subseccontents">13.13.8 Example Queries</a><br/>
+ 
++<a name="chapter14"/>
+ <h3>Chapter 14: Browse</h3>
+ <a href="section-14.0.xhtml">14.0 Browse</a><br/>
+ <a href="section-14.1.xhtml">14.1 The Front Page: Searching the Library</a><br/>
+@@ -540,6 +555,7 @@
+ <a href="section-14.3.xhtml#subsubsec-14.3.4.1" class="subsubseccontents">14.3.4.1 Exposure</a><br/>
+ <a href="section-14.3.xhtml#subsubsec-14.3.4.2" class="subsubseccontents">14.3.4.2 Threshold</a><br/>
+ 
++<a name="chapter15"/>
+ <h3>Chapter 15: What's New in Axiom Version 2.0</h3>
+ <a href="section-15.0.xhtml">15.0 Axiom Packages</a><br/>
+ <a href="section-15.1.xhtml">15.1 Important Things to Read First</a><br/>
+@@ -572,6 +588,7 @@
+ <a href="section-15.6.xhtml">15.6 HyperTex</a><br/>
+ <a href="section-15.7.xhtml">15.7 Documentation</a><br/>
+ 
++<a name="chapter16"/>
+ <h3>Chapter 16: Axiom System Commands</h3>
+ <a href="section-16.0.xhtml">16.0 Axiom System Commands</a><br/>
+ <a href="section-16.1.xhtml">16.1 Introduction</a><br/>
+@@ -603,15 +620,19 @@
+ <a href="section-16.27.xhtml">16.27 )undo</a><br/>
+ <a href="section-16.28.xhtml">16.28 )what</a><br/>
+ 
++<a name="chapter17"/>
+ <h3>Chapter 17: Categories</h3>
+ <a href="section-17.1.xhtml">17.1 Axiom Categories</a><br/>
+ 
++<a name="chapter18"/>
+ <h3>Chapter 18: Domains</h3>
+ <a href="section-18.1.xhtml">18.1 Axiom Domains</a><br/>
+ 
++<a name="chapter19"/>
+ <h3>Chapter 19: Packages</h3>
+ <a href="section-19.1.xhtml">19.1 Axiom Packages</a><br/>
+ 
++<a name="chapter21"/>
+ <h3>Chapter 21: Programs for AXIOM Images</h3>
+ <a href="section-21.0.xhtml">21.0 Programs for AXIOM Images</a><br/>
+ <a href="section-21.1.xhtml">21.1 images1.input</a><br/>
diff --git a/src/axiom-website/hyperdoc/axbook/book-contents.xhtml b/src/axiom-website/hyperdoc/axbook/book-contents.xhtml
new file mode 100644
index 0000000..a7935f6
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/book-contents.xhtml
@@ -0,0 +1,653 @@
+<?xml version="1.0" ?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
+"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [
+<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
+]>
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:xlink="http://www.w3.org/1999/xlink" >
+
+
+  <head>
+    <title>Axiom Book Contents</title>
+    <link rel="stylesheet" type="text/css" href="graphicstyle.css" />
+    <script type="text/javascript" src="bookax1.js" />
+  </head>
+
+  <body>
+
+<a name="chapter0"/>
+<h3>Chapter 0: Introduction to Axiom</h3>
+<a href="section-0.1.xhtml">0.1 Introduction to Axiom</a><br/>
+<a href="section-0.1.xhtml#subsec-0.1.1" class="subseccontents">0.1.1 Symbolic Computation</a><br/>
+<a href="section-0.1.xhtml#subsec-0.1.2" class="subseccontents">0.1.2 Numeric Computation</a><br/>
+<a href="section-0.1.xhtml#subsec-0.1.3" class="subseccontents">0.1.3 Graphics</a><br/>
+<a href="section-0.1.xhtml#subsec-0.1.4" class="subseccontents">0.1.4 HyperDoc</a><br/>
+<a href="section-0.1.xhtml#subsec-0.1.5" class="subseccontents">0.1.5 Interactive Programming </a><br/>
+<a href="section-0.1.xhtml#subsec-0.1.6" class="subseccontents">0.1.6 Data Structures</a><br/>
+<a href="section-0.1.xhtml#subsec-0.1.7" class="subseccontents">0.1.7 Mathematical Structures</a><br/>
+<a href="section-0.1.xhtml#subsec-0.1.8" class="subseccontents">0.1.8 Pattern Matching</a><br/>
+<a href="section-0.1.xhtml#subsec-0.1.9" class="subseccontents">0.1.9 Polymorphic Algorithms</a><br/>
+<a href="section-0.1.xhtml#subsec-0.1.10" class="subseccontents">0.1.10 Extensibility</a><br/>
+<a href="section-0.2.xhtml">0.2 A Technical Introduction</a><br/>
+<a href="section-0.2.xhtml#subsec-0.2.1" class="subseccontents">0.2.1 Types are Defined by Abstract Datatype Programs</a><br/>
+<a href="section-0.2.xhtml#subsec-0.2.2" class="subseccontents">0.2.2 The Type of Basic Objects is a Domain or Subdomain</a><br/>
+<a href="section-0.2.xhtml#subsec-0.2.3" class="subseccontents">0.2.3 Domains Have Types Called Categories</a><br/>
+<a href="section-0.2.xhtml#subsec-0.2.4" class="subseccontents">0.2.4 Operations Can Refer To Abstract Types</a><br/>
+<a href="section-0.2.xhtml#subsec-0.2.5" class="subseccontents">0.2.5 Categories Form Hierarchies</a><br/>
+<a href="section-0.2.xhtml#subsec-0.2.6" class="subseccontents">0.2.6 Domains Belong to Categories by Assertion</a><br/>
+<a href="section-0.2.xhtml#subsec-0.2.7" class="subseccontents">0.2.7 Packages Are Clusters of Polymorphic Operations</a><br/>
+<a href="section-0.2.xhtml#subsec-0.2.8" class="subseccontents">0.2.8 The Interpreter Builds Domains Dynamically</a><br/>
+<a href="section-0.2.xhtml#subsec-0.2.9" class="subseccontents">0.2.9 Axiom Code is Compiled</a><br/>
+<a href="section-0.2.xhtml#subsec-0.2.10" class="subseccontents">0.2.10 Axiom is Extensible</a><br/>
+<a href="section-0.3.xhtml">0.3 Using Axiom as a Pocket Calculator</a><br/>
+<a href="section-0.3.xhtml#subsec-0.3.1" class="subseccontents">0.3.1 Basic Arithmetic</a><br/>
+<a href="section-0.3.xhtml#subsec-0.3.2" class="subseccontents">0.3.2 Type Conversion</a><br/>
+<a href="section-0.3.xhtml#subsec-0.3.3" class="subseccontents">0.3.3 Useful Functions</a><br/>
+<a href="section-0.4.xhtml">0.4 Using Axiom as a Symbolic Calculator</a><br/>
+<a href="section-0.4.xhtml#subsec-0.4.1" class="subseccontents">0.4.1 Expressions Involving Symbols</a><br/>
+<a href="section-0.4.xhtml#subsec-0.4.2" class="subseccontents">0.4.2 Complex Numbers</a><br/>
+<a href="section-0.4.xhtml#subsec-0.4.3" class="subseccontents">0.4.3 Number Representations</a><br/>
+<a href="section-0.4.xhtml#subsec-0.4.4" class="subseccontents">0.4.4 Modular Arithmetic</a><br/>
+<a href="section-0.5.xhtml">0.5 General Points about Axiom</a><br/>
+<a href="section-0.5.xhtml#subsec-0.5.1" class="subseccontents">0.5.1 Computation Without Output</a><br/>
+<a href="section-0.5.xhtml#subsec-0.5.2" class="subseccontents">0.5.2 Accessing Earlier Results</a><br/>
+<a href="section-0.5.xhtml#subsec-0.5.3" class="subseccontents">0.5.3 Splitting Expressions Over Several Lines</a><br/>
+<a href="section-0.5.xhtml#subsec-0.5.4" class="subseccontents">0.5.4 Comments and Descriptions</a><br/>
+<a href="section-0.5.xhtml#subsec-0.5.5" class="subseccontents">0.5.5 Control of Result Types</a><br/>
+<a href="section-0.6.xhtml">0.6 Data Structures in Axiom</a><br/>
+<a href="section-0.6.xhtml#subsec-0.6.1" class="subseccontents">0.6.1 Lists</a><br/>
+<a href="section-0.6.xhtml#subsec-0.6.2" class="subseccontents">0.6.2 Segmented Lists</a><br/>
+<a href="section-0.6.xhtml#subsec-0.6.3" class="subseccontents">0.6.3 Streams</a><br/>
+<a href="section-0.6.xhtml#subsec-0.6.4" class="subseccontents">0.6.4 Arrays, Vectors, Strings, and Bits</a><br/>
+<a href="section-0.6.xhtml#subsec-0.6.5" class="subseccontents">0.6.5 Flexible Arrays</a><br/>
+<a href="section-0.7.xhtml">0.7 Functions, Choices, and Loops</a><br/>
+<a href="section-0.7.xhtml#subsec-0.7.1" class="subseccontents">0.7.1 Reading Code from a File</a><br/>
+<a href="section-0.7.xhtml#subsec-0.7.2" class="subseccontents">0.7.2 Blocks</a><br/>
+<a href="section-0.7.xhtml#subsec-0.7.3" class="subseccontents">0.7.3 Functions</a><br/>
+<a href="section-0.7.xhtml#subsec-0.7.4" class="subseccontents">0.7.4 Choices</a><br/>
+<a href="section-0.7.xhtml#subsec-0.7.5" class="subseccontents">0.7.5 Loops</a><br/>
+<a href="section-0.7.xhtml#subsubsec-0.7.5.1" class="subsubseccontents">0.7.5.1 The <span class="teletype">repeat</span> loop</a><br/>
+<a href="section-0.7.xhtml#subsubsec-0.7.5.2" class="subsubseccontents">0.7.5.2 The <span class="teletype">while</span> loop</a><br/>
+<a href="section-0.7.xhtml#subsubsec-0.7.5.3" class="subsubseccontents">0.7.5.3 The <span class="teletype">for</span> loop</a><br/>
+
+<a name="chapter1"/>
+<h3>Chapter 1: An Overview of Axiom</h3>
+<a href="section-1.0.xhtml">1.0 An Overview of Axiom</a><br/>
+<a href="section-1.1.xhtml">1.1 Starting Up and Winding Down</a><br/>
+<a href="section-1.1.xhtml#subsec-1.1.1" class="subseccontents">1.1.1 Clef</a><br/>
+<a href="section-1.2.xhtml">1.2 Typographic Conventions</a><br/>
+<a href="section-1.3.xhtml">1.3 The Axiom Language</a><br/>
+<a href="section-1.3.xhtml#subsec-1.3.1" class="subseccontents">1.3.1 Arithmetic Expressions</a><br/>
+<a href="section-1.3.xhtml#subsec-1.3.2" class="subseccontents">1.3.2 Previous Results</a><br/>
+<a href="section-1.3.xhtml#subsec-1.3.3" class="subseccontents">1.3.3 Some Types</a><br/>
+<a href="section-1.3.xhtml#subsec-1.3.4" class="subseccontents">1.3.4 Symbols, Variables, Assignments, and Declarations</a><br/>
+<a href="section-1.3.xhtml#subsec-1.3.5" class="subseccontents">1.3.5 Conversion</a><br/>
+<a href="section-1.3.xhtml#subsec-1.3.6" class="subseccontents">1.3.6 Calling Functions</a><br/>
+<a href="section-1.3.xhtml#subsec-1.3.7" class="subseccontents">1.3.7 Some Predefined Macros</a><br/>
+<a href="section-1.3.xhtml#subsec-1.3.8" class="subseccontents">1.3.8 Long Lines</a><br/>
+<a href="section-1.3.xhtml#subsec-1.3.9" class="subseccontents">1.3.9 Comments</a><br/>
+<a href="section-1.4.xhtml">1.4 Numbers</a><br/>
+<a href="section-1.5.xhtml">1.5 Data Structures</a><br/>
+<a href="section-1.6.xhtml">1.6 Expanding to Higher Dimensions</a><br/>
+<a href="section-1.7.xhtml">1.7 Writing Your Own Functions</a><br/>
+<a href="section-1.8.xhtml">1.8 Polynomials</a><br/>
+<a href="section-1.9.xhtml">1.9 Limits</a><br/>
+<a href="section-1.10.xhtml">1.10 Series</a><br/>
+<a href="section-1.11.xhtml">1.11 Derivatives</a><br/>
+<a href="section-1.12.xhtml">1.12 Integration</a><br/>
+<a href="section-1.13.xhtml">1.13 Differential Equations</a><br/>
+<a href="section-1.14.xhtml">1.14 Solution of Equations</a><br/>
+<a href="section-1.15.xhtml">1.15 System Commands</a><br/>
+<a href="section-1.15.xhtml#subsec-1.15.1" class="subseccontents">1.15.1 Undo</a><br/>
+<a href="section-1.16.xhtml">1.16 Graphics</a><br/>
+
+<a name="chapter2"/>
+<h3>Chapter 2: Using Types and Modes</h3>
+<a href="section-2.0.xhtml">2.0 Using Types and Modes</a><br/>
+<a href="section-2.1.xhtml">2.1 The Basic Idea</a><br/>
+<a href="section-2.1.xhtml#subsec-2.1.1" class="subseccontents">2.1.1 Domain Constructors</a><br/>
+<a href="section-2.2.xhtml">2.2 Writing Types and Modes</a><br/>
+<a href="section-2.2.xhtml#subsec-2.2.1" class="subseccontents">2.2.1 Types with No Arguments</a><br/>
+<a href="section-2.2.xhtml#subsec-2.2.2" class="subseccontents">2.2.2 Types with One Argument</a><br/>
+<a href="section-2.2.xhtml#subsec-2.2.3" class="subseccontents">2.2.3 Types with More Than One Argument</a><br/>
+<a href="section-2.2.xhtml#subsec-2.2.4" class="subseccontents">2.2.4 Modes</a><br/>
+<a href="section-2.2.xhtml#subsec-2.2.5" class="subseccontents">2.2.5 Abbreviations</a><br/>
+<a href="section-2.3.xhtml">2.3 Declarations</a><br/>
+<a href="section-2.4.xhtml">2.4 Records</a><br/>
+<a href="section-2.5.xhtml">2.5 Unions</a><br/>
+<a href="section-2.5.xhtml#subsec-2.5.1" class="subseccontents">2.5.1 Unions Without Selectors</a><br/>
+<a href="section-2.5.xhtml#subsec-2.5.2" class="subseccontents">2.5.2 Unions With Selectors</a><br/>
+<a href="section-2.6.xhtml">2.6 The ``Any'' Domain</a><br/>
+<a href="section-2.7.xhtml">2.7 Conversion</a><br/>
+<a href="section-2.8.xhtml">2.8 Subdomains Again</a><br/>
+<a href="section-2.9.xhtml">2.9 Package Calling and Target Types</a><br/>
+<a href="section-2.10.xhtml">2.10 Resolving Types</a><br/>
+<a href="section-2.11.xhtml">2.11 Exposing Domains and Packages</a><br/>
+<a href="section-2.12.xhtml">2.12 Commands for Snooping</a><br/>
+
+<a name="chapter3"/>
+<h3>Chapter 3: Using HyperDoc</h3>
+<a href="section-3.0.xhtml">3.0 Using HyperDoc</a><br/>
+<a href="section-3.1.xhtml">3.1 Headings</a><br/>
+<a href="section-3.2.xhtml">3.2 Key Definitions</a><br/>
+<a href="section-3.3.xhtml">3.3 Scroll Bars</a><br/>
+<a href="section-3.4.xhtml">3.4 Input Areas</a><br/>
+<a href="section-3.5.xhtml">3.5 Radio Buttons and Toggles</a><br/>
+<a href="section-3.6.xhtml">3.6 Search Strings</a><br/>
+<a href="section-3.6.xhtml#subsec-3.6.1" class="subseccontents">3.6.1 Logical Searches</a><br/>
+<a href="section-3.7.xhtml">3.7 Example Pages</a><br/>
+<a href="section-3.8.xhtml">3.8 X Window Resources for HyperDoc</a><br/>
+
+<a name="chapter4"/>
+<h3>Chapter 4: Input Files and Output Styles</h3>
+<a href="section-4.0.xhtml">4.0 Input Files and Output Styles</a><br/>
+<a href="section-4.1.xhtml">4.1 Input Files</a><br/>
+<a href="section-4.2.xhtml">4.2 The .axiom.input File</a><br/>
+<a href="section-4.3.xhtml">4.3 Common Features of Using Output Formats</a><br/>
+<a href="section-4.4.xhtml">4.4 Monospace Two-Dimensional Mathematical Format</a><br/>
+<a href="section-4.5.xhtml">4.5 TeX Format</a><br/>
+<a href="section-4.6.xhtml">4.6 IBM Script Formula Format</a><br/>
+<a href="section-4.7.xhtml">4.7 FORTRAN Format</a><br/>
+
+<a name="chapter5"/>
+<h3>Chapter 5: Overview of Interactive Language</h3>
+<a href="section-5.0.xhtml">5.0 Interactive Language</a><br/>
+<a href="section-5.1.xhtml">5.1 Immediate and Delayed Assignments</a><br/>
+<a href="section-5.2.xhtml">5.2 Blocks</a><br/>
+<a href="section-5.3.xhtml">5.3 if-then-else</a><br/>
+<a href="section-5.4.xhtml">5.4 Loops</a><br/>
+<a href="section-5.4.xhtml#subsec-5.4.1" class="subseccontents">5.4.1 Compiling vs. Interpreting Loops</a><br/>
+<a href="section-5.4.xhtml#subsec-5.4.2" class="subseccontents">5.4.2 return in Loops</a><br/>
+<a href="section-5.4.xhtml#subsec-5.4.3" class="subseccontents">5.4.3 break in Loops</a><br/>
+<a href="section-5.4.xhtml#subsec-5.4.4" class="subseccontents">5.4.4 break vs. <span class="teletype">=></span> in Loop Bodies</a><br/>
+<a href="section-5.4.xhtml#subsec-5.4.5" class="subseccontents">5.4.5 More Examples of break</a><br/>
+<a href="section-5.4.xhtml#subsec-5.4.6" class="subseccontents">5.4.6 iterate in Loops</a><br/>
+<a href="section-5.4.xhtml#subsec-5.4.7" class="subseccontents">5.4.7 while Loops</a><br/>
+<a href="section-5.4.xhtml#subsec-5.4.8" class="subseccontents">5.4.8 for Loops</a><br/>
+<a href="section-5.4.xhtml#subsec-5.4.9" class="subseccontents">5.4.9 for i in n..m repeat</a><br/>
+<a href="section-5.4.xhtml#subsec-5.4.10" class="subseccontents">5.4.10 for i in n..m by s repeat</a><br/>
+<a href="section-5.4.xhtml#subsec-5.4.11" class="subseccontents">5.4.11 for i in n.. repeat</a><br/>
+<a href="section-5.4.xhtml#subsec-5.4.12" class="subseccontents">5.4.12 for x in l repeat</a><br/>
+<a href="section-5.4.xhtml#subsec-5.4.13" class="subseccontents">5.4.13 ``Such that'' Predicates</a><br/>
+<a href="section-5.4.xhtml#subsec-5.4.14" class="subseccontents">5.4.14 Parallel Iteration</a><br/>
+<a href="section-5.4.xhtml#subsec-5.4.15" class="subseccontents">5.4.15 Mixing Loop Modifiers</a><br/>
+<a href="section-5.5.xhtml">5.5 Creating Lists and Streams with Iterators</a><br/>
+<a href="section-5.6.xhtml">5.6 An Example: Streams of Primes</a><br/>
+
+<a name="chapter6"/>
+<h3>Chapter 6: User-Defined Functions, Macros and Rules</h3>
+<a href="section-6.0.xhtml">6.0 Functions, Macros and Rules</a><br/>
+<a href="section-6.1.xhtml">6.1 Functions vs. Macros</a><br/>
+<a href="section-6.2.xhtml">6.2 Macros</a><br/>
+<a href="section-6.3.xhtml">6.3 Introduction to Functions</a><br/>
+<a href="section-6.4.xhtml">6.4 Declaring the Type of Functions</a><br/>
+<a href="section-6.5.xhtml">6.5 One-Line Functions</a><br/>
+<a href="section-6.6.xhtml">6.6 Declared vs. Undeclared Functions</a><br/>
+<a href="section-6.7.xhtml">6.7 Functions vs. Operations</a><br/>
+<a href="section-6.8.xhtml">6.8 Delayed Assignments vs. Functions with No Arguments</a><br/>
+<a href="section-6.9.xhtml">6.9 How Axiom Determines What Function to Use</a><br/>
+<a href="section-6.10.xhtml">6.10 Compiling vs. Interpreting</a><br/>
+<a href="section-6.11.xhtml">6.11 Piece-Wise Function Definitions</a><br/>
+<a href="section-6.11.xhtml#subsec-6.11.1" class="subseccontents">6.11.1 A Basic Example</a><br/>
+<a href="section-6.11.xhtml#subsec-6.11.2" class="subseccontents">6.11.2 Picking Up the Pieces</a><br/>
+<a href="section-6.11.xhtml#subsec-6.11.3" class="subseccontents">6.11.3 Predicates</a><br/>
+<a href="section-6.12.xhtml">6.12 Caching Previously Computed Results</a><br/>
+<a href="section-6.13.xhtml">6.13 Recurrence Relations</a><br/>
+<a href="section-6.14.xhtml">6.14 Making Functions from Objects</a><br/>
+<a href="section-6.15.xhtml">6.15 Functions Defined with Blocks</a><br/>
+<a href="section-6.16.xhtml">6.16 Free and Local Variables</a><br/>
+<a href="section-6.17.xhtml">6.17 Anonymous Functions</a><br/>
+<a href="section-6.17.xhtml#subsec-6.17.1" class="subseccontents">6.17.1 Some Examples</a><br/>
+<a href="section-6.17.xhtml#subsec-6.17.2" class="subseccontents">6.17.2 Declaring Anonymous Functions</a><br/>
+<a href="section-6.18.xhtml">6.18 Example: A Database</a><br/>
+<a href="section-6.19.xhtml">6.19 Example: A Famous Triangle</a><br/>
+<a href="section-6.20.xhtml">6.20 Example: Testing for Palindromes</a><br/>
+<a href="section-6.21.xhtml">6.21 Rules and Pattern Matching</a><br/>
+
+<a name="chapter7"/>
+<h3>Chapter 7: Graphics</h3>
+<a href="section-7.0.xhtml">7.0 Graphics</a><br/>
+<a href="section-7.1.xhtml">7.1 Two-Dimensional Graphics</a><br/>
+<a href="section-7.1.xhtml#subsec-7.1.1" class="subseccontents">7.1.1 Plotting Two-Dimensional Functions of One Variable</a><br/>
+<a href="section-7.1.xhtml#subsec-7.1.2" class="subseccontents">7.1.2 Plotting Two-Dimensional Parametric Plane Curves</a><br/>
+<a href="section-7.1.xhtml#subsec-7.1.3" class="subseccontents">7.1.3 Plotting Plane Algebraic Curves</a><br/>
+<a href="section-7.1.xhtml#subsec-7.1.4" class="subseccontents">7.1.4 Two-Dimensional Options</a><br/>
+<a href="section-7.1.xhtml#subsec-7.1.5" class="subseccontents">7.1.5 Color</a><br/>
+<a href="section-7.1.xhtml#subsec-7.1.6" class="subseccontents">7.1.6 Palette</a><br/>
+<a href="section-7.1.xhtml#subsec-7.1.7" class="subseccontents">7.1.7 Two-Dimensional Control-Panel</a><br/>
+<a href="section-7.1.xhtml#subsubsec-7.1.7.1" class="subsubseccontents">7.1.7.1 Transformations</a><br/>
+<a href="section-7.1.xhtml#subsubsec-7.1.7.2" class="subsubseccontents">7.1.7.2 Messages</a><br/>
+<a href="section-7.1.xhtml#subsubsec-7.1.7.3" class="subsubseccontents">7.1.7.3 Multiple Graphs</a><br/>
+<a href="section-7.1.xhtml#subsubsec-7.1.7.4" class="subsubseccontents">7.1.7.4 Buttons</a><br/>
+<a href="section-7.1.xhtml#subsec-7.1.8" class="subseccontents">7.1.8 Operations for Two-Dimensional Graphics</a><br/>
+<a href="section-7.1.xhtml#subsec-7.1.9" class="subseccontents">7.1.9 Addendum: Building Two-Dimensional Graphs</a><br/>
+<a href="section-7.1.xhtml#subsubsec-7.1.9.1" class="subsubseccontents">7.1.9.1 Creating a Two-Dimensional Viewport from a List of Points</a><br/>
+<a href="section-7.1.xhtml#subsubsec-7.1.9.2" class="subsubseccontents">7.1.9.2 Creating a Two-Dimensional Viewport of a List of Points from a File</a><br/>
+<a href="section-7.1.xhtml#subsec-7.1.10" class="subseccontents">7.1.10 Addendum: Appending a Graph to a Viewport Window Containing a Graph</a><br/>
+<a href="section-7.2.xhtml">7.2 Three-Dimensional Graphics</a><br/>
+<a href="section-7.2.xhtml#subsec-7.2.1" class="subseccontents">7.2.1 Plotting Three-Dimensional Functions of Two Variables</a><br/>
+<a href="section-7.2.xhtml#subsec-7.2.2" class="subseccontents">7.2.2 Plotting Three-Dimensional Parametric Space Curves</a><br/>
+<a href="section-7.2.xhtml#subsec-7.2.3" class="subseccontents">7.2.3 Plotting Three-Dimensional Parametric Surfaces</a><br/>
+<a href="section-7.2.xhtml#subsec-7.2.4" class="subseccontents">7.2.4 Three-Dimensional Options</a><br/>
+<a href="section-7.2.xhtml#subsec-7.2.5" class="subseccontents">7.2.5 The makeObject Command</a><br/>
+<a href="section-7.2.xhtml#subsec-7.2.6" class="subseccontents">7.2.6 Building Three-Dimensional Objects From Primitives</a><br/>
+<a href="section-7.2.xhtml#subsubsec-7.2.6.1" class="subsubseccontents">7.2.6.1 Cube Example</a><br/>
+<a href="section-7.2.xhtml#subsec-7.2.7" class="subseccontents">7.2.7 Coordinate System Transformations</a><br/>
+<a href="section-7.2.xhtml#subsec-7.2.8" class="subseccontents">7.2.8 Three-Dimensional Clipping</a><br/>
+<a href="section-7.2.xhtml#subsec-7.2.9" class="subseccontents">7.2.9 Three-Dimensional Control-Panel</a><br/>
+<a href="section-7.2.xhtml#subsubsec-7.2.9.1" class="subsubseccontents">7.2.9.1 Transformations</a><br/>
+<a href="section-7.2.xhtml#subsubsec-7.2.9.2" class="subsubseccontents">7.2.9.2 Messages</a><br/>
+<a href="section-7.2.xhtml#subsubsec-7.2.9.3" class="subsubseccontents">7.2.9.3 Colormap</a><br/>
+<a href="section-7.2.xhtml#subsubsec-7.2.9.4" class="subsubseccontents">7.2.9.4 Buttons</a><br/>
+<a href="section-7.2.xhtml#subsubsec-7.2.9.5" class="subsubseccontents">7.2.9.5 Light</a><br/>
+<a href="section-7.2.xhtml#subsubsec-7.2.9.6" class="subsubseccontents">7.2.9.6 View Volume</a><br/>
+<a href="section-7.2.xhtml#subsec-7.2.10" class="subseccontents">7.2.10 Operations for Three-Dimensional Graphics</a><br/>
+<a href="section-7.2.xhtml#subsec-7.2.11" class="subseccontents">7.2.11 Customization using .Xdefaults</a><br/>
+
+<a name="chapter8"/>
+<h3>Chapter 8: Advanced Problem Solving</h3>
+<a href="section-8.0.xhtml">8.0 Advanced Problem Solving</a><br/>
+<a href="section-8.1.xhtml">8.1 Numeric Functions</a><br/>
+<a href="section-8.2.xhtml">8.2 Polynomial Factorization</a><br/>
+<a href="section-8.2.xhtml#subsec-8.2.1" class="subseccontents">8.2.1 Integer and Rational Number Coefficients</a><br/>
+<a href="section-8.2.xhtml#subsec-8.2.2" class="subseccontents">8.2.2 Finite Field Coefficients</a><br/>
+<a href="section-8.2.xhtml#subsec-8.2.3" class="subseccontents">8.2.3 Simple Algebraic Extension Field Coefficients</a><br/>
+<a href="section-8.2.xhtml#subsec-8.2.4" class="subseccontents">8.2.4 Factoring Rational Functions</a><br/>
+<a href="section-8.3.xhtml">8.3 Manipulating Symbolic Roots of a Polynomial</a><br/>
+<a href="section-8.3.xhtml#subsec-8.3.1" class="subseccontents">8.3.1 Using a Single Root of a Polynomial</a><br/>
+<a href="section-8.3.xhtml#subsec-8.3.2" class="subseccontents">8.3.2 Using All Roots of a Polynomial</a><br/>
+<a href="section-8.4.xhtml">8.4 Computation of Eigenvalues and Eigenvectors</a><br/>
+<a href="section-8.5.xhtml">8.5 Solution of Linear and Polynomial Equations</a><br/>
+<a href="section-8.5.xhtml#subsec-8.5.1" class="subseccontents">8.5.1 Solution of Systems of Linear Equations</a><br/>
+<a href="section-8.5.xhtml#subsec-8.5.2" class="subseccontents">8.5.2 Solution of a Single Polynomial Equation</a><br/>
+<a href="section-8.5.xhtml#subsec-8.5.3" class="subseccontents">8.5.3 Solution of Systems of Polynomial Equations</a><br/>
+<a href="section-8.6.xhtml">8.6 Limits</a><br/>
+<a href="section-8.7.xhtml">8.7 Laplace Transforms</a><br/>
+<a href="section-8.8.xhtml">8.8 Integration</a><br/>
+<a href="section-8.9.xhtml">8.9 Working with Power Series</a><br/>
+<a href="section-8.9.xhtml#subsec-8.9.1" class="subseccontents">8.9.1 Creation of Power Series</a><br/>
+<a href="section-8.9.xhtml#subsec-8.9.2" class="subseccontents">8.9.2 Coefficients of Power Series</a><br/>
+<a href="section-8.9.xhtml#subsec-8.9.3" class="subseccontents">8.9.3 Power Series Arithmetic</a><br/>
+<a href="section-8.9.xhtml#subsec-8.9.4" class="subseccontents">8.9.4 Functions on Power Series</a><br/>
+<a href="section-8.9.xhtml#subsec-8.9.5" class="subseccontents">8.9.5 Converting to Power Series</a><br/>
+<a href="section-8.9.xhtml#subsec-8.9.6" class="subseccontents">8.9.6 Power Series from Formulas</a><br/>
+<a href="section-8.9.xhtml#subsec-8.9.7" class="subseccontents">8.9.7 Substituting Numerical Values in Power Series</a><br/>
+<a href="section-8.9.xhtml#subsec-8.9.8" class="subseccontents">8.9.8 Example: Bernoulli Polynomials and Sums of Powers</a><br/>
+<a href="section-8.10.xhtml">8.10 Solution of Differential Equations</a><br/>
+<a href="section-8.10.xhtml#subsec-8.10.1" class="subseccontents">8.10.1 Closed-Form Solutions of Linear Differential Equations</a><br/>
+<a href="section-8.10.xhtml#subsec-8.10.2" class="subseccontents">8.10.2 Closed-Form Solutions of Non-Linear Differential Equations</a><br/>
+<a href="section-8.10.xhtml#subsec-8.10.3" class="subseccontents">8.10.3 Power Series Solutions of Differential Equations</a><br/>
+<a href="section-8.11.xhtml">8.11 Finite Fields</a><br/>
+<a href="section-8.11.xhtml#subsec-8.11.1" class="subseccontents">8.11.1 Modular Arithmetic and Prime Fields</a><br/>
+<a href="section-8.11.xhtml#subsec-8.11.2" class="subseccontents">8.11.2 Extensions of Finite Fields</a><br/>
+<a href="section-8.11.xhtml#subsec-8.11.3" class="subseccontents">8.11.3 Irreducible Modulus Polynomial Representations</a><br/>
+<a href="section-8.11.xhtml#subsec-8.11.4" class="subseccontents">8.11.4 Cyclic Group Representations</a><br/>
+<a href="section-8.11.xhtml#subsec-8.11.5" class="subseccontents">8.11.5 Normal Basis Representations</a><br/>
+<a href="section-8.11.xhtml#subsec-8.11.6" class="subseccontents">8.11.6 Conversion Operations for Finite Fields</a><br/>
+<a href="section-8.11.xhtml#subsec-8.11.7" class="subseccontents">8.11.7 Utility Operations for Finite Fields</a><br/>
+<a href="section-8.12.xhtml">8.12 Primary Decomposition of Ideals</a><br/>
+<a href="section-8.13.xhtml">8.13 Computation of Galois Groups</a><br/>
+<a href="section-8.14.xhtml">8.14 Non-Associative Algebras and Modelling Genetic Laws</a><br/>
+
+<a name="chapter9"/>
+<h3>Chapter 9: Some Examples of Domains and Packages</h3>
+<a href="section-9.1.xhtml">9.1 AssociationList</a><br/>
+<a href="section-9.2.xhtml">9.2 BalancedBinaryTree</a><br/>
+<a href="section-9.3.xhtml">9.3 BasicOperator</a><br/>
+<a href="section-9.4.xhtml">9.4 BinaryExpansion</a><br/>
+<a href="section-9.5.xhtml">9.5 BinarySearchTree</a><br/>
+<a href="section-9.6.xhtml">9.6 CardinalNumber</a><br/>
+<a href="section-9.7.xhtml">9.7 CartesianTensor</a><br/>
+<a href="section-9.7.xhtml#subsec-7.1" class="subseccontents">7.1 Forming tensors</a><br/>
+<a href="section-9.7.xhtml#subsec-7.2" class="subseccontents">7.2 Multiplication</a><br/>
+<a href="section-9.7.xhtml#subsec-7.3" class="subseccontents">7.3 Selecting Components</a><br/>
+<a href="section-9.7.xhtml#subsec-7.4" class="subseccontents">7.4 Contraction</a><br/>
+<a href="section-9.7.xhtml#subsec-7.5" class="subseccontents">7.5 Transpositions</a><br/>
+<a href="section-9.7.xhtml#subsec-7.6" class="subseccontents">7.6 Arithmetic</a><br/>
+<a href="section-9.7.xhtml#subsec-7.7" class="subseccontents">7.7 Specific Tensors</a><br/>
+<a href="section-9.7.xhtml#subsec-7.8" class="subseccontents">7.8 Properties of the CartesianTensor domain</a><br/>
+<a href="section-9.7.xhtml#subsec-7.9" class="subseccontents">7.9 Tensor Calculus</a><br/>
+<a href="section-9.8.xhtml">9.8 Character</a><br/>
+<a href="section-9.9.xhtml">9.9 CharacterClass</a><br/>
+<a href="section-9.10.xhtml">9.10 CliffordAlgebra</a><br/>
+<a href="section-9.10.xhtml#subsec-9.10.1" class="subseccontents">9.10.1 The Complex Numbers as a Clifford Algebra</a><br/>
+<a href="section-9.10.xhtml#subsec-9.10.2" class="subseccontents">9.10.2 The Quaternion Numbers as a Clifford Algebra</a><br/>
+<a href="section-9.10.xhtml#subsec-9.10.3" class="subseccontents">9.10.3 The Exterior Algebra on a Three Space</a><br/>
+<a href="section-9.10.xhtml#subsec-9.10.4" class="subseccontents">9.10.4 The Dirac Spin Algebra</a><br/>
+<a href="section-9.11.xhtml">9.11 Complex</a><br/>
+<a href="section-9.12.xhtml">9.12 ContinuedFraction</a><br/>
+
+<a href="section-9.13.xhtml">9.13 CycleIndicators</a><br/>
+<a href="section-9.14.xhtml">9.14 DeRhamComplex</a><br/>
+<a href="section-9.15.xhtml">9.15 DecimalExpansion</a><br/>
+<a href="section-9.16.xhtml">9.16 DistributedMultivariatePolynomial</a><br/>
+<a href="section-9.17.xhtml">9.17 DoubleFloat</a><br/>
+<a href="section-9.18.xhtml">9.18 EqTable</a><br/>
+<a href="section-9.19.xhtml">9.19 Equation</a><br/>
+<a href="section-9.20.xhtml">9.20 Exit</a><br/>
+<a href="section-9.21.xhtml">9.21 Expression</a><br/>
+<a href="section-9.22.xhtml">9.22 Factored</a><br/>
+<a href="section-9.22.xhtml#subsec-9.22.1" class="subseccontents">9.22.1 Decomposing Factored Objects</a><br/>
+<a href="section-9.22.xhtml#subsec-9.22.2" class="subseccontents">9.22.2 Expanding Factored Objects</a><br/>
+<a href="section-9.22.xhtml#subsec-9.22.3" class="subseccontents">9.22.3 Arithmetic with Factored Objects</a><br/>
+<a href="section-9.22.xhtml#subsec-9.22.4" class="subseccontents">9.22.4 Creating New Factored Objects</a><br/>
+<a href="section-9.22.xhtml#subsec-9.22.5" class="subseccontents">9.22.5 Factored Objects with Variables</a><br/>
+<a href="section-9.23.xhtml">9.23 FactoredFunctions2</a><br/>
+<a href="section-9.24.xhtml">9.24 File</a><br/>
+<a href="section-9.25.xhtml">9.25 FileName</a><br/>
+<a href="section-9.26.xhtml">9.26 FlexibleArray</a><br/>
+
+<a href="section-9.27.xhtml">9.27 Float</a><br/>
+<a href="section-9.27.xhtml#subsec-9.27.1" class="subseccontents">9.27.1 Introduction to Float</a><br/>
+<a href="section-9.27.xhtml#subsec-9.27.2" class="subseccontents">9.27.2 Conversion Functions</a><br/>
+<a href="section-9.27.xhtml#subsec-9.27.3" class="subseccontents">9.27.3 Output Functions</a><br/>
+<a href="section-9.27.xhtml#subsec-9.27.4" class="subseccontents">9.27.4 An Example: Determinant of a Hilbert Matrix</a><br/>
+<a href="section-9.28.xhtml">9.28 Fraction</a><br/>
+<a href="section-9.29.xhtml">9.29 FullPartialFractionExpansion</a><br/>
+<a href="section-9.30.xhtml">9.30 GeneralSparseTable</a><br/>
+<a href="section-9.31.xhtml">9.31 GroebnerFactorizationPackage</a><br/>
+<a href="section-9.32.xhtml">9.32 Heap</a><br/>
+<a href="section-9.33.xhtml">9.33 HexadecimalExpansion</a><br/>
+<a href="section-9.34.xhtml">9.34 Integer</a><br/>
+<a href="section-9.34.xhtml#subsec-9.34.1" class="subseccontents">9.34.1 Basic Functions</a><br/>
+<a href="section-9.34.xhtml#subsec-9.34.2" class="subseccontents">9.34.2 Primes and Factorization</a><br/>
+<a href="section-9.34.xhtml#subsec-9.34.3" class="subseccontents">9.34.3 Some Number Theoretic Functions</a><br/>
+<a href="section-9.35.xhtml">9.35 IntegerLinearDependence</a><br/>
+<a href="section-9.36.xhtml">9.36 IntegerNumberTheoryFunctions</a><br/>
+<a href="section-9.37.xhtml">9.37 Kernel</a><br/>
+
+<a href="section-9.38.xhtml">9.38 KeyedAccessFile</a><br/>
+<a href="section-9.39.xhtml">9.39 LexTriangularPackage</a><br/>
+<a href="section-9.40.xhtml">9.40 LazardSetSolvingPackage</a><br/>
+<a href="section-9.41.xhtml">9.41 Library</a><br/>
+<a href="section-9.42.xhtml">9.42 LieExponentials</a><br/>
+<a href="section-9.43.xhtml">9.43 LiePolynomial</a><br/>
+<a href="section-9.44.xhtml">9.44 LinearOrdinaryDifferentialOperator</a><br/>
+<a href="section-9.44.xhtml#subsec-9.44.1" class="subseccontents">9.44.1 Differential Operators with Series Coefficients</a><br/>
+
+<a href="section-9.45.xhtml">9.45 LinearOrdinaryDifferentialOperator1</a><br/>
+<a href="section-9.45.xhtml#subsec-9.45.1" class="subseccontents">9.45.1 Differential Operators with Rational Function Coefficients</a><br/>
+<a href="section-9.46.xhtml">9.46 LinearOrdinaryDifferentialOperator2</a><br/>
+<a href="section-9.46.xhtml#subsec-9.46.1" class="subseccontents">9.46.1 Differential Operators with Constant Coefficients</a><br/>
+<a href="section-9.46.xhtml#subsec-9.46.2" class="subseccontents">9.46.2 Differential Operators with Matrix Coefficients Operating on Vectors</a><br/>
+<a href="section-9.47.xhtml">9.47 List</a><br/>
+<a href="section-9.47.xhtml#subsec-9.47.1" class="subseccontents">9.47.1 Creating Lists</a><br/>
+<a href="section-9.47.xhtml#subsec-9.47.2" class="subseccontents">9.47.2 Accessing List Elements</a><br/>
+<a href="section-9.47.xhtml#subsec-9.47.3" class="subseccontents">9.47.3 Changing List Elements</a><br/>
+<a href="section-9.47.xhtml#subsec-9.47.4" class="subseccontents">9.47.4 Other Functions</a><br/>
+<a href="section-9.47.xhtml#subsec-9.47.5" class="subseccontents">9.47.5 Dot, Dot</a><br/>
+<a href="section-9.48.xhtml">9.48 LyndonWord</a><br/>
+<a href="section-9.49.xhtml">9.49 Magma</a><br/>
+<a href="section-9.50.xhtml">9.50 MakeFunction</a><br/>
+<a href="section-9.51.xhtml">9.51 MappingPackage1</a><br/>
+<a href="section-9.52.xhtml">9.52 Matrix</a><br/>
+<a href="section-9.52.xhtml#subsec-9.52.1" class="subseccontents">9.52.1 Creating Matrices</a><br/>
+<a href="section-9.52.xhtml#subsec-9.52.2" class="subseccontents">9.52.2 Operations on Matrices</a><br/>
+<a href="section-9.53.xhtml">9.53 MultiSet</a><br/>
+<a href="section-9.54.xhtml">9.54 MultivariatePolynomial</a><br/>
+<a href="section-9.55.xhtml">9.55 None</a><br/>
+<a href="section-9.56.xhtml">9.56 Octonion</a><br/>
+<a href="section-9.57.xhtml">9.57 OneDimensionalArray</a><br/>
+
+<a href="section-9.58.xhtml">9.58 Operator</a><br/>
+<a href="section-9.59.xhtml">9.59 OrderedVariableList</a><br/>
+<a href="section-9.60.xhtml">9.60 OrderlyDifferentialPolynomial</a><br/>
+<a href="section-9.61.xhtml">9.61 PartialFraction</a><br/>
+<a href="section-9.62.xhtml">9.62 Permanent</a><br/>
+<a href="section-9.63.xhtml">9.63 Polynomial</a><br/>
+<a href="section-9.64.xhtml">9.64 Quaternion</a><br/>
+<a href="section-9.65.xhtml">9.65 RadixExpansion</a><br/>
+<a href="section-9.66.xhtml">9.66 RealClosure</a><br/>
+<a href="section-9.67.xhtml">9.67 RegularTriangularSet</a><br/>
+<a href="section-9.68.xhtml">9.68 RomanNumeral</a><br/>
+
+<a href="section-9.69.xhtml">9.69 Segment</a><br/>
+<a href="section-9.70.xhtml">9.70 SegmentBinding</a><br/>
+<a href="section-9.71.xhtml">9.71 Set</a><br/>
+<a href="section-9.72.xhtml">9.72 SingleInteger</a><br/>
+<a href="section-9.73.xhtml">9.73 SparseTable</a><br/>
+<a href="section-9.74.xhtml">9.74 SquareMatrix</a><br/>
+<a href="section-9.75.xhtml">9.75 SquareFreeRegularTriangularSet</a><br/>
+<a href="section-9.76.xhtml">9.76 Stream</a><br/>
+<a href="section-9.77.xhtml">9.77 String</a><br/>
+<a href="section-9.78.xhtml">9.78 StringTable</a><br/>
+<a href="section-9.79.xhtml">9.79 Symbol</a><br/>
+<a href="section-9.80.xhtml">9.80 Table</a><br/>
+<a href="section-9.81.xhtml">9.81 TextFile</a><br/>
+<a href="section-9.82.xhtml">9.82 TwoDimensionalArray</a><br/>
+
+<a href="section-9.83.xhtml">9.83 UnivariatePolynomial</a><br/>
+<a href="section-9.84.xhtml">9.84 UniversalSegment</a><br/>
+<a href="section-9.85.xhtml">9.85 Vector</a><br/>
+<a href="section-9.86.xhtml">9.86 Void</a><br/>
+<a href="section-9.87.xhtml">9.87 WuWenTsunTriangularSet</a><br/>
+<a href="section-9.88.xhtml">9.88 XPBWPolynomial</a><br/>
+<a href="section-9.89.xhtml">9.89 XPolynomial</a><br/>
+<a href="section-9.90.xhtml">9.90 XPolynomialRing</a><br/>
+<a href="section-9.91.xhtml">9.91 ZeroDimensionalSolvePackage</a><br/>
+
+<a name="chapter10"/>
+<h3>Chapter 10: Interactive Programming</h3>
+<a href="section-10.0.xhtml">10.0 Interactive Programming</a><br/>
+<a href="section-10.1.xhtml">10.1 Drawing Ribbons Interactively</a><br/>
+<a href="section-10.2.xhtml">10.2 A Ribbon Program</a><br/>
+<a href="section-10.3.xhtml">10.3 Coloring and Positioning Ribbons</a><br/>
+<a href="section-10.4.xhtml">10.4 Points, Lines, and Curves</a><br/>
+<a href="section-10.5.xhtml">10.5 A Bouquet of Arrows</a><br/>
+<a href="section-10.6.xhtml">10.6 Diversion: When Things Go Wrong</a><br/>
+<a href="section-10.7.xhtml">10.7 Drawing Complex Vector Fields</a><br/>
+<a href="section-10.8.xhtml">10.8 Drawing Complex Functions</a><br/>
+<a href="section-10.9.xhtml">10.9 Functions Producing Functions</a><br/>
+<a href="section-10.10.xhtml">10.10 Automatic Newton Iteration Formulas</a><br/>
+
+<a name="chapter11"/>
+<h3>Chapter 11: Packages</h3>
+<a href="section-11.0.xhtml">11.0 Packages</a><br/>
+<a href="section-11.1.xhtml">11.1 Names, Abbreviations, and File Structure</a><br/>
+<a href="section-11.2.xhtml">11.2 Syntax</a><br/>
+<a href="section-11.3.xhtml">11.3 Abstract Datatypes</a><br/>
+<a href="section-11.4.xhtml">11.4 Capsules</a><br/>
+<a href="section-11.5.xhtml">11.5 Input Files vs. Packages</a><br/>
+<a href="section-11.6.xhtml">11.6 Compiling Packages</a><br/>
+<a href="section-11.7.xhtml">11.7 Parameters</a><br/>
+<a href="section-11.8.xhtml">11.8 Conditionals</a><br/>
+<a href="section-11.9.xhtml">11.9 Testing</a><br/>
+<a href="section-11.10.xhtml">11.10 How Packages Work</a><br/>
+
+<a name="chapter12"/>
+<h3>Chapter 12: Categories</h3>
+<a href="section-12.0.xhtml">12.0 Categories</a><br/>
+<a href="section-12.1.xhtml">12.1 Definitions</a><br/>
+<a href="section-12.2.xhtml">12.2 Exports</a><br/>
+<a href="section-12.3.xhtml">12.3 Documentation</a><br/>
+<a href="section-12.4.xhtml">12.4 Hierarchies</a><br/>
+<a href="section-12.5.xhtml">12.5 Membership</a><br/>
+<a href="section-12.6.xhtml">12.6 Defaults</a><br/>
+<a href="section-12.7.xhtml">12.7 Axioms</a><br/>
+<a href="section-12.8.xhtml">12.8 Correctness</a><br/>
+<a href="section-12.9.xhtml">12.9 Attributes</a><br/>
+<a href="section-12.10.xhtml">12.10 Parameters</a><br/>
+<a href="section-12.11.xhtml">12.11 Conditionals</a><br/>
+<a href="section-12.12.xhtml">12.12 Anonymous Categories</a><br/>
+
+<a name="chapter13"/>
+<h3>Chapter 13: Domains</h3>
+<a href="section-13.0.xhtml">13.0 Domains</a><br/>
+<a href="section-13.1.xhtml">13.1 Domains vs. Packages</a><br/>
+<a href="section-13.2.xhtml">13.2 Definitions</a><br/>
+<a href="section-13.3.xhtml">13.3 Category Assertions</a><br/>
+<a href="section-13.4.xhtml">13.4 A Demo</a><br/>
+<a href="section-13.5.xhtml">13.5 Browse</a><br/>
+<a href="section-13.6.xhtml">13.6 Representation</a><br/>
+<a href="section-13.7.xhtml">13.7 Multiple Representations</a><br/>
+<a href="section-13.8.xhtml">13.8 Add Domain</a><br/>
+<a href="section-13.9.xhtml">13.9 Defaults</a><br/>
+<a href="section-13.10.xhtml">13.10 Origins</a><br/>
+<a href="section-13.11.xhtml">13.11 Short Forms</a><br/>
+<a href="section-13.12.xhtml">13.12 Example 1: Clifford Algebra</a><br/>
+<a href="section-13.13.xhtml">13.13 Example 2: Building A Query Facility</a><br/>
+<a href="section-13.13.xhtml#subsec-13.13.1" class="subseccontents">13.13.1 A Little Query Language</a><br/>
+<a href="section-13.13.xhtml#subsec-13.13.2" class="subseccontents">13.13.2 The Database Constructor</a><br/>
+<a href="section-13.13.xhtml#subsec-13.13.3" class="subseccontents">13.13.3 Query Equations</a><br/>
+<a href="section-13.13.xhtml#subsec-13.13.4" class="subseccontents">13.13.4 DataLists</a><br/>
+<a href="section-13.13.xhtml#subsec-13.13.5" class="subseccontents">13.13.5 Index Cards</a><br/>
+<a href="section-13.13.xhtml#subsec-13.13.6" class="subseccontents">13.13.6 Creating a Database</a><br/>
+<a href="section-13.13.xhtml#subsec-13.13.7" class="subseccontents">13.13.7 Putting It All Together</a><br/>
+<a href="section-13.13.xhtml#subsec-13.13.8" class="subseccontents">13.13.8 Example Queries</a><br/>
+
+<a name="chapter14"/>
+<h3>Chapter 14: Browse</h3>
+<a href="section-14.0.xhtml">14.0 Browse</a><br/>
+<a href="section-14.1.xhtml">14.1 The Front Page: Searching the Library</a><br/>
+<a href="section-14.1.xhtml#subsec-14.1.1" class="subseccontents">14.1.1 Constructors</a><br/>
+<a href="section-14.1.xhtml#subsec-14.1.2" class="subseccontents">14.1.2 Operations</a><br/>
+<a href="section-14.1.xhtml#subsec-14.1.3" class="subseccontents">14.1.3 Attributes</a><br/>
+<a href="section-14.1.xhtml#subsec-14.1.4" class="subseccontents">14.1.4 General</a><br/>
+<a href="section-14.1.xhtml#subsec-14.1.5" class="subseccontents">14.1.5 Documentation</a><br/>
+<a href="section-14.1.xhtml#subsec-14.1.6" class="subseccontents">14.1.6 Complete</a><br/>
+<a href="section-14.2.xhtml">14.2 The Constructor Page</a><br/>
+<a href="section-14.2.xhtml#subsec-14.2.1" class="subseccontents">14.2.1 Constructor Page Buttons</a><br/>
+<a href="section-14.2.xhtml#subsec-14.2.2" class="subseccontents">14.2.2 Cross Reference</a><br/>
+<a href="section-14.2.xhtml#subsubsec-14.2.2.1" class="subsubseccontents">14.2.2.1 Parents</a><br/>
+<a href="section-14.2.xhtml#subsubsec-14.2.2.2" class="subsubseccontents">14.2.2.2 Ancestors</a><br/>
+<a href="section-14.2.xhtml#subsubsec-14.2.2.3" class="subsubseccontents">14.2.2.3 Relatives</a><br/>
+<a href="section-14.2.xhtml#subsubsec-14.2.2.4" class="subsubseccontents">14.2.2.4 Dependents</a><br/>
+<a href="section-14.2.xhtml#subsubsec-14.2.2.5" class="subsubseccontents">14.2.2.5 Lineage</a><br/>
+<a href="section-14.2.xhtml#subsubsec-14.2.2.6" class="subsubseccontents">14.2.2.6 Clients</a><br/>
+<a href="section-14.2.xhtml#subsubsec-14.2.2.7" class="subsubseccontents">14.2.2.7 Benefactors</a><br/>
+<a href="section-14.2.xhtml#subsubsec-14.2.2.8" class="subsubseccontents">14.2.2.8 Children</a><br/>
+<a href="section-14.2.xhtml#subsubsec-14.2.2.9" class="subsubseccontents">14.2.2.9 Descendants</a><br/>
+<a href="section-14.2.xhtml#subsubsec-14.2.2.10" class="subsubseccontents">14.2.2.10 Domains</a><br/>
+<a href="section-14.2.xhtml#subsec-14.2.3" class="subseccontents">14.2.3 Views Of Constructors</a><br/>
+<a href="section-14.2.xhtml#subsubsec-14.2.3.1" class="subsubseccontents">14.2.3.1 names</a><br/>
+<a href="section-14.2.xhtml#subsubsec-14.2.3.2" class="subsubseccontents">14.2.3.2 abbrs</a><br/>
+<a href="section-14.2.xhtml#subsubsec-14.2.3.3" class="subsubseccontents">14.2.3.3 kinds</a><br/>
+<a href="section-14.2.xhtml#subsubsec-14.2.3.4" class="subsubseccontents">14.2.3.4 files</a><br/>
+<a href="section-14.2.xhtml#subsubsec-14.2.3.5" class="subsubseccontents">14.2.3.5 parameters</a><br/>
+<a href="section-14.2.xhtml#subsubsec-14.2.3.6" class="subsubseccontents">14.2.3.6 filter</a><br/>
+<a href="section-14.2.xhtml#subsubsec-14.2.3.7" class="subsubseccontents">14.2.3.7 documentation</a><br/>
+<a href="section-14.2.xhtml#subsubsec-14.2.3.8" class="subsubseccontents">14.2.3.8 conditions</a><br/>
+<a href="section-14.2.xhtml#subsec-14.2.4" class="subseccontents">14.2.4 Giving Parameters to Constructors</a><br/>
+<a href="section-14.3.xhtml">14.3 Miscellaneous Features of Browse</a><br/>
+<a href="section-14.3.xhtml#subsec-14.3.1" class="subseccontents">14.3.1 The Description Page for Operations</a><br/>
+<a href="section-14.3.xhtml#subsubsec-14.3.1.1" class="subsubseccontents">14.3.1.1 Arguments</a><br/>
+<a href="section-14.3.xhtml#subsubsec-14.3.1.2" class="subsubseccontents">14.3.1.2 Returns</a><br/>
+<a href="section-14.3.xhtml#subsubsec-14.3.1.3" class="subsubseccontents">14.3.1.3 Origin</a><br/>
+<a href="section-14.3.xhtml#subsubsec-14.3.1.4" class="subsubseccontents">14.3.1.4 Conditions</a><br/>
+<a href="section-14.3.xhtml#subsubsec-14.3.1.5" class="subsubseccontents">14.3.1.5 Description</a><br/>
+<a href="section-14.3.xhtml#subsubsec-14.3.1.6" class="subsubseccontents">14.3.1.6 Where</a><br/>
+<a href="section-14.3.xhtml#subsec-14.3.2" class="subseccontents">14.3.2 Views of Operations</a><br/>
+<a href="section-14.3.xhtml#subsubsec-14.3.2.1" class="subsubseccontents">14.3.2.1 names</a><br/>
+<a href="section-14.3.xhtml#subsubsec-14.3.2.2" class="subsubseccontents">14.3.2.2 filter</a><br/>
+<a href="section-14.3.xhtml#subsubsec-14.3.2.3" class="subsubseccontents">14.3.2.3 documentation</a><br/>
+<a href="section-14.3.xhtml#subsubsec-14.3.2.4" class="subsubseccontents">14.3.2.4 signatures</a><br/>
+<a href="section-14.3.xhtml#subsubsec-14.3.2.5" class="subsubseccontents">14.3.2.5 parameters</a><br/>
+<a href="section-14.3.xhtml#subsubsec-14.3.2.6" class="subsubseccontents">14.3.2.6 origins</a><br/>
+<a href="section-14.3.xhtml#subsubsec-14.3.2.7" class="subsubseccontents">14.3.2.7 conditions</a><br/>
+<a href="section-14.3.xhtml#subsubsec-14.3.2.8" class="subsubseccontents">14.3.2.8 usage</a><br/>
+<a href="section-14.3.xhtml#subsubsec-14.3.2.9" class="subsubseccontents">14.3.2.9 implementation</a><br/>
+<a href="section-14.3.xhtml#subsubsec-14.3.2.10" class="subsubseccontents">14.3.2.10 generalize</a><br/>
+<a href="section-14.3.xhtml#subsubsec-14.3.2.11" class="subsubseccontents">14.3.2.11 all domains</a><br/>
+<a href="section-14.3.xhtml#subsec-14.3.3" class="subseccontents">14.3.3 Capitalization Convention</a><br/>
+<a href="section-14.3.xhtml#subsec-14.3.4" class="subseccontents">14.3.4 Browse Options</a><br/>
+<a href="section-14.3.xhtml#subsubsec-14.3.4.1" class="subsubseccontents">14.3.4.1 Exposure</a><br/>
+<a href="section-14.3.xhtml#subsubsec-14.3.4.2" class="subsubseccontents">14.3.4.2 Threshold</a><br/>
+
+<a name="chapter15"/>
+<h3>Chapter 15: What's New in Axiom Version 2.0</h3>
+<a href="section-15.0.xhtml">15.0 Axiom Packages</a><br/>
+<a href="section-15.1.xhtml">15.1 Important Things to Read First</a><br/>
+<a href="section-15.2.xhtml">15.2 The New Axiom Library Compiler</a><br/>
+<a href="section-15.3.xhtml">15.3 The NAG Library Link</a><br/>
+<a href="section-15.3.xhtml#subsec-15.3.1" class="subseccontents">15.3.1 Interpreting NAG Documentation</a><br/>
+<a href="section-15.3.xhtml#subsubsec-15.3.1.1" class="subsubseccontents">15.3.1.1 Correspondence Between Fortran and Axiom types</a><br/>
+<a href="section-15.3.xhtml#subsubsec-15.3.1.2" class="subsubseccontents">15.3.1.2 Classification of NAG parameters</a><br/>
+<a href="section-15.3.xhtml#subsubsec-15.3.1.3" class="subsubseccontents">15.3.1.3 IFAIL</a><br/>
+<a href="section-15.3.xhtml#subsec-15.3.2" class="subseccontents">15.3.2 Using the Link</a><br/>
+<a href="section-15.3.xhtml#subsec-15.3.3" class="subseccontents">15.3.3 Providing values for Argument Subprograms</a><br/>
+<a href="section-15.3.xhtml#subsubsec-15.3.3.1" class="subsubseccontents">15.3.3.1 Providing ASPs via <span class="teletype">FortranExpression</span></a><br/>
+<a href="section-15.3.xhtml#subsubsec-15.3.3.2" class="subsubseccontents">15.3.3.2 Providing ASPs via <span class="teletype">FortranCode</span></a><br/>
+<a href="section-15.3.xhtml#subsubsec-15.3.3.3" class="subsubseccontents">15.3.3.3 Providing ASPs via <span class="teletype">FileName</span></a><br/>
+<a href="section-15.3.xhtml#subsec-15.3.4" class="subseccontents">15.3.4 General Fortran-generation utilities in Axiom</a><br/>
+<a href="section-15.3.xhtml#subsubsec-15.3.4.1" class="subsubseccontents">15.3.4.1 Template Manipulation</a><br/>
+<a href="section-15.3.xhtml#subsubsec-15.3.4.2" class="subsubseccontents">15.3.4.2 Manipulating the Fortran Output Stream</a><br/>
+<a href="section-15.3.xhtml#subsubsec-15.3.4.3" class="subsubseccontents">15.3.4.3 Fortran Types</a><br/>
+<a href="section-15.3.xhtml#subsubsec-15.3.4.4" class="subsubseccontents">15.3.4.4 FortranScalarType</a><br/>
+<a href="section-15.3.xhtml#subsubsec-15.3.4.5" class="subsubseccontents">15.3.4.5 FortranType</a><br/>
+<a href="section-15.3.xhtml#subsubsec-15.3.4.6" class="subsubseccontents">15.3.4.6 SymbolTable</a><br/>
+<a href="section-15.3.xhtml#subsubsec-15.3.4.7" class="subsubseccontents">15.3.4.7 TheSymbolTable</a><br/>
+<a href="section-15.3.xhtml#subsubsec-15.3.4.8" class="subsubseccontents">15.3.4.8 Advanced Fortran Code Generation</a><br/>
+<a href="section-15.3.xhtml#subsubsec-15.3.4.9" class="subsubseccontents">15.3.4.9 Switch</a><br/>
+<a href="section-15.3.xhtml#subsubsec-15.3.4.10" class="subsubseccontents">15.3.4.10 FortranCode</a><br/>
+<a href="section-15.3.xhtml#subsubsec-15.3.4.11" class="subsubseccontents">15.3.4.11 FortranProgram</a><br/>
+<a href="section-15.3.xhtml#subsec-15.3.5" class="subseccontents">15.3.5 Some technical information</a><br/>
+<a href="section-15.4.xhtml">15.4 Interactive Front-end and Language</a><br/>
+<a href="section-15.5.xhtml">15.5 Library</a><br/>
+<a href="section-15.6.xhtml">15.6 HyperTex</a><br/>
+<a href="section-15.7.xhtml">15.7 Documentation</a><br/>
+
+<a name="chapter16"/>
+<h3>Chapter 16: Axiom System Commands</h3>
+<a href="section-16.0.xhtml">16.0 Axiom System Commands</a><br/>
+<a href="section-16.1.xhtml">16.1 Introduction</a><br/>
+<a href="section-16.2.xhtml">16.2 )abbreviation</a><br/>
+<a href="section-16.3.xhtml">16.3 )boot</a><br/>
+<a href="section-16.4.xhtml">16.4 )cd</a><br/>
+<a href="section-16.5.xhtml">16.5 )close</a><br/>
+<a href="section-16.6.xhtml">16.6 )clear</a><br/>
+<a href="section-16.7.xhtml">16.7 )compile</a><br/>
+<a href="section-16.8.xhtml">16.8 )display</a><br/>
+<a href="section-16.9.xhtml">16.9 )edit</a><br/>
+<a href="section-16.10.xhtml">16.10 )fin</a><br/>
+<a href="section-16.11.xhtml">16.11 )frame</a><br/>
+<a href="section-16.12.xhtml">16.12 )help</a><br/>
+<a href="section-16.13.xhtml">16.13 )history</a><br/>
+<a href="section-16.14.xhtml">16.14 )library</a><br/>
+<a href="section-16.15.xhtml">16.15 )lisp</a><br/>
+<a href="section-16.16.xhtml">16.16 )load</a><br/>
+<a href="section-16.17.xhtml">16.17 )trace</a><br/>
+<a href="section-16.18.xhtml">16.18 )pquit</a><br/>
+<a href="section-16.19.xhtml">16.19 )quit</a><br/>
+<a href="section-16.20.xhtml">16.20 )read</a><br/>
+<a href="section-16.21.xhtml">16.21 )set</a><br/>
+<a href="section-16.22.xhtml">16.22 )show</a><br/>
+<a href="section-16.23.xhtml">16.23 )spool</a><br/>
+<a href="section-16.24.xhtml">16.24 )synonym</a><br/>
+<a href="section-16.25.xhtml">16.25 )system</a><br/>
+<a href="section-16.26.xhtml">16.26 )trace</a><br/>
+<a href="section-16.27.xhtml">16.27 )undo</a><br/>
+<a href="section-16.28.xhtml">16.28 )what</a><br/>
+
+<a name="chapter17"/>
+<h3>Chapter 17: Categories</h3>
+<a href="section-17.1.xhtml">17.1 Axiom Categories</a><br/>
+
+<a name="chapter18"/>
+<h3>Chapter 18: Domains</h3>
+<a href="section-18.1.xhtml">18.1 Axiom Domains</a><br/>
+
+<a name="chapter19"/>
+<h3>Chapter 19: Packages</h3>
+<a href="section-19.1.xhtml">19.1 Axiom Packages</a><br/>
+
+<a name="chapter21"/>
+<h3>Chapter 21: Programs for AXIOM Images</h3>
+<a href="section-21.0.xhtml">21.0 Programs for AXIOM Images</a><br/>
+<a href="section-21.1.xhtml">21.1 images1.input</a><br/>
+<a href="section-21.2.xhtml">21.2 images2.input</a><br/>
+<a href="section-21.3.xhtml">21.3 images3.input</a><br/>
+<a href="section-21.4.xhtml">21.4 images5.input</a><br/>
+<a href="section-21.5.xhtml">21.5 images6.input</a><br/>
+<a href="section-21.6.xhtml">21.6 images7.input</a><br/>
+<a href="section-21.7.xhtml">21.7 images8.input</a><br/>
+<a href="section-21.8.xhtml">21.8 conformal.input</a><br/>
+<a href="section-21.9.xhtml">21.9 tknot.input</a><br/>
+<a href="section-21.10.xhtml">21.10 ntube.input</a><br/>
+<a href="section-21.11.xhtml">21.11 dhtri.input</a><br/>
+<a href="section-21.12.xhtml">21.12 tetra.input</a><br/>
+<a href="section-21.13.xhtml">21.13 antoine.input</a><br/>
+<a href="section-21.14.xhtml">21.14 scherk.input</a><br/>
+</body>
+</html>
\ No newline at end of file
diff --git a/src/axiom-website/hyperdoc/axbook/book-index.xhtml b/src/axiom-website/hyperdoc/axbook/book-index.xhtml
new file mode 100644
index 0000000..c8942fa
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/book-index.xhtml
@@ -0,0 +1,2099 @@
+<?xml version="1.0" ?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
+"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [
+<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
+]>
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:xlink="http://www.w3.org/1999/xlink" >
+
+
+  <head>
+    <title>Axiom Book Index</title>
+    <link rel="stylesheet" type="text/css" href="graphicstyle.css" />
+    <script type="text/javascript" src="bookax1.js" />
+  </head>
+
+  <body>
+<a href="section-9.80.xhtml#chapter-9-106">#</a><span style="padding-left: 10px;">Section 9.80  Table</span><br/>
+<a href="section-9.38.xhtml#chapter-9-4">#</a><span style="padding-left: 10px;">Section 9.38  KeyedAccessFile</span><br/>
+<a href="section-1.3.xhtml#chapter-1-22">%e</a><span style="padding-left: 10px;">Section 1.3  The Axiom Language</span><br/>
+<a href="section-1.3.xhtml#chapter-1-21">%i</a><span style="padding-left: 10px;">Section 1.3  The Axiom Language</span><br/>
+<a href="section-1.3.xhtml#chapter-1-25">%infinity</a><span style="padding-left: 10px;">Section 1.3  The Axiom Language</span><br/>
+<a href="section-1.3.xhtml#chapter-1-28">%minusInfinity</a><span style="padding-left: 10px;">Section 1.3  The Axiom Language</span><br/>
+<a href="section-1.3.xhtml#chapter-1-23">%pi</a><span style="padding-left: 10px;">Section 1.3  The Axiom Language</span><br/>
+<a href="section-1.3.xhtml#chapter-1-27">%plusInfinity</a><span style="padding-left: 10px;">Section 1.3  The Axiom Language</span><br/>
+<a href="section-8.1.xhtml#chapter-8-7">**</a><span style="padding-left: 10px;">Section 8.1  Numeric Functions</span><br/>
+<a href="section-8.1.xhtml#chapter-8-9">**</a><span style="padding-left: 10px;">Section 8.1  Numeric Functions</span><br/>
+<a href="section-6.17.xhtml#chapter-6-56">+-> @<span class="teletype">+-></span></a><span style="padding-left: 10px;">Section 6.17  Anonymous Functions</span><br/>
+<a href="section-12.8.xhtml#chapter-12-21">APL</a><span style="padding-left: 10px;">Section 12.8  Correctness</span><br/>
+<a href="section-2.1.xhtml#chapter-2-10">APL</a><span style="padding-left: 10px;">Section 2.1  The Basic Idea</span><br/>
+<a href="section-0.2.xhtml#chapter-0-5">Ada</a><span style="padding-left: 10px;">Section 0.2  A Technical Introduction</span><br/>
+<a href="section-8.1.xhtml#chapter-8-30">Airy function</a><span style="padding-left: 10px;">Section 8.1  Numeric Functions</span><br/>
+<a href="section-9.72.xhtml#chapter-9-38">And</a><span style="padding-left: 10px;">Section 9.72  SingleInteger</span><br/>
+<a href="section-21.13.xhtml#chapter-21-13">Antoine's Necklace</a><span style="padding-left: 10px;">Section 21.13  antoine.input</span><br/>
+<a href="section-2.6.xhtml#chapter-2-46">Any</a><span style="padding-left: 10px;">Section 2.6  The ``Any'' Domain</span><br/>
+<a href="section-2.10.xhtml#chapter-2-60">Any</a><span style="padding-left: 10px;">Section 2.10  Resolving Types</span><br/>
+<a href="section-9.1.xhtml#chapter-9-1">AssociationList</a><span style="padding-left: 10px;">Section 9.1  AssociationList</span><br/>
+<a href="section-9.1.xhtml#chapter-9-3">AssociationList</a><span style="padding-left: 10px;">Section 9.1  AssociationList</span><br/>
+<a href="section-9.1.xhtml#chapter-9-5">AssociationList</a><span style="padding-left: 10px;">Section 9.1  AssociationList</span><br/>
+<a href="section-9.3.xhtml#chapter-9-11">BasicOperator</a><span style="padding-left: 10px;">Section 9.3  BasicOperator</span><br/>
+<a href="section-9.3.xhtml#chapter-9-13">BasicOperator</a><span style="padding-left: 10px;">Section 9.3  BasicOperator</span><br/>
+<a href="section-9.37.xhtml#chapter-9-133">BasicOperator</a><span style="padding-left: 10px;">Section 9.37  Kernel</span><br/>
+<a href="section-9.37.xhtml#chapter-9-135">BasicOperator</a><span style="padding-left: 10px;">Section 9.37  Kernel</span><br/>
+<a href="section-9.3.xhtml#chapter-9-15">BasicOperator</a><span style="padding-left: 10px;">Section 9.3  BasicOperator</span><br/>
+<a href="section-9.3.xhtml#chapter-9-17">BasicOperator</a><span style="padding-left: 10px;">Section 9.3  BasicOperator</span><br/>
+<a href="section-9.3.xhtml#chapter-9-19">BasicOperator</a><span style="padding-left: 10px;">Section 9.3  BasicOperator</span><br/>
+<a href="section-9.3.xhtml#chapter-9-7">BasicOperator</a><span style="padding-left: 10px;">Section 9.3  BasicOperator</span><br/>
+<a href="section-9.3.xhtml#chapter-9-9">BasicOperator</a><span style="padding-left: 10px;">Section 9.3  BasicOperator</span><br/>
+<a href="section-8.9.xhtml#chapter-8-131">Bernoulli:polynomial</a><span style="padding-left: 10px;">Section 8.9  Working with Power Series</span><br/>
+<a href="section-8.9.xhtml#chapter-8-147">Bernoulli:polynomial</a><span style="padding-left: 10px;">Section 8.9  Working with Power Series</span><br/>
+<a href="section-8.1.xhtml#chapter-8-27">Bessel function</a><span style="padding-left: 10px;">Section 8.1  Numeric Functions</span><br/>
+<a href="section-9.4.xhtml#chapter-9-21">BinaryExpansion</a><span style="padding-left: 10px;">Section 9.4  BinaryExpansion</span><br/>
+<a href="section-5.3.xhtml#chapter-5-18">Boolean</a><span style="padding-left: 10px;">Section 5.3  if-then-else</span><br/>
+<a href="section-5.3.xhtml#chapter-5-22">Boolean</a><span style="padding-left: 10px;">Section 5.3  if-then-else</span><br/>
+<a href="section-14.0.xhtml#chapter-14-0">Browse@Browse</a><span style="padding-left: 10px;">Section 14.0  Browse</span><br/>
+<a href="section-6.14.xhtml#chapter-6-41">Browse@Browse</a><span style="padding-left: 10px;">Section 6.14  Making Functions from Objects</span><br/>
+<a href="section-5.1.xhtml#chapter-5-2">C language:assignment</a><span style="padding-left: 10px;">Section 5.1  Immediate and Delayed Assignments</span><br/>
+<a href="section-9.6.xhtml#chapter-9-26">CardinalNumber</a><span style="padding-left: 10px;">Section 9.6  CardinalNumber</span><br/>
+<a href="section-9.6.xhtml#chapter-9-28">CardinalNumber</a><span style="padding-left: 10px;">Section 9.6  CardinalNumber</span><br/>
+<a href="section-7.2.xhtml#chapter-7-136">Cartesian:coordinate system</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-32">Cartesian:coordinate system</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-13">Cartesian:ovals</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-9.7.xhtml#chapter-9-30">CartesianTensor</a><span style="padding-left: 10px;">Section 9.7  CartesianTensor</span><br/>
+<a href="section-9.7.xhtml#chapter-9-32">CartesianTensor</a><span style="padding-left: 10px;">Section 9.7  CartesianTensor</span><br/>
+<a href="section-9.7.xhtml#chapter-9-34">CartesianTensor</a><span style="padding-left: 10px;">Section 9.7  CartesianTensor</span><br/>
+<a href="section-9.7.xhtml#chapter-9-36">CartesianTensor</a><span style="padding-left: 10px;">Section 9.7  CartesianTensor</span><br/>
+<a href="section-9.8.xhtml#chapter-9-48">Character</a><span style="padding-left: 10px;">Section 9.8  Character</span><br/>
+<a href="section-9.8.xhtml#chapter-9-50">Character</a><span style="padding-left: 10px;">Section 9.8  Character</span><br/>
+<a href="section-9.8.xhtml#chapter-9-52">Character</a><span style="padding-left: 10px;">Section 9.8  Character</span><br/>
+<a href="section-1.1.xhtml#chapter-1-9">Clef</a><span style="padding-left: 10px;">Section 1.1  Starting Up and Winding Down</span><br/>
+<a href="section-7.1.xhtml#chapter-7-34">Color</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-39">Color</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-10.7.xhtml#chapter-10-6">Complex DoubleFloat</a><span style="padding-left: 10px;">Section 10.7  Drawing Complex Vector Fields</span><br/>
+<a href="section-9.11.xhtml#chapter-9-54">Complex</a><span style="padding-left: 10px;">Section 9.11  Complex</span><br/>
+<a href="section-9.11.xhtml#chapter-9-56">Complex</a><span style="padding-left: 10px;">Section 9.11  Complex</span><br/>
+<a href="section-9.11.xhtml#chapter-9-58">Complex</a><span style="padding-left: 10px;">Section 9.11  Complex</span><br/>
+<a href="section-9.11.xhtml#chapter-9-60">Complex</a><span style="padding-left: 10px;">Section 9.11  Complex</span><br/>
+<a href="section-9.11.xhtml#chapter-9-62">Complex</a><span style="padding-left: 10px;">Section 9.11  Complex</span><br/>
+<a href="section-9.11.xhtml#chapter-9-64">Complex</a><span style="padding-left: 10px;">Section 9.11  Complex</span><br/>
+<a href="section-16.8.xhtml#chapter-16-52">ComplexCategory</a><span style="padding-left: 10px;">Section 16.8  )display</span><br/>
+<a href="section-9.12.xhtml#chapter-9-66">ContinuedFraction</a><span style="padding-left: 10px;">Section 9.12  ContinuedFraction</span><br/>
+<a href="section-9.12.xhtml#chapter-9-68">ContinuedFraction</a><span style="padding-left: 10px;">Section 9.12  ContinuedFraction</span><br/>
+<a href="section-9.12.xhtml#chapter-9-70">ContinuedFraction</a><span style="padding-left: 10px;">Section 9.12  ContinuedFraction</span><br/>
+<a href="section-9.12.xhtml#chapter-9-72">ContinuedFraction</a><span style="padding-left: 10px;">Section 9.12  ContinuedFraction</span><br/>
+<a href="section-9.12.xhtml#chapter-9-74">ContinuedFraction</a><span style="padding-left: 10px;">Section 9.12  ContinuedFraction</span><br/>
+<a href="section-9.12.xhtml#chapter-9-76">ContinuedFraction</a><span style="padding-left: 10px;">Section 9.12  ContinuedFraction</span><br/>
+<a href="section-7.2.xhtml#chapter-7-161">CoordinateSystems</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-168">CoordinateSystems</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-172">CoordinateSystems</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-9.83.xhtml#chapter-9-14">D</a><span style="padding-left: 10px;">Section 9.83  UnivariatePolynomial</span><br/>
+<a href="section-9.60.xhtml#chapter-9-2">D</a><span style="padding-left: 10px;">Section 9.60  OrderlyDifferentialPolynomial</span><br/>
+<a href="section-9.21.xhtml#chapter-9-24">D</a><span style="padding-left: 10px;">Section 9.21  Expression</span><br/>
+<a href="section-9.46.xhtml#chapter-9-26">D</a><span style="padding-left: 10px;">Section 9.46  LinearOrdinaryDifferentialOperator2</span><br/>
+<a href="section-9.63.xhtml#chapter-9-83">D</a><span style="padding-left: 10px;">Section 9.63  Polynomial</span><br/>
+<a href="section-9.14.xhtml#chapter-9-1">DeRhamComplex</a><span style="padding-left: 10px;">Section 9.14  DeRhamComplex</span><br/>
+<a href="section-9.14.xhtml#chapter-9-3">DeRhamComplex</a><span style="padding-left: 10px;">Section 9.14  DeRhamComplex</span><br/>
+<a href="section-9.15.xhtml#chapter-9-5">DecimalExpansion</a><span style="padding-left: 10px;">Section 9.15  DecimalExpansion</span><br/>
+<a href="section-13.6.xhtml#chapter-13-9">DirectProduct</a><span style="padding-left: 10px;">Section 13.6  Representation</span><br/>
+<a href="section-8.1.xhtml#chapter-8-14">DoubleFloatSpecialFunctions</a><span style="padding-left: 10px;">Section 8.1  Numeric Functions</span><br/>
+<a href="section-7.2.xhtml#chapter-7-145">DrawOption</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-147">DrawOption</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-163">DrawOption</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-164">DrawOption</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-166">DrawOption</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-8.10.xhtml#chapter-8-155">ElementaryFunctionODESolver</a><span style="padding-left: 10px;">Section 8.10  Solution of Differential Equations</span><br/>
+<a href="section-9.18.xhtml#chapter-9-7">EqTable</a><span style="padding-left: 10px;">Section 9.18  EqTable</span><br/>
+<a href="section-9.18.xhtml#chapter-9-9">EqTable</a><span style="padding-left: 10px;">Section 9.18  EqTable</span><br/>
+<a href="section-5.3.xhtml#chapter-5-20">Equation</a><span style="padding-left: 10px;">Section 5.3  if-then-else</span><br/>
+<a href="section-9.19.xhtml#chapter-9-17">Equation</a><span style="padding-left: 10px;">Section 9.19  Equation</span><br/>
+<a href="section-9.19.xhtml#chapter-9-19">Equation</a><span style="padding-left: 10px;">Section 9.19  Equation</span><br/>
+<a href="section-21.4.xhtml#chapter-21-2">Etruscan Venus</a><span style="padding-left: 10px;">Section 21.4  images5.input</span><br/>
+<a href="section-21.5.xhtml#chapter-21-6">Euler:Beta function</a><span style="padding-left: 10px;">Section 21.5  images6.input</span><br/>
+<a href="section-8.1.xhtml#chapter-8-19">Euler:Beta function</a><span style="padding-left: 10px;">Section 8.1  Numeric Functions</span><br/>
+<a href="section-8.1.xhtml#chapter-8-17">Euler:gamma function</a><span style="padding-left: 10px;">Section 8.1  Numeric Functions</span><br/>
+<a href="section-8.1.xhtml#chapter-8-41">Euler:polynomial</a><span style="padding-left: 10px;">Section 8.1  Numeric Functions</span><br/>
+<a href="section-8.1.xhtml#chapter-8-43">Euler:totient function</a><span style="padding-left: 10px;">Section 8.1  Numeric Functions</span><br/>
+<a href="section-10.10.xhtml#chapter-10-10">Expression</a><span style="padding-left: 10px;">Section 10.10  Automatic Newton Iteration Formulas</span><br/>
+<a href="section-6.21.xhtml#chapter-6-80">Expression</a><span style="padding-left: 10px;">Section 6.21  Rules and Pattern Matching</span><br/>
+<a href="section-8.8.xhtml#chapter-8-109">Expression</a><span style="padding-left: 10px;">Section 8.8  Integration</span><br/>
+<a href="section-9.37.xhtml#chapter-9-125">Expression</a><span style="padding-left: 10px;">Section 9.37  Kernel</span><br/>
+<a href="section-9.21.xhtml#chapter-9-21">Expression</a><span style="padding-left: 10px;">Section 9.21  Expression</span><br/>
+<a href="section-9.21.xhtml#chapter-9-23">Expression</a><span style="padding-left: 10px;">Section 9.21  Expression</span><br/>
+<a href="section-9.21.xhtml#chapter-9-25">Expression</a><span style="padding-left: 10px;">Section 9.21  Expression</span><br/>
+<a href="section-9.50.xhtml#chapter-9-57">Expression</a><span style="padding-left: 10px;">Section 9.50  MakeFunction</span><br/>
+<a href="section-8.9.xhtml#chapter-8-128">ExpressionToUnivariatePowerSeries</a><span style="padding-left: 10px;">Section 8.9  Working with Power Series</span><br/>
+<a href="section-4.7.xhtml#chapter-4-52">FORTRAN output format:arrays</a><span style="padding-left: 10px;">Section 4.7  FORTRAN Format</span><br/>
+<a href="section-4.7.xhtml#chapter-4-39">FORTRAN output format:breaking into multiple statements</a><span style="padding-left: 10px;">Section 4.7  FORTRAN Format</span><br/>
+<a href="section-4.7.xhtml#chapter-4-46">FORTRAN output format:data types</a><span style="padding-left: 10px;">Section 4.7  FORTRAN Format</span><br/>
+<a href="section-4.7.xhtml#chapter-4-44">FORTRAN output format:integers vs. floats</a><span style="padding-left: 10px;">Section 4.7  FORTRAN Format</span><br/>
+<a href="section-4.7.xhtml#chapter-4-43">FORTRAN output format:line length</a><span style="padding-left: 10px;">Section 4.7  FORTRAN Format</span><br/>
+<a href="section-4.7.xhtml#chapter-4-47">FORTRAN output format:optimization level</a><span style="padding-left: 10px;">Section 4.7  FORTRAN Format</span><br/>
+<a href="section-4.7.xhtml#chapter-4-50">FORTRAN output format:precision</a><span style="padding-left: 10px;">Section 4.7  FORTRAN Format</span><br/>
+<a href="section-4.7.xhtml#chapter-4-36">FORTRAN output format</a><span style="padding-left: 10px;">Section 4.7  FORTRAN Format</span><br/>
+<a href="section-5.1.xhtml#chapter-5-4">FORTRAN:assignment</a><span style="padding-left: 10px;">Section 5.1  Immediate and Delayed Assignments</span><br/>
+<a href="section-0.2.xhtml#chapter-0-4">FORTRAN</a><span style="padding-left: 10px;">Section 0.2  A Technical Introduction</span><br/>
+<a href="section-8.13.xhtml#chapter-8-215">Factored</a><span style="padding-left: 10px;">Section 8.13  Computation of Galois Groups</span><br/>
+<a href="section-8.13.xhtml#chapter-8-217">Factored</a><span style="padding-left: 10px;">Section 8.13  Computation of Galois Groups</span><br/>
+<a href="section-9.22.xhtml#chapter-9-27">Factored</a><span style="padding-left: 10px;">Section 9.22  Factored</span><br/>
+<a href="section-9.22.xhtml#chapter-9-29">Factored</a><span style="padding-left: 10px;">Section 9.22  Factored</span><br/>
+<a href="section-9.22.xhtml#chapter-9-31">Factored</a><span style="padding-left: 10px;">Section 9.22  Factored</span><br/>
+<a href="section-9.22.xhtml#chapter-9-33">Factored</a><span style="padding-left: 10px;">Section 9.22  Factored</span><br/>
+<a href="section-9.22.xhtml#chapter-9-35">Factored</a><span style="padding-left: 10px;">Section 9.22  Factored</span><br/>
+<a href="section-9.22.xhtml#chapter-9-37">Factored</a><span style="padding-left: 10px;">Section 9.22  Factored</span><br/>
+<a href="section-9.22.xhtml#chapter-9-39">Factored</a><span style="padding-left: 10px;">Section 9.22  Factored</span><br/>
+<a href="section-9.22.xhtml#chapter-9-41">Factored</a><span style="padding-left: 10px;">Section 9.22  Factored</span><br/>
+<a href="section-9.22.xhtml#chapter-9-43">Factored</a><span style="padding-left: 10px;">Section 9.22  Factored</span><br/>
+<a href="section-9.61.xhtml#chapter-9-43">Factored</a><span style="padding-left: 10px;">Section 9.61  PartialFraction</span><br/>
+<a href="section-9.22.xhtml#chapter-9-45">Factored</a><span style="padding-left: 10px;">Section 9.22  Factored</span><br/>
+<a href="section-9.22.xhtml#chapter-9-47">Factored</a><span style="padding-left: 10px;">Section 9.22  Factored</span><br/>
+<a href="section-9.22.xhtml#chapter-9-49">Factored</a><span style="padding-left: 10px;">Section 9.22  Factored</span><br/>
+<a href="section-9.23.xhtml#chapter-9-51">FactoredFunctions2</a><span style="padding-left: 10px;">Section 9.23  FactoredFunctions2</span><br/>
+<a href="section-9.23.xhtml#chapter-9-53">FactoredFunctions2</a><span style="padding-left: 10px;">Section 9.23  FactoredFunctions2</span><br/>
+<a href="section-9.23.xhtml#chapter-9-55">FactoredFunctions2</a><span style="padding-left: 10px;">Section 9.23  FactoredFunctions2</span><br/>
+<a href="section-9.23.xhtml#chapter-9-57">FactoredFunctions2</a><span style="padding-left: 10px;">Section 9.23  FactoredFunctions2</span><br/>
+<a href="section-9.23.xhtml#chapter-9-59">FactoredFunctions2</a><span style="padding-left: 10px;">Section 9.23  FactoredFunctions2</span><br/>
+<a href="section-6.2.xhtml#chapter-6-10">Fibonacci numbers</a><span style="padding-left: 10px;">Section 6.2  Macros</span><br/>
+<a href="section-6.13.xhtml#chapter-6-34">Fibonacci numbers</a><span style="padding-left: 10px;">Section 6.13  Recurrence Relations</span><br/>
+<a href="section-6.16.xhtml#chapter-6-53">Fibonacci numbers</a><span style="padding-left: 10px;">Section 6.16  Free and Local Variables</span><br/>
+<a href="section-8.9.xhtml#chapter-8-119">Fibonacci numbers</a><span style="padding-left: 10px;">Section 8.9  Working with Power Series</span><br/>
+<a href="section-12.11.xhtml#chapter-12-29">Field</a><span style="padding-left: 10px;">Section 12.11  Conditionals</span><br/>
+<a href="section-9.24.xhtml#chapter-9-61">File</a><span style="padding-left: 10px;">Section 9.24  File</span><br/>
+<a href="section-9.24.xhtml#chapter-9-63">File</a><span style="padding-left: 10px;">Section 9.24  File</span><br/>
+<a href="section-9.24.xhtml#chapter-9-65">File</a><span style="padding-left: 10px;">Section 9.24  File</span><br/>
+<a href="section-9.24.xhtml#chapter-9-67">File</a><span style="padding-left: 10px;">Section 9.24  File</span><br/>
+<a href="section-9.24.xhtml#chapter-9-69">File</a><span style="padding-left: 10px;">Section 9.24  File</span><br/>
+<a href="section-9.24.xhtml#chapter-9-71">File</a><span style="padding-left: 10px;">Section 9.24  File</span><br/>
+<a href="section-9.25.xhtml#chapter-9-73">FileName</a><span style="padding-left: 10px;">Section 9.25  FileName</span><br/>
+<a href="section-9.25.xhtml#chapter-9-75">FileName</a><span style="padding-left: 10px;">Section 9.25  FileName</span><br/>
+<a href="section-9.25.xhtml#chapter-9-77">FileName</a><span style="padding-left: 10px;">Section 9.25  FileName</span><br/>
+<a href="section-9.25.xhtml#chapter-9-79">FileName</a><span style="padding-left: 10px;">Section 9.25  FileName</span><br/>
+<a href="section-9.25.xhtml#chapter-9-81">FileName</a><span style="padding-left: 10px;">Section 9.25  FileName</span><br/>
+<a href="section-8.11.xhtml#chapter-8-195">FiniteFieldPolynomialPackage</a><span style="padding-left: 10px;">Section 8.11  Finite Fields</span><br/>
+<a href="section-8.11.xhtml#chapter-8-197">FiniteFieldPolynomialPackage</a><span style="padding-left: 10px;">Section 8.11  Finite Fields</span><br/>
+<a href="section-8.11.xhtml#chapter-8-199">FiniteFieldPolynomialPackage</a><span style="padding-left: 10px;">Section 8.11  Finite Fields</span><br/>
+<a href="section-8.11.xhtml#chapter-8-201">FiniteFieldPolynomialPackage</a><span style="padding-left: 10px;">Section 8.11  Finite Fields</span><br/>
+<a href="section-8.11.xhtml#chapter-8-203">FiniteFieldPolynomialPackage</a><span style="padding-left: 10px;">Section 8.11  Finite Fields</span><br/>
+<a href="section-8.11.xhtml#chapter-8-205">FiniteFieldPolynomialPackage</a><span style="padding-left: 10px;">Section 8.11  Finite Fields</span><br/>
+<a href="section-8.11.xhtml#chapter-8-207">FiniteFieldPolynomialPackage</a><span style="padding-left: 10px;">Section 8.11  Finite Fields</span><br/>
+<a href="section-1.4.xhtml#chapter-1-33">Float</a><span style="padding-left: 10px;">Section 1.4  Numbers</span><br/>
+<a href="section-8.1.xhtml#chapter-8-10">Float</a><span style="padding-left: 10px;">Section 8.1  Numeric Functions</span><br/>
+<a href="section-8.1.xhtml#chapter-8-8">Float</a><span style="padding-left: 10px;">Section 8.1  Numeric Functions</span><br/>
+<a href="section-9.27.xhtml#chapter-9-1">Float</a><span style="padding-left: 10px;">Section 9.27  Float</span><br/>
+<a href="section-9.27.xhtml#chapter-9-11">Float</a><span style="padding-left: 10px;">Section 9.27  Float</span><br/>
+<a href="section-9.27.xhtml#chapter-9-13">Float</a><span style="padding-left: 10px;">Section 9.27  Float</span><br/>
+<a href="section-9.27.xhtml#chapter-9-15">Float</a><span style="padding-left: 10px;">Section 9.27  Float</span><br/>
+<a href="section-9.27.xhtml#chapter-9-17">Float</a><span style="padding-left: 10px;">Section 9.27  Float</span><br/>
+<a href="section-9.27.xhtml#chapter-9-19">Float</a><span style="padding-left: 10px;">Section 9.27  Float</span><br/>
+<a href="section-9.27.xhtml#chapter-9-23">Float</a><span style="padding-left: 10px;">Section 9.27  Float</span><br/>
+<a href="section-9.27.xhtml#chapter-9-3">Float</a><span style="padding-left: 10px;">Section 9.27  Float</span><br/>
+<a href="section-9.27.xhtml#chapter-9-5">Float</a><span style="padding-left: 10px;">Section 9.27  Float</span><br/>
+<a href="section-9.27.xhtml#chapter-9-7">Float</a><span style="padding-left: 10px;">Section 9.27  Float</span><br/>
+<a href="section-9.12.xhtml#chapter-9-78">Float</a><span style="padding-left: 10px;">Section 9.12  ContinuedFraction</span><br/>
+<a href="section-9.27.xhtml#chapter-9-9">Float</a><span style="padding-left: 10px;">Section 9.27  Float</span><br/>
+<a href="section-15.3.xhtml#chapter-15-17">FortranCode</a><span style="padding-left: 10px;">Section 15.3  The NAG Library Link</span><br/>
+<a href="section-15.3.xhtml#chapter-15-19">FortranCode</a><span style="padding-left: 10px;">Section 15.3  The NAG Library Link</span><br/>
+<a href="section-15.3.xhtml#chapter-15-21">FortranCode</a><span style="padding-left: 10px;">Section 15.3  The NAG Library Link</span><br/>
+<a href="section-15.3.xhtml#chapter-15-23">FortranOutputStackPackage</a><span style="padding-left: 10px;">Section 15.3  The NAG Library Link</span><br/>
+<a href="section-15.3.xhtml#chapter-15-31">FortranProgram</a><span style="padding-left: 10px;">Section 15.3  The NAG Library Link</span><br/>
+<a href="section-15.3.xhtml#chapter-15-24">FortranScalarType</a><span style="padding-left: 10px;">Section 15.3  The NAG Library Link</span><br/>
+<a href="section-15.3.xhtml#chapter-15-26">FortranScalarType</a><span style="padding-left: 10px;">Section 15.3  The NAG Library Link</span><br/>
+<a href="section-15.3.xhtml#chapter-15-27">FortranType</a><span style="padding-left: 10px;">Section 15.3  The NAG Library Link</span><br/>
+<a href="section-15.3.xhtml#chapter-15-8">FoundationLibraryDocPage</a><span style="padding-left: 10px;">Section 15.3  The NAG Library Link</span><br/>
+<a href="section-12.11.xhtml#chapter-12-27">Fraction</a><span style="padding-left: 10px;">Section 12.11  Conditionals</span><br/>
+<a href="section-2.1.xhtml#chapter-2-12">Fraction</a><span style="padding-left: 10px;">Section 2.1  The Basic Idea</span><br/>
+<a href="section-2.5.xhtml#chapter-2-38">Fraction</a><span style="padding-left: 10px;">Section 2.5  Unions</span><br/>
+<a href="section-2.9.xhtml#chapter-2-58">Fraction</a><span style="padding-left: 10px;">Section 2.9  Package Calling and Target Types</span><br/>
+<a href="section-9.28.xhtml#chapter-9-25">Fraction</a><span style="padding-left: 10px;">Section 9.28  Fraction</span><br/>
+<a href="section-9.28.xhtml#chapter-9-27">Fraction</a><span style="padding-left: 10px;">Section 9.28  Fraction</span><br/>
+<a href="section-9.28.xhtml#chapter-9-29">Fraction</a><span style="padding-left: 10px;">Section 9.28  Fraction</span><br/>
+<a href="section-9.28.xhtml#chapter-9-31">Fraction</a><span style="padding-left: 10px;">Section 9.28  Fraction</span><br/>
+<a href="section-9.28.xhtml#chapter-9-33">Fraction</a><span style="padding-left: 10px;">Section 9.28  Fraction</span><br/>
+<a href="section-9.28.xhtml#chapter-9-35">Fraction</a><span style="padding-left: 10px;">Section 9.28  Fraction</span><br/>
+<a href="section-9.28.xhtml#chapter-9-37">Fraction</a><span style="padding-left: 10px;">Section 9.28  Fraction</span><br/>
+<a href="section-9.28.xhtml#chapter-9-39">Fraction</a><span style="padding-left: 10px;">Section 9.28  Fraction</span><br/>
+<a href="section-9.28.xhtml#chapter-9-41">Fraction</a><span style="padding-left: 10px;">Section 9.28  Fraction</span><br/>
+<a href="section-9.28.xhtml#chapter-9-43">Fraction</a><span style="padding-left: 10px;">Section 9.28  Fraction</span><br/>
+<a href="section-9.28.xhtml#chapter-9-45">Fraction</a><span style="padding-left: 10px;">Section 9.28  Fraction</span><br/>
+<a href="section-9.28.xhtml#chapter-9-47">Fraction</a><span style="padding-left: 10px;">Section 9.28  Fraction</span><br/>
+<a href="section-9.29.xhtml#chapter-9-49">FullPartialFractionExpansion</a><span style="padding-left: 10px;">Section 9.29  FullPartialFractionExpansion</span><br/>
+<a href="section-8.8.xhtml#chapter-8-105">FunctionSpaceComplexIntegration</a><span style="padding-left: 10px;">Section 8.8  Integration</span><br/>
+<a href="section-8.8.xhtml#chapter-8-107">FunctionSpaceComplexIntegration</a><span style="padding-left: 10px;">Section 8.8  Integration</span><br/>
+<a href="section-8.8.xhtml#chapter-8-100">FunctionSpaceIntegration</a><span style="padding-left: 10px;">Section 8.8  Integration</span><br/>
+<a href="section-8.8.xhtml#chapter-8-101">FunctionSpaceIntegration</a><span style="padding-left: 10px;">Section 8.8  Integration</span><br/>
+<a href="section-8.11.xhtml#chapter-8-161">Galois:field</a><span style="padding-left: 10px;">Section 8.11  Finite Fields</span><br/>
+<a href="section-8.13.xhtml#chapter-8-212">Galois:group</a><span style="padding-left: 10px;">Section 8.13  Computation of Galois Groups</span><br/>
+<a href="section-8.9.xhtml#chapter-8-138">GenerateUnivariatePowerSeries</a><span style="padding-left: 10px;">Section 8.9  Working with Power Series</span><br/>
+<a href="section-9.7.xhtml#chapter-9-40">GradedAlgebra</a><span style="padding-left: 10px;">Section 9.7  CartesianTensor</span><br/>
+<a href="section-9.7.xhtml#chapter-9-42">GradedAlgebra</a><span style="padding-left: 10px;">Section 9.7  CartesianTensor</span><br/>
+<a href="section-9.7.xhtml#chapter-9-44">GradedAlgebra</a><span style="padding-left: 10px;">Section 9.7  CartesianTensor</span><br/>
+<a href="section-9.7.xhtml#chapter-9-46">GradedAlgebra</a><span style="padding-left: 10px;">Section 9.7  CartesianTensor</span><br/>
+<a href="section-9.7.xhtml#chapter-9-38">GradedModule</a><span style="padding-left: 10px;">Section 9.7  CartesianTensor</span><br/>
+<a href="section-7.1.xhtml#chapter-7-106">GraphImage</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-110">GraphImage</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-112">GraphImage</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-114">GraphImage</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-116">GraphImage</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-18">GraphicsDefaults</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-20">GraphicsDefaults</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-9.31.xhtml#chapter-9-51">GroebnerFactorizationPackage</a><span style="padding-left: 10px;">Section 9.31  GroebnerFactorizationPackage</span><br/>
+<a href="section-9.31.xhtml#chapter-9-53">GroebnerFactorizationPackage</a><span style="padding-left: 10px;">Section 9.31  GroebnerFactorizationPackage</span><br/>
+<a href="section-9.33.xhtml#chapter-9-55">HexadecimalExpansion</a><span style="padding-left: 10px;">Section 9.33  HexadecimalExpansion</span><br/>
+<a href="section-8.13.xhtml#chapter-8-221">Hilbert class field</a><span style="padding-left: 10px;">Section 8.13  Computation of Galois Groups</span><br/>
+<a href="section-1.1.xhtml#chapter-1-4">Hyper@{HyperDoc}</a><span style="padding-left: 10px;">Section 1.1  Starting Up and Winding Down</span><br/>
+<a href="section-3.8.xhtml#chapter-3-3">HyperDoc X Window System defaults</a><span style="padding-left: 10px;">Section 3.8  X Window Resources for HyperDoc</span><br/>
+<a href="section-3.0.xhtml#chapter-3-0">HyperDoc</a><span style="padding-left: 10px;">Section 3.0 Using HyperDoc</span><br/>
+<a href="section-14.0.xhtml#chapter-14-1">HyperDoc@{HyperDoc}</a><span style="padding-left: 10px;">Section 14.0  Browse</span><br/>
+<a href="section-4.6.xhtml#chapter-4-33">IBM Script Formula Format</a><span style="padding-left: 10px;">Section 4.6  IBM Script Formula Format</span><br/>
+<a href="section-0.2.xhtml#chapter-0-10">Integer</a><span style="padding-left: 10px;">Section 0.2  A Technical Introduction</span><br/>
+<a href="section-0.2.xhtml#chapter-0-8">Integer</a><span style="padding-left: 10px;">Section 0.2  A Technical Introduction</span><br/>
+<a href="section-2.5.xhtml#chapter-2-36">Integer</a><span style="padding-left: 10px;">Section 2.5  Unions</span><br/>
+<a href="section-6.1.xhtml#chapter-6-3">Integer</a><span style="padding-left: 10px;">Section 6.1  Functions vs. Macros</span><br/>
+<a href="section-9.34.xhtml#chapter-9-57">Integer</a><span style="padding-left: 10px;">Section 9.34  Integer</span><br/>
+<a href="section-9.34.xhtml#chapter-9-59">Integer</a><span style="padding-left: 10px;">Section 9.34  Integer</span><br/>
+<a href="section-9.34.xhtml#chapter-9-61">Integer</a><span style="padding-left: 10px;">Section 9.34  Integer</span><br/>
+<a href="section-9.34.xhtml#chapter-9-63">Integer</a><span style="padding-left: 10px;">Section 9.34  Integer</span><br/>
+<a href="section-9.34.xhtml#chapter-9-65">Integer</a><span style="padding-left: 10px;">Section 9.34  Integer</span><br/>
+<a href="section-9.34.xhtml#chapter-9-67">Integer</a><span style="padding-left: 10px;">Section 9.34  Integer</span><br/>
+<a href="section-9.34.xhtml#chapter-9-69">Integer</a><span style="padding-left: 10px;">Section 9.34  Integer</span><br/>
+<a href="section-9.34.xhtml#chapter-9-71">Integer</a><span style="padding-left: 10px;">Section 9.34  Integer</span><br/>
+<a href="section-9.34.xhtml#chapter-9-73">Integer</a><span style="padding-left: 10px;">Section 9.34  Integer</span><br/>
+<a href="section-9.34.xhtml#chapter-9-75">Integer</a><span style="padding-left: 10px;">Section 9.34  Integer</span><br/>
+<a href="section-9.34.xhtml#chapter-9-77">Integer</a><span style="padding-left: 10px;">Section 9.34  Integer</span><br/>
+<a href="section-9.34.xhtml#chapter-9-79">Integer</a><span style="padding-left: 10px;">Section 9.34  Integer</span><br/>
+<a href="section-9.34.xhtml#chapter-9-81">Integer</a><span style="padding-left: 10px;">Section 9.34  Integer</span><br/>
+<a href="section-9.34.xhtml#chapter-9-83">Integer</a><span style="padding-left: 10px;">Section 9.34  Integer</span><br/>
+<a href="section-9.35.xhtml#chapter-9-103">IntegerLinearDependence</a><span style="padding-left: 10px;">Section 9.35  IntegerLinearDependence</span><br/>
+<a href="section-6.13.xhtml#chapter-6-36">IntegerNumberTheoryFunctions</a><span style="padding-left: 10px;">Section 6.13  Recurrence Relations</span><br/>
+<a href="section-9.34.xhtml#chapter-9-101">IntegerNumberTheoryFunctions</a><span style="padding-left: 10px;">Section 9.34  Integer</span><br/>
+<a href="section-9.36.xhtml#chapter-9-105">IntegerNumberTheoryFunctions</a><span style="padding-left: 10px;">Section 9.36  IntegerNumberTheoryFunctions</span><br/>
+<a href="section-9.36.xhtml#chapter-9-107">IntegerNumberTheoryFunctions</a><span style="padding-left: 10px;">Section 9.36  IntegerNumberTheoryFunctions</span><br/>
+<a href="section-9.36.xhtml#chapter-9-109">IntegerNumberTheoryFunctions</a><span style="padding-left: 10px;">Section 9.36  IntegerNumberTheoryFunctions</span><br/>
+<a href="section-9.36.xhtml#chapter-9-111">IntegerNumberTheoryFunctions</a><span style="padding-left: 10px;">Section 9.36  IntegerNumberTheoryFunctions</span><br/>
+<a href="section-9.36.xhtml#chapter-9-113">IntegerNumberTheoryFunctions</a><span style="padding-left: 10px;">Section 9.36  IntegerNumberTheoryFunctions</span><br/>
+<a href="section-9.36.xhtml#chapter-9-115">IntegerNumberTheoryFunctions</a><span style="padding-left: 10px;">Section 9.36  IntegerNumberTheoryFunctions</span><br/>
+<a href="section-9.36.xhtml#chapter-9-117">IntegerNumberTheoryFunctions</a><span style="padding-left: 10px;">Section 9.36  IntegerNumberTheoryFunctions</span><br/>
+<a href="section-9.36.xhtml#chapter-9-119">IntegerNumberTheoryFunctions</a><span style="padding-left: 10px;">Section 9.36  IntegerNumberTheoryFunctions</span><br/>
+<a href="section-9.36.xhtml#chapter-9-121">IntegerNumberTheoryFunctions</a><span style="padding-left: 10px;">Section 9.36  IntegerNumberTheoryFunctions</span><br/>
+<a href="section-9.34.xhtml#chapter-9-91">IntegerNumberTheoryFunctions</a><span style="padding-left: 10px;">Section 9.34  Integer</span><br/>
+<a href="section-9.34.xhtml#chapter-9-93">IntegerNumberTheoryFunctions</a><span style="padding-left: 10px;">Section 9.34  Integer</span><br/>
+<a href="section-9.34.xhtml#chapter-9-95">IntegerNumberTheoryFunctions</a><span style="padding-left: 10px;">Section 9.34  Integer</span><br/>
+<a href="section-9.34.xhtml#chapter-9-97">IntegerNumberTheoryFunctions</a><span style="padding-left: 10px;">Section 9.34  Integer</span><br/>
+<a href="section-9.34.xhtml#chapter-9-99">IntegerNumberTheoryFunctions</a><span style="padding-left: 10px;">Section 9.34  Integer</span><br/>
+<a href="section-5.6.xhtml#chapter-5-62">IntegerPrimesPackage</a><span style="padding-left: 10px;">Section 5.6  An Example: Streams of Primes</span><br/>
+<a href="section-5.6.xhtml#chapter-5-64">IntegerPrimesPackage</a><span style="padding-left: 10px;">Section 5.6  An Example: Streams of Primes</span><br/>
+<a href="section-5.6.xhtml#chapter-5-74">IntegerPrimesPackage</a><span style="padding-left: 10px;">Section 5.6  An Example: Streams of Primes</span><br/>
+<a href="section-9.34.xhtml#chapter-9-85">IntegerPrimesPackage</a><span style="padding-left: 10px;">Section 9.34  Integer</span><br/>
+<a href="section-9.34.xhtml#chapter-9-87">IntegerPrimesPackage</a><span style="padding-left: 10px;">Section 9.34  Integer</span><br/>
+<a href="section-9.34.xhtml#chapter-9-89">IntegerPrimesPackage</a><span style="padding-left: 10px;">Section 9.34  Integer</span><br/>
+<a href="section-12.1.xhtml#chapter-12-7">Join</a><span style="padding-left: 10px;">Section 12.1  Definitions</span><br/>
+<a href="section-13.3.xhtml#chapter-13-1">Join</a><span style="padding-left: 10px;">Section 13.3  Category Assertions</span><br/>
+<a href="section-9.37.xhtml#chapter-9-123">Kernel</a><span style="padding-left: 10px;">Section 9.37  Kernel</span><br/>
+<a href="section-9.37.xhtml#chapter-9-127">Kernel</a><span style="padding-left: 10px;">Section 9.37  Kernel</span><br/>
+<a href="section-9.37.xhtml#chapter-9-129">Kernel</a><span style="padding-left: 10px;">Section 9.37  Kernel</span><br/>
+<a href="section-9.37.xhtml#chapter-9-131">Kernel</a><span style="padding-left: 10px;">Section 9.37  Kernel</span><br/>
+<a href="section-9.37.xhtml#chapter-9-137">Kernel</a><span style="padding-left: 10px;">Section 9.37  Kernel</span><br/>
+<a href="section-9.37.xhtml#chapter-9-139">Kernel</a><span style="padding-left: 10px;">Section 9.37  Kernel</span><br/>
+<a href="section-9.37.xhtml#chapter-9-141">Kernel</a><span style="padding-left: 10px;">Section 9.37  Kernel</span><br/>
+<a href="section-9.38.xhtml#chapter-9-1">KeyedAccessFile</a><span style="padding-left: 10px;">Section 9.38  KeyedAccessFile</span><br/>
+<a href="section-9.38.xhtml#chapter-9-11">KeyedAccessFile</a><span style="padding-left: 10px;">Section 9.38  KeyedAccessFile</span><br/>
+<a href="section-9.38.xhtml#chapter-9-3">KeyedAccessFile</a><span style="padding-left: 10px;">Section 9.38  KeyedAccessFile</span><br/>
+<a href="section-9.38.xhtml#chapter-9-5">KeyedAccessFile</a><span style="padding-left: 10px;">Section 9.38  KeyedAccessFile</span><br/>
+<a href="section-9.38.xhtml#chapter-9-7">KeyedAccessFile</a><span style="padding-left: 10px;">Section 9.38  KeyedAccessFile</span><br/>
+<a href="section-9.38.xhtml#chapter-9-9">KeyedAccessFile</a><span style="padding-left: 10px;">Section 9.38  KeyedAccessFile</span><br/>
+<a href="section-21.4.xhtml#chapter-21-3">Klein bottle</a><span style="padding-left: 10px;">Section 21.4  images5.input</span><br/>
+<a href="section-16.9.xhtml#chapter-16-62">Korn shell</a><span style="padding-left: 10px;">Section 16.9  )edit</span><br/>
+<a href="section-8.7.xhtml#chapter-8-95">Laplace transform</a><span style="padding-left: 10px;">Section 8.7  Laplace Transforms</span><br/>
+<a href="section-8.9.xhtml#chapter-8-134">Laurent series</a><span style="padding-left: 10px;">Section 8.9  Working with Power Series</span><br/>
+<a href="section-0.1.xhtml#chapter-0-0">Legendre polynomials</a><span style="padding-left: 10px;">Section 0.1  Introduction to Axiom</span><br/>
+<a href="section-9.39.xhtml#chapter-9-13">LexTriangularPackage</a><span style="padding-left: 10px;">Section 9.39  LexTriangularPackage</span><br/>
+<a href="section-9.39.xhtml#chapter-9-15">LexTriangularPackage</a><span style="padding-left: 10px;">Section 9.39  LexTriangularPackage</span><br/>
+<a href="section-9.39.xhtml#chapter-9-17">LexTriangularPackage</a><span style="padding-left: 10px;">Section 9.39  LexTriangularPackage</span><br/>
+<a href="section-9.39.xhtml#chapter-9-19">LexTriangularPackage</a><span style="padding-left: 10px;">Section 9.39  LexTriangularPackage</span><br/>
+<a href="section-9.39.xhtml#chapter-9-21">LexTriangularPackage</a><span style="padding-left: 10px;">Section 9.39  LexTriangularPackage</span><br/>
+<a href="section-9.39.xhtml#chapter-9-23">LexTriangularPackage</a><span style="padding-left: 10px;">Section 9.39  LexTriangularPackage</span><br/>
+<a href="section-9.39.xhtml#chapter-9-25">LexTriangularPackage</a><span style="padding-left: 10px;">Section 9.39  LexTriangularPackage</span><br/>
+<a href="section-9.39.xhtml#chapter-9-27">LexTriangularPackage</a><span style="padding-left: 10px;">Section 9.39  LexTriangularPackage</span><br/>
+<a href="section-9.39.xhtml#chapter-9-29">LexTriangularPackage</a><span style="padding-left: 10px;">Section 9.39  LexTriangularPackage</span><br/>
+<a href="section-9.39.xhtml#chapter-9-31">LexTriangularPackage</a><span style="padding-left: 10px;">Section 9.39  LexTriangularPackage</span><br/>
+<a href="section-9.91.xhtml#chapter-9-67">LexTriangularPackage</a><span style="padding-left: 10px;">Section 9.91  ZeroDimensionalSolvePackage</span><br/>
+<a href="section-9.41.xhtml#chapter-9-39">Library</a><span style="padding-left: 10px;">Section 9.41  Library</span><br/>
+<a href="section-8.14.xhtml#chapter-8-225">Lie algebra</a><span style="padding-left: 10px;">Section 8.14  Non-Associative Algebras and Modelling Genetic Laws</span><br/>
+<a href="section-9.45.xhtml#chapter-9-1">LinearOrdinaryDifferentialOperator1</a><span style="padding-left: 10px;">Section 9.45  LinearOrdinaryDifferentialOperator1</span><br/>
+<a href="section-9.45.xhtml#chapter-9-11">LinearOrdinaryDifferentialOperator1</a><span style="padding-left: 10px;">Section 9.45  LinearOrdinaryDifferentialOperator1</span><br/>
+<a href="section-9.45.xhtml#chapter-9-13">LinearOrdinaryDifferentialOperator1</a><span style="padding-left: 10px;">Section 9.45  LinearOrdinaryDifferentialOperator1</span><br/>
+<a href="section-9.45.xhtml#chapter-9-15">LinearOrdinaryDifferentialOperator1</a><span style="padding-left: 10px;">Section 9.45  LinearOrdinaryDifferentialOperator1</span><br/>
+<a href="section-9.45.xhtml#chapter-9-17">LinearOrdinaryDifferentialOperator1</a><span style="padding-left: 10px;">Section 9.45  LinearOrdinaryDifferentialOperator1</span><br/>
+<a href="section-9.45.xhtml#chapter-9-19">LinearOrdinaryDifferentialOperator1</a><span style="padding-left: 10px;">Section 9.45  LinearOrdinaryDifferentialOperator1</span><br/>
+<a href="section-9.45.xhtml#chapter-9-21">LinearOrdinaryDifferentialOperator1</a><span style="padding-left: 10px;">Section 9.45  LinearOrdinaryDifferentialOperator1</span><br/>
+<a href="section-9.45.xhtml#chapter-9-23">LinearOrdinaryDifferentialOperator1</a><span style="padding-left: 10px;">Section 9.45  LinearOrdinaryDifferentialOperator1</span><br/>
+<a href="section-9.45.xhtml#chapter-9-25">LinearOrdinaryDifferentialOperator1</a><span style="padding-left: 10px;">Section 9.45  LinearOrdinaryDifferentialOperator1</span><br/>
+<a href="section-9.45.xhtml#chapter-9-3">LinearOrdinaryDifferentialOperator1</a><span style="padding-left: 10px;">Section 9.45  LinearOrdinaryDifferentialOperator1</span><br/>
+<a href="section-9.45.xhtml#chapter-9-5">LinearOrdinaryDifferentialOperator1</a><span style="padding-left: 10px;">Section 9.45  LinearOrdinaryDifferentialOperator1</span><br/>
+<a href="section-9.45.xhtml#chapter-9-7">LinearOrdinaryDifferentialOperator1</a><span style="padding-left: 10px;">Section 9.45  LinearOrdinaryDifferentialOperator1</span><br/>
+<a href="section-9.45.xhtml#chapter-9-9">LinearOrdinaryDifferentialOperator1</a><span style="padding-left: 10px;">Section 9.45  LinearOrdinaryDifferentialOperator1</span><br/>
+<a href="section-9.46.xhtml#chapter-9-27">LinearOrdinaryDifferentialOperator2</a><span style="padding-left: 10px;">Section 9.46  LinearOrdinaryDifferentialOperator2</span><br/>
+<a href="section-14.2.xhtml#chapter-14-12">LinearSystemMatrixPackage</a><span style="padding-left: 10px;">Section 14.2  The Constructor Page</span><br/>
+<a href="section-14.2.xhtml#chapter-14-8">LinearSystemMatrixPackage</a><span style="padding-left: 10px;">Section 14.2  The Constructor Page</span><br/>
+<a href="section-16.7.xhtml#chapter-16-44">Lisp:code generation</a><span style="padding-left: 10px;">Section 16.7  )compile</span><br/>
+<a href="section-1.5.xhtml#chapter-1-39">List</a><span style="padding-left: 10px;">Section 1.5  Data Structures</span><br/>
+<a href="section-1.5.xhtml#chapter-1-41">List</a><span style="padding-left: 10px;">Section 1.5  Data Structures</span><br/>
+<a href="section-1.5.xhtml#chapter-1-43">List</a><span style="padding-left: 10px;">Section 1.5  Data Structures</span><br/>
+<a href="section-1.5.xhtml#chapter-1-47">List</a><span style="padding-left: 10px;">Section 1.5  Data Structures</span><br/>
+<a href="section-11.8.xhtml#chapter-11-18">List</a><span style="padding-left: 10px;">Section 11.8  Conditionals</span><br/>
+<a href="section-11.8.xhtml#chapter-11-20">List</a><span style="padding-left: 10px;">Section 11.8  Conditionals</span><br/>
+<a href="section-13.13.xhtml#chapter-13-18">List</a><span style="padding-left: 10px;">Section 13.13  Example 2: Building A Query Facility</span><br/>
+<a href="section-13.13.xhtml#chapter-13-20">List</a><span style="padding-left: 10px;">Section 13.13  Example 2: Building A Query Facility</span><br/>
+<a href="section-13.13.xhtml#chapter-13-22">List</a><span style="padding-left: 10px;">Section 13.13  Example 2: Building A Query Facility</span><br/>
+<a href="section-13.13.xhtml#chapter-13-24">List</a><span style="padding-left: 10px;">Section 13.13  Example 2: Building A Query Facility</span><br/>
+<a href="section-2.1.xhtml#chapter-2-2">List</a><span style="padding-left: 10px;">Section 2.1  The Basic Idea</span><br/>
+<a href="section-2.1.xhtml#chapter-2-4">List</a><span style="padding-left: 10px;">Section 2.1  The Basic Idea</span><br/>
+<a href="section-2.1.xhtml#chapter-2-6">List</a><span style="padding-left: 10px;">Section 2.1  The Basic Idea</span><br/>
+<a href="section-9.18.xhtml#chapter-9-11">List</a><span style="padding-left: 10px;">Section 9.18  EqTable</span><br/>
+<a href="section-9.18.xhtml#chapter-9-13">List</a><span style="padding-left: 10px;">Section 9.18  EqTable</span><br/>
+<a href="section-9.83.xhtml#chapter-9-21">List</a><span style="padding-left: 10px;">Section 9.83  UnivariatePolynomial</span><br/>
+<a href="section-9.47.xhtml#chapter-9-30">List</a><span style="padding-left: 10px;">Section 9.47  List</span><br/>
+<a href="section-9.47.xhtml#chapter-9-32">List</a><span style="padding-left: 10px;">Section 9.47  List</span><br/>
+<a href="section-9.47.xhtml#chapter-9-34">List</a><span style="padding-left: 10px;">Section 9.47  List</span><br/>
+<a href="section-9.39.xhtml#chapter-9-35">List</a><span style="padding-left: 10px;">Section 9.39  LexTriangularPackage</span><br/>
+<a href="section-9.47.xhtml#chapter-9-36">List</a><span style="padding-left: 10px;">Section 9.47  List</span><br/>
+<a href="section-9.47.xhtml#chapter-9-38">List</a><span style="padding-left: 10px;">Section 9.47  List</span><br/>
+<a href="section-9.47.xhtml#chapter-9-40">List</a><span style="padding-left: 10px;">Section 9.47  List</span><br/>
+<a href="section-9.47.xhtml#chapter-9-42">List</a><span style="padding-left: 10px;">Section 9.47  List</span><br/>
+<a href="section-9.47.xhtml#chapter-9-44">List</a><span style="padding-left: 10px;">Section 9.47  List</span><br/>
+<a href="section-9.47.xhtml#chapter-9-47">List</a><span style="padding-left: 10px;">Section 9.47  List</span><br/>
+<a href="section-9.47.xhtml#chapter-9-49">List</a><span style="padding-left: 10px;">Section 9.47  List</span><br/>
+<a href="section-9.47.xhtml#chapter-9-51">List</a><span style="padding-left: 10px;">Section 9.47  List</span><br/>
+<a href="section-9.47.xhtml#chapter-9-53">List</a><span style="padding-left: 10px;">Section 9.47  List</span><br/>
+<a href="section-10.9.xhtml#chapter-10-8">MakeBinaryCompiledFunction</a><span style="padding-left: 10px;">Section 10.9  Functions Producing Functions</span><br/>
+<a href="section-9.50.xhtml#chapter-9-59">MakeFunction</a><span style="padding-left: 10px;">Section 9.50  MakeFunction</span><br/>
+<a href="section-9.50.xhtml#chapter-9-61">MakeFunction</a><span style="padding-left: 10px;">Section 9.50  MakeFunction</span><br/>
+<a href="section-9.50.xhtml#chapter-9-63">MakeFunction</a><span style="padding-left: 10px;">Section 9.50  MakeFunction</span><br/>
+<a href="section-10.9.xhtml#chapter-10-7">MakeUnaryCompiledFunction</a><span style="padding-left: 10px;">Section 10.9  Functions Producing Functions</span><br/>
+<a href="section-9.51.xhtml#chapter-9-75">MappingPackage1</a><span style="padding-left: 10px;">Section 9.51  MappingPackage1</span><br/>
+<a href="section-9.51.xhtml#chapter-9-73">MappingPackage2</a><span style="padding-left: 10px;">Section 9.51  MappingPackage1</span><br/>
+<a href="section-9.51.xhtml#chapter-9-65">MappingPackage3</a><span style="padding-left: 10px;">Section 9.51  MappingPackage1</span><br/>
+<a href="section-9.51.xhtml#chapter-9-67">MappingPackage3</a><span style="padding-left: 10px;">Section 9.51  MappingPackage1</span><br/>
+<a href="section-9.51.xhtml#chapter-9-69">MappingPackage3</a><span style="padding-left: 10px;">Section 9.51  MappingPackage1</span><br/>
+<a href="section-9.51.xhtml#chapter-9-71">MappingPackage3</a><span style="padding-left: 10px;">Section 9.51  MappingPackage1</span><br/>
+<a href="section-14.2.xhtml#chapter-14-10">Matrix</a><span style="padding-left: 10px;">Section 14.2  The Constructor Page</span><br/>
+<a href="section-14.3.xhtml#chapter-14-14">Matrix</a><span style="padding-left: 10px;">Section 14.3  Miscellaneous Features of Browse</span><br/>
+<a href="section-14.1.xhtml#chapter-14-2">Matrix</a><span style="padding-left: 10px;">Section 14.1  The Front Page: Searching the Library</span><br/>
+<a href="section-14.2.xhtml#chapter-14-6">Matrix</a><span style="padding-left: 10px;">Section 14.2  The Constructor Page</span><br/>
+<a href="section-9.52.xhtml#chapter-9-101">Matrix</a><span style="padding-left: 10px;">Section 9.52  Matrix</span><br/>
+<a href="section-9.52.xhtml#chapter-9-103">Matrix</a><span style="padding-left: 10px;">Section 9.52  Matrix</span><br/>
+<a href="section-9.52.xhtml#chapter-9-105">Matrix</a><span style="padding-left: 10px;">Section 9.52  Matrix</span><br/>
+<a href="section-9.52.xhtml#chapter-9-107">Matrix</a><span style="padding-left: 10px;">Section 9.52  Matrix</span><br/>
+<a href="section-9.52.xhtml#chapter-9-109">Matrix</a><span style="padding-left: 10px;">Section 9.52  Matrix</span><br/>
+<a href="section-9.52.xhtml#chapter-9-111">Matrix</a><span style="padding-left: 10px;">Section 9.52  Matrix</span><br/>
+<a href="section-9.52.xhtml#chapter-9-113">Matrix</a><span style="padding-left: 10px;">Section 9.52  Matrix</span><br/>
+<a href="section-9.52.xhtml#chapter-9-117">Matrix</a><span style="padding-left: 10px;">Section 9.52  Matrix</span><br/>
+<a href="section-9.52.xhtml#chapter-9-119">Matrix</a><span style="padding-left: 10px;">Section 9.52  Matrix</span><br/>
+<a href="section-9.52.xhtml#chapter-9-121">Matrix</a><span style="padding-left: 10px;">Section 9.52  Matrix</span><br/>
+<a href="section-9.52.xhtml#chapter-9-123">Matrix</a><span style="padding-left: 10px;">Section 9.52  Matrix</span><br/>
+<a href="section-9.27.xhtml#chapter-9-21">Matrix</a><span style="padding-left: 10px;">Section 9.27  Float</span><br/>
+<a href="section-9.62.xhtml#chapter-9-49">Matrix</a><span style="padding-left: 10px;">Section 9.62  Permanent</span><br/>
+<a href="section-9.52.xhtml#chapter-9-77">Matrix</a><span style="padding-left: 10px;">Section 9.52  Matrix</span><br/>
+<a href="section-9.52.xhtml#chapter-9-79">Matrix</a><span style="padding-left: 10px;">Section 9.52  Matrix</span><br/>
+<a href="section-9.52.xhtml#chapter-9-81">Matrix</a><span style="padding-left: 10px;">Section 9.52  Matrix</span><br/>
+<a href="section-9.52.xhtml#chapter-9-83">Matrix</a><span style="padding-left: 10px;">Section 9.52  Matrix</span><br/>
+<a href="section-9.52.xhtml#chapter-9-85">Matrix</a><span style="padding-left: 10px;">Section 9.52  Matrix</span><br/>
+<a href="section-9.52.xhtml#chapter-9-87">Matrix</a><span style="padding-left: 10px;">Section 9.52  Matrix</span><br/>
+<a href="section-9.52.xhtml#chapter-9-89">Matrix</a><span style="padding-left: 10px;">Section 9.52  Matrix</span><br/>
+<a href="section-9.52.xhtml#chapter-9-91">Matrix</a><span style="padding-left: 10px;">Section 9.52  Matrix</span><br/>
+<a href="section-9.52.xhtml#chapter-9-93">Matrix</a><span style="padding-left: 10px;">Section 9.52  Matrix</span><br/>
+<a href="section-9.52.xhtml#chapter-9-95">Matrix</a><span style="padding-left: 10px;">Section 9.52  Matrix</span><br/>
+<a href="section-9.52.xhtml#chapter-9-97">Matrix</a><span style="padding-left: 10px;">Section 9.52  Matrix</span><br/>
+<a href="section-9.52.xhtml#chapter-9-99">Matrix</a><span style="padding-left: 10px;">Section 9.52  Matrix</span><br/>
+<a href="section-12.11.xhtml#chapter-12-25">MatrixCategory</a><span style="padding-left: 10px;">Section 12.11  Conditionals</span><br/>
+<a href="section-2.9.xhtml#chapter-2-56">MatrixCategoryFunctions2</a><span style="padding-left: 10px;">Section 2.9  Package Calling and Target Types</span><br/>
+<a href="section-8.14.xhtml#chapter-8-231">Mendel's genetic laws</a><span style="padding-left: 10px;">Section 8.14  Non-Associative Algebras and Modelling Genetic Laws</span><br/>
+<a href="section-6.5.xhtml#chapter-6-12">Mersenne number</a><span style="padding-left: 10px;">Section 6.5  One-Line Functions</span><br/>
+<a href="section-0.2.xhtml#chapter-0-2">Modula 2</a><span style="padding-left: 10px;">Section 0.2  A Technical Introduction</span><br/>
+<a href="section-9.53.xhtml#chapter-9-125">Multiset</a><span style="padding-left: 10px;">Section 9.53  MultiSet</span><br/>
+<a href="section-13.11.xhtml#chapter-13-15">MultivariatePolynomial</a><span style="padding-left: 10px;">Section 13.11  Short Forms</span><br/>
+<a href="section-15.3.xhtml#chapter-15-4">NagOrdinaryDifferentialEquationsPackage</a><span style="padding-left: 10px;">Section 15.3  The NAG Library Link</span><br/>
+<a href="section-10.10.xhtml#chapter-10-9">Newton iteration</a><span style="padding-left: 10px;">Section 10.10  Automatic Newton Iteration Formulas</span><br/>
+<a href="section-21.2.xhtml#chapter-21-1">Newton iteration</a><span style="padding-left: 10px;">Section 21.2  images2.input</span><br/>
+<a href="section-9.72.xhtml#chapter-9-44">Not</a><span style="padding-left: 10px;">Section 9.72  SingleInteger</span><br/>
+<a href="section-8.1.xhtml#chapter-8-39">NumberTheoreticPolynomialFunctions</a><span style="padding-left: 10px;">Section 8.1  Numeric Functions</span><br/>
+<a href="section-9.56.xhtml#chapter-9-127">Octonion</a><span style="padding-left: 10px;">Section 9.56  Octonion</span><br/>
+<a href="section-9.72.xhtml#chapter-9-40">Or</a><span style="padding-left: 10px;">Section 9.72  SingleInteger</span><br/>
+<a href="section-9.60.xhtml#chapter-9-1">OrderlyDifferentialPolynomial</a><span style="padding-left: 10px;">Section 9.60  OrderlyDifferentialPolynomial</span><br/>
+<a href="section-9.60.xhtml#chapter-9-11">OrderlyDifferentialPolynomial</a><span style="padding-left: 10px;">Section 9.60  OrderlyDifferentialPolynomial</span><br/>
+<a href="section-9.60.xhtml#chapter-9-13">OrderlyDifferentialPolynomial</a><span style="padding-left: 10px;">Section 9.60  OrderlyDifferentialPolynomial</span><br/>
+<a href="section-9.60.xhtml#chapter-9-15">OrderlyDifferentialPolynomial</a><span style="padding-left: 10px;">Section 9.60  OrderlyDifferentialPolynomial</span><br/>
+<a href="section-9.60.xhtml#chapter-9-17">OrderlyDifferentialPolynomial</a><span style="padding-left: 10px;">Section 9.60  OrderlyDifferentialPolynomial</span><br/>
+<a href="section-9.60.xhtml#chapter-9-19">OrderlyDifferentialPolynomial</a><span style="padding-left: 10px;">Section 9.60  OrderlyDifferentialPolynomial</span><br/>
+<a href="section-9.60.xhtml#chapter-9-21">OrderlyDifferentialPolynomial</a><span style="padding-left: 10px;">Section 9.60  OrderlyDifferentialPolynomial</span><br/>
+<a href="section-9.60.xhtml#chapter-9-23">OrderlyDifferentialPolynomial</a><span style="padding-left: 10px;">Section 9.60  OrderlyDifferentialPolynomial</span><br/>
+<a href="section-9.60.xhtml#chapter-9-3">OrderlyDifferentialPolynomial</a><span style="padding-left: 10px;">Section 9.60  OrderlyDifferentialPolynomial</span><br/>
+<a href="section-9.60.xhtml#chapter-9-5">OrderlyDifferentialPolynomial</a><span style="padding-left: 10px;">Section 9.60  OrderlyDifferentialPolynomial</span><br/>
+<a href="section-9.60.xhtml#chapter-9-7">OrderlyDifferentialPolynomial</a><span style="padding-left: 10px;">Section 9.60  OrderlyDifferentialPolynomial</span><br/>
+<a href="section-9.60.xhtml#chapter-9-9">OrderlyDifferentialPolynomial</a><span style="padding-left: 10px;">Section 9.60  OrderlyDifferentialPolynomial</span><br/>
+<a href="section-8.1.xhtml#chapter-8-32">OrthogonalPolynomialFunctions</a><span style="padding-left: 10px;">Section 8.1  Numeric Functions</span><br/>
+<a href="section-2.11.xhtml#chapter-2-73">OutputForm</a><span style="padding-left: 10px;">Section 2.11  Exposing Domains and Packages</span><br/>
+<a href="section-5.4.xhtml#chapter-5-35">OutputForm</a><span style="padding-left: 10px;">Section 5.4  Loops</span><br/>
+<a href="section-6.19.xhtml#chapter-6-61">OutputForm</a><span style="padding-left: 10px;">Section 6.19  Example: A Famous Triangle</span><br/>
+<a href="section-6.19.xhtml#chapter-6-63">OutputForm</a><span style="padding-left: 10px;">Section 6.19  Example: A Famous Triangle</span><br/>
+<a href="section-6.19.xhtml#chapter-6-65">OutputForm</a><span style="padding-left: 10px;">Section 6.19  Example: A Famous Triangle</span><br/>
+<a href="section-6.19.xhtml#chapter-6-67">OutputForm</a><span style="padding-left: 10px;">Section 6.19  Example: A Famous Triangle</span><br/>
+<a href="section-5.1.xhtml#chapter-5-3">PASCAL:assignment</a><span style="padding-left: 10px;">Section 5.1  Immediate and Delayed Assignments</span><br/>
+<a href="section-0.2.xhtml#chapter-0-3">PASCAL</a><span style="padding-left: 10px;">Section 0.2  A Technical Introduction</span><br/>
+<a href="section-7.1.xhtml#chapter-7-47">Palette</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-9.61.xhtml#chapter-9-25">PartialFraction</a><span style="padding-left: 10px;">Section 9.61  PartialFraction</span><br/>
+<a href="section-9.61.xhtml#chapter-9-27">PartialFraction</a><span style="padding-left: 10px;">Section 9.61  PartialFraction</span><br/>
+<a href="section-9.61.xhtml#chapter-9-29">PartialFraction</a><span style="padding-left: 10px;">Section 9.61  PartialFraction</span><br/>
+<a href="section-9.61.xhtml#chapter-9-31">PartialFraction</a><span style="padding-left: 10px;">Section 9.61  PartialFraction</span><br/>
+<a href="section-9.61.xhtml#chapter-9-33">PartialFraction</a><span style="padding-left: 10px;">Section 9.61  PartialFraction</span><br/>
+<a href="section-9.61.xhtml#chapter-9-35">PartialFraction</a><span style="padding-left: 10px;">Section 9.61  PartialFraction</span><br/>
+<a href="section-9.61.xhtml#chapter-9-37">PartialFraction</a><span style="padding-left: 10px;">Section 9.61  PartialFraction</span><br/>
+<a href="section-9.61.xhtml#chapter-9-39">PartialFraction</a><span style="padding-left: 10px;">Section 9.61  PartialFraction</span><br/>
+<a href="section-9.61.xhtml#chapter-9-41">PartialFraction</a><span style="padding-left: 10px;">Section 9.61  PartialFraction</span><br/>
+<a href="section-6.19.xhtml#chapter-6-60">Pascal's triangle</a><span style="padding-left: 10px;">Section 6.19  Example: A Famous Triangle</span><br/>
+<a href="section-9.62.xhtml#chapter-9-45">Permanent</a><span style="padding-left: 10px;">Section 9.62  Permanent</span><br/>
+<a href="section-9.62.xhtml#chapter-9-47">Permanent</a><span style="padding-left: 10px;">Section 9.62  Permanent</span><br/>
+<a href="section-9.62.xhtml#chapter-9-51">Permanent</a><span style="padding-left: 10px;">Section 9.62  Permanent</span><br/>
+<a href="section-7.2.xhtml#chapter-7-189">Phong:illumination model</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-191">Phong:illumination model</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-193">Phong:smooth shading model</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-9.63.xhtml#chapter-9-53">Polynomial</a><span style="padding-left: 10px;">Section 9.63  Polynomial</span><br/>
+<a href="section-9.63.xhtml#chapter-9-56">Polynomial</a><span style="padding-left: 10px;">Section 9.63  Polynomial</span><br/>
+<a href="section-9.63.xhtml#chapter-9-58">Polynomial</a><span style="padding-left: 10px;">Section 9.63  Polynomial</span><br/>
+<a href="section-9.63.xhtml#chapter-9-60">Polynomial</a><span style="padding-left: 10px;">Section 9.63  Polynomial</span><br/>
+<a href="section-9.63.xhtml#chapter-9-62">Polynomial</a><span style="padding-left: 10px;">Section 9.63  Polynomial</span><br/>
+<a href="section-9.63.xhtml#chapter-9-64">Polynomial</a><span style="padding-left: 10px;">Section 9.63  Polynomial</span><br/>
+<a href="section-9.63.xhtml#chapter-9-66">Polynomial</a><span style="padding-left: 10px;">Section 9.63  Polynomial</span><br/>
+<a href="section-9.63.xhtml#chapter-9-68">Polynomial</a><span style="padding-left: 10px;">Section 9.63  Polynomial</span><br/>
+<a href="section-9.63.xhtml#chapter-9-70">Polynomial</a><span style="padding-left: 10px;">Section 9.63  Polynomial</span><br/>
+<a href="section-9.63.xhtml#chapter-9-72">Polynomial</a><span style="padding-left: 10px;">Section 9.63  Polynomial</span><br/>
+<a href="section-9.63.xhtml#chapter-9-74">Polynomial</a><span style="padding-left: 10px;">Section 9.63  Polynomial</span><br/>
+<a href="section-9.63.xhtml#chapter-9-76">Polynomial</a><span style="padding-left: 10px;">Section 9.63  Polynomial</span><br/>
+<a href="section-9.63.xhtml#chapter-9-78">Polynomial</a><span style="padding-left: 10px;">Section 9.63  Polynomial</span><br/>
+<a href="section-9.63.xhtml#chapter-9-80">Polynomial</a><span style="padding-left: 10px;">Section 9.63  Polynomial</span><br/>
+<a href="section-9.63.xhtml#chapter-9-82">Polynomial</a><span style="padding-left: 10px;">Section 9.63  Polynomial</span><br/>
+<a href="section-9.63.xhtml#chapter-9-84">Polynomial</a><span style="padding-left: 10px;">Section 9.63  Polynomial</span><br/>
+<a href="section-9.63.xhtml#chapter-9-86">Polynomial</a><span style="padding-left: 10px;">Section 9.63  Polynomial</span><br/>
+<a href="section-9.63.xhtml#chapter-9-88">Polynomial</a><span style="padding-left: 10px;">Section 9.63  Polynomial</span><br/>
+<a href="section-1.16.xhtml#chapter-1-81">PostScript</a><span style="padding-left: 10px;">Section 1.16  Graphics</span><br/>
+<a href="section-7.0.xhtml#chapter-7-2">PostScript</a><span style="padding-left: 10px;">Section 7.0 Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-205">PostScript</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-283">PostScript</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-285">PostScript</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-69">PostScript</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-1.10.xhtml#chapter-1-72">Puiseux series</a><span style="padding-left: 10px;">Section 1.10  Series</span><br/>
+<a href="section-8.9.xhtml#chapter-8-136">Puiseux series</a><span style="padding-left: 10px;">Section 8.9  Working with Power Series</span><br/>
+<a href="section-13.10.xhtml#chapter-13-14">QuadraticForm</a><span style="padding-left: 10px;">Section 13.10  Origins</span><br/>
+<a href="section-13.6.xhtml#chapter-13-7">QuadraticForm</a><span style="padding-left: 10px;">Section 13.6  Representation</span><br/>
+<a href="section-9.64.xhtml#chapter-9-90">Quaternion</a><span style="padding-left: 10px;">Section 9.64  Quaternion</span><br/>
+<a href="section-12.11.xhtml#chapter-12-26">QuotientFieldCategory</a><span style="padding-left: 10px;">Section 12.11  Conditionals</span><br/>
+<a href="section-9.65.xhtml#chapter-9-92">RadixExpansion</a><span style="padding-left: 10px;">Section 9.65  RadixExpansion</span><br/>
+<a href="section-9.65.xhtml#chapter-9-94">RadixExpansion</a><span style="padding-left: 10px;">Section 9.65  RadixExpansion</span><br/>
+<a href="section-9.65.xhtml#chapter-9-96">RadixExpansion</a><span style="padding-left: 10px;">Section 9.65  RadixExpansion</span><br/>
+<a href="section-9.65.xhtml#chapter-9-98">RadixExpansion</a><span style="padding-left: 10px;">Section 9.65  RadixExpansion</span><br/>
+<a href="section-8.8.xhtml#chapter-8-112">RationalFunctionDefiniteIntegration</a><span style="padding-left: 10px;">Section 8.8  Integration</span><br/>
+<a href="section-8.8.xhtml#chapter-8-114">RationalFunctionDefiniteIntegration</a><span style="padding-left: 10px;">Section 8.8  Integration</span><br/>
+<a href="section-9.66.xhtml#chapter-9-104">RealClosure</a><span style="padding-left: 10px;">Section 9.66  RealClosure</span><br/>
+<a href="section-9.66.xhtml#chapter-9-106">RealClosure</a><span style="padding-left: 10px;">Section 9.66  RealClosure</span><br/>
+<a href="section-9.66.xhtml#chapter-9-100">RealPolynomialUtilitiesPackage</a><span style="padding-left: 10px;">Section 9.66  RealClosure</span><br/>
+<a href="section-9.66.xhtml#chapter-9-102">RealPolynomialUtilitiesPackage</a><span style="padding-left: 10px;">Section 9.66  RealClosure</span><br/>
+<a href="section-2.4.xhtml#chapter-2-26">Record</a><span style="padding-left: 10px;">Section 2.4  Records</span><br/>
+<a href="section-1.5.xhtml#chapter-1-55">Record@{\sf Record}</a><span style="padding-left: 10px;">Section 1.5  Data Structures</span><br/>
+<a href="section-9.91.xhtml#chapter-9-65">RegularTriangularSet</a><span style="padding-left: 10px;">Section 9.91  ZeroDimensionalSolvePackage</span><br/>
+<a href="section-15.3.xhtml#chapter-15-13">Result</a><span style="padding-left: 10px;">Section 15.3  The NAG Library Link</span><br/>
+<a href="section-15.3.xhtml#chapter-15-15">Result</a><span style="padding-left: 10px;">Section 15.3  The NAG Library Link</span><br/>
+<a href="section-21.8.xhtml#chapter-21-11">Riemann:sphere</a><span style="padding-left: 10px;">Section 21.8  conformal.input</span><br/>
+<a href="section-21.6.xhtml#chapter-21-8">Riemann:sphere</a><span style="padding-left: 10px;">Section 21.6  images7.input</span><br/>
+<a href="section-12.9.xhtml#chapter-12-22">Ring</a><span style="padding-left: 10px;">Section 12.9  Attributes</span><br/>
+<a href="section-1.4.xhtml#chapter-1-30">Roman numerals</a><span style="padding-left: 10px;">Section 1.4  Numbers</span><br/>
+<a href="section-21.14.xhtml#chapter-21-14">Scherk's minimal surface</a><span style="padding-left: 10px;">Section 21.14  scherk.input</span><br/>
+<a href="section-21.7.xhtml#chapter-21-9">Scherk's minimal surface</a><span style="padding-left: 10px;">Section 21.7  images8.input</span><br/>
+<a href="section-9.69.xhtml#chapter-9-1">Segment</a><span style="padding-left: 10px;">Section 9.69  Segment</span><br/>
+<a href="section-9.69.xhtml#chapter-9-3">Segment</a><span style="padding-left: 10px;">Section 9.69  Segment</span><br/>
+<a href="section-9.69.xhtml#chapter-9-5">Segment</a><span style="padding-left: 10px;">Section 9.69  Segment</span><br/>
+<a href="section-9.47.xhtml#chapter-9-55">Segment</a><span style="padding-left: 10px;">Section 9.47  List</span><br/>
+<a href="section-9.69.xhtml#chapter-9-7">Segment</a><span style="padding-left: 10px;">Section 9.69  Segment</span><br/>
+<a href="section-9.70.xhtml#chapter-9-11">SegmentBinding</a><span style="padding-left: 10px;">Section 9.70  SegmentBinding</span><br/>
+<a href="section-9.70.xhtml#chapter-9-9">SegmentBinding</a><span style="padding-left: 10px;">Section 9.70  SegmentBinding</span><br/>
+<a href="section-12.4.xhtml#chapter-12-11">SemiGroup</a><span style="padding-left: 10px;">Section 12.4  Hierarchies</span><br/>
+<a href="section-12.7.xhtml#chapter-12-19">SemiGroup</a><span style="padding-left: 10px;">Section 12.7  Axioms</span><br/>
+<a href="section-9.71.xhtml#chapter-9-13">Set</a><span style="padding-left: 10px;">Section 9.71  Set</span><br/>
+<a href="section-9.71.xhtml#chapter-9-15">Set</a><span style="padding-left: 10px;">Section 9.71  Set</span><br/>
+<a href="section-9.71.xhtml#chapter-9-17">Set</a><span style="padding-left: 10px;">Section 9.71  Set</span><br/>
+<a href="section-9.71.xhtml#chapter-9-19">Set</a><span style="padding-left: 10px;">Section 9.71  Set</span><br/>
+<a href="section-9.71.xhtml#chapter-9-21">Set</a><span style="padding-left: 10px;">Section 9.71  Set</span><br/>
+<a href="section-9.71.xhtml#chapter-9-23">Set</a><span style="padding-left: 10px;">Section 9.71  Set</span><br/>
+<a href="section-12.1.xhtml#chapter-12-4">SetCategory</a><span style="padding-left: 10px;">Section 12.1  Definitions</span><br/>
+<a href="section-21.12.xhtml#chapter-21-12">Sierpinsky's Tetrahedron</a><span style="padding-left: 10px;">Section 21.12  tetra.input</span><br/>
+<a href="section-9.72.xhtml#chapter-9-25">SingleInteger</a><span style="padding-left: 10px;">Section 9.72  SingleInteger</span><br/>
+<a href="section-9.72.xhtml#chapter-9-27">SingleInteger</a><span style="padding-left: 10px;">Section 9.72  SingleInteger</span><br/>
+<a href="section-9.72.xhtml#chapter-9-29">SingleInteger</a><span style="padding-left: 10px;">Section 9.72  SingleInteger</span><br/>
+<a href="section-9.72.xhtml#chapter-9-31">SingleInteger</a><span style="padding-left: 10px;">Section 9.72  SingleInteger</span><br/>
+<a href="section-9.72.xhtml#chapter-9-33">SingleInteger</a><span style="padding-left: 10px;">Section 9.72  SingleInteger</span><br/>
+<a href="section-9.72.xhtml#chapter-9-35">SingleInteger</a><span style="padding-left: 10px;">Section 9.72  SingleInteger</span><br/>
+<a href="section-9.72.xhtml#chapter-9-37">SingleInteger</a><span style="padding-left: 10px;">Section 9.72  SingleInteger</span><br/>
+<a href="section-9.72.xhtml#chapter-9-39">SingleInteger</a><span style="padding-left: 10px;">Section 9.72  SingleInteger</span><br/>
+<a href="section-9.72.xhtml#chapter-9-41">SingleInteger</a><span style="padding-left: 10px;">Section 9.72  SingleInteger</span><br/>
+<a href="section-9.72.xhtml#chapter-9-43">SingleInteger</a><span style="padding-left: 10px;">Section 9.72  SingleInteger</span><br/>
+<a href="section-9.72.xhtml#chapter-9-45">SingleInteger</a><span style="padding-left: 10px;">Section 9.72  SingleInteger</span><br/>
+<a href="section-9.73.xhtml#chapter-9-47">SparseTable</a><span style="padding-left: 10px;">Section 9.73  SparseTable</span><br/>
+<a href="section-9.73.xhtml#chapter-9-49">SparseTable</a><span style="padding-left: 10px;">Section 9.73  SparseTable</span><br/>
+<a href="section-2.7.xhtml#chapter-2-48">SquareMatrix</a><span style="padding-left: 10px;">Section 2.7  Conversion</span><br/>
+<a href="section-9.52.xhtml#chapter-9-115">SquareMatrix</a><span style="padding-left: 10px;">Section 9.52  Matrix</span><br/>
+<a href="section-9.74.xhtml#chapter-9-51">SquareMatrix</a><span style="padding-left: 10px;">Section 9.74  SquareMatrix</span><br/>
+<a href="section-5.6.xhtml#chapter-5-66">Stream</a><span style="padding-left: 10px;">Section 5.6  An Example: Streams of Primes</span><br/>
+<a href="section-5.6.xhtml#chapter-5-68">Stream</a><span style="padding-left: 10px;">Section 5.6  An Example: Streams of Primes</span><br/>
+<a href="section-5.6.xhtml#chapter-5-70">Stream</a><span style="padding-left: 10px;">Section 5.6  An Example: Streams of Primes</span><br/>
+<a href="section-5.6.xhtml#chapter-5-72">Stream</a><span style="padding-left: 10px;">Section 5.6  An Example: Streams of Primes</span><br/>
+<a href="section-6.2.xhtml#chapter-6-9">Stream</a><span style="padding-left: 10px;">Section 6.2  Macros</span><br/>
+<a href="section-9.76.xhtml#chapter-9-53">StreamFunctions2</a><span style="padding-left: 10px;">Section 9.76  Stream</span><br/>
+<a href="section-12.5.xhtml#chapter-12-14">String</a><span style="padding-left: 10px;">Section 12.5  Membership</span><br/>
+<a href="section-2.9.xhtml#chapter-2-53">String</a><span style="padding-left: 10px;">Section 2.9  Package Calling and Target Types</span><br/>
+<a href="section-2.9.xhtml#chapter-2-54">String</a><span style="padding-left: 10px;">Section 2.9  Package Calling and Target Types</span><br/>
+<a href="section-9.77.xhtml#chapter-9-55">String</a><span style="padding-left: 10px;">Section 9.77  String</span><br/>
+<a href="section-9.77.xhtml#chapter-9-57">String</a><span style="padding-left: 10px;">Section 9.77  String</span><br/>
+<a href="section-9.77.xhtml#chapter-9-59">String</a><span style="padding-left: 10px;">Section 9.77  String</span><br/>
+<a href="section-9.77.xhtml#chapter-9-61">String</a><span style="padding-left: 10px;">Section 9.77  String</span><br/>
+<a href="section-9.77.xhtml#chapter-9-63">String</a><span style="padding-left: 10px;">Section 9.77  String</span><br/>
+<a href="section-9.77.xhtml#chapter-9-65">String</a><span style="padding-left: 10px;">Section 9.77  String</span><br/>
+<a href="section-9.77.xhtml#chapter-9-67">String</a><span style="padding-left: 10px;">Section 9.77  String</span><br/>
+<a href="section-9.77.xhtml#chapter-9-69">String</a><span style="padding-left: 10px;">Section 9.77  String</span><br/>
+<a href="section-9.77.xhtml#chapter-9-71">String</a><span style="padding-left: 10px;">Section 9.77  String</span><br/>
+<a href="section-9.77.xhtml#chapter-9-73">String</a><span style="padding-left: 10px;">Section 9.77  String</span><br/>
+<a href="section-9.77.xhtml#chapter-9-75">String</a><span style="padding-left: 10px;">Section 9.77  String</span><br/>
+<a href="section-9.77.xhtml#chapter-9-77">String</a><span style="padding-left: 10px;">Section 9.77  String</span><br/>
+<a href="section-9.77.xhtml#chapter-9-79">String</a><span style="padding-left: 10px;">Section 9.77  String</span><br/>
+<a href="section-9.77.xhtml#chapter-9-81">String</a><span style="padding-left: 10px;">Section 9.77  String</span><br/>
+<a href="section-15.3.xhtml#chapter-15-30">Switch</a><span style="padding-left: 10px;">Section 15.3  The NAG Library Link</span><br/>
+<a href="section-9.79.xhtml#chapter-9-83">Symbol</a><span style="padding-left: 10px;">Section 9.79  Symbol</span><br/>
+<a href="section-9.79.xhtml#chapter-9-85">Symbol</a><span style="padding-left: 10px;">Section 9.79  Symbol</span><br/>
+<a href="section-9.79.xhtml#chapter-9-87">Symbol</a><span style="padding-left: 10px;">Section 9.79  Symbol</span><br/>
+<a href="section-9.79.xhtml#chapter-9-89">Symbol</a><span style="padding-left: 10px;">Section 9.79  Symbol</span><br/>
+<a href="section-9.79.xhtml#chapter-9-91">Symbol</a><span style="padding-left: 10px;">Section 9.79  Symbol</span><br/>
+<a href="section-15.3.xhtml#chapter-15-28">SymbolTable</a><span style="padding-left: 10px;">Section 15.3  The NAG Library Link</span><br/>
+<a href="section-9.80.xhtml#chapter-9-101">Table</a><span style="padding-left: 10px;">Section 9.80  Table</span><br/>
+<a href="section-9.80.xhtml#chapter-9-103">Table</a><span style="padding-left: 10px;">Section 9.80  Table</span><br/>
+<a href="section-9.80.xhtml#chapter-9-105">Table</a><span style="padding-left: 10px;">Section 9.80  Table</span><br/>
+<a href="section-9.80.xhtml#chapter-9-107">Table</a><span style="padding-left: 10px;">Section 9.80  Table</span><br/>
+<a href="section-9.80.xhtml#chapter-9-109">Table</a><span style="padding-left: 10px;">Section 9.80  Table</span><br/>
+<a href="section-9.80.xhtml#chapter-9-111">Table</a><span style="padding-left: 10px;">Section 9.80  Table</span><br/>
+<a href="section-9.80.xhtml#chapter-9-93">Table</a><span style="padding-left: 10px;">Section 9.80  Table</span><br/>
+<a href="section-9.80.xhtml#chapter-9-95">Table</a><span style="padding-left: 10px;">Section 9.80  Table</span><br/>
+<a href="section-9.80.xhtml#chapter-9-97">Table</a><span style="padding-left: 10px;">Section 9.80  Table</span><br/>
+<a href="section-9.80.xhtml#chapter-9-99">Table</a><span style="padding-left: 10px;">Section 9.80  Table</span><br/>
+<a href="section-4.5.xhtml#chapter-4-30">TeX output format @{<span class="texlogo">TeX</span>} output format</a><span style="padding-left: 10px;">Section 4.5  TeX Format</span><br/>
+<a href="section-9.81.xhtml#chapter-9-113">TextFile</a><span style="padding-left: 10px;">Section 9.81  TextFile</span><br/>
+<a href="section-9.81.xhtml#chapter-9-115">TextFile</a><span style="padding-left: 10px;">Section 9.81  TextFile</span><br/>
+<a href="section-9.81.xhtml#chapter-9-117">TextFile</a><span style="padding-left: 10px;">Section 9.81  TextFile</span><br/>
+<a href="section-9.81.xhtml#chapter-9-119">TextFile</a><span style="padding-left: 10px;">Section 9.81  TextFile</span><br/>
+<a href="section-15.3.xhtml#chapter-15-29">TheSymbolTable</a><span style="padding-left: 10px;">Section 15.3  The NAG Library Link</span><br/>
+<a href="section-10.1.xhtml#chapter-10-2">ThreeDimensionalViewport</a><span style="padding-left: 10px;">Section 10.1  Drawing Ribbons Interactively</span><br/>
+<a href="section-10.2.xhtml#chapter-10-4">ThreeDimensionalViewport</a><span style="padding-left: 10px;">Section 10.2  A Ribbon Program</span><br/>
+<a href="section-7.2.xhtml#chapter-7-151">ThreeDimensionalViewport</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-158">ThreeDimensionalViewport</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-204">ThreeDimensionalViewport</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-231">ThreeDimensionalViewport</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-266">ThreeDimensionalViewport</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-268">ThreeDimensionalViewport</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-149">ThreeSpace</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-153">ThreeSpace</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-156">ThreeSpace</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-159">ThreeSpace</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-9.19.xhtml#chapter-9-15">TransSolvePackage</a><span style="padding-left: 10px;">Section 9.19  Equation</span><br/>
+<a href="section-9.82.xhtml#chapter-9-121">TwoDimensionalArray</a><span style="padding-left: 10px;">Section 9.82  TwoDimensionalArray</span><br/>
+<a href="section-9.82.xhtml#chapter-9-123">TwoDimensionalArray</a><span style="padding-left: 10px;">Section 9.82  TwoDimensionalArray</span><br/>
+<a href="section-9.82.xhtml#chapter-9-125">TwoDimensionalArray</a><span style="padding-left: 10px;">Section 9.82  TwoDimensionalArray</span><br/>
+<a href="section-9.82.xhtml#chapter-9-127">TwoDimensionalArray</a><span style="padding-left: 10px;">Section 9.82  TwoDimensionalArray</span><br/>
+<a href="section-9.82.xhtml#chapter-9-129">TwoDimensionalArray</a><span style="padding-left: 10px;">Section 9.82  TwoDimensionalArray</span><br/>
+<a href="section-9.82.xhtml#chapter-9-131">TwoDimensionalArray</a><span style="padding-left: 10px;">Section 9.82  TwoDimensionalArray</span><br/>
+<a href="section-9.82.xhtml#chapter-9-133">TwoDimensionalArray</a><span style="padding-left: 10px;">Section 9.82  TwoDimensionalArray</span><br/>
+<a href="section-9.82.xhtml#chapter-9-135">TwoDimensionalArray</a><span style="padding-left: 10px;">Section 9.82  TwoDimensionalArray</span><br/>
+<a href="section-9.82.xhtml#chapter-9-137">TwoDimensionalArray</a><span style="padding-left: 10px;">Section 9.82  TwoDimensionalArray</span><br/>
+<a href="section-9.82.xhtml#chapter-9-139">TwoDimensionalArray</a><span style="padding-left: 10px;">Section 9.82  TwoDimensionalArray</span><br/>
+<a href="section-9.82.xhtml#chapter-9-141">TwoDimensionalArray</a><span style="padding-left: 10px;">Section 9.82  TwoDimensionalArray</span><br/>
+<a href="section-9.82.xhtml#chapter-9-143">TwoDimensionalArray</a><span style="padding-left: 10px;">Section 9.82  TwoDimensionalArray</span><br/>
+<a href="section-9.82.xhtml#chapter-9-145">TwoDimensionalArray</a><span style="padding-left: 10px;">Section 9.82  TwoDimensionalArray</span><br/>
+<a href="section-9.82.xhtml#chapter-9-147">TwoDimensionalArray</a><span style="padding-left: 10px;">Section 9.82  TwoDimensionalArray</span><br/>
+<a href="section-9.82.xhtml#chapter-9-149">TwoDimensionalArray</a><span style="padding-left: 10px;">Section 9.82  TwoDimensionalArray</span><br/>
+<a href="section-9.82.xhtml#chapter-9-151">TwoDimensionalArray</a><span style="padding-left: 10px;">Section 9.82  TwoDimensionalArray</span><br/>
+<a href="section-9.82.xhtml#chapter-9-153">TwoDimensionalArray</a><span style="padding-left: 10px;">Section 9.82  TwoDimensionalArray</span><br/>
+<a href="section-7.1.xhtml#chapter-7-108">TwoDimensionalViewport</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-118">TwoDimensionalViewport</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-120">TwoDimensionalViewport</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-91">TwoDimensionalViewport</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-2.1.xhtml#chapter-2-8">Type</a><span style="padding-left: 10px;">Section 2.1  The Basic Idea</span><br/>
+<a href="section-2.5.xhtml#chapter-2-31">Union</a><span style="padding-left: 10px;">Section 2.5  Unions</span><br/>
+<a href="section-1.5.xhtml#chapter-1-56">Union@{\sf Union}</a><span style="padding-left: 10px;">Section 1.5  Data Structures</span><br/>
+<a href="section-9.83.xhtml#chapter-9-1">UnivariatePolynomial</a><span style="padding-left: 10px;">Section 9.83  UnivariatePolynomial</span><br/>
+<a href="section-9.83.xhtml#chapter-9-11">UnivariatePolynomial</a><span style="padding-left: 10px;">Section 9.83  UnivariatePolynomial</span><br/>
+<a href="section-9.83.xhtml#chapter-9-13">UnivariatePolynomial</a><span style="padding-left: 10px;">Section 9.83  UnivariatePolynomial</span><br/>
+<a href="section-9.83.xhtml#chapter-9-15">UnivariatePolynomial</a><span style="padding-left: 10px;">Section 9.83  UnivariatePolynomial</span><br/>
+<a href="section-9.83.xhtml#chapter-9-17">UnivariatePolynomial</a><span style="padding-left: 10px;">Section 9.83  UnivariatePolynomial</span><br/>
+<a href="section-9.83.xhtml#chapter-9-19">UnivariatePolynomial</a><span style="padding-left: 10px;">Section 9.83  UnivariatePolynomial</span><br/>
+<a href="section-9.83.xhtml#chapter-9-23">UnivariatePolynomial</a><span style="padding-left: 10px;">Section 9.83  UnivariatePolynomial</span><br/>
+<a href="section-9.83.xhtml#chapter-9-25">UnivariatePolynomial</a><span style="padding-left: 10px;">Section 9.83  UnivariatePolynomial</span><br/>
+<a href="section-9.83.xhtml#chapter-9-27">UnivariatePolynomial</a><span style="padding-left: 10px;">Section 9.83  UnivariatePolynomial</span><br/>
+<a href="section-9.83.xhtml#chapter-9-29">UnivariatePolynomial</a><span style="padding-left: 10px;">Section 9.83  UnivariatePolynomial</span><br/>
+<a href="section-9.83.xhtml#chapter-9-3">UnivariatePolynomial</a><span style="padding-left: 10px;">Section 9.83  UnivariatePolynomial</span><br/>
+<a href="section-9.83.xhtml#chapter-9-31">UnivariatePolynomial</a><span style="padding-left: 10px;">Section 9.83  UnivariatePolynomial</span><br/>
+<a href="section-9.83.xhtml#chapter-9-33">UnivariatePolynomial</a><span style="padding-left: 10px;">Section 9.83  UnivariatePolynomial</span><br/>
+<a href="section-9.83.xhtml#chapter-9-5">UnivariatePolynomial</a><span style="padding-left: 10px;">Section 9.83  UnivariatePolynomial</span><br/>
+<a href="section-9.83.xhtml#chapter-9-7">UnivariatePolynomial</a><span style="padding-left: 10px;">Section 9.83  UnivariatePolynomial</span><br/>
+<a href="section-9.83.xhtml#chapter-9-9">UnivariatePolynomial</a><span style="padding-left: 10px;">Section 9.83  UnivariatePolynomial</span><br/>
+<a href="section-8.9.xhtml#chapter-8-141">UnivariatePowerSeriesCategory</a><span style="padding-left: 10px;">Section 8.9  Working with Power Series</span><br/>
+<a href="section-8.9.xhtml#chapter-8-121">UnivariateTaylorSeries</a><span style="padding-left: 10px;">Section 8.9  Working with Power Series</span><br/>
+<a href="section-9.84.xhtml#chapter-9-35">UniversalSegment</a><span style="padding-left: 10px;">Section 9.84  UniversalSegment</span><br/>
+<a href="section-9.85.xhtml#chapter-9-37">Vector</a><span style="padding-left: 10px;">Section 9.85  Vector</span><br/>
+<a href="section-9.85.xhtml#chapter-9-39">Vector</a><span style="padding-left: 10px;">Section 9.85  Vector</span><br/>
+<a href="section-9.85.xhtml#chapter-9-41">Vector</a><span style="padding-left: 10px;">Section 9.85  Vector</span><br/>
+<a href="section-9.85.xhtml#chapter-9-43">Vector</a><span style="padding-left: 10px;">Section 9.85  Vector</span><br/>
+<a href="section-9.85.xhtml#chapter-9-45">Vector</a><span style="padding-left: 10px;">Section 9.85  Vector</span><br/>
+<a href="section-9.85.xhtml#chapter-9-47">Vector</a><span style="padding-left: 10px;">Section 9.85  Vector</span><br/>
+<a href="section-9.85.xhtml#chapter-9-49">Vector</a><span style="padding-left: 10px;">Section 9.85  Vector</span><br/>
+<a href="section-9.85.xhtml#chapter-9-51">Vector</a><span style="padding-left: 10px;">Section 9.85  Vector</span><br/>
+<a href="section-9.85.xhtml#chapter-9-53">Vector</a><span style="padding-left: 10px;">Section 9.85  Vector</span><br/>
+<a href="section-9.85.xhtml#chapter-9-55">Vector</a><span style="padding-left: 10px;">Section 9.85  Vector</span><br/>
+<a href="section-9.85.xhtml#chapter-9-57">Vector</a><span style="padding-left: 10px;">Section 9.85  Vector</span><br/>
+<a href="section-9.6.xhtml#chapter-9-24">VectorSpace</a><span style="padding-left: 10px;">Section 9.6  CardinalNumber</span><br/>
+<a href="section-1.1.xhtml#chapter-1-3">X Window System</a><span style="padding-left: 10px;">Section 1.1  Starting Up and Winding Down</span><br/>
+<a href="section-3.8.xhtml#chapter-3-4">X Window System</a><span style="padding-left: 10px;">Section 3.8  X Window Resources for HyperDoc</span><br/>
+<a href="section-8.11.xhtml#chapter-8-174">Zech logarithm</a><span style="padding-left: 10px;">Section 8.11  Finite Fields</span><br/>
+<a href="section-9.39.xhtml#chapter-9-33">ZeroDimensionalSolvePackage</a><span style="padding-left: 10px;">Section 9.39  LexTriangularPackage</span><br/>
+<a href="section-9.39.xhtml#chapter-9-37">ZeroDimensionalSolvePackage</a><span style="padding-left: 10px;">Section 9.39  LexTriangularPackage</span><br/>
+<a href="section-9.91.xhtml#chapter-9-59">ZeroDimensionalSolvePackage</a><span style="padding-left: 10px;">Section 9.91  ZeroDimensionalSolvePackage</span><br/>
+<a href="section-9.91.xhtml#chapter-9-61">ZeroDimensionalSolvePackage</a><span style="padding-left: 10px;">Section 9.91  ZeroDimensionalSolvePackage</span><br/>
+<a href="section-9.91.xhtml#chapter-9-63">ZeroDimensionalSolvePackage</a><span style="padding-left: 10px;">Section 9.91  ZeroDimensionalSolvePackage</span><br/>
+<a href="section-9.91.xhtml#chapter-9-69">ZeroDimensionalSolvePackage</a><span style="padding-left: 10px;">Section 9.91  ZeroDimensionalSolvePackage</span><br/>
+<a href="section-9.91.xhtml#chapter-9-71">ZeroDimensionalSolvePackage</a><span style="padding-left: 10px;">Section 9.91  ZeroDimensionalSolvePackage</span><br/>
+<a href="section-9.91.xhtml#chapter-9-73">ZeroDimensionalSolvePackage</a><span style="padding-left: 10px;">Section 9.91  ZeroDimensionalSolvePackage</span><br/>
+<a href="section-5.3.xhtml#chapter-5-24">_notequal@ <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mo>&#x223c;</mo><mo>=</mo></mrow></mstyle></math></a><span style="padding-left: 10px;">Section 5.3  if-then-else</span><br/>
+<a href="section-16.2.xhtml#chapter-16-9">abbreviation category</a><span style="padding-left: 10px;">Section 16.2  )abbreviation</span><br/>
+<a href="section-16.2.xhtml#chapter-16-8">abbreviation domain</a><span style="padding-left: 10px;">Section 16.2  )abbreviation</span><br/>
+<a href="section-16.2.xhtml#chapter-16-7">abbreviation package</a><span style="padding-left: 10px;">Section 16.2  )abbreviation</span><br/>
+<a href="section-16.2.xhtml#chapter-16-6">abbreviation query</a><span style="padding-left: 10px;">Section 16.2  )abbreviation</span><br/>
+<a href="section-16.2.xhtml#chapter-16-10">abbreviation remove</a><span style="padding-left: 10px;">Section 16.2  )abbreviation</span><br/>
+<a href="section-11.1.xhtml#chapter-11-3">abbreviation:constructor</a><span style="padding-left: 10px;">Section 11.1  Names, Abbreviations, and File Structure</span><br/>
+<a href="section-2.2.xhtml#chapter-2-21">abbreviation:constructor</a><span style="padding-left: 10px;">Section 2.2  Writing Types and Modes</span><br/>
+<a href="section-16.7.xhtml#chapter-16-45">abbreviation</a><span style="padding-left: 10px;">Section 16.7  )compile</span><br/>
+<a href="section-16.2.xhtml#chapter-16-5">abbreviation</a><span style="padding-left: 10px;">Section 16.2  )abbreviation</span><br/>
+<a href="section-2.2.xhtml#chapter-2-23">abbreviation</a><span style="padding-left: 10px;">Section 2.2  Writing Types and Modes</span><br/>
+<a href="section-6.1.xhtml#chapter-6-2">abs</a><span style="padding-left: 10px;">Section 6.1  Functions vs. Macros</span><br/>
+<a href="section-7.1.xhtml#chapter-7-14">adaptive plotting</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-222">adaptive plotting</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-242">adaptive plotting</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-246">adaptive plotting</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-73">adaptive plotting</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-84">adaptive plotting</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-11.4.xhtml#chapter-11-10">add</a><span style="padding-left: 10px;">Section 11.4  Capsules</span><br/>
+<a href="section-12.6.xhtml#chapter-12-17">add</a><span style="padding-left: 10px;">Section 12.6  Defaults</span><br/>
+<a href="section-13.8.xhtml#chapter-13-11">add</a><span style="padding-left: 10px;">Section 13.8  Add Domain</span><br/>
+<a href="section-9.72.xhtml#chapter-9-30">addmod</a><span style="padding-left: 10px;">Section 9.72  SingleInteger</span><br/>
+<a href="section-8.14.xhtml#chapter-8-230">algebra:non-associative</a><span style="padding-left: 10px;">Section 8.14  Non-Associative Algebras and Modelling Genetic Laws</span><br/>
+<a href="section-8.2.xhtml#chapter-8-58">algebraic number</a><span style="padding-left: 10px;">Section 8.2  Polynomial Factorization</span><br/>
+<a href="section-8.3.xhtml#chapter-8-62">algebraic number</a><span style="padding-left: 10px;">Section 8.3  Manipulating Symbolic Roots of a Polynomial</span><br/>
+<a href="section-6.17.xhtml#chapter-6-55">anonymous function</a><span style="padding-left: 10px;">Section 6.17  Anonymous Functions</span><br/>
+<a href="section-8.8.xhtml#chapter-8-102">antiderivative</a><span style="padding-left: 10px;">Section 8.8  Integration</span><br/>
+<a href="section-9.47.xhtml#chapter-9-31">append</a><span style="padding-left: 10px;">Section 9.47  List</span><br/>
+<a href="section-7.1.xhtml#chapter-7-111">appendPoint</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-9.12.xhtml#chapter-9-71">approximants</a><span style="padding-left: 10px;">Section 9.12  ContinuedFraction</span><br/>
+<a href="section-9.66.xhtml#chapter-9-103">approximate</a><span style="padding-left: 10px;">Section 9.66  RealClosure</span><br/>
+<a href="section-8.9.xhtml#chapter-8-142">approximation</a><span style="padding-left: 10px;">Section 8.9  Working with Power Series</span><br/>
+<a href="section-8.4.xhtml#chapter-8-73">approximation</a><span style="padding-left: 10px;">Section 8.4  Computation of Eigenvalues and Eigenvectors</span><br/>
+<a href="section-8.5.xhtml#chapter-8-86">approximation</a><span style="padding-left: 10px;">Section 8.5  Solution of Linear and Polynomial Equations</span><br/>
+<a href="section-16.28.xhtml#chapter-16-192">apropos</a><span style="padding-left: 10px;">Section 16.28  )what</span><br/>
+<a href="section-9.37.xhtml#chapter-9-140">argument</a><span style="padding-left: 10px;">Section 9.37  Kernel</span><br/>
+<a href="section-8.11.xhtml#chapter-8-167">arithmetic:modular</a><span style="padding-left: 10px;">Section 8.11  Finite Fields</span><br/>
+<a href="section-9.3.xhtml#chapter-9-10">arity</a><span style="padding-left: 10px;">Section 9.3  BasicOperator</span><br/>
+<a href="section-1.5.xhtml#chapter-1-49">array:flexible</a><span style="padding-left: 10px;">Section 1.5  Data Structures</span><br/>
+<a href="section-1.5.xhtml#chapter-1-48">array:one-dimensional</a><span style="padding-left: 10px;">Section 1.5  Data Structures</span><br/>
+<a href="section-1.6.xhtml#chapter-1-58">array:two-dimensional</a><span style="padding-left: 10px;">Section 1.6  Expanding to Higher Dimensions</span><br/>
+<a href="section-15.3.xhtml#chapter-15-16">aspSection</a><span style="padding-left: 10px;">Section 15.3  The NAG Library Link</span><br/>
+<a href="section-15.3.xhtml#chapter-15-20">assign</a><span style="padding-left: 10px;">Section 15.3  The NAG Library Link</span><br/>
+<a href="section-5.1.xhtml#chapter-5-5">assignment:delayed</a><span style="padding-left: 10px;">Section 5.1  Immediate and Delayed Assignments</span><br/>
+<a href="section-5.1.xhtml#chapter-5-0">assignment:immediate</a><span style="padding-left: 10px;">Section 5.1  Immediate and Delayed Assignments</span><br/>
+<a href="section-5.1.xhtml#chapter-5-7">assignment:multiple immediate</a><span style="padding-left: 10px;">Section 5.1  Immediate and Delayed Assignments</span><br/>
+<a href="section-1.3.xhtml#chapter-1-16">assignment</a><span style="padding-left: 10px;">Section 1.3  The Axiom Language</span><br/>
+<a href="section-8.14.xhtml#chapter-8-224">associativity law</a><span style="padding-left: 10px;">Section 8.14  Non-Associative Algebras and Modelling Genetic Laws</span><br/>
+<a href="section-14.2.xhtml#chapter-14-4">attribute</a><span style="padding-left: 10px;">Section 14.2  The Constructor Page</span><br/>
+<a href="section-12.7.xhtml#chapter-12-18">axiom</a><span style="padding-left: 10px;">Section 12.7  Axioms</span><br/>
+<a href="section-2.6.xhtml#chapter-2-47">badge</a><span style="padding-left: 10px;">Section 2.6  The ``Any'' Domain</span><br/>
+<a href="section-1.5.xhtml#chapter-1-53">balanced binary tree</a><span style="padding-left: 10px;">Section 1.5  Data Structures</span><br/>
+<a href="section-8.11.xhtml#chapter-8-186">basis:normal</a><span style="padding-left: 10px;">Section 8.11  Finite Fields</span><br/>
+<a href="section-8.4.xhtml#chapter-8-76">basis:orthonormal</a><span style="padding-left: 10px;">Section 8.4  Computation of Eigenvalues and Eigenvectors</span><br/>
+<a href="section-1.5.xhtml#chapter-1-52">binary search tree</a><span style="padding-left: 10px;">Section 1.5  Data Structures</span><br/>
+<a href="section-9.4.xhtml#chapter-9-20">binary</a><span style="padding-left: 10px;">Section 9.4  BinaryExpansion</span><br/>
+<a href="section-0.2.xhtml#chapter-0-9">bit?</a><span style="padding-left: 10px;">Section 0.2  A Technical Introduction</span><br/>
+<a href="section-6.19.xhtml#chapter-6-66">blankSeparate</a><span style="padding-left: 10px;">Section 6.19  Example: A Famous Triangle</span><br/>
+<a href="section-16.3.xhtml#chapter-16-13">boot</a><span style="padding-left: 10px;">Section 16.3  )boot</span><br/>
+<a href="section-5.4.xhtml#chapter-5-31">break</a><span style="padding-left: 10px;">Section 5.4  Loops</span><br/>
+<a href="section-5.4.xhtml#chapter-5-42">break</a><span style="padding-left: 10px;">Section 5.4  Loops</span><br/>
+<a href="section-5.2.xhtml#chapter-5-9">break</a><span style="padding-left: 10px;">Section 5.2  Blocks</span><br/>
+<a href="section-5.4.xhtml#chapter-5-47">by</a><span style="padding-left: 10px;">Section 5.4  Loops</span><br/>
+<a href="section-2.5.xhtml#chapter-2-33">case</a><span style="padding-left: 10px;">Section 2.5  Unions</span><br/>
+<a href="section-2.5.xhtml#chapter-2-45">case</a><span style="padding-left: 10px;">Section 2.5  Unions</span><br/>
+<a href="section-12.12.xhtml#chapter-12-30">category:anonymous</a><span style="padding-left: 10px;">Section 12.12  Anonymous Categories</span><br/>
+<a href="section-12.0.xhtml#chapter-12-1">category:constructor</a><span style="padding-left: 10px;">Section 12.0 Categories</span><br/>
+<a href="section-12.6.xhtml#chapter-12-15">category:defaults</a><span style="padding-left: 10px;">Section 12.6  Defaults</span><br/>
+<a href="section-12.1.xhtml#chapter-12-3">category:definition</a><span style="padding-left: 10px;">Section 12.1  Definitions</span><br/>
+<a href="section-12.5.xhtml#chapter-12-12">category:membership</a><span style="padding-left: 10px;">Section 12.5  Membership</span><br/>
+<a href="section-0.2.xhtml#chapter-0-12">category</a><span style="padding-left: 10px;">Section 0.2  A Technical Introduction</span><br/>
+<a href="section-12.0.xhtml#chapter-12-0">category</a><span style="padding-left: 10px;">Section 12.0 Categories</span><br/>
+<a href="section-2.7.xhtml#chapter-2-49">category</a><span style="padding-left: 10px;">Section 2.7  Conversion</span><br/>
+<a href="section-2.1.xhtml#chapter-2-9">category</a><span style="padding-left: 10px;">Section 2.1  The Basic Idea</span><br/>
+<a href="section-16.23.xhtml#chapter-16-160">cd</a><span style="padding-left: 10px;">Section 16.23  )spool</span><br/>
+<a href="section-16.4.xhtml#chapter-16-19">cd</a><span style="padding-left: 10px;">Section 16.4  )cd</span><br/>
+<a href="section-4.3.xhtml#chapter-4-20">cd</a><span style="padding-left: 10px;">Section 4.3  Common Features of Using Output Formats</span><br/>
+<a href="section-4.1.xhtml#chapter-4-3">cd</a><span style="padding-left: 10px;">Section 4.1  Input Files</span><br/>
+<a href="section-4.1.xhtml#chapter-4-6">cd</a><span style="padding-left: 10px;">Section 4.1  Input Files</span><br/>
+<a href="section-12.11.xhtml#chapter-12-28">ceiling</a><span style="padding-left: 10px;">Section 12.11  Conditionals</span><br/>
+<a href="section-6.19.xhtml#chapter-6-64">center</a><span style="padding-left: 10px;">Section 6.19  Example: A Famous Triangle</span><br/>
+<a href="section-4.4.xhtml#chapter-4-27">character set</a><span style="padding-left: 10px;">Section 4.4  Monospace Two-Dimensional Mathematical Format</span><br/>
+<a href="section-8.4.xhtml#chapter-8-68">characteristic:value</a><span style="padding-left: 10px;">Section 8.4  Computation of Eigenvalues and Eigenvectors</span><br/>
+<a href="section-8.4.xhtml#chapter-8-69">characteristic:vector</a><span style="padding-left: 10px;">Section 8.4  Computation of Eigenvalues and Eigenvectors</span><br/>
+<a href="section-2.1.xhtml#chapter-2-11">characteristic</a><span style="padding-left: 10px;">Section 2.1  The Basic Idea</span><br/>
+<a href="section-16.6.xhtml#chapter-16-38">clear</a><span style="padding-left: 10px;">Section 16.6  )clear</span><br/>
+<a href="section-7.1.xhtml#chapter-7-17">clipPointsDefault</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-176">clipping</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-23">clipping</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-16.5.xhtml#chapter-16-34">close</a><span style="padding-left: 10px;">Section 16.5  )close</span><br/>
+<a href="section-3.7.xhtml#chapter-3-2">close</a><span style="padding-left: 10px;">Section 3.7  Example Pages</span><br/>
+<a href="section-9.83.xhtml#chapter-9-16">coefficients</a><span style="padding-left: 10px;">Section 9.83  UnivariatePolynomial</span><br/>
+<a href="section-9.83.xhtml#chapter-9-24">coefficients</a><span style="padding-left: 10px;">Section 9.83  UnivariatePolynomial</span><br/>
+<a href="section-7.1.xhtml#chapter-7-113">coerce</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-5.5.xhtml#chapter-5-55">collection</a><span style="padding-left: 10px;">Section 5.5  Creating Lists and Streams with Iterators</span><br/>
+<a href="section-7.1.xhtml#chapter-7-26">color:curve</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-45">color:multiplication</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-28">color:point</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-48">color:shade</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-3.8.xhtml#chapter-3-7">color</a><span style="padding-left: 10px;">Section 3.8  X Window Resources for HyperDoc</span><br/>
+<a href="section-7.1.xhtml#chapter-7-36">color</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-184">colormap</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-9.52.xhtml#chapter-9-108">column</a><span style="padding-left: 10px;">Section 9.52  Matrix</span><br/>
+<a href="section-9.82.xhtml#chapter-9-136">column</a><span style="padding-left: 10px;">Section 9.82  TwoDimensionalArray</span><br/>
+<a href="section-1.1.xhtml#chapter-1-10">command line editor</a><span style="padding-left: 10px;">Section 1.1  Starting Up and Winding Down</span><br/>
+<a href="section-9.61.xhtml#chapter-9-30">compactFraction</a><span style="padding-left: 10px;">Section 9.61  PartialFraction</span><br/>
+<a href="section-13.13.xhtml#chapter-13-25">compile</a><span style="padding-left: 10px;">Section 13.13  Example 2: Building A Query Facility</span><br/>
+<a href="section-16.4.xhtml#chapter-16-21">compile</a><span style="padding-left: 10px;">Section 16.4  )cd</span><br/>
+<a href="section-16.7.xhtml#chapter-16-43">compile</a><span style="padding-left: 10px;">Section 16.7  )compile</span><br/>
+<a href="section-5.6.xhtml#chapter-5-71">complete</a><span style="padding-left: 10px;">Section 5.6  An Example: Streams of Primes</span><br/>
+<a href="section-1.4.xhtml#chapter-1-34">complex numbers</a><span style="padding-left: 10px;">Section 1.4  Numbers</span><br/>
+<a href="section-8.1.xhtml#chapter-8-5">complex:floating-point number</a><span style="padding-left: 10px;">Section 8.1  Numeric Functions</span><br/>
+<a href="section-16.8.xhtml#chapter-16-51">complex</a><span style="padding-left: 10px;">Section 16.8  )display</span><br/>
+<a href="section-9.11.xhtml#chapter-9-53">complex</a><span style="padding-left: 10px;">Section 9.11  Complex</span><br/>
+<a href="section-8.8.xhtml#chapter-8-104">complexIntegrate</a><span style="padding-left: 10px;">Section 8.8  Integration</span><br/>
+<a href="section-7.1.xhtml#chapter-7-109">component</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-115">component</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-16.21.xhtml#chapter-16-146">computation timings:displaying</a><span style="padding-left: 10px;">Section 16.21  )set</span><br/>
+<a href="section-1.5.xhtml#chapter-1-42">concat!</a><span style="padding-left: 10px;">Section 1.5  Data Structures</span><br/>
+<a href="section-12.5.xhtml#chapter-12-13">concat</a><span style="padding-left: 10px;">Section 12.5  Membership</span><br/>
+<a href="section-13.13.xhtml#chapter-13-23">concat</a><span style="padding-left: 10px;">Section 13.13  Example 2: Building A Query Facility</span><br/>
+<a href="section-2.1.xhtml#chapter-2-5">concat</a><span style="padding-left: 10px;">Section 2.1  The Basic Idea</span><br/>
+<a href="section-2.9.xhtml#chapter-2-52">concat</a><span style="padding-left: 10px;">Section 2.9  Package Calling and Target Types</span><br/>
+<a href="section-6.2.xhtml#chapter-6-8">concat</a><span style="padding-left: 10px;">Section 6.2  Macros</span><br/>
+<a href="section-9.39.xhtml#chapter-9-34">concat</a><span style="padding-left: 10px;">Section 9.39  LexTriangularPackage</span><br/>
+<a href="section-9.77.xhtml#chapter-9-56">concat</a><span style="padding-left: 10px;">Section 9.77  String</span><br/>
+<a href="section-9.77.xhtml#chapter-9-58">concat</a><span style="padding-left: 10px;">Section 9.77  String</span><br/>
+<a href="section-15.3.xhtml#chapter-15-18">cond</a><span style="padding-left: 10px;">Section 15.3  The NAG Library Link</span><br/>
+<a href="section-11.8.xhtml#chapter-11-14">conditional</a><span style="padding-left: 10px;">Section 11.8  Conditionals</span><br/>
+<a href="section-12.11.xhtml#chapter-12-23">conditional</a><span style="padding-left: 10px;">Section 12.11  Conditionals</span><br/>
+<a href="section-5.3.xhtml#chapter-5-17">conditional</a><span style="padding-left: 10px;">Section 5.3  if-then-else</span><br/>
+<a href="section-21.8.xhtml#chapter-21-10">conformal map</a><span style="padding-left: 10px;">Section 21.8  conformal.input</span><br/>
+<a href="section-21.6.xhtml#chapter-21-7">conformal map</a><span style="padding-left: 10px;">Section 21.6  images7.input</span><br/>
+<a href="section-9.11.xhtml#chapter-9-55">conjugate</a><span style="padding-left: 10px;">Section 9.11  Complex</span><br/>
+<a href="section-9.47.xhtml#chapter-9-33">cons</a><span style="padding-left: 10px;">Section 9.47  List</span><br/>
+<a href="section-6.11.xhtml#chapter-6-29">constant function argument</a><span style="padding-left: 10px;">Section 6.11  Piece-Wise Function Definitions</span><br/>
+<a href="section-9.51.xhtml#chapter-9-70">constantRight</a><span style="padding-left: 10px;">Section 9.51  MappingPackage1</span><br/>
+<a href="section-11.1.xhtml#chapter-11-4">constructor:abbreviation</a><span style="padding-left: 10px;">Section 11.1  Names, Abbreviations, and File Structure</span><br/>
+<a href="section-2.2.xhtml#chapter-2-22">constructor:abbreviation</a><span style="padding-left: 10px;">Section 2.2  Writing Types and Modes</span><br/>
+<a href="section-12.0.xhtml#chapter-12-2">constructor:category</a><span style="padding-left: 10px;">Section 12.0 Categories</span><br/>
+<a href="section-2.1.xhtml#chapter-2-0">constructor:domain</a><span style="padding-left: 10px;">Section 2.1  The Basic Idea</span><br/>
+<a href="section-2.11.xhtml#chapter-2-61">constructor:exposed</a><span style="padding-left: 10px;">Section 2.11  Exposing Domains and Packages</span><br/>
+<a href="section-2.11.xhtml#chapter-2-62">constructor:hidden</a><span style="padding-left: 10px;">Section 2.11  Exposing Domains and Packages</span><br/>
+<a href="section-11.0.xhtml#chapter-11-1">constructor:package</a><span style="padding-left: 10px;">Section 11.0 Packages</span><br/>
+<a href="section-2.1.xhtml#chapter-2-14">constructor:package</a><span style="padding-left: 10px;">Section 2.1  The Basic Idea</span><br/>
+<a href="section-9.83.xhtml#chapter-9-22">content</a><span style="padding-left: 10px;">Section 9.83  UnivariatePolynomial</span><br/>
+<a href="section-9.63.xhtml#chapter-9-59">content</a><span style="padding-left: 10px;">Section 9.63  Polynomial</span><br/>
+<a href="section-9.12.xhtml#chapter-9-65">continuedFraction</a><span style="padding-left: 10px;">Section 9.12  ContinuedFraction</span><br/>
+<a href="section-9.12.xhtml#chapter-9-73">continuedFraction</a><span style="padding-left: 10px;">Section 9.12  ContinuedFraction</span><br/>
+<a href="section-9.12.xhtml#chapter-9-75">continuedFraction</a><span style="padding-left: 10px;">Section 9.12  ContinuedFraction</span><br/>
+<a href="section-9.7.xhtml#chapter-9-31">contract</a><span style="padding-left: 10px;">Section 9.7  CartesianTensor</span><br/>
+<a href="section-9.12.xhtml#chapter-9-69">convergents</a><span style="padding-left: 10px;">Section 9.12  ContinuedFraction</span><br/>
+<a href="section-13.6.xhtml#chapter-13-5">conversion</a><span style="padding-left: 10px;">Section 13.6  Representation</span><br/>
+<a href="section-7.2.xhtml#chapter-7-137">coordinate system:Cartesian</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-33">coordinate system:Cartesian</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-169">coordinate system:cylindrical</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-127">coordinate system:parabolic cylindrical</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-139">coordinate system:spherical</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-129">coordinate system:toroidal</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-173">coordinate system</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-162">coordinates</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-165">coordinates</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-9.82.xhtml#chapter-9-148">copy</a><span style="padding-left: 10px;">Section 9.82  TwoDimensionalArray</span><br/>
+<a href="section-9.52.xhtml#chapter-9-88">copy</a><span style="padding-left: 10px;">Section 9.52  Matrix</span><br/>
+<a href="section-12.8.xhtml#chapter-12-20">correctness</a><span style="padding-left: 10px;">Section 12.8  Correctness</span><br/>
+<a href="section-9.82.xhtml#chapter-9-152">count</a><span style="padding-left: 10px;">Section 9.82  TwoDimensionalArray</span><br/>
+<a href="section-9.6.xhtml#chapter-9-27">countable?</a><span style="padding-left: 10px;">Section 9.6  CardinalNumber</span><br/>
+<a href="section-7.2.xhtml#chapter-7-152">create3Space</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-155">create3Space</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-8.11.xhtml#chapter-8-194">createIrreduciblePoly</a><span style="padding-left: 10px;">Section 8.11  Finite Fields</span><br/>
+<a href="section-8.11.xhtml#chapter-8-202">createIrreduciblePoly</a><span style="padding-left: 10px;">Section 8.11  Finite Fields</span><br/>
+<a href="section-8.11.xhtml#chapter-8-198">createNormalPrimitivePoly</a><span style="padding-left: 10px;">Section 8.11  Finite Fields</span><br/>
+<a href="section-8.11.xhtml#chapter-8-196">createPrimitiveNormalPoly</a><span style="padding-left: 10px;">Section 8.11  Finite Fields</span><br/>
+<a href="section-9.51.xhtml#chapter-9-72">curry</a><span style="padding-left: 10px;">Section 9.51  MappingPackage1</span><br/>
+<a href="section-9.51.xhtml#chapter-9-68">curryLeft</a><span style="padding-left: 10px;">Section 9.51  MappingPackage1</span><br/>
+<a href="section-9.51.xhtml#chapter-9-66">curryRight</a><span style="padding-left: 10px;">Section 9.51  MappingPackage1</span><br/>
+<a href="section-7.1.xhtml#chapter-7-25">curve:color</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-10">curve:non-singular</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-4">curve:one variable function</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-6">curve:parametric plane</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-123">curve:parametric space</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-7">curve:plane algebraic</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-9">curve:smooth</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-9.65.xhtml#chapter-9-95">cycleRagits</a><span style="padding-left: 10px;">Section 9.65  RadixExpansion</span><br/>
+<a href="section-1.5.xhtml#chapter-1-45">cyclic list</a><span style="padding-left: 10px;">Section 1.5  Data Structures</span><br/>
+<a href="section-8.1.xhtml#chapter-8-48">cyclotomic polynomial</a><span style="padding-left: 10px;">Section 8.1  Numeric Functions</span><br/>
+<a href="section-7.2.xhtml#chapter-7-170">cylindrical coordinate system</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-167">cylindrical</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-171">cylindrical</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-15.3.xhtml#chapter-15-3">d02cjf</a><span style="padding-left: 10px;">Section 15.3  The NAG Library Link</span><br/>
+<a href="section-9.15.xhtml#chapter-9-4">decimal</a><span style="padding-left: 10px;">Section 9.15  DecimalExpansion</span><br/>
+<a href="section-1.3.xhtml#chapter-1-17">declaration</a><span style="padding-left: 10px;">Section 1.3  The Axiom Language</span><br/>
+<a href="section-12.6.xhtml#chapter-12-16">default definitions</a><span style="padding-left: 10px;">Section 12.6  Defaults</span><br/>
+<a href="section-9.60.xhtml#chapter-9-10">degree</a><span style="padding-left: 10px;">Section 9.60  OrderlyDifferentialPolynomial</span><br/>
+<a href="section-9.83.xhtml#chapter-9-2">degree</a><span style="padding-left: 10px;">Section 9.83  UnivariatePolynomial</span><br/>
+<a href="section-9.7.xhtml#chapter-9-37">degree</a><span style="padding-left: 10px;">Section 9.7  CartesianTensor</span><br/>
+<a href="section-9.45.xhtml#chapter-9-4">degree</a><span style="padding-left: 10px;">Section 9.45  LinearOrdinaryDifferentialOperator1</span><br/>
+<a href="section-9.83.xhtml#chapter-9-4">degree</a><span style="padding-left: 10px;">Section 9.83  UnivariatePolynomial</span><br/>
+<a href="section-9.7.xhtml#chapter-9-41">degree</a><span style="padding-left: 10px;">Section 9.7  CartesianTensor</span><br/>
+<a href="section-9.63.xhtml#chapter-9-69">degree</a><span style="padding-left: 10px;">Section 9.63  Polynomial</span><br/>
+<a href="section-5.1.xhtml#chapter-5-6">delayed assignment</a><span style="padding-left: 10px;">Section 5.1  Immediate and Delayed Assignments</span><br/>
+<a href="section-2.1.xhtml#chapter-2-3">delete</a><span style="padding-left: 10px;">Section 2.1  The Basic Idea</span><br/>
+<a href="section-9.1.xhtml#chapter-9-2">delete</a><span style="padding-left: 10px;">Section 9.1  AssociationList</span><br/>
+<a href="section-9.1.xhtml#chapter-9-4">delete</a><span style="padding-left: 10px;">Section 9.1  AssociationList</span><br/>
+<a href="section-9.3.xhtml#chapter-9-18">deleteProperty!</a><span style="padding-left: 10px;">Section 9.3  BasicOperator</span><br/>
+<a href="section-9.21.xhtml#chapter-9-22">denom</a><span style="padding-left: 10px;">Section 9.21  Expression</span><br/>
+<a href="section-9.28.xhtml#chapter-9-26">denom</a><span style="padding-left: 10px;">Section 9.28  Fraction</span><br/>
+<a href="section-1.11.xhtml#chapter-1-74">derivative</a><span style="padding-left: 10px;">Section 1.11  Derivatives</span><br/>
+<a href="section-12.11.xhtml#chapter-12-24">determinant</a><span style="padding-left: 10px;">Section 12.11  Conditionals</span><br/>
+<a href="section-9.52.xhtml#chapter-9-112">determinant</a><span style="padding-left: 10px;">Section 9.52  Matrix</span><br/>
+<a href="section-9.27.xhtml#chapter-9-20">determinant</a><span style="padding-left: 10px;">Section 9.27  Float</span><br/>
+<a href="section-9.62.xhtml#chapter-9-48">determinant</a><span style="padding-left: 10px;">Section 9.62  Permanent</span><br/>
+<a href="section-9.52.xhtml#chapter-9-82">diagonalMatrix</a><span style="padding-left: 10px;">Section 9.52  Matrix</span><br/>
+<a href="section-9.71.xhtml#chapter-9-16">difference</a><span style="padding-left: 10px;">Section 9.71  Set</span><br/>
+<a href="section-8.14.xhtml#chapter-8-227">differential equation:partial</a><span style="padding-left: 10px;">Section 8.14  Non-Associative Algebras and Modelling Genetic Laws</span><br/>
+<a href="section-8.10.xhtml#chapter-8-151">differential equation</a><span style="padding-left: 10px;">Section 8.10  Solution of Differential Equations</span><br/>
+<a href="section-8.10.xhtml#chapter-8-153">differential equation</a><span style="padding-left: 10px;">Section 8.10  Solution of Differential Equations</span><br/>
+<a href="section-9.60.xhtml#chapter-9-8">differentialVariables</a><span style="padding-left: 10px;">Section 9.60  OrderlyDifferentialPolynomial</span><br/>
+<a href="section-1.11.xhtml#chapter-1-77">differentiation:formal</a><span style="padding-left: 10px;">Section 1.11  Derivatives</span><br/>
+<a href="section-1.11.xhtml#chapter-1-76">differentiation:partial</a><span style="padding-left: 10px;">Section 1.11  Derivatives</span><br/>
+<a href="section-1.11.xhtml#chapter-1-75">differentiation</a><span style="padding-left: 10px;">Section 1.11  Derivatives</span><br/>
+<a href="section-1.4.xhtml#chapter-1-32">digits</a><span style="padding-left: 10px;">Section 1.4  Numbers</span><br/>
+<a href="section-9.27.xhtml#chapter-9-10">digits</a><span style="padding-left: 10px;">Section 9.27  Float</span><br/>
+<a href="section-9.27.xhtml#chapter-9-12">digits</a><span style="padding-left: 10px;">Section 9.27  Float</span><br/>
+<a href="section-9.27.xhtml#chapter-9-22">digits</a><span style="padding-left: 10px;">Section 9.27  Float</span><br/>
+<a href="section-9.6.xhtml#chapter-9-23">dimension</a><span style="padding-left: 10px;">Section 9.6  CardinalNumber</span><br/>
+<a href="section-4.1.xhtml#chapter-4-2">directory:default for searching</a><span style="padding-left: 10px;">Section 4.1  Input Files</span><br/>
+<a href="section-16.23.xhtml#chapter-16-159">directory:for spool files</a><span style="padding-left: 10px;">Section 16.23  )spool</span><br/>
+<a href="section-8.11.xhtml#chapter-8-170">discrete logarithm</a><span style="padding-left: 10px;">Section 8.11  Finite Fields</span><br/>
+<a href="section-8.11.xhtml#chapter-8-177">discrete logarithm</a><span style="padding-left: 10px;">Section 8.11  Finite Fields</span><br/>
+<a href="section-2.12.xhtml#chapter-2-81">display operation</a><span style="padding-left: 10px;">Section 2.12  Commands for Snooping</span><br/>
+<a href="section-16.8.xhtml#chapter-16-50">display</a><span style="padding-left: 10px;">Section 16.8  )display</span><br/>
+<a href="section-7.2.xhtml#chapter-7-192">dithering</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-9.83.xhtml#chapter-9-32">divide</a><span style="padding-left: 10px;">Section 9.83  UnivariatePolynomial</span><br/>
+<a href="section-9.34.xhtml#chapter-9-78">divide</a><span style="padding-left: 10px;">Section 9.34  Integer</span><br/>
+<a href="section-9.36.xhtml#chapter-9-104">divisors</a><span style="padding-left: 10px;">Section 9.36  IntegerNumberTheoryFunctions</span><br/>
+<a href="section-12.3.xhtml#chapter-12-10">documentation</a><span style="padding-left: 10px;">Section 12.3  Documentation</span><br/>
+<a href="section-13.8.xhtml#chapter-13-10">domain:add</a><span style="padding-left: 10px;">Section 13.8  Add Domain</span><br/>
+<a href="section-13.6.xhtml#chapter-13-4">domain:representation</a><span style="padding-left: 10px;">Section 13.6  Representation</span><br/>
+<a href="section-0.2.xhtml#chapter-0-6">domain</a><span style="padding-left: 10px;">Section 0.2  A Technical Introduction</span><br/>
+<a href="section-13.6.xhtml#chapter-13-8">dot</a><span style="padding-left: 10px;">Section 13.6  Representation</span><br/>
+<a href="section-7.1.xhtml#chapter-7-19">drawToScale</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-16.4.xhtml#chapter-16-23">edit</a><span style="padding-left: 10px;">Section 16.4  )cd</span><br/>
+<a href="section-16.9.xhtml#chapter-16-59">edit</a><span style="padding-left: 10px;">Section 16.9  )edit</span><br/>
+<a href="section-16.9.xhtml#chapter-16-60">editing files</a><span style="padding-left: 10px;">Section 16.9  )edit</span><br/>
+<a href="section-8.4.xhtml#chapter-8-66">eigenvalue</a><span style="padding-left: 10px;">Section 8.4  Computation of Eigenvalues and Eigenvectors</span><br/>
+<a href="section-8.4.xhtml#chapter-8-67">eigenvector</a><span style="padding-left: 10px;">Section 8.4  Computation of Eigenvalues and Eigenvectors</span><br/>
+<a href="section-8.11.xhtml#chapter-8-169">element:primitive</a><span style="padding-left: 10px;">Section 8.11  Finite Fields</span><br/>
+<a href="section-8.11.xhtml#chapter-8-182">element:primitive</a><span style="padding-left: 10px;">Section 8.11  Finite Fields</span><br/>
+<a href="section-5.3.xhtml#chapter-5-16">else</a><span style="padding-left: 10px;">Section 5.3  if-then-else</span><br/>
+<a href="section-9.82.xhtml#chapter-9-124">elt</a><span style="padding-left: 10px;">Section 9.82  TwoDimensionalArray</span><br/>
+<a href="section-9.82.xhtml#chapter-9-126">elt</a><span style="padding-left: 10px;">Section 9.82  TwoDimensionalArray</span><br/>
+<a href="section-9.85.xhtml#chapter-9-38">elt</a><span style="padding-left: 10px;">Section 9.85  Vector</span><br/>
+<a href="section-9.47.xhtml#chapter-9-41">elt</a><span style="padding-left: 10px;">Section 9.47  List</span><br/>
+<a href="section-9.85.xhtml#chapter-9-46">elt</a><span style="padding-left: 10px;">Section 9.85  Vector</span><br/>
+<a href="section-9.85.xhtml#chapter-9-54">elt</a><span style="padding-left: 10px;">Section 9.85  Vector</span><br/>
+<a href="section-9.80.xhtml#chapter-9-94">elt</a><span style="padding-left: 10px;">Section 9.80  Table</span><br/>
+<a href="section-9.80.xhtml#chapter-9-96">elt</a><span style="padding-left: 10px;">Section 9.80  Table</span><br/>
+<a href="section-16.9.xhtml#chapter-16-63">emacs</a><span style="padding-left: 10px;">Section 16.9  )edit</span><br/>
+<a href="section-16.9.xhtml#chapter-16-64">emacs</a><span style="padding-left: 10px;">Section 16.9  )edit</span><br/>
+<a href="section-9.47.xhtml#chapter-9-35">empty?</a><span style="padding-left: 10px;">Section 9.47  List</span><br/>
+<a href="section-9.81.xhtml#chapter-9-116">endOfFile?</a><span style="padding-left: 10px;">Section 9.81  TextFile</span><br/>
+<a href="section-9.73.xhtml#chapter-9-48">entries</a><span style="padding-left: 10px;">Section 9.73  SparseTable</span><br/>
+<a href="section-11.4.xhtml#chapter-11-11">environment</a><span style="padding-left: 10px;">Section 11.4  Capsules</span><br/>
+<a href="section-9.18.xhtml#chapter-9-10">eq?</a><span style="padding-left: 10px;">Section 9.18  EqTable</span><br/>
+<a href="section-9.18.xhtml#chapter-9-12">eq?</a><span style="padding-left: 10px;">Section 9.18  EqTable</span><br/>
+<a href="section-9.18.xhtml#chapter-9-6">eq?</a><span style="padding-left: 10px;">Section 9.18  EqTable</span><br/>
+<a href="section-5.3.xhtml#chapter-5-21">equality testing</a><span style="padding-left: 10px;">Section 5.3  if-then-else</span><br/>
+<a href="section-8.10.xhtml#chapter-8-152">equation:differential:solving in closed-form</a><span style="padding-left: 10px;">Section 8.10  Solution of Differential Equations</span><br/>
+<a href="section-8.10.xhtml#chapter-8-157">equation:differential:solving in power series</a><span style="padding-left: 10px;">Section 8.10  Solution of Differential Equations</span><br/>
+<a href="section-8.10.xhtml#chapter-8-150">equation:differential:solving</a><span style="padding-left: 10px;">Section 8.10  Solution of Differential Equations</span><br/>
+<a href="section-8.10.xhtml#chapter-8-154">equation:differential</a><span style="padding-left: 10px;">Section 8.10  Solution of Differential Equations</span><br/>
+<a href="section-8.5.xhtml#chapter-8-79">equation:linear:solving</a><span style="padding-left: 10px;">Section 8.5  Solution of Linear and Polynomial Equations</span><br/>
+<a href="section-8.5.xhtml#chapter-8-82">equation:polynomial:solving</a><span style="padding-left: 10px;">Section 8.5  Solution of Linear and Polynomial Equations</span><br/>
+<a href="section-8.5.xhtml#chapter-8-87">equation:polynomial:solving</a><span style="padding-left: 10px;">Section 8.5  Solution of Linear and Polynomial Equations</span><br/>
+<a href="section-5.3.xhtml#chapter-5-19">equation</a><span style="padding-left: 10px;">Section 5.3  if-then-else</span><br/>
+<a href="section-8.6.xhtml#chapter-8-93">essential singularity</a><span style="padding-left: 10px;">Section 8.6  Limits</span><br/>
+<a href="section-9.36.xhtml#chapter-9-112">eulerPhi</a><span style="padding-left: 10px;">Section 9.36  IntegerNumberTheoryFunctions</span><br/>
+<a href="section-9.34.xhtml#chapter-9-98">eulerPhi</a><span style="padding-left: 10px;">Section 9.34  Integer</span><br/>
+<a href="section-8.9.xhtml#chapter-8-140">eval</a><span style="padding-left: 10px;">Section 8.9  Working with Power Series</span><br/>
+<a href="section-9.60.xhtml#chapter-9-16">eval</a><span style="padding-left: 10px;">Section 9.60  OrderlyDifferentialPolynomial</span><br/>
+<a href="section-9.50.xhtml#chapter-9-56">eval</a><span style="padding-left: 10px;">Section 9.50  MakeFunction</span><br/>
+<a href="section-9.63.xhtml#chapter-9-81">eval</a><span style="padding-left: 10px;">Section 9.63  Polynomial</span><br/>
+<a href="section-9.34.xhtml#chapter-9-62">even?</a><span style="padding-left: 10px;">Section 9.34  Integer</span><br/>
+<a href="section-9.25.xhtml#chapter-9-72">exists?</a><span style="padding-left: 10px;">Section 9.25  FileName</span><br/>
+<a href="section-1.1.xhtml#chapter-1-8">exiting @{exiting Axiom}</a><span style="padding-left: 10px;">Section 1.1  Starting Up and Winding Down</span><br/>
+<a href="section-9.12.xhtml#chapter-9-77">exp</a><span style="padding-left: 10px;">Section 9.12  ContinuedFraction</span><br/>
+<a href="section-9.22.xhtml#chapter-9-34">expand</a><span style="padding-left: 10px;">Section 9.22  Factored</span><br/>
+<a href="section-9.47.xhtml#chapter-9-54">expand</a><span style="padding-left: 10px;">Section 9.47  List</span><br/>
+<a href="section-9.69.xhtml#chapter-9-6">expand</a><span style="padding-left: 10px;">Section 9.69  Segment</span><br/>
+<a href="section-2.11.xhtml#chapter-2-63">exposed:constructor</a><span style="padding-left: 10px;">Section 2.11  Exposing Domains and Packages</span><br/>
+<a href="section-2.11.xhtml#chapter-2-67">exposure:group</a><span style="padding-left: 10px;">Section 2.11  Exposing Domains and Packages</span><br/>
+<a href="section-2.5.xhtml#chapter-2-35">exquo</a><span style="padding-left: 10px;">Section 2.5  Unions</span><br/>
+<a href="section-9.34.xhtml#chapter-9-76">exquo</a><span style="padding-left: 10px;">Section 9.34  Integer</span><br/>
+<a href="section-9.14.xhtml#chapter-9-0">exteriorDifferential</a><span style="padding-left: 10px;">Section 9.14  DeRhamComplex</span><br/>
+<a href="section-9.14.xhtml#chapter-9-2">exteriorDifferential</a><span style="padding-left: 10px;">Section 9.14  DeRhamComplex</span><br/>
+<a href="section-9.22.xhtml#chapter-9-28">factor</a><span style="padding-left: 10px;">Section 9.22  Factored</span><br/>
+<a href="section-9.28.xhtml#chapter-9-38">factor</a><span style="padding-left: 10px;">Section 9.28  Fraction</span><br/>
+<a href="section-9.28.xhtml#chapter-9-46">factor</a><span style="padding-left: 10px;">Section 9.28  Fraction</span><br/>
+<a href="section-9.63.xhtml#chapter-9-52">factor</a><span style="padding-left: 10px;">Section 9.63  Polynomial</span><br/>
+<a href="section-9.11.xhtml#chapter-9-63">factor</a><span style="padding-left: 10px;">Section 9.11  Complex</span><br/>
+<a href="section-9.34.xhtml#chapter-9-80">factor</a><span style="padding-left: 10px;">Section 9.34  Integer</span><br/>
+<a href="section-9.22.xhtml#chapter-9-30">factorList</a><span style="padding-left: 10px;">Section 9.22  Factored</span><br/>
+<a href="section-9.22.xhtml#chapter-9-44">factorList</a><span style="padding-left: 10px;">Section 9.22  Factored</span><br/>
+<a href="section-9.22.xhtml#chapter-9-48">factorList</a><span style="padding-left: 10px;">Section 9.22  Factored</span><br/>
+<a href="section-8.2.xhtml#chapter-8-52">factorization</a><span style="padding-left: 10px;">Section 8.2  Polynomial Factorization</span><br/>
+<a href="section-9.22.xhtml#chapter-9-32">factors</a><span style="padding-left: 10px;">Section 9.22  Factored</span><br/>
+<a href="section-6.13.xhtml#chapter-6-35">fibonacci</a><span style="padding-left: 10px;">Section 6.13  Recurrence Relations</span><br/>
+<a href="section-9.36.xhtml#chapter-9-116">fibonacci</a><span style="padding-left: 10px;">Section 9.36  IntegerNumberTheoryFunctions</span><br/>
+<a href="section-9.34.xhtml#chapter-9-90">fibonacci</a><span style="padding-left: 10px;">Section 9.34  Integer</span><br/>
+<a href="section-8.11.xhtml#chapter-8-164">field:Galois</a><span style="padding-left: 10px;">Section 8.11  Finite Fields</span><br/>
+<a href="section-8.13.xhtml#chapter-8-222">field:Hilbert class</a><span style="padding-left: 10px;">Section 8.13  Computation of Galois Groups</span><br/>
+<a href="section-8.11.xhtml#chapter-8-190">field:finite:conversions</a><span style="padding-left: 10px;">Section 8.11  Finite Fields</span><br/>
+<a href="section-8.11.xhtml#chapter-8-173">field:finite:extension of</a><span style="padding-left: 10px;">Section 8.11  Finite Fields</span><br/>
+<a href="section-8.11.xhtml#chapter-8-176">field:finite:extension of</a><span style="padding-left: 10px;">Section 8.11  Finite Fields</span><br/>
+<a href="section-8.11.xhtml#chapter-8-180">field:finite:extension of</a><span style="padding-left: 10px;">Section 8.11  Finite Fields</span><br/>
+<a href="section-8.11.xhtml#chapter-8-185">field:finite:extension of</a><span style="padding-left: 10px;">Section 8.11  Finite Fields</span><br/>
+<a href="section-8.11.xhtml#chapter-8-162">field:finite:prime</a><span style="padding-left: 10px;">Section 8.11  Finite Fields</span><br/>
+<a href="section-8.11.xhtml#chapter-8-163">field:prime</a><span style="padding-left: 10px;">Section 8.11  Finite Fields</span><br/>
+<a href="section-8.13.xhtml#chapter-8-213">field:splitting</a><span style="padding-left: 10px;">Section 8.13  Computation of Galois Groups</span><br/>
+<a href="section-2.1.xhtml#chapter-2-7">field</a><span style="padding-left: 10px;">Section 2.1  The Basic Idea</span><br/>
+<a href="section-3.8.xhtml#chapter-3-5">file:.Xdefaults</a><span style="padding-left: 10px;">Section 3.8  X Window Resources for HyperDoc</span><br/>
+<a href="section-2.11.xhtml#chapter-2-65">file:exposed.lsp @<span style="font-weight: bold;"> exposed.lsp</span></a><span style="padding-left: 10px;">Section 2.11  Exposing Domains and Packages</span><br/>
+<a href="section-16.11.xhtml#chapter-16-79">file:history</a><span style="padding-left: 10px;">Section 16.11  )frame</span><br/>
+<a href="section-11.5.xhtml#chapter-11-12">file:input:vs. package</a><span style="padding-left: 10px;">Section 11.5  Input Files vs. Packages</span><br/>
+<a href="section-4.1.xhtml#chapter-4-4">file:input:where found</a><span style="padding-left: 10px;">Section 4.1  Input Files</span><br/>
+<a href="section-1.7.xhtml#chapter-1-64">file:input</a><span style="padding-left: 10px;">Section 1.7  Writing Your Own Functions</span><br/>
+<a href="section-16.20.xhtml#chapter-16-140">file:input</a><span style="padding-left: 10px;">Section 16.20  )read</span><br/>
+<a href="section-16.1.xhtml#chapter-16-4">file:input</a><span style="padding-left: 10px;">Section 16.1  Introduction</span><br/>
+<a href="section-16.13.xhtml#chapter-16-90">file:input</a><span style="padding-left: 10px;">Section 16.13  )history</span><br/>
+<a href="section-4.1.xhtml#chapter-4-0">file:input</a><span style="padding-left: 10px;">Section 4.1  Input Files</span><br/>
+<a href="section-5.2.xhtml#chapter-5-13">file:input</a><span style="padding-left: 10px;">Section 5.2  Blocks</span><br/>
+<a href="section-4.3.xhtml#chapter-4-14">file:sending output to</a><span style="padding-left: 10px;">Section 4.3  Common Features of Using Output Formats</span><br/>
+<a href="section-16.23.xhtml#chapter-16-158">file:spool</a><span style="padding-left: 10px;">Section 16.23  )spool</span><br/>
+<a href="section-4.2.xhtml#chapter-4-8">file:start-up profile</a><span style="padding-left: 10px;">Section 4.2  The .axiom.input File</span><br/>
+<a href="section-9.25.xhtml#chapter-9-80">filename</a><span style="padding-left: 10px;">Section 9.25  FileName</span><br/>
+<a href="section-16.10.xhtml#chapter-16-69">fin</a><span style="padding-left: 10px;">Section 16.10  )fin</span><br/>
+<a href="section-8.2.xhtml#chapter-8-56">finite field:factoring polynomial with coefficients in</a><span style="padding-left: 10px;">Section 8.2  Polynomial Factorization</span><br/>
+<a href="section-8.11.xhtml#chapter-8-160">finite field</a><span style="padding-left: 10px;">Section 8.11  Finite Fields</span><br/>
+<a href="section-8.11.xhtml#chapter-8-172">finite field</a><span style="padding-left: 10px;">Section 8.11  Finite Fields</span><br/>
+<a href="section-8.11.xhtml#chapter-8-175">finite field</a><span style="padding-left: 10px;">Section 8.11  Finite Fields</span><br/>
+<a href="section-8.11.xhtml#chapter-8-179">finite field</a><span style="padding-left: 10px;">Section 8.11  Finite Fields</span><br/>
+<a href="section-8.11.xhtml#chapter-8-184">finite field</a><span style="padding-left: 10px;">Section 8.11  Finite Fields</span><br/>
+<a href="section-9.6.xhtml#chapter-9-25">finite?</a><span style="padding-left: 10px;">Section 9.6  CardinalNumber</span><br/>
+<a href="section-1.5.xhtml#chapter-1-38">first</a><span style="padding-left: 10px;">Section 1.5  Data Structures</span><br/>
+<a href="section-11.8.xhtml#chapter-11-17">first</a><span style="padding-left: 10px;">Section 11.8  Conditionals</span><br/>
+<a href="section-13.13.xhtml#chapter-13-19">first</a><span style="padding-left: 10px;">Section 13.13  Example 2: Building A Query Facility</span><br/>
+<a href="section-9.47.xhtml#chapter-9-39">first</a><span style="padding-left: 10px;">Section 9.47  List</span><br/>
+<a href="section-9.61.xhtml#chapter-9-40">firstDenom</a><span style="padding-left: 10px;">Section 9.61  PartialFraction</span><br/>
+<a href="section-9.61.xhtml#chapter-9-38">firstNumer</a><span style="padding-left: 10px;">Section 9.61  PartialFraction</span><br/>
+<a href="section-1.4.xhtml#chapter-1-31">floating point</a><span style="padding-left: 10px;">Section 1.4  Numbers</span><br/>
+<a href="section-8.1.xhtml#chapter-8-4">floating-point number:complex</a><span style="padding-left: 10px;">Section 8.1  Numeric Functions</span><br/>
+<a href="section-8.1.xhtml#chapter-8-2">floating-point number</a><span style="padding-left: 10px;">Section 8.1  Numeric Functions</span><br/>
+<a href="section-6.16.xhtml#chapter-6-52">fluid variable</a><span style="padding-left: 10px;">Section 6.16  Free and Local Variables</span><br/>
+<a href="section-3.8.xhtml#chapter-3-6">font</a><span style="padding-left: 10px;">Section 3.8  X Window Resources for HyperDoc</span><br/>
+<a href="section-5.4.xhtml#chapter-5-39">for</a><span style="padding-left: 10px;">Section 5.4  Loops</span><br/>
+<a href="section-5.4.xhtml#chapter-5-43">for</a><span style="padding-left: 10px;">Section 5.4  Loops</span><br/>
+<a href="section-9.65.xhtml#chapter-9-97">fractRagits</a><span style="padding-left: 10px;">Section 9.65  RadixExpansion</span><br/>
+<a href="section-1.4.xhtml#chapter-1-36">fraction:partial</a><span style="padding-left: 10px;">Section 1.4  Numbers</span><br/>
+<a href="section-9.27.xhtml#chapter-9-8">fractionPart</a><span style="padding-left: 10px;">Section 9.27  Float</span><br/>
+<a href="section-16.11.xhtml#chapter-16-78">frame drop</a><span style="padding-left: 10px;">Section 16.11  )frame</span><br/>
+<a href="section-16.11.xhtml#chapter-16-80">frame import</a><span style="padding-left: 10px;">Section 16.11  )frame</span><br/>
+<a href="section-16.11.xhtml#chapter-16-77">frame last</a><span style="padding-left: 10px;">Section 16.11  )frame</span><br/>
+<a href="section-16.11.xhtml#chapter-16-74">frame names</a><span style="padding-left: 10px;">Section 16.11  )frame</span><br/>
+<a href="section-16.11.xhtml#chapter-16-75">frame new</a><span style="padding-left: 10px;">Section 16.11  )frame</span><br/>
+<a href="section-16.11.xhtml#chapter-16-76">frame next</a><span style="padding-left: 10px;">Section 16.11  )frame</span><br/>
+<a href="section-2.11.xhtml#chapter-2-74">frame:exposure and</a><span style="padding-left: 10px;">Section 2.11  Exposing Domains and Packages</span><br/>
+<a href="section-16.11.xhtml#chapter-16-73">frame</a><span style="padding-left: 10px;">Section 16.11  )frame</span><br/>
+<a href="section-2.11.xhtml#chapter-2-75">frame</a><span style="padding-left: 10px;">Section 2.11  Exposing Domains and Packages</span><br/>
+<a href="section-6.16.xhtml#chapter-6-45">free variable</a><span style="padding-left: 10px;">Section 6.16  Free and Local Variables</span><br/>
+<a href="section-6.16.xhtml#chapter-6-44">free</a><span style="padding-left: 10px;">Section 6.16  Free and Local Variables</span><br/>
+<a href="section-9.29.xhtml#chapter-9-48">fullPartialFraction</a><span style="padding-left: 10px;">Section 9.29  FullPartialFractionExpansion</span><br/>
+<a href="section-8.1.xhtml#chapter-8-28">function:Airy Ai</a><span style="padding-left: 10px;">Section 8.1  Numeric Functions</span><br/>
+<a href="section-8.1.xhtml#chapter-8-29">function:Airy Bi</a><span style="padding-left: 10px;">Section 8.1  Numeric Functions</span><br/>
+<a href="section-8.1.xhtml#chapter-8-23">function:Bessel</a><span style="padding-left: 10px;">Section 8.1  Numeric Functions</span><br/>
+<a href="section-8.1.xhtml#chapter-8-24">function:Bessel</a><span style="padding-left: 10px;">Section 8.1  Numeric Functions</span><br/>
+<a href="section-8.1.xhtml#chapter-8-25">function:Bessel</a><span style="padding-left: 10px;">Section 8.1  Numeric Functions</span><br/>
+<a href="section-8.1.xhtml#chapter-8-26">function:Bessel</a><span style="padding-left: 10px;">Section 8.1  Numeric Functions</span><br/>
+<a href="section-21.5.xhtml#chapter-21-5">function:Euler Beta</a><span style="padding-left: 10px;">Section 21.5  images6.input</span><br/>
+<a href="section-8.1.xhtml#chapter-8-18">function:Euler Beta</a><span style="padding-left: 10px;">Section 8.1  Numeric Functions</span><br/>
+<a href="section-21.5.xhtml#chapter-21-4">function:Gamma</a><span style="padding-left: 10px;">Section 21.5  images6.input</span><br/>
+<a href="section-8.1.xhtml#chapter-8-16">function:Gamma</a><span style="padding-left: 10px;">Section 8.1  Numeric Functions</span><br/>
+<a href="section-6.17.xhtml#chapter-6-58">function:anonymous:declaring</a><span style="padding-left: 10px;">Section 6.17  Anonymous Functions</span><br/>
+<a href="section-6.17.xhtml#chapter-6-59">function:anonymous:restrictions</a><span style="padding-left: 10px;">Section 6.17  Anonymous Functions</span><br/>
+<a href="section-6.17.xhtml#chapter-6-54">function:anonymous</a><span style="padding-left: 10px;">Section 6.17  Anonymous Functions</span><br/>
+<a href="section-6.1.xhtml#chapter-6-6">function:arguments</a><span style="padding-left: 10px;">Section 6.1  Functions vs. Macros</span><br/>
+<a href="section-6.12.xhtml#chapter-6-30">function:caching values</a><span style="padding-left: 10px;">Section 6.12  Caching Previously Computed Results</span><br/>
+<a href="section-1.3.xhtml#chapter-1-19">function:calling</a><span style="padding-left: 10px;">Section 1.3  The Axiom Language</span><br/>
+<a href="section-7.2.xhtml#chapter-7-135">function:coloring</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-6.10.xhtml#chapter-6-15">function:compiler</a><span style="padding-left: 10px;">Section 6.10  Compiling vs. Interpreting</span><br/>
+<a href="section-8.1.xhtml#chapter-8-50">function:complex arctangent</a><span style="padding-left: 10px;">Section 8.1  Numeric Functions</span><br/>
+<a href="section-8.1.xhtml#chapter-8-49">function:complex exponential</a><span style="padding-left: 10px;">Section 8.1  Numeric Functions</span><br/>
+<a href="section-6.11.xhtml#chapter-6-28">function:constant argument</a><span style="padding-left: 10px;">Section 6.11  Piece-Wise Function Definitions</span><br/>
+<a href="section-6.14.xhtml#chapter-6-40">function:declaring</a><span style="padding-left: 10px;">Section 6.14  Making Functions from Objects</span><br/>
+<a href="section-6.17.xhtml#chapter-6-57">function:declaring</a><span style="padding-left: 10px;">Section 6.17  Anonymous Functions</span><br/>
+<a href="section-8.1.xhtml#chapter-8-21">function:digamma</a><span style="padding-left: 10px;">Section 8.1  Numeric Functions</span><br/>
+<a href="section-8.7.xhtml#chapter-8-96">function:elementary</a><span style="padding-left: 10px;">Section 8.7  Laplace Transforms</span><br/>
+<a href="section-6.14.xhtml#chapter-6-38">function:from an object</a><span style="padding-left: 10px;">Section 6.14  Making Functions from Objects</span><br/>
+<a href="section-8.1.xhtml#chapter-8-31">function:hypergeometric</a><span style="padding-left: 10px;">Section 8.1  Numeric Functions</span><br/>
+<a href="section-6.10.xhtml#chapter-6-16">function:interpretation</a><span style="padding-left: 10px;">Section 6.10  Compiling vs. Interpreting</span><br/>
+<a href="section-8.1.xhtml#chapter-8-0">function:numeric</a><span style="padding-left: 10px;">Section 8.1  Numeric Functions</span><br/>
+<a href="section-6.5.xhtml#chapter-6-11">function:one-line definition</a><span style="padding-left: 10px;">Section 6.5  One-Line Functions</span><br/>
+<a href="section-6.1.xhtml#chapter-6-4">function:parameters</a><span style="padding-left: 10px;">Section 6.1  Functions vs. Macros</span><br/>
+<a href="section-1.7.xhtml#chapter-1-62">function:piece-wise definition</a><span style="padding-left: 10px;">Section 1.7  Writing Your Own Functions</span><br/>
+<a href="section-6.11.xhtml#chapter-6-23">function:piece-wise definition</a><span style="padding-left: 10px;">Section 6.11  Piece-Wise Function Definitions</span><br/>
+<a href="section-8.1.xhtml#chapter-8-22">function:polygamma</a><span style="padding-left: 10px;">Section 8.1  Numeric Functions</span><br/>
+<a href="section-6.11.xhtml#chapter-6-26">function:predicate</a><span style="padding-left: 10px;">Section 6.11  Piece-Wise Function Definitions</span><br/>
+<a href="section-8.1.xhtml#chapter-8-15">function:special</a><span style="padding-left: 10px;">Section 8.1  Numeric Functions</span><br/>
+<a href="section-8.1.xhtml#chapter-8-44">function:totient</a><span style="padding-left: 10px;">Section 8.1  Numeric Functions</span><br/>
+<a href="section-6.1.xhtml#chapter-6-0">function:vs. macro</a><span style="padding-left: 10px;">Section 6.1  Functions vs. Macros</span><br/>
+<a href="section-6.8.xhtml#chapter-6-13">function:with no arguments</a><span style="padding-left: 10px;">Section 6.8  Delayed Assignments vs. Functions with No Arguments</span><br/>
+<a href="section-1.7.xhtml#chapter-1-61">function</a><span style="padding-left: 10px;">Section 1.7  Writing Your Own Functions</span><br/>
+<a href="section-9.50.xhtml#chapter-9-58">function</a><span style="padding-left: 10px;">Section 9.50  MakeFunction</span><br/>
+<a href="section-9.50.xhtml#chapter-9-60">function</a><span style="padding-left: 10px;">Section 9.50  MakeFunction</span><br/>
+<a href="section-9.50.xhtml#chapter-9-62">function</a><span style="padding-left: 10px;">Section 9.50  MakeFunction</span><br/>
+<a href="section-8.14.xhtml#chapter-8-234">gamete</a><span style="padding-left: 10px;">Section 8.14  Non-Associative Algebras and Modelling Genetic Laws</span><br/>
+<a href="section-9.83.xhtml#chapter-9-18">gcd</a><span style="padding-left: 10px;">Section 9.83  UnivariatePolynomial</span><br/>
+<a href="section-9.22.xhtml#chapter-9-26">gcd</a><span style="padding-left: 10px;">Section 9.22  Factored</span><br/>
+<a href="section-9.28.xhtml#chapter-9-40">gcd</a><span style="padding-left: 10px;">Section 9.28  Fraction</span><br/>
+<a href="section-9.63.xhtml#chapter-9-55">gcd</a><span style="padding-left: 10px;">Section 9.63  Polynomial</span><br/>
+<a href="section-9.34.xhtml#chapter-9-64">gcd</a><span style="padding-left: 10px;">Section 9.34  Integer</span><br/>
+<a href="section-9.83.xhtml#chapter-9-8">gcd</a><span style="padding-left: 10px;">Section 9.83  UnivariatePolynomial</span><br/>
+<a href="section-15.3.xhtml#chapter-15-22">generalFortran</a><span style="padding-left: 10px;">Section 15.3  The NAG Library Link</span><br/>
+<a href="section-5.6.xhtml#chapter-5-65">generate</a><span style="padding-left: 10px;">Section 5.6  An Example: Streams of Primes</span><br/>
+<a href="section-5.6.xhtml#chapter-5-67">generate</a><span style="padding-left: 10px;">Section 5.6  An Example: Streams of Primes</span><br/>
+<a href="section-5.6.xhtml#chapter-5-69">generate</a><span style="padding-left: 10px;">Section 5.6  An Example: Streams of Primes</span><br/>
+<a href="section-8.14.xhtml#chapter-8-232">genetics</a><span style="padding-left: 10px;">Section 8.14  Non-Associative Algebras and Modelling Genetic Laws</span><br/>
+<a href="section-7.1.xhtml#chapter-7-117">getGraph</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-6.16.xhtml#chapter-6-48">global variable</a><span style="padding-left: 10px;">Section 6.16  Free and Local Variables</span><br/>
+<a href="section-7.2.xhtml#chapter-7-202">graphics:.Xdefaults:PostScript file name</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-282">graphics:.Xdefaults:PostScript file name</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-284">graphics:.Xdefaults:PostScript file name</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-67">graphics:.Xdefaults:PostScript file name</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-275">graphics:.Xdefaults:button font</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-277">graphics:.Xdefaults:graph label font</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-276">graphics:.Xdefaults:graph number font</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-278">graphics:.Xdefaults:inverting background</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-279">graphics:.Xdefaults:lighting font</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-280">graphics:.Xdefaults:message font</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-281">graphics:.Xdefaults:monochrome</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-286">graphics:.Xdefaults:title font</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-288">graphics:.Xdefaults:unit label font</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-289">graphics:.Xdefaults:volume label font</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-273">graphics:.Xdefaults</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-93">graphics:2D commands:axes</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-94">graphics:2D commands:close</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-95">graphics:2D commands:connect</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-96">graphics:2D commands:graphs</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-98">graphics:2D commands:key</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-99">graphics:2D commands:move</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-100">graphics:2D commands:options</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-101">graphics:2D commands:points</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-102">graphics:2D commands:resize</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-103">graphics:2D commands:scale</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-97">graphics:2D commands:state of graphs</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-104">graphics:2D commands:translate</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-61">graphics:2D control-panel:axes</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-63">graphics:2D control-panel:box</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-60">graphics:2D control-panel:buttons</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-56">graphics:2D control-panel:clear</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-59">graphics:2D control-panel:drop</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-71">graphics:2D control-panel:hide</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-65">graphics:2D control-panel:lines</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-54">graphics:2D control-panel:messages</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-55">graphics:2D control-panel:multiple graphs</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-58">graphics:2D control-panel:pick</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-64">graphics:2D control-panel:points</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-66">graphics:2D control-panel:ps</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-57">graphics:2D control-panel:query</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-72">graphics:2D control-panel:quit</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-70">graphics:2D control-panel:reset</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-52">graphics:2D control-panel:scale</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-51">graphics:2D control-panel:transformations</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-53">graphics:2D control-panel:translate</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-62">graphics:2D control-panel:units</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-50">graphics:2D control-panel</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-89">graphics:2D defaults:available viewport writes</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-15">graphics:2D options:adaptive</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-22">graphics:2D options:clip in a range</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-16">graphics:2D options:clipping</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-31">graphics:2D options:coordinates</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-24">graphics:2D options:curve color</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-27">graphics:2D options:point color</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-30">graphics:2D options:range</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-29">graphics:2D options:set units</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-21">graphics:2D options:to scale</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-223">graphics:3D commands:axes</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-224">graphics:3D commands:close</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-226">graphics:3D commands:control-panel</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-225">graphics:3D commands:define color</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-257">graphics:3D commands:deltaX default</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-258">graphics:3D commands:deltaY default</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-227">graphics:3D commands:diagonals</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-228">graphics:3D commands:drawing style</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-229">graphics:3D commands:eye distance</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-251">graphics:3D commands:intensity</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-232">graphics:3D commands:key</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-233">graphics:3D commands:lighting</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-234">graphics:3D commands:modify point data</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-235">graphics:3D commands:move</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-236">graphics:3D commands:outline</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-237">graphics:3D commands:perspective</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-259">graphics:3D commands:phi default</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-238">graphics:3D commands:reset</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-239">graphics:3D commands:resize</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-240">graphics:3D commands:rotate</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-270">graphics:3D commands:scale default</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-271">graphics:3D commands:scale</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-247">graphics:3D commands:showRegion</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-248">graphics:3D commands:subspace</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-263">graphics:3D commands:theta default</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-249">graphics:3D commands:title</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-250">graphics:3D commands:translate</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-260">graphics:3D commands:viewpoint</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-195">graphics:3D control-panel:axes</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-194">graphics:3D control-panel:bounds</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-185">graphics:3D control-panel:buttons</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-197">graphics:3D control-panel:bw</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-216">graphics:3D control-panel:clip volume</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-220">graphics:3D control-panel:clip volume</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-219">graphics:3D control-panel:clipping on</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-183">graphics:3D control-panel:color map</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-214">graphics:3D control-panel:eye reference</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-207">graphics:3D control-panel:hide</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-212">graphics:3D control-panel:intensity</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-209">graphics:3D control-panel:light</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-182">graphics:3D control-panel:messages</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-210">graphics:3D control-panel:move xy</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-211">graphics:3D control-panel:move z</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-196">graphics:3D control-panel:outline</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-217">graphics:3D control-panel:perspective</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-199">graphics:3D control-panel:pixmap</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-200">graphics:3D control-panel:ps</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-208">graphics:3D control-panel:quit</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-206">graphics:3D control-panel:reset</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-179">graphics:3D control-panel:rotate</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-198">graphics:3D control-panel:save</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-180">graphics:3D control-panel:scale</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-188">graphics:3D control-panel:shade</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-218">graphics:3D control-panel:show clip region</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-190">graphics:3D control-panel:smooth</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-187">graphics:3D control-panel:solid</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-178">graphics:3D control-panel:transformations</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-181">graphics:3D control-panel:translate</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-213">graphics:3D control-panel:view volume</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-186">graphics:3D control-panel:wire</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-177">graphics:3D control-panel</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-264">graphics:3D defaults:available viewport writes</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-256">graphics:3D defaults:reset viewport defaults</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-252">graphics:3D defaults:tube points</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-253">graphics:3D defaults:tube radius</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-254">graphics:3D defaults:var1 steps</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-255">graphics:3D defaults:var2 steps</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-261">graphics:3D defaults:viewport position</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-262">graphics:3D defaults:viewport size</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-269">graphics:3D defaults:viewport writes</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-134">graphics:3D options:color function</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-132">graphics:3D options:title</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-143">graphics:3D options:variable steps</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-131">graphics:3D options</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-287">graphics:Xdefaults:2d</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-154">graphics:advanced:build 3D objects</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-175">graphics:advanced:clip</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-160">graphics:advanced:coordinate systems</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-42">graphics:color:hue function</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-44">graphics:color:multiply function</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-40">graphics:color:number of hues</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-43">graphics:color:primary color functions</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-35">graphics:color</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-46">graphics:palette</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-221">graphics:plot3d defaults:adaptive</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-241">graphics:plot3d defaults:set adaptive</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-243">graphics:plot3d defaults:set max points</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-244">graphics:plot3d defaults:set min points</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-245">graphics:plot3d defaults:set screen resolution</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-74">graphics:set 2D defaults:adaptive</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-75">graphics:set 2D defaults:axes color</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-76">graphics:set 2D defaults:clip points</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-78">graphics:set 2D defaults:line color</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-79">graphics:set 2D defaults:max points</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-80">graphics:set 2D defaults:min points</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-81">graphics:set 2D defaults:point color</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-82">graphics:set 2D defaults:point size</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-86">graphics:set 2D defaults:reset viewport</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-83">graphics:set 2D defaults:screen resolution</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-77">graphics:set 2D defaults:to scale</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-85">graphics:set 2D defaults:units color</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-87">graphics:set 2D defaults:viewport position</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-88">graphics:set 2D defaults:viewport size</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-92">graphics:set 2D defaults:write viewport</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-121">graphics:three-dimensional</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-3">graphics:two-dimensional</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-1.16.xhtml#chapter-1-80">graphics</a><span style="padding-left: 10px;">Section 1.16  Graphics</span><br/>
+<a href="section-7.0.xhtml#chapter-7-0">graphics</a><span style="padding-left: 10px;">Section 7.0 Graphics</span><br/>
+<a href="section-9.39.xhtml#chapter-9-22">groebner</a><span style="padding-left: 10px;">Section 9.39  LexTriangularPackage</span><br/>
+<a href="section-9.31.xhtml#chapter-9-50">groebnerFactorize</a><span style="padding-left: 10px;">Section 9.31  GroebnerFactorizationPackage</span><br/>
+<a href="section-9.31.xhtml#chapter-9-52">groebnerFactorize</a><span style="padding-left: 10px;">Section 9.31  GroebnerFactorizationPackage</span><br/>
+<a href="section-9.63.xhtml#chapter-9-65">ground?</a><span style="padding-left: 10px;">Section 9.63  Polynomial</span><br/>
+<a href="section-8.13.xhtml#chapter-8-211">group:Galois</a><span style="padding-left: 10px;">Section 8.13  Computation of Galois Groups</span><br/>
+<a href="section-8.11.xhtml#chapter-8-181">group:cyclic</a><span style="padding-left: 10px;">Section 8.11  Finite Fields</span><br/>
+<a href="section-8.13.xhtml#chapter-8-218">group:dihedral</a><span style="padding-left: 10px;">Section 8.13  Computation of Galois Groups</span><br/>
+<a href="section-8.13.xhtml#chapter-8-220">group:dihedral</a><span style="padding-left: 10px;">Section 8.13  Computation of Galois Groups</span><br/>
+<a href="section-2.11.xhtml#chapter-2-66">group:exposure</a><span style="padding-left: 10px;">Section 2.11  Exposing Domains and Packages</span><br/>
+<a href="section-8.13.xhtml#chapter-8-223">group:symmetric</a><span style="padding-left: 10px;">Section 8.13  Computation of Galois Groups</span><br/>
+<a href="section-9.84.xhtml#chapter-9-34">hasHi</a><span style="padding-left: 10px;">Section 9.84  UniversalSegment</span><br/>
+<a href="section-9.37.xhtml#chapter-9-126">height</a><span style="padding-left: 10px;">Section 9.37  Kernel</span><br/>
+<a href="section-16.12.xhtml#chapter-16-87">help</a><span style="padding-left: 10px;">Section 16.12  )help</span><br/>
+<a href="section-9.33.xhtml#chapter-9-54">hex</a><span style="padding-left: 10px;">Section 9.33  HexadecimalExpansion</span><br/>
+<a href="section-9.69.xhtml#chapter-9-2">hi</a><span style="padding-left: 10px;">Section 9.69  Segment</span><br/>
+<a href="section-16.13.xhtml#chapter-16-95">history )change</a><span style="padding-left: 10px;">Section 16.13  )history</span><br/>
+<a href="section-16.13.xhtml#chapter-16-94">history )off</a><span style="padding-left: 10px;">Section 16.13  )history</span><br/>
+<a href="section-16.13.xhtml#chapter-16-91">history )on</a><span style="padding-left: 10px;">Section 16.13  )history</span><br/>
+<a href="section-16.4.xhtml#chapter-16-22">history )restore</a><span style="padding-left: 10px;">Section 16.4  )cd</span><br/>
+<a href="section-16.4.xhtml#chapter-16-26">history )save</a><span style="padding-left: 10px;">Section 16.4  )cd</span><br/>
+<a href="section-16.4.xhtml#chapter-16-25">history )write</a><span style="padding-left: 10px;">Section 16.4  )cd</span><br/>
+<a href="section-4.1.xhtml#chapter-4-5">history )write</a><span style="padding-left: 10px;">Section 4.1  Input Files</span><br/>
+<a href="section-16.13.xhtml#chapter-16-89">history</a><span style="padding-left: 10px;">Section 16.13  )history</span><br/>
+<a href="section-7.2.xhtml#chapter-7-215">hither clipping plane</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-9.52.xhtml#chapter-9-96">horizConcat</a><span style="padding-left: 10px;">Section 9.52  Matrix</span><br/>
+<a href="section-15.3.xhtml#chapter-15-10">htxl1</a><span style="padding-left: 10px;">Section 15.3  The NAG Library Link</span><br/>
+<a href="section-15.3.xhtml#chapter-15-11">htxl1</a><span style="padding-left: 10px;">Section 15.3  The NAG Library Link</span><br/>
+<a href="section-7.1.xhtml#chapter-7-37">hue</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-8.12.xhtml#chapter-8-209">ideal:primary decomposition</a><span style="padding-left: 10px;">Section 8.12  Primary Decomposition of Ideals</span><br/>
+<a href="section-11.8.xhtml#chapter-11-21">if</a><span style="padding-left: 10px;">Section 11.8  Conditionals</span><br/>
+<a href="section-5.3.xhtml#chapter-5-14">if</a><span style="padding-left: 10px;">Section 5.3  if-then-else</span><br/>
+<a href="section-9.11.xhtml#chapter-9-61">imag</a><span style="padding-left: 10px;">Section 9.11  Complex</span><br/>
+<a href="section-5.1.xhtml#chapter-5-1">immediate assignment</a><span style="padding-left: 10px;">Section 5.1  Immediate and Delayed Assignments</span><br/>
+<a href="section-5.4.xhtml#chapter-5-40">in</a><span style="padding-left: 10px;">Section 5.4  Loops</span><br/>
+<a href="section-5.4.xhtml#chapter-5-44">in</a><span style="padding-left: 10px;">Section 5.4  Loops</span><br/>
+<a href="section-9.69.xhtml#chapter-9-4">incr</a><span style="padding-left: 10px;">Section 9.69  Segment</span><br/>
+<a href="section-12.1.xhtml#chapter-12-5">indentation</a><span style="padding-left: 10px;">Section 12.1  Definitions</span><br/>
+<a href="section-5.2.xhtml#chapter-5-12">indentation</a><span style="padding-left: 10px;">Section 5.2  Blocks</span><br/>
+<a href="section-5.3.xhtml#chapter-5-23">inequality testing</a><span style="padding-left: 10px;">Section 5.3  if-then-else</span><br/>
+<a href="section-1.3.xhtml#chapter-1-26">infinity@{<math xmlns="&mathml;" mathsize="big"><mstyle><mo>&#x221E;</mo></mstyle></math> (= %infinity)}</a><span style="padding-left: 10px;">Section 1.3  The Axiom Language</span><br/>
+<a href="section-9.60.xhtml#chapter-9-22">initial</a><span style="padding-left: 10px;">Section 9.60  OrderlyDifferentialPolynomial</span><br/>
+<a href="section-2.1.xhtml#chapter-2-1">insert</a><span style="padding-left: 10px;">Section 2.1  The Basic Idea</span><br/>
+<a href="section-8.8.xhtml#chapter-8-111">integrate</a><span style="padding-left: 10px;">Section 8.8  Integration</span><br/>
+<a href="section-8.8.xhtml#chapter-8-113">integrate</a><span style="padding-left: 10px;">Section 8.8  Integration</span><br/>
+<a href="section-8.8.xhtml#chapter-8-99">integrate</a><span style="padding-left: 10px;">Section 8.8  Integration</span><br/>
+<a href="section-9.63.xhtml#chapter-9-85">integrate</a><span style="padding-left: 10px;">Section 9.63  Polynomial</span><br/>
+<a href="section-8.8.xhtml#chapter-8-110">integration:definite</a><span style="padding-left: 10px;">Section 8.8  Integration</span><br/>
+<a href="section-8.8.xhtml#chapter-8-106">integration:result as a complex functions</a><span style="padding-left: 10px;">Section 8.8  Integration</span><br/>
+<a href="section-8.8.xhtml#chapter-8-103">integration:result as list of real functions</a><span style="padding-left: 10px;">Section 8.8  Integration</span><br/>
+<a href="section-1.12.xhtml#chapter-1-79">integration</a><span style="padding-left: 10px;">Section 1.12  Integration</span><br/>
+<a href="section-8.8.xhtml#chapter-8-98">integration</a><span style="padding-left: 10px;">Section 8.8  Integration</span><br/>
+<a href="section-6.10.xhtml#chapter-6-17">interpret-code mode</a><span style="padding-left: 10px;">Section 6.10  Compiling vs. Interpreting</span><br/>
+<a href="section-1.1.xhtml#chapter-1-6">interrupt</a><span style="padding-left: 10px;">Section 1.1  Starting Up and Winding Down</span><br/>
+<a href="section-9.71.xhtml#chapter-9-12">intersect</a><span style="padding-left: 10px;">Section 9.71  Set</span><br/>
+<a href="section-2.9.xhtml#chapter-2-57">inv</a><span style="padding-left: 10px;">Section 2.9  Package Calling and Target Types</span><br/>
+<a href="section-14.3.xhtml#chapter-14-13">inverse</a><span style="padding-left: 10px;">Section 14.3  Miscellaneous Features of Browse</span><br/>
+<a href="section-9.52.xhtml#chapter-9-110">inverse</a><span style="padding-left: 10px;">Section 9.52  Matrix</span><br/>
+<a href="section-9.72.xhtml#chapter-9-34">invmod</a><span style="padding-left: 10px;">Section 9.72  SingleInteger</span><br/>
+<a href="section-9.37.xhtml#chapter-9-136">is?</a><span style="padding-left: 10px;">Section 9.37  Kernel</span><br/>
+<a href="section-9.37.xhtml#chapter-9-138">is?</a><span style="padding-left: 10px;">Section 9.37  Kernel</span><br/>
+<a href="section-9.3.xhtml#chapter-9-14">is?</a><span style="padding-left: 10px;">Section 9.3  BasicOperator</span><br/>
+<a href="section-5.2.xhtml#chapter-5-11">iterate</a><span style="padding-left: 10px;">Section 5.2  Blocks</span><br/>
+<a href="section-5.4.xhtml#chapter-5-37">iterate</a><span style="padding-left: 10px;">Section 5.4  Loops</span><br/>
+<a href="section-5.4.xhtml#chapter-5-46">iterate</a><span style="padding-left: 10px;">Section 5.4  Loops</span><br/>
+<a href="section-5.4.xhtml#chapter-5-48">iteration:nested</a><span style="padding-left: 10px;">Section 5.4  Loops</span><br/>
+<a href="section-5.4.xhtml#chapter-5-49">iteration:nested</a><span style="padding-left: 10px;">Section 5.4  Loops</span><br/>
+<a href="section-5.5.xhtml#chapter-5-59">iteration:nested</a><span style="padding-left: 10px;">Section 5.5  Creating Lists and Streams with Iterators</span><br/>
+<a href="section-5.4.xhtml#chapter-5-50">iteration:parallel</a><span style="padding-left: 10px;">Section 5.4  Loops</span><br/>
+<a href="section-5.5.xhtml#chapter-5-60">iteration:parallel</a><span style="padding-left: 10px;">Section 5.5  Creating Lists and Streams with Iterators</span><br/>
+<a href="section-5.4.xhtml#chapter-5-41">iteration</a><span style="padding-left: 10px;">Section 5.4  Loops</span><br/>
+<a href="section-5.5.xhtml#chapter-5-52">iteration</a><span style="padding-left: 10px;">Section 5.5  Creating Lists and Streams with Iterators</span><br/>
+<a href="section-9.36.xhtml#chapter-9-120">jacobi</a><span style="padding-left: 10px;">Section 9.36  IntegerNumberTheoryFunctions</span><br/>
+<a href="section-9.34.xhtml#chapter-9-94">jacobi</a><span style="padding-left: 10px;">Section 9.34  Integer</span><br/>
+<a href="section-9.34.xhtml#chapter-9-96">jacobi</a><span style="padding-left: 10px;">Section 9.34  Integer</span><br/>
+<a href="section-9.37.xhtml#chapter-9-122">kernel</a><span style="padding-left: 10px;">Section 9.37  Kernel</span><br/>
+<a href="section-9.37.xhtml#chapter-9-124">kernels</a><span style="padding-left: 10px;">Section 9.37  Kernel</span><br/>
+<a href="section-9.38.xhtml#chapter-9-10">keys</a><span style="padding-left: 10px;">Section 9.38  KeyedAccessFile</span><br/>
+<a href="section-9.80.xhtml#chapter-9-108">keys</a><span style="padding-left: 10px;">Section 9.80  Table</span><br/>
+<a href="section-9.38.xhtml#chapter-9-2">keys</a><span style="padding-left: 10px;">Section 9.38  KeyedAccessFile</span><br/>
+<a href="section-9.41.xhtml#chapter-9-38">keys</a><span style="padding-left: 10px;">Section 9.41  Library</span><br/>
+<a href="section-9.73.xhtml#chapter-9-46">keys</a><span style="padding-left: 10px;">Section 9.73  SparseTable</span><br/>
+<a href="section-9.80.xhtml#chapter-9-98">keys</a><span style="padding-left: 10px;">Section 9.80  Table</span><br/>
+<a href="section-8.9.xhtml#chapter-8-123">lazy evaluation</a><span style="padding-left: 10px;">Section 8.9  Working with Power Series</span><br/>
+<a href="section-9.83.xhtml#chapter-9-10">lcm</a><span style="padding-left: 10px;">Section 9.83  UnivariatePolynomial</span><br/>
+<a href="section-9.28.xhtml#chapter-9-42">lcm</a><span style="padding-left: 10px;">Section 9.28  Fraction</span><br/>
+<a href="section-9.63.xhtml#chapter-9-57">lcm</a><span style="padding-left: 10px;">Section 9.63  Polynomial</span><br/>
+<a href="section-9.34.xhtml#chapter-9-66">lcm</a><span style="padding-left: 10px;">Section 9.34  Integer</span><br/>
+<a href="section-9.60.xhtml#chapter-9-18">leader</a><span style="padding-left: 10px;">Section 9.60  OrderlyDifferentialPolynomial</span><br/>
+<a href="section-9.83.xhtml#chapter-9-0">leadingCoefficient</a><span style="padding-left: 10px;">Section 9.83  UnivariatePolynomial</span><br/>
+<a href="section-9.63.xhtml#chapter-9-79">leadingCoefficient</a><span style="padding-left: 10px;">Section 9.63  Polynomial</span><br/>
+<a href="section-9.63.xhtml#chapter-9-77">leadingMonomial</a><span style="padding-left: 10px;">Section 9.63  Polynomial</span><br/>
+<a href="section-9.45.xhtml#chapter-9-0">leftDivide</a><span style="padding-left: 10px;">Section 9.45  LinearOrdinaryDifferentialOperator1</span><br/>
+<a href="section-9.45.xhtml#chapter-9-14">leftExactQuotient</a><span style="padding-left: 10px;">Section 9.45  LinearOrdinaryDifferentialOperator1</span><br/>
+<a href="section-9.45.xhtml#chapter-9-18">leftGcd</a><span style="padding-left: 10px;">Section 9.45  LinearOrdinaryDifferentialOperator1</span><br/>
+<a href="section-9.45.xhtml#chapter-9-24">leftLcm</a><span style="padding-left: 10px;">Section 9.45  LinearOrdinaryDifferentialOperator1</span><br/>
+<a href="section-9.45.xhtml#chapter-9-10">leftQuotient</a><span style="padding-left: 10px;">Section 9.45  LinearOrdinaryDifferentialOperator1</span><br/>
+<a href="section-9.45.xhtml#chapter-9-12">leftRemainder</a><span style="padding-left: 10px;">Section 9.45  LinearOrdinaryDifferentialOperator1</span><br/>
+<a href="section-9.77.xhtml#chapter-9-62">leftTrim</a><span style="padding-left: 10px;">Section 9.77  String</span><br/>
+<a href="section-9.36.xhtml#chapter-9-118">legendre</a><span style="padding-left: 10px;">Section 9.36  IntegerNumberTheoryFunctions</span><br/>
+<a href="section-9.34.xhtml#chapter-9-92">legendre</a><span style="padding-left: 10px;">Section 9.34  Integer</span><br/>
+<a href="section-9.39.xhtml#chapter-9-12">lexTriangular</a><span style="padding-left: 10px;">Section 9.39  LexTriangularPackage</span><br/>
+<a href="section-9.39.xhtml#chapter-9-18">lexTriangular</a><span style="padding-left: 10px;">Section 9.39  LexTriangularPackage</span><br/>
+<a href="section-9.39.xhtml#chapter-9-24">lexTriangular</a><span style="padding-left: 10px;">Section 9.39  LexTriangularPackage</span><br/>
+<a href="section-9.19.xhtml#chapter-9-16">lhs</a><span style="padding-left: 10px;">Section 9.19  Equation</span><br/>
+<a href="section-16.14.xhtml#chapter-16-101">library</a><span style="padding-left: 10px;">Section 16.14  )library</span><br/>
+<a href="section-8.6.xhtml#chapter-8-90">limit:at infinity</a><span style="padding-left: 10px;">Section 8.6  Limits</span><br/>
+<a href="section-1.9.xhtml#chapter-1-69">limit:of function with parameters</a><span style="padding-left: 10px;">Section 1.9  Limits</span><br/>
+<a href="section-8.6.xhtml#chapter-8-91">limit:of function with parameters</a><span style="padding-left: 10px;">Section 8.6  Limits</span><br/>
+<a href="section-8.6.xhtml#chapter-8-89">limit:one-sided vs. two-sided</a><span style="padding-left: 10px;">Section 8.6  Limits</span><br/>
+<a href="section-8.6.xhtml#chapter-8-92">limit:real vs. complex</a><span style="padding-left: 10px;">Section 8.6  Limits</span><br/>
+<a href="section-1.9.xhtml#chapter-1-68">limit</a><span style="padding-left: 10px;">Section 1.9  Limits</span><br/>
+<a href="section-8.6.xhtml#chapter-8-88">limit</a><span style="padding-left: 10px;">Section 8.6  Limits</span><br/>
+<a href="section-8.5.xhtml#chapter-8-78">linear equation</a><span style="padding-left: 10px;">Section 8.5  Solution of Linear and Polynomial Equations</span><br/>
+<a href="section-16.15.xhtml#chapter-16-107">lisp</a><span style="padding-left: 10px;">Section 16.15  )lisp</span><br/>
+<a href="section-5.5.xhtml#chapter-5-53">list:created by iterator</a><span style="padding-left: 10px;">Section 5.5  Creating Lists and Streams with Iterators</span><br/>
+<a href="section-1.5.xhtml#chapter-1-44">list:cyclic</a><span style="padding-left: 10px;">Section 1.5  Data Structures</span><br/>
+<a href="section-9.47.xhtml#chapter-9-28">list</a><span style="padding-left: 10px;">Section 9.47  List</span><br/>
+<a href="section-9.47.xhtml#chapter-9-29">list</a><span style="padding-left: 10px;">Section 9.47  List</span><br/>
+<a href="section-9.69.xhtml#chapter-9-0">lo</a><span style="padding-left: 10px;">Section 9.69  Segment</span><br/>
+<a href="section-13.13.xhtml#chapter-13-26">load</a><span style="padding-left: 10px;">Section 13.13  Example 2: Building A Query Facility</span><br/>
+<a href="section-16.16.xhtml#chapter-16-112">load</a><span style="padding-left: 10px;">Section 16.16  )load</span><br/>
+<a href="section-6.16.xhtml#chapter-6-50">local variable</a><span style="padding-left: 10px;">Section 6.16  Free and Local Variables</span><br/>
+<a href="section-8.11.xhtml#chapter-8-171">logarithm:discrete</a><span style="padding-left: 10px;">Section 8.11  Finite Fields</span><br/>
+<a href="section-8.11.xhtml#chapter-8-178">logarithm:discrete</a><span style="padding-left: 10px;">Section 8.11  Finite Fields</span><br/>
+<a href="section-5.4.xhtml#chapter-5-26">loop:body</a><span style="padding-left: 10px;">Section 5.4  Loops</span><br/>
+<a href="section-5.4.xhtml#chapter-5-27">loop:compilation</a><span style="padding-left: 10px;">Section 5.4  Loops</span><br/>
+<a href="section-5.4.xhtml#chapter-5-32">loop:leaving via break</a><span style="padding-left: 10px;">Section 5.4  Loops</span><br/>
+<a href="section-5.4.xhtml#chapter-5-29">loop:leaving via return</a><span style="padding-left: 10px;">Section 5.4  Loops</span><br/>
+<a href="section-5.4.xhtml#chapter-5-51">loop:mixing modifiers</a><span style="padding-left: 10px;">Section 5.4  Loops</span><br/>
+<a href="section-5.4.xhtml#chapter-5-33">loop:nested</a><span style="padding-left: 10px;">Section 5.4  Loops</span><br/>
+<a href="section-5.4.xhtml#chapter-5-25">loop</a><span style="padding-left: 10px;">Section 5.4  Loops</span><br/>
+<a href="section-9.77.xhtml#chapter-9-72">lowerCase!</a><span style="padding-left: 10px;">Section 9.77  String</span><br/>
+<a href="section-9.8.xhtml#chapter-9-49">lowerCase</a><span style="padding-left: 10px;">Section 9.8  Character</span><br/>
+<a href="section-9.77.xhtml#chapter-9-70">lowerCase</a><span style="padding-left: 10px;">Section 9.77  String</span><br/>
+<a href="section-16.17.xhtml#chapter-16-116">ltrace</a><span style="padding-left: 10px;">Section 16.17  )trace</span><br/>
+<a href="section-6.10.xhtml#chapter-6-20">machine code</a><span style="padding-left: 10px;">Section 6.10  Compiling vs. Interpreting</span><br/>
+<a href="section-1.3.xhtml#chapter-1-20">macro:predefined</a><span style="padding-left: 10px;">Section 1.3  The Axiom Language</span><br/>
+<a href="section-6.1.xhtml#chapter-6-1">macro:vs. function</a><span style="padding-left: 10px;">Section 6.1  Functions vs. Macros</span><br/>
+<a href="section-11.1.xhtml#chapter-11-6">macro</a><span style="padding-left: 10px;">Section 11.1  Names, Abbreviations, and File Structure</span><br/>
+<a href="section-6.2.xhtml#chapter-6-7">macro</a><span style="padding-left: 10px;">Section 6.2  Macros</span><br/>
+<a href="section-9.63.xhtml#chapter-9-63">mainVariable</a><span style="padding-left: 10px;">Section 9.63  Polynomial</span><br/>
+<a href="section-9.22.xhtml#chapter-9-46">makeFR</a><span style="padding-left: 10px;">Section 9.22  Factored</span><br/>
+<a href="section-7.1.xhtml#chapter-7-105">makeGraphImage</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-9.60.xhtml#chapter-9-0">makeVariable</a><span style="padding-left: 10px;">Section 9.60  OrderlyDifferentialPolynomial</span><br/>
+<a href="section-9.60.xhtml#chapter-9-4">makeVariable</a><span style="padding-left: 10px;">Section 9.60  OrderlyDifferentialPolynomial</span><br/>
+<a href="section-7.1.xhtml#chapter-7-107">makeViewport2D</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-150">makeViewport3D</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-157">makeViewport3D</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-15.3.xhtml#chapter-15-6">manpageXXintro</a><span style="padding-left: 10px;">Section 15.3  The NAG Library Link</span><br/>
+<a href="section-15.3.xhtml#chapter-15-7">manpageXXonline</a><span style="padding-left: 10px;">Section 15.3  The NAG Library Link</span><br/>
+<a href="section-2.9.xhtml#chapter-2-55">map</a><span style="padding-left: 10px;">Section 2.9  Package Calling and Target Types</span><br/>
+<a href="section-9.82.xhtml#chapter-9-142">map</a><span style="padding-left: 10px;">Section 9.82  TwoDimensionalArray</span><br/>
+<a href="section-9.82.xhtml#chapter-9-144">map</a><span style="padding-left: 10px;">Section 9.82  TwoDimensionalArray</span><br/>
+<a href="section-9.82.xhtml#chapter-9-146">map</a><span style="padding-left: 10px;">Section 9.82  TwoDimensionalArray</span><br/>
+<a href="section-9.22.xhtml#chapter-9-40">map</a><span style="padding-left: 10px;">Section 9.22  Factored</span><br/>
+<a href="section-9.22.xhtml#chapter-9-42">map</a><span style="padding-left: 10px;">Section 9.22  Factored</span><br/>
+<a href="section-9.28.xhtml#chapter-9-44">map</a><span style="padding-left: 10px;">Section 9.28  Fraction</span><br/>
+<a href="section-9.23.xhtml#chapter-9-50">map</a><span style="padding-left: 10px;">Section 9.23  FactoredFunctions2</span><br/>
+<a href="section-9.23.xhtml#chapter-9-52">map</a><span style="padding-left: 10px;">Section 9.23  FactoredFunctions2</span><br/>
+<a href="section-9.23.xhtml#chapter-9-54">map</a><span style="padding-left: 10px;">Section 9.23  FactoredFunctions2</span><br/>
+<a href="section-9.23.xhtml#chapter-9-56">map</a><span style="padding-left: 10px;">Section 9.23  FactoredFunctions2</span><br/>
+<a href="section-9.23.xhtml#chapter-9-58">map</a><span style="padding-left: 10px;">Section 9.23  FactoredFunctions2</span><br/>
+<a href="section-1.6.xhtml#chapter-1-60">matrix:Hilbert</a><span style="padding-left: 10px;">Section 1.6  Expanding to Higher Dimensions</span><br/>
+<a href="section-1.6.xhtml#chapter-1-59">matrix:creating</a><span style="padding-left: 10px;">Section 1.6  Expanding to Higher Dimensions</span><br/>
+<a href="section-8.4.xhtml#chapter-8-75">matrix:symmetric</a><span style="padding-left: 10px;">Section 8.4  Computation of Eigenvalues and Eigenvectors</span><br/>
+<a href="section-1.6.xhtml#chapter-1-57">matrix</a><span style="padding-left: 10px;">Section 1.6  Expanding to Higher Dimensions</span><br/>
+<a href="section-13.6.xhtml#chapter-13-6">matrix</a><span style="padding-left: 10px;">Section 13.6  Representation</span><br/>
+<a href="section-9.52.xhtml#chapter-9-80">matrix</a><span style="padding-left: 10px;">Section 9.52  Matrix</span><br/>
+<a href="section-9.72.xhtml#chapter-9-26">max</a><span style="padding-left: 10px;">Section 9.72  SingleInteger</span><br/>
+<a href="section-9.28.xhtml#chapter-9-28">max</a><span style="padding-left: 10px;">Section 9.28  Fraction</span><br/>
+<a href="section-9.34.xhtml#chapter-9-68">max</a><span style="padding-left: 10px;">Section 9.34  Integer</span><br/>
+<a href="section-9.82.xhtml#chapter-9-150">member?</a><span style="padding-left: 10px;">Section 9.82  TwoDimensionalArray</span><br/>
+<a href="section-9.71.xhtml#chapter-9-20">member?</a><span style="padding-left: 10px;">Section 9.71  Set</span><br/>
+<a href="section-9.47.xhtml#chapter-9-52">member?</a><span style="padding-left: 10px;">Section 9.47  List</span><br/>
+<a href="section-9.80.xhtml#chapter-9-110">members</a><span style="padding-left: 10px;">Section 9.80  Table</span><br/>
+<a href="section-13.13.xhtml#chapter-13-17">merge</a><span style="padding-left: 10px;">Section 13.13  Example 2: Building A Query Facility</span><br/>
+<a href="section-9.72.xhtml#chapter-9-24">min</a><span style="padding-left: 10px;">Section 9.72  SingleInteger</span><br/>
+<a href="section-9.28.xhtml#chapter-9-30">min</a><span style="padding-left: 10px;">Section 9.28  Fraction</span><br/>
+<a href="section-9.34.xhtml#chapter-9-70">min</a><span style="padding-left: 10px;">Section 9.34  Integer</span><br/>
+<a href="section-8.11.xhtml#chapter-8-189">minimal polynomial</a><span style="padding-left: 10px;">Section 8.11  Finite Fields</span><br/>
+<a href="section-8.4.xhtml#chapter-8-71">minimal polynomial</a><span style="padding-left: 10px;">Section 8.4  Computation of Eigenvalues and Eigenvectors</span><br/>
+<a href="section-9.63.xhtml#chapter-9-71">minimumDegree</a><span style="padding-left: 10px;">Section 9.63  Polynomial</span><br/>
+<a href="section-11.10.xhtml#chapter-11-23">modemap</a><span style="padding-left: 10px;">Section 11.10  How Packages Work</span><br/>
+<a href="section-8.11.xhtml#chapter-8-166">modular arithmetic</a><span style="padding-left: 10px;">Section 8.11  Finite Fields</span><br/>
+<a href="section-9.34.xhtml#chapter-9-100">moebiusMu</a><span style="padding-left: 10px;">Section 9.34  Integer</span><br/>
+<a href="section-9.36.xhtml#chapter-9-114">moebiusMu</a><span style="padding-left: 10px;">Section 9.36  IntegerNumberTheoryFunctions</span><br/>
+<a href="section-9.63.xhtml#chapter-9-87">monicDivide</a><span style="padding-left: 10px;">Section 9.63  Polynomial</span><br/>
+<a href="section-4.4.xhtml#chapter-4-26">monospace 2D output format</a><span style="padding-left: 10px;">Section 4.4  Monospace Two-Dimensional Mathematical Format</span><br/>
+<a href="section-9.72.xhtml#chapter-9-28">mulmod</a><span style="padding-left: 10px;">Section 9.72  SingleInteger</span><br/>
+<a href="section-5.1.xhtml#chapter-5-8">multiple immediate assignment</a><span style="padding-left: 10px;">Section 5.1  Immediate and Delayed Assignments</span><br/>
+<a href="section-9.53.xhtml#chapter-9-124">multiset</a><span style="padding-left: 10px;">Section 9.53  MultiSet</span><br/>
+<a href="section-9.47.xhtml#chapter-9-45">mutable</a><span style="padding-left: 10px;">Section 9.47  List</span><br/>
+<a href="section-15.3.xhtml#chapter-15-5">nagDocumentation</a><span style="padding-left: 10px;">Section 15.3  The NAG Library Link</span><br/>
+<a href="section-15.3.xhtml#chapter-15-2">nagLinkIntro</a><span style="padding-left: 10px;">Section 15.3  The NAG Library Link</span><br/>
+<a href="section-15.3.xhtml#chapter-15-9">nagLinkUsage</a><span style="padding-left: 10px;">Section 15.3  The NAG Library Link</span><br/>
+<a href="section-15.3.xhtml#chapter-15-32">nagTechnical</a><span style="padding-left: 10px;">Section 15.3  The NAG Library Link</span><br/>
+<a href="section-9.3.xhtml#chapter-9-12">name</a><span style="padding-left: 10px;">Section 9.3  BasicOperator</span><br/>
+<a href="section-9.37.xhtml#chapter-9-130">name</a><span style="padding-left: 10px;">Section 9.37  Kernel</span><br/>
+<a href="section-9.37.xhtml#chapter-9-132">name</a><span style="padding-left: 10px;">Section 9.37  Kernel</span><br/>
+<a href="section-9.79.xhtml#chapter-9-86">name</a><span style="padding-left: 10px;">Section 9.79  Symbol</span><br/>
+<a href="section-9.52.xhtml#chapter-9-104">ncols</a><span style="padding-left: 10px;">Section 9.52  Matrix</span><br/>
+<a href="section-9.82.xhtml#chapter-9-140">ncols</a><span style="padding-left: 10px;">Section 9.82  TwoDimensionalArray</span><br/>
+<a href="section-9.28.xhtml#chapter-9-32">negative?</a><span style="padding-left: 10px;">Section 9.28  Fraction</span><br/>
+<a href="section-14.2.xhtml#chapter-14-5">new</a><span style="padding-left: 10px;">Section 14.2  The Constructor Page</span><br/>
+<a href="section-9.82.xhtml#chapter-9-120">new</a><span style="padding-left: 10px;">Section 9.82  TwoDimensionalArray</span><br/>
+<a href="section-9.85.xhtml#chapter-9-36">new</a><span style="padding-left: 10px;">Section 9.85  Vector</span><br/>
+<a href="section-9.77.xhtml#chapter-9-54">new</a><span style="padding-left: 10px;">Section 9.77  String</span><br/>
+<a href="section-9.52.xhtml#chapter-9-76">new</a><span style="padding-left: 10px;">Section 9.52  Matrix</span><br/>
+<a href="section-9.25.xhtml#chapter-9-78">new</a><span style="padding-left: 10px;">Section 9.25  FileName</span><br/>
+<a href="section-9.79.xhtml#chapter-9-82">new</a><span style="padding-left: 10px;">Section 9.79  Symbol</span><br/>
+<a href="section-8.11.xhtml#chapter-8-200">nextIrreduciblePoly</a><span style="padding-left: 10px;">Section 8.11  Finite Fields</span><br/>
+<a href="section-8.11.xhtml#chapter-8-206">nextNormalPoly</a><span style="padding-left: 10px;">Section 8.11  Finite Fields</span><br/>
+<a href="section-5.6.xhtml#chapter-5-63">nextPrime</a><span style="padding-left: 10px;">Section 5.6  An Example: Streams of Primes</span><br/>
+<a href="section-9.34.xhtml#chapter-9-84">nextPrime</a><span style="padding-left: 10px;">Section 9.34  Integer</span><br/>
+<a href="section-8.11.xhtml#chapter-8-204">nextPrimitivePoly</a><span style="padding-left: 10px;">Section 8.11  Finite Fields</span><br/>
+<a href="section-9.47.xhtml#chapter-9-37">nil</a><span style="padding-left: 10px;">Section 9.47  List</span><br/>
+<a href="section-8.14.xhtml#chapter-8-229">non-associative algebra</a><span style="padding-left: 10px;">Section 8.14  Non-Associative Algebras and Modelling Genetic Laws</span><br/>
+<a href="section-7.1.xhtml#chapter-7-12">non-singular curve</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-9.56.xhtml#chapter-9-126">norm</a><span style="padding-left: 10px;">Section 9.56  Octonion</span><br/>
+<a href="section-9.11.xhtml#chapter-9-57">norm</a><span style="padding-left: 10px;">Section 9.11  Complex</span><br/>
+<a href="section-8.11.xhtml#chapter-8-187">normal basis</a><span style="padding-left: 10px;">Section 8.11  Finite Fields</span><br/>
+<a href="section-9.52.xhtml#chapter-9-102">nrows</a><span style="padding-left: 10px;">Section 9.52  Matrix</span><br/>
+<a href="section-9.82.xhtml#chapter-9-138">nrows</a><span style="padding-left: 10px;">Section 9.82  TwoDimensionalArray</span><br/>
+<a href="section-8.13.xhtml#chapter-8-216">nthFactor</a><span style="padding-left: 10px;">Section 8.13  Computation of Galois Groups</span><br/>
+<a href="section-9.61.xhtml#chapter-9-36">nthFractionalTerm</a><span style="padding-left: 10px;">Section 9.61  PartialFraction</span><br/>
+<a href="section-9.52.xhtml#chapter-9-120">nullSpace</a><span style="padding-left: 10px;">Section 9.52  Matrix</span><br/>
+<a href="section-9.52.xhtml#chapter-9-118">nullity</a><span style="padding-left: 10px;">Section 9.52  Matrix</span><br/>
+<a href="section-8.5.xhtml#chapter-8-80">nullspace</a><span style="padding-left: 10px;">Section 8.5  Solution of Linear and Polynomial Equations</span><br/>
+<a href="section-8.1.xhtml#chapter-8-38">number theory</a><span style="padding-left: 10px;">Section 8.1  Numeric Functions</span><br/>
+<a href="section-8.2.xhtml#chapter-8-59">number:algebraic</a><span style="padding-left: 10px;">Section 8.2  Polynomial Factorization</span><br/>
+<a href="section-8.3.xhtml#chapter-8-63">number:algebraic</a><span style="padding-left: 10px;">Section 8.3  Manipulating Symbolic Roots of a Polynomial</span><br/>
+<a href="section-8.1.xhtml#chapter-8-6">number:complex floating-point</a><span style="padding-left: 10px;">Section 8.1  Numeric Functions</span><br/>
+<a href="section-8.1.xhtml#chapter-8-3">number:floating-point</a><span style="padding-left: 10px;">Section 8.1  Numeric Functions</span><br/>
+<a href="section-9.36.xhtml#chapter-9-106">numberOfDivisors</a><span style="padding-left: 10px;">Section 9.36  IntegerNumberTheoryFunctions</span><br/>
+<a href="section-9.61.xhtml#chapter-9-32">numberOfFractionalTerms</a><span style="padding-left: 10px;">Section 9.61  PartialFraction</span><br/>
+<a href="section-7.1.xhtml#chapter-7-38">numberOfHues()</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-9.21.xhtml#chapter-9-20">numer</a><span style="padding-left: 10px;">Section 9.21  Expression</span><br/>
+<a href="section-9.28.xhtml#chapter-9-24">numer</a><span style="padding-left: 10px;">Section 9.28  Fraction</span><br/>
+<a href="section-8.1.xhtml#chapter-8-1">numeric operations</a><span style="padding-left: 10px;">Section 8.1  Numeric Functions</span><br/>
+<a href="section-0.2.xhtml#chapter-0-7">odd?</a><span style="padding-left: 10px;">Section 0.2  A Technical Introduction</span><br/>
+<a href="section-9.34.xhtml#chapter-9-60">odd?</a><span style="padding-left: 10px;">Section 9.34  Integer</span><br/>
+<a href="section-9.22.xhtml#chapter-9-38">one?</a><span style="padding-left: 10px;">Section 9.22  Factored</span><br/>
+<a href="section-9.24.xhtml#chapter-9-60">open</a><span style="padding-left: 10px;">Section 9.24  File</span><br/>
+<a href="section-9.24.xhtml#chapter-9-62">open</a><span style="padding-left: 10px;">Section 9.24  File</span><br/>
+<a href="section-1.1.xhtml#chapter-1-11">operation name completion</a><span style="padding-left: 10px;">Section 1.1  Starting Up and Winding Down</span><br/>
+<a href="section-13.10.xhtml#chapter-13-12">operation:origin</a><span style="padding-left: 10px;">Section 13.10  Origins</span><br/>
+<a href="section-1.11.xhtml#chapter-1-78">operator</a><span style="padding-left: 10px;">Section 1.11  Derivatives</span><br/>
+<a href="section-6.21.xhtml#chapter-6-78">operator</a><span style="padding-left: 10px;">Section 6.21  Rules and Pattern Matching</span><br/>
+<a href="section-8.10.xhtml#chapter-8-156">operator</a><span style="padding-left: 10px;">Section 8.10  Solution of Differential Equations</span><br/>
+<a href="section-9.37.xhtml#chapter-9-128">operator</a><span style="padding-left: 10px;">Section 9.37  Kernel</span><br/>
+<a href="section-9.37.xhtml#chapter-9-134">operator</a><span style="padding-left: 10px;">Section 9.37  Kernel</span><br/>
+<a href="section-9.3.xhtml#chapter-9-6">operator</a><span style="padding-left: 10px;">Section 9.3  BasicOperator</span><br/>
+<a href="section-9.3.xhtml#chapter-9-8">operator</a><span style="padding-left: 10px;">Section 9.3  BasicOperator</span><br/>
+<a href="section-9.8.xhtml#chapter-9-47">ord</a><span style="padding-left: 10px;">Section 9.8  Character</span><br/>
+<a href="section-9.60.xhtml#chapter-9-6">order</a><span style="padding-left: 10px;">Section 9.60  OrderlyDifferentialPolynomial</span><br/>
+<a href="section-8.4.xhtml#chapter-8-77">orthonormal basis</a><span style="padding-left: 10px;">Section 8.4  Computation of Eigenvalues and Eigenvectors</span><br/>
+<a href="section-4.7.xhtml#chapter-4-35">output formats:FORTRAN</a><span style="padding-left: 10px;">Section 4.7  FORTRAN Format</span><br/>
+<a href="section-4.6.xhtml#chapter-4-32">output formats:IBM Script Formula Format</a><span style="padding-left: 10px;">Section 4.6  IBM Script Formula Format</span><br/>
+<a href="section-4.5.xhtml#chapter-4-29">output formats:TeX @{<span class="texlogo">TeX</span>}</a><span style="padding-left: 10px;">Section 4.5  TeX Format</span><br/>
+<a href="section-4.3.xhtml#chapter-4-13">output formats:common features</a><span style="padding-left: 10px;">Section 4.3  Common Features of Using Output Formats</span><br/>
+<a href="section-4.3.xhtml#chapter-4-22">output formats:line length</a><span style="padding-left: 10px;">Section 4.3  Common Features of Using Output Formats</span><br/>
+<a href="section-4.4.xhtml#chapter-4-25">output formats:monospace 2D</a><span style="padding-left: 10px;">Section 4.4  Monospace Two-Dimensional Mathematical Format</span><br/>
+<a href="section-4.3.xhtml#chapter-4-19">output formats:sending to file</a><span style="padding-left: 10px;">Section 4.3  Common Features of Using Output Formats</span><br/>
+<a href="section-4.3.xhtml#chapter-4-21">output formats:sending to screen</a><span style="padding-left: 10px;">Section 4.3  Common Features of Using Output Formats</span><br/>
+<a href="section-4.3.xhtml#chapter-4-15">output formats:starting</a><span style="padding-left: 10px;">Section 4.3  Common Features of Using Output Formats</span><br/>
+<a href="section-4.3.xhtml#chapter-4-16">output formats:stopping</a><span style="padding-left: 10px;">Section 4.3  Common Features of Using Output Formats</span><br/>
+<a href="section-5.4.xhtml#chapter-5-34">output</a><span style="padding-left: 10px;">Section 5.4  Loops</span><br/>
+<a href="section-6.19.xhtml#chapter-6-62">output</a><span style="padding-left: 10px;">Section 6.19  Example: A Famous Triangle</span><br/>
+<a href="section-9.27.xhtml#chapter-9-18">outputFixed</a><span style="padding-left: 10px;">Section 9.27  Float</span><br/>
+<a href="section-9.27.xhtml#chapter-9-16">outputFloating</a><span style="padding-left: 10px;">Section 9.27  Float</span><br/>
+<a href="section-9.27.xhtml#chapter-9-14">outputSpacing</a><span style="padding-left: 10px;">Section 9.27  Float</span><br/>
+<a href="section-9.63.xhtml#chapter-9-54">overloading</a><span style="padding-left: 10px;">Section 9.63  Polynomial</span><br/>
+<a href="section-11.0.xhtml#chapter-11-2">package:constructor</a><span style="padding-left: 10px;">Section 11.0 Packages</span><br/>
+<a href="section-11.5.xhtml#chapter-11-13">package:vs. input file</a><span style="padding-left: 10px;">Section 11.5  Input Files vs. Packages</span><br/>
+<a href="section-0.2.xhtml#chapter-0-13">package</a><span style="padding-left: 10px;">Section 0.2  A Technical Introduction</span><br/>
+<a href="section-11.0.xhtml#chapter-11-0">package</a><span style="padding-left: 10px;">Section 11.0 Packages</span><br/>
+<a href="section-2.1.xhtml#chapter-2-13">package</a><span style="padding-left: 10px;">Section 2.1  The Basic Idea</span><br/>
+<a href="section-9.61.xhtml#chapter-9-28">padicFraction</a><span style="padding-left: 10px;">Section 9.61  PartialFraction</span><br/>
+<a href="section-6.20.xhtml#chapter-6-68">palindrome</a><span style="padding-left: 10px;">Section 6.20  Example: Testing for Palindromes</span><br/>
+<a href="section-5.4.xhtml#chapter-5-28">panic:avoiding</a><span style="padding-left: 10px;">Section 5.4  Loops</span><br/>
+<a href="section-6.10.xhtml#chapter-6-18">panic:avoiding</a><span style="padding-left: 10px;">Section 6.10  Compiling vs. Interpreting</span><br/>
+<a href="section-7.2.xhtml#chapter-7-128">parabolic cylindrical coordinate system</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-6.1.xhtml#chapter-6-5">parameters to a function</a><span style="padding-left: 10px;">Section 6.1  Functions vs. Macros</span><br/>
+<a href="section-7.1.xhtml#chapter-7-5">parametric plane curve</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-124">parametric space curve</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-126">parametric surface</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-2.2.xhtml#chapter-2-16">parentheses:using with types</a><span style="padding-left: 10px;">Section 2.2  Writing Types and Modes</span><br/>
+<a href="section-2.2.xhtml#chapter-2-18">parentheses:using with types</a><span style="padding-left: 10px;">Section 2.2  Writing Types and Modes</span><br/>
+<a href="section-2.2.xhtml#chapter-2-20">parentheses:using with types</a><span style="padding-left: 10px;">Section 2.2  Writing Types and Modes</span><br/>
+<a href="section-8.14.xhtml#chapter-8-228">partial differential equation</a><span style="padding-left: 10px;">Section 8.14  Non-Associative Algebras and Modelling Genetic Laws</span><br/>
+<a href="section-1.4.xhtml#chapter-1-35">partial fraction</a><span style="padding-left: 10px;">Section 1.4  Numbers</span><br/>
+<a href="section-9.61.xhtml#chapter-9-24">partialFraction</a><span style="padding-left: 10px;">Section 9.61  PartialFraction</span><br/>
+<a href="section-9.61.xhtml#chapter-9-26">partialFraction</a><span style="padding-left: 10px;">Section 9.61  PartialFraction</span><br/>
+<a href="section-9.12.xhtml#chapter-9-67">partialQuotients</a><span style="padding-left: 10px;">Section 9.12  ContinuedFraction</span><br/>
+<a href="section-1.7.xhtml#chapter-1-66">pattern matching</a><span style="padding-left: 10px;">Section 1.7  Writing Your Own Functions</span><br/>
+<a href="section-6.21.xhtml#chapter-6-79">pattern:matching:caveats</a><span style="padding-left: 10px;">Section 6.21  Rules and Pattern Matching</span><br/>
+<a href="section-6.21.xhtml#chapter-6-71">pattern:matching</a><span style="padding-left: 10px;">Section 6.21  Rules and Pattern Matching</span><br/>
+<a href="section-6.21.xhtml#chapter-6-77">pattern:variable:matching several terms</a><span style="padding-left: 10px;">Section 6.21  Rules and Pattern Matching</span><br/>
+<a href="section-6.21.xhtml#chapter-6-74">pattern:variable:predicate</a><span style="padding-left: 10px;">Section 6.21  Rules and Pattern Matching</span><br/>
+<a href="section-6.21.xhtml#chapter-6-70">pattern:variables</a><span style="padding-left: 10px;">Section 6.21  Rules and Pattern Matching</span><br/>
+<a href="section-1.3.xhtml#chapter-1-13">percentpercent@{%%}</a><span style="padding-left: 10px;">Section 1.3  The Axiom Language</span><br/>
+<a href="section-6.10.xhtml#chapter-6-22">performance</a><span style="padding-left: 10px;">Section 6.10  Compiling vs. Interpreting</span><br/>
+<a href="section-2.8.xhtml#chapter-2-51">peril</a><span style="padding-left: 10px;">Section 2.8  Subdomains Again</span><br/>
+<a href="section-9.62.xhtml#chapter-9-44">permanent</a><span style="padding-left: 10px;">Section 9.62  Permanent</span><br/>
+<a href="section-9.62.xhtml#chapter-9-46">permanent</a><span style="padding-left: 10px;">Section 9.62  Permanent</span><br/>
+<a href="section-9.62.xhtml#chapter-9-50">permanent</a><span style="padding-left: 10px;">Section 9.62  Permanent</span><br/>
+<a href="section-7.2.xhtml#chapter-7-230">perspective</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-1.3.xhtml#chapter-1-24">pi@{<math xmlns="&mathml;" mathsize="big"><mstyle><mi>&#x03C0;</mi></mstyle></math> (= %pi)}</a><span style="padding-left: 10px;">Section 1.3  The Axiom Language</span><br/>
+<a href="section-1.7.xhtml#chapter-1-63">piece-wise function definition</a><span style="padding-left: 10px;">Section 1.7  Writing Your Own Functions</span><br/>
+<a href="section-6.11.xhtml#chapter-6-24">piece-wise function definition</a><span style="padding-left: 10px;">Section 6.11  Piece-Wise Function Definitions</span><br/>
+<a href="section-7.1.xhtml#chapter-7-8">plane algebraic curve</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-8.1.xhtml#chapter-8-45">polynomial:Bernouilli</a><span style="padding-left: 10px;">Section 8.1  Numeric Functions</span><br/>
+<a href="section-8.9.xhtml#chapter-8-132">polynomial:Bernoulli</a><span style="padding-left: 10px;">Section 8.9  Working with Power Series</span><br/>
+<a href="section-8.9.xhtml#chapter-8-148">polynomial:Bernoulli</a><span style="padding-left: 10px;">Section 8.9  Working with Power Series</span><br/>
+<a href="section-8.1.xhtml#chapter-8-40">polynomial:Bernoulli</a><span style="padding-left: 10px;">Section 8.1  Numeric Functions</span><br/>
+<a href="section-8.1.xhtml#chapter-8-33">polynomial:Chebyshev:of the first kind</a><span style="padding-left: 10px;">Section 8.1  Numeric Functions</span><br/>
+<a href="section-8.1.xhtml#chapter-8-34">polynomial:Chebyshev:of the second kind</a><span style="padding-left: 10px;">Section 8.1  Numeric Functions</span><br/>
+<a href="section-8.1.xhtml#chapter-8-42">polynomial:Euler</a><span style="padding-left: 10px;">Section 8.1  Numeric Functions</span><br/>
+<a href="section-8.1.xhtml#chapter-8-46">polynomial:Euler</a><span style="padding-left: 10px;">Section 8.1  Numeric Functions</span><br/>
+<a href="section-8.1.xhtml#chapter-8-35">polynomial:Hermite</a><span style="padding-left: 10px;">Section 8.1  Numeric Functions</span><br/>
+<a href="section-8.1.xhtml#chapter-8-36">polynomial:Laguerre</a><span style="padding-left: 10px;">Section 8.1  Numeric Functions</span><br/>
+<a href="section-8.1.xhtml#chapter-8-37">polynomial:Legendre</a><span style="padding-left: 10px;">Section 8.1  Numeric Functions</span><br/>
+<a href="section-8.1.xhtml#chapter-8-47">polynomial:cyclotomic</a><span style="padding-left: 10px;">Section 8.1  Numeric Functions</span><br/>
+<a href="section-8.2.xhtml#chapter-8-57">polynomial:factorization:algebraic extension field coefficients</a><span style="padding-left: 10px;">Section 8.2  Polynomial Factorization</span><br/>
+<a href="section-8.2.xhtml#chapter-8-55">polynomial:factorization:finite field coefficients</a><span style="padding-left: 10px;">Section 8.2  Polynomial Factorization</span><br/>
+<a href="section-8.2.xhtml#chapter-8-53">polynomial:factorization:integer coefficients</a><span style="padding-left: 10px;">Section 8.2  Polynomial Factorization</span><br/>
+<a href="section-8.2.xhtml#chapter-8-54">polynomial:factorization:rational number coefficients</a><span style="padding-left: 10px;">Section 8.2  Polynomial Factorization</span><br/>
+<a href="section-8.2.xhtml#chapter-8-51">polynomial:factorization</a><span style="padding-left: 10px;">Section 8.2  Polynomial Factorization</span><br/>
+<a href="section-8.11.xhtml#chapter-8-193">polynomial:irreducible</a><span style="padding-left: 10px;">Section 8.11  Finite Fields</span><br/>
+<a href="section-8.11.xhtml#chapter-8-188">polynomial:minimal</a><span style="padding-left: 10px;">Section 8.11  Finite Fields</span><br/>
+<a href="section-8.4.xhtml#chapter-8-70">polynomial:minimal</a><span style="padding-left: 10px;">Section 8.4  Computation of Eigenvalues and Eigenvectors</span><br/>
+<a href="section-8.11.xhtml#chapter-8-192">polynomial:normal</a><span style="padding-left: 10px;">Section 8.11  Finite Fields</span><br/>
+<a href="section-8.11.xhtml#chapter-8-191">polynomial:primitive</a><span style="padding-left: 10px;">Section 8.11  Finite Fields</span><br/>
+<a href="section-8.5.xhtml#chapter-8-81">polynomial:root finding</a><span style="padding-left: 10px;">Section 8.5  Solution of Linear and Polynomial Equations</span><br/>
+<a href="section-8.11.xhtml#chapter-8-208">polynomial:root of</a><span style="padding-left: 10px;">Section 8.11  Finite Fields</span><br/>
+<a href="section-1.8.xhtml#chapter-1-67">polynomial</a><span style="padding-left: 10px;">Section 1.8  Polynomials</span><br/>
+<a href="section-9.77.xhtml#chapter-9-80">position</a><span style="padding-left: 10px;">Section 9.77  String</span><br/>
+<a href="section-9.28.xhtml#chapter-9-34">positive?</a><span style="padding-left: 10px;">Section 9.28  Fraction</span><br/>
+<a href="section-9.72.xhtml#chapter-9-36">positiveRemainder</a><span style="padding-left: 10px;">Section 9.72  SingleInteger</span><br/>
+<a href="section-9.91.xhtml#chapter-9-62">positiveSolve</a><span style="padding-left: 10px;">Section 9.91  ZeroDimensionalSolvePackage</span><br/>
+<a href="section-9.91.xhtml#chapter-9-72">positiveSolve</a><span style="padding-left: 10px;">Section 9.91  ZeroDimensionalSolvePackage</span><br/>
+<a href="section-8.9.xhtml#chapter-8-116">power series</a><span style="padding-left: 10px;">Section 8.9  Working with Power Series</span><br/>
+<a href="section-8.10.xhtml#chapter-8-158">power series</a><span style="padding-left: 10px;">Section 8.10  Solution of Differential Equations</span><br/>
+<a href="section-16.18.xhtml#chapter-16-121">pquit</a><span style="padding-left: 10px;">Section 16.18  )pquit</span><br/>
+<a href="section-16.19.xhtml#chapter-16-130">pquit</a><span style="padding-left: 10px;">Section 16.19  )quit</span><br/>
+<a href="section-8.4.xhtml#chapter-8-74">precision</a><span style="padding-left: 10px;">Section 8.4  Computation of Eigenvalues and Eigenvectors</span><br/>
+<a href="section-8.5.xhtml#chapter-8-85">precision</a><span style="padding-left: 10px;">Section 8.5  Solution of Linear and Polynomial Equations</span><br/>
+<a href="section-6.11.xhtml#chapter-6-27">predicate:in function definition</a><span style="padding-left: 10px;">Section 6.11  Piece-Wise Function Definitions</span><br/>
+<a href="section-6.21.xhtml#chapter-6-76">predicate:on a pattern variable</a><span style="padding-left: 10px;">Section 6.21  Rules and Pattern Matching</span><br/>
+<a href="section-13.13.xhtml#chapter-13-16">predicate</a><span style="padding-left: 10px;">Section 13.13  Example 2: Building A Query Facility</span><br/>
+<a href="section-9.77.xhtml#chapter-9-74">prefix?</a><span style="padding-left: 10px;">Section 9.77  String</span><br/>
+<a href="section-9.65.xhtml#chapter-9-93">prefixRagits</a><span style="padding-left: 10px;">Section 9.65  RadixExpansion</span><br/>
+<a href="section-2.8.xhtml#chapter-2-50">pretend</a><span style="padding-left: 10px;">Section 2.8  Subdomains Again</span><br/>
+<a href="section-6.10.xhtml#chapter-6-19">pretend</a><span style="padding-left: 10px;">Section 6.10  Compiling vs. Interpreting</span><br/>
+<a href="section-9.34.xhtml#chapter-9-86">prevPrime</a><span style="padding-left: 10px;">Section 9.34  Integer</span><br/>
+<a href="section-8.12.xhtml#chapter-8-210">primary decomposition of ideal</a><span style="padding-left: 10px;">Section 8.12  Primary Decomposition of Ideals</span><br/>
+<a href="section-8.11.xhtml#chapter-8-165">prime field</a><span style="padding-left: 10px;">Section 8.11  Finite Fields</span><br/>
+<a href="section-5.6.xhtml#chapter-5-61">prime?</a><span style="padding-left: 10px;">Section 5.6  An Example: Streams of Primes</span><br/>
+<a href="section-5.6.xhtml#chapter-5-73">prime?</a><span style="padding-left: 10px;">Section 5.6  An Example: Streams of Primes</span><br/>
+<a href="section-9.34.xhtml#chapter-9-82">prime?</a><span style="padding-left: 10px;">Section 9.34  Integer</span><br/>
+<a href="section-9.61.xhtml#chapter-9-42">primeFactor</a><span style="padding-left: 10px;">Section 9.61  PartialFraction</span><br/>
+<a href="section-9.34.xhtml#chapter-9-88">primes</a><span style="padding-left: 10px;">Section 9.34  Integer</span><br/>
+<a href="section-8.11.xhtml#chapter-8-168">primitive element</a><span style="padding-left: 10px;">Section 8.11  Finite Fields</span><br/>
+<a href="section-8.11.xhtml#chapter-8-183">primitive element</a><span style="padding-left: 10px;">Section 8.11  Finite Fields</span><br/>
+<a href="section-8.1.xhtml#chapter-8-12">principal value</a><span style="padding-left: 10px;">Section 8.1  Numeric Functions</span><br/>
+<a href="section-9.7.xhtml#chapter-9-29">product</a><span style="padding-left: 10px;">Section 9.7  CartesianTensor</span><br/>
+<a href="section-9.7.xhtml#chapter-9-39">product</a><span style="padding-left: 10px;">Section 9.7  CartesianTensor</span><br/>
+<a href="section-9.7.xhtml#chapter-9-43">product</a><span style="padding-left: 10px;">Section 9.7  CartesianTensor</span><br/>
+<a href="section-9.7.xhtml#chapter-9-45">product</a><span style="padding-left: 10px;">Section 9.7  CartesianTensor</span><br/>
+<a href="section-16.11.xhtml#chapter-16-83">prompt:with frame name</a><span style="padding-left: 10px;">Section 16.11  )frame</span><br/>
+<a href="section-1.1.xhtml#chapter-1-1">prompt</a><span style="padding-left: 10px;">Section 1.1  Starting Up and Winding Down</span><br/>
+<a href="section-8.1.xhtml#chapter-8-20">psi @  <math xmlns="&mathml;" mathsize="big"><mstyle></mstyle></math></a><span style="padding-left: 10px;">Section 8.1  Numeric Functions</span><br/>
+<a href="section-7.1.xhtml#chapter-7-119">putGraph</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-9.82.xhtml#chapter-9-130">qelt</a><span style="padding-left: 10px;">Section 9.82  TwoDimensionalArray</span><br/>
+<a href="section-9.85.xhtml#chapter-9-40">qelt</a><span style="padding-left: 10px;">Section 9.85  Vector</span><br/>
+<a href="section-9.85.xhtml#chapter-9-50">qelt</a><span style="padding-left: 10px;">Section 9.85  Vector</span><br/>
+<a href="section-9.82.xhtml#chapter-9-132">qsetelt</a><span style="padding-left: 10px;">Section 9.82  TwoDimensionalArray</span><br/>
+<a href="section-9.85.xhtml#chapter-9-44">qsetelt</a><span style="padding-left: 10px;">Section 9.85  Vector</span><br/>
+<a href="section-9.85.xhtml#chapter-9-52">qsetelt</a><span style="padding-left: 10px;">Section 9.85  Vector</span><br/>
+<a href="section-13.10.xhtml#chapter-13-13">quadraticForm</a><span style="padding-left: 10px;">Section 13.10  Origins</span><br/>
+<a href="section-9.64.xhtml#chapter-9-89">quatern</a><span style="padding-left: 10px;">Section 9.64  Quaternion</span><br/>
+<a href="section-16.18.xhtml#chapter-16-122">quit</a><span style="padding-left: 10px;">Section 16.18  )pquit</span><br/>
+<a href="section-16.19.xhtml#chapter-16-129">quit</a><span style="padding-left: 10px;">Section 16.19  )quit</span><br/>
+<a href="section-4.2.xhtml#chapter-4-10">quit</a><span style="padding-left: 10px;">Section 4.2  The .axiom.input File</span><br/>
+<a href="section-9.83.xhtml#chapter-9-28">quo</a><span style="padding-left: 10px;">Section 9.83  UnivariatePolynomial</span><br/>
+<a href="section-9.34.xhtml#chapter-9-72">quo</a><span style="padding-left: 10px;">Section 9.34  Integer</span><br/>
+<a href="section-1.3.xhtml#chapter-1-18">quote</a><span style="padding-left: 10px;">Section 1.3  The Axiom Language</span><br/>
+<a href="section-2.4.xhtml#chapter-2-29">quote</a><span style="padding-left: 10px;">Section 2.4  Records</span><br/>
+<a href="section-2.5.xhtml#chapter-2-41">quote</a><span style="padding-left: 10px;">Section 2.5  Unions</span><br/>
+<a href="section-1.4.xhtml#chapter-1-37">radical</a><span style="padding-left: 10px;">Section 1.4  Numbers</span><br/>
+<a href="section-8.3.xhtml#chapter-8-64">radical</a><span style="padding-left: 10px;">Section 8.3  Manipulating Symbolic Roots of a Polynomial</span><br/>
+<a href="section-8.4.xhtml#chapter-8-72">radical</a><span style="padding-left: 10px;">Section 8.4  Computation of Eigenvalues and Eigenvectors</span><br/>
+<a href="section-8.5.xhtml#chapter-8-83">radical</a><span style="padding-left: 10px;">Section 8.5  Solution of Linear and Polynomial Equations</span><br/>
+<a href="section-8.5.xhtml#chapter-8-84">radical</a><span style="padding-left: 10px;">Section 8.5  Solution of Linear and Polynomial Equations</span><br/>
+<a href="section-1.4.xhtml#chapter-1-29">radix</a><span style="padding-left: 10px;">Section 1.4  Numbers</span><br/>
+<a href="section-14.2.xhtml#chapter-14-7">rank</a><span style="padding-left: 10px;">Section 14.2  The Constructor Page</span><br/>
+<a href="section-14.2.xhtml#chapter-14-9">rank</a><span style="padding-left: 10px;">Section 14.2  The Constructor Page</span><br/>
+<a href="section-9.52.xhtml#chapter-9-116">rank</a><span style="padding-left: 10px;">Section 9.52  Matrix</span><br/>
+<a href="section-8.2.xhtml#chapter-8-60">rational function:factoring</a><span style="padding-left: 10px;">Section 8.2  Polynomial Factorization</span><br/>
+<a href="section-16.20.xhtml#chapter-16-139">read</a><span style="padding-left: 10px;">Section 16.20  )read</span><br/>
+<a href="section-16.4.xhtml#chapter-16-20">read</a><span style="padding-left: 10px;">Section 16.4  )cd</span><br/>
+<a href="section-4.1.xhtml#chapter-4-1">read</a><span style="padding-left: 10px;">Section 4.1  Input Files</span><br/>
+<a href="section-9.24.xhtml#chapter-9-64">read</a><span style="padding-left: 10px;">Section 9.24  File</span><br/>
+<a href="section-9.24.xhtml#chapter-9-68">read</a><span style="padding-left: 10px;">Section 9.24  File</span><br/>
+<a href="section-9.38.xhtml#chapter-9-8">read</a><span style="padding-left: 10px;">Section 9.38  KeyedAccessFile</span><br/>
+<a href="section-9.24.xhtml#chapter-9-70">readIfCan</a><span style="padding-left: 10px;">Section 9.24  File</span><br/>
+<a href="section-9.81.xhtml#chapter-9-112">readLine</a><span style="padding-left: 10px;">Section 9.81  TextFile</span><br/>
+<a href="section-9.25.xhtml#chapter-9-74">readable?</a><span style="padding-left: 10px;">Section 9.25  FileName</span><br/>
+<a href="section-9.11.xhtml#chapter-9-59">real</a><span style="padding-left: 10px;">Section 9.11  Complex</span><br/>
+<a href="section-15.3.xhtml#chapter-15-25">real?</a><span style="padding-left: 10px;">Section 15.3  The NAG Library Link</span><br/>
+<a href="section-9.39.xhtml#chapter-9-36">realSolve</a><span style="padding-left: 10px;">Section 9.39  LexTriangularPackage</span><br/>
+<a href="section-9.91.xhtml#chapter-9-60">realSolve</a><span style="padding-left: 10px;">Section 9.91  ZeroDimensionalSolvePackage</span><br/>
+<a href="section-9.91.xhtml#chapter-9-70">realSolve</a><span style="padding-left: 10px;">Section 9.91  ZeroDimensionalSolvePackage</span><br/>
+<a href="section-2.5.xhtml#chapter-2-44">record:difference from union</a><span style="padding-left: 10px;">Section 2.5  Unions</span><br/>
+<a href="section-2.4.xhtml#chapter-2-28">record:selector</a><span style="padding-left: 10px;">Section 2.4  Records</span><br/>
+<a href="section-9.5.xhtml#chapter-9-22">record</a><span style="padding-left: 10px;">Section 9.5  BinarySearchTree</span><br/>
+<a href="section-9.51.xhtml#chapter-9-74">recur</a><span style="padding-left: 10px;">Section 9.51  MappingPackage1</span><br/>
+<a href="section-6.13.xhtml#chapter-6-33">recurrence relation</a><span style="padding-left: 10px;">Section 6.13  Recurrence Relations</span><br/>
+<a href="section-9.83.xhtml#chapter-9-20">reduce</a><span style="padding-left: 10px;">Section 9.83  UnivariatePolynomial</span><br/>
+<a href="section-9.83.xhtml#chapter-9-6">reductum</a><span style="padding-left: 10px;">Section 9.83  UnivariatePolynomial</span><br/>
+<a href="section-9.63.xhtml#chapter-9-75">reductum</a><span style="padding-left: 10px;">Section 9.63  Polynomial</span><br/>
+<a href="section-9.7.xhtml#chapter-9-35">reindex</a><span style="padding-left: 10px;">Section 9.7  CartesianTensor</span><br/>
+<a href="section-9.66.xhtml#chapter-9-105">relativeApprox</a><span style="padding-left: 10px;">Section 9.66  RealClosure</span><br/>
+<a href="section-9.83.xhtml#chapter-9-30">rem</a><span style="padding-left: 10px;">Section 9.83  UnivariatePolynomial</span><br/>
+<a href="section-9.34.xhtml#chapter-9-74">rem</a><span style="padding-left: 10px;">Section 9.34  Integer</span><br/>
+<a href="section-6.12.xhtml#chapter-6-31">remembering function values</a><span style="padding-left: 10px;">Section 6.12  Caching Previously Computed Results</span><br/>
+<a href="section-9.80.xhtml#chapter-9-102">remove</a><span style="padding-left: 10px;">Section 9.80  Table</span><br/>
+<a href="section-9.80.xhtml#chapter-9-104">remove</a><span style="padding-left: 10px;">Section 9.80  Table</span><br/>
+<a href="section-9.47.xhtml#chapter-9-48">removeDuplicates</a><span style="padding-left: 10px;">Section 9.47  List</span><br/>
+<a href="section-7.2.xhtml#chapter-7-133">rendering</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-13.6.xhtml#chapter-13-3">representation:of a domain</a><span style="padding-left: 10px;">Section 13.6  Representation</span><br/>
+<a href="section-2.10.xhtml#chapter-2-59">resolve</a><span style="padding-left: 10px;">Section 2.10  Resolving Types</span><br/>
+<a href="section-6.9.xhtml#chapter-6-14">resolve</a><span style="padding-left: 10px;">Section 6.9  How Axiom Determines What Function to Use</span><br/>
+<a href="section-1.5.xhtml#chapter-1-40">rest</a><span style="padding-left: 10px;">Section 1.5  Data Structures</span><br/>
+<a href="section-11.8.xhtml#chapter-11-19">rest</a><span style="padding-left: 10px;">Section 11.8  Conditionals</span><br/>
+<a href="section-13.13.xhtml#chapter-13-21">rest</a><span style="padding-left: 10px;">Section 13.13  Example 2: Building A Query Facility</span><br/>
+<a href="section-9.47.xhtml#chapter-9-46">rest</a><span style="padding-left: 10px;">Section 9.47  List</span><br/>
+<a href="section-1.3.xhtml#chapter-1-12">result:previous</a><span style="padding-left: 10px;">Section 1.3  The Axiom Language</span><br/>
+<a href="section-9.83.xhtml#chapter-9-12">resultant</a><span style="padding-left: 10px;">Section 9.83  UnivariatePolynomial</span><br/>
+<a href="section-9.63.xhtml#chapter-9-61">resultant</a><span style="padding-left: 10px;">Section 9.63  Polynomial</span><br/>
+<a href="section-2.5.xhtml#chapter-2-37">retractIfCan</a><span style="padding-left: 10px;">Section 2.5  Unions</span><br/>
+<a href="section-5.2.xhtml#chapter-5-10">return</a><span style="padding-left: 10px;">Section 5.2  Blocks</span><br/>
+<a href="section-5.4.xhtml#chapter-5-30">return</a><span style="padding-left: 10px;">Section 5.4  Loops</span><br/>
+<a href="section-9.47.xhtml#chapter-9-50">reverse</a><span style="padding-left: 10px;">Section 9.47  List</span><br/>
+<a href="section-9.19.xhtml#chapter-9-18">rhs</a><span style="padding-left: 10px;">Section 9.19  Equation</span><br/>
+<a href="section-10.1.xhtml#chapter-10-0">ribbon</a><span style="padding-left: 10px;">Section 10.1  Drawing Ribbons Interactively</span><br/>
+<a href="section-9.45.xhtml#chapter-9-2">rightDivide</a><span style="padding-left: 10px;">Section 9.45  LinearOrdinaryDifferentialOperator1</span><br/>
+<a href="section-9.45.xhtml#chapter-9-16">rightExactQuotient</a><span style="padding-left: 10px;">Section 9.45  LinearOrdinaryDifferentialOperator1</span><br/>
+<a href="section-9.45.xhtml#chapter-9-20">rightGcd</a><span style="padding-left: 10px;">Section 9.45  LinearOrdinaryDifferentialOperator1</span><br/>
+<a href="section-9.45.xhtml#chapter-9-22">rightLcm</a><span style="padding-left: 10px;">Section 9.45  LinearOrdinaryDifferentialOperator1</span><br/>
+<a href="section-9.45.xhtml#chapter-9-6">rightQuotient</a><span style="padding-left: 10px;">Section 9.45  LinearOrdinaryDifferentialOperator1</span><br/>
+<a href="section-9.45.xhtml#chapter-9-8">rightRemainder</a><span style="padding-left: 10px;">Section 9.45  LinearOrdinaryDifferentialOperator1</span><br/>
+<a href="section-9.77.xhtml#chapter-9-64">rightTrim</a><span style="padding-left: 10px;">Section 9.77  String</span><br/>
+<a href="section-8.3.xhtml#chapter-8-65">root:multiple</a><span style="padding-left: 10px;">Section 8.3  Manipulating Symbolic Roots of a Polynomial</span><br/>
+<a href="section-8.1.xhtml#chapter-8-11">root:numeric approximation</a><span style="padding-left: 10px;">Section 8.1  Numeric Functions</span><br/>
+<a href="section-8.3.xhtml#chapter-8-61">root:symbolic</a><span style="padding-left: 10px;">Section 8.3  Manipulating Symbolic Roots of a Polynomial</span><br/>
+<a href="section-8.13.xhtml#chapter-8-219">root</a><span style="padding-left: 10px;">Section 8.13  Computation of Galois Groups</span><br/>
+<a href="section-8.8.xhtml#chapter-8-108">rootOf</a><span style="padding-left: 10px;">Section 8.8  Integration</span><br/>
+<a href="section-9.27.xhtml#chapter-9-2">round</a><span style="padding-left: 10px;">Section 9.27  Float</span><br/>
+<a href="section-9.27.xhtml#chapter-9-6">round</a><span style="padding-left: 10px;">Section 9.27  Float</span><br/>
+<a href="section-9.52.xhtml#chapter-9-106">row</a><span style="padding-left: 10px;">Section 9.52  Matrix</span><br/>
+<a href="section-9.82.xhtml#chapter-9-134">row</a><span style="padding-left: 10px;">Section 9.82  TwoDimensionalArray</span><br/>
+<a href="section-9.52.xhtml#chapter-9-122">rowEchelon</a><span style="padding-left: 10px;">Section 9.52  Matrix</span><br/>
+<a href="section-0.1.xhtml#chapter-0-1">rule</a><span style="padding-left: 10px;">Section 0.1  Introduction to Axiom</span><br/>
+<a href="section-6.21.xhtml#chapter-6-69">rule</a><span style="padding-left: 10px;">Section 6.21  Rules and Pattern Matching</span><br/>
+<a href="section-6.21.xhtml#chapter-6-72">rule</a><span style="padding-left: 10px;">Section 6.21  Rules and Pattern Matching</span><br/>
+<a href="section-6.21.xhtml#chapter-6-73">ruleset</a><span style="padding-left: 10px;">Section 6.21  Rules and Pattern Matching</span><br/>
+<a href="section-7.2.xhtml#chapter-7-272">scaling graphs</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-9.76.xhtml#chapter-9-52">scan</a><span style="padding-left: 10px;">Section 9.76  Stream</span><br/>
+<a href="section-9.79.xhtml#chapter-9-90">script</a><span style="padding-left: 10px;">Section 9.79  Symbol</span><br/>
+<a href="section-9.79.xhtml#chapter-9-84">scripted?</a><span style="padding-left: 10px;">Section 9.79  Symbol</span><br/>
+<a href="section-9.79.xhtml#chapter-9-88">scripts</a><span style="padding-left: 10px;">Section 9.79  Symbol</span><br/>
+<a href="section-3.3.xhtml#chapter-3-1">scroll bar</a><span style="padding-left: 10px;">Section 3.3  Scroll Bars</span><br/>
+<a href="section-9.38.xhtml#chapter-9-0">search</a><span style="padding-left: 10px;">Section 9.38  KeyedAccessFile</span><br/>
+<a href="section-9.80.xhtml#chapter-9-100">search</a><span style="padding-left: 10px;">Section 9.80  Table</span><br/>
+<a href="section-5.4.xhtml#chapter-5-45">segment</a><span style="padding-left: 10px;">Section 5.4  Loops</span><br/>
+<a href="section-9.70.xhtml#chapter-9-10">segment</a><span style="padding-left: 10px;">Section 9.70  SegmentBinding</span><br/>
+<a href="section-2.4.xhtml#chapter-2-30">selector:quoting</a><span style="padding-left: 10px;">Section 2.4  Records</span><br/>
+<a href="section-2.5.xhtml#chapter-2-42">selector:quoting</a><span style="padding-left: 10px;">Section 2.5  Unions</span><br/>
+<a href="section-2.4.xhtml#chapter-2-27">selector:record</a><span style="padding-left: 10px;">Section 2.4  Records</span><br/>
+<a href="section-2.5.xhtml#chapter-2-39">selector:union</a><span style="padding-left: 10px;">Section 2.5  Unions</span><br/>
+<a href="section-9.60.xhtml#chapter-9-20">separant</a><span style="padding-left: 10px;">Section 9.60  OrderlyDifferentialPolynomial</span><br/>
+<a href="section-8.9.xhtml#chapter-8-133">series:Laurent</a><span style="padding-left: 10px;">Section 8.9  Working with Power Series</span><br/>
+<a href="section-1.10.xhtml#chapter-1-71">series:Puiseux</a><span style="padding-left: 10px;">Section 1.10  Series</span><br/>
+<a href="section-8.9.xhtml#chapter-8-135">series:Puiseux</a><span style="padding-left: 10px;">Section 8.9  Working with Power Series</span><br/>
+<a href="section-1.10.xhtml#chapter-1-73">series:Taylor</a><span style="padding-left: 10px;">Section 1.10  Series</span><br/>
+<a href="section-8.9.xhtml#chapter-8-120">series:Taylor</a><span style="padding-left: 10px;">Section 8.9  Working with Power Series</span><br/>
+<a href="section-8.9.xhtml#chapter-8-126">series:Taylor</a><span style="padding-left: 10px;">Section 8.9  Working with Power Series</span><br/>
+<a href="section-8.9.xhtml#chapter-8-127">series:Taylor</a><span style="padding-left: 10px;">Section 8.9  Working with Power Series</span><br/>
+<a href="section-8.9.xhtml#chapter-8-129">series:Taylor</a><span style="padding-left: 10px;">Section 8.9  Working with Power Series</span><br/>
+<a href="section-8.9.xhtml#chapter-8-139">series:Taylor</a><span style="padding-left: 10px;">Section 8.9  Working with Power Series</span><br/>
+<a href="section-8.9.xhtml#chapter-8-125">series:arithmetic</a><span style="padding-left: 10px;">Section 8.9  Working with Power Series</span><br/>
+<a href="section-8.9.xhtml#chapter-8-118">series:creating</a><span style="padding-left: 10px;">Section 8.9  Working with Power Series</span><br/>
+<a href="section-8.9.xhtml#chapter-8-124">series:extracting coefficients</a><span style="padding-left: 10px;">Section 8.9  Working with Power Series</span><br/>
+<a href="section-8.9.xhtml#chapter-8-137">series:giving formula for coefficients</a><span style="padding-left: 10px;">Section 8.9  Working with Power Series</span><br/>
+<a href="section-8.9.xhtml#chapter-8-122">series:lazy evaluation</a><span style="padding-left: 10px;">Section 8.9  Working with Power Series</span><br/>
+<a href="section-8.9.xhtml#chapter-8-130">series:multiple variables</a><span style="padding-left: 10px;">Section 8.9  Working with Power Series</span><br/>
+<a href="section-8.9.xhtml#chapter-8-143">series:numerical approximation</a><span style="padding-left: 10px;">Section 8.9  Working with Power Series</span><br/>
+<a href="section-1.10.xhtml#chapter-1-70">series:power</a><span style="padding-left: 10px;">Section 1.10  Series</span><br/>
+<a href="section-8.10.xhtml#chapter-8-159">series:power</a><span style="padding-left: 10px;">Section 8.10  Solution of Differential Equations</span><br/>
+<a href="section-8.9.xhtml#chapter-8-115">series</a><span style="padding-left: 10px;">Section 8.9  Working with Power Series</span><br/>
+<a href="section-2.11.xhtml#chapter-2-72">set expose add constructor</a><span style="padding-left: 10px;">Section 2.11  Exposing Domains and Packages</span><br/>
+<a href="section-2.11.xhtml#chapter-2-70">set expose add group</a><span style="padding-left: 10px;">Section 2.11  Exposing Domains and Packages</span><br/>
+<a href="section-2.11.xhtml#chapter-2-71">set expose drop constructor</a><span style="padding-left: 10px;">Section 2.11  Exposing Domains and Packages</span><br/>
+<a href="section-2.11.xhtml#chapter-2-69">set expose drop group</a><span style="padding-left: 10px;">Section 2.11  Exposing Domains and Packages</span><br/>
+<a href="section-2.11.xhtml#chapter-2-68">set expose</a><span style="padding-left: 10px;">Section 2.11  Exposing Domains and Packages</span><br/>
+<a href="section-4.7.xhtml#chapter-4-38">set fortran explength</a><span style="padding-left: 10px;">Section 4.7  FORTRAN Format</span><br/>
+<a href="section-4.7.xhtml#chapter-4-45">set fortran ints2floats</a><span style="padding-left: 10px;">Section 4.7  FORTRAN Format</span><br/>
+<a href="section-4.7.xhtml#chapter-4-42">set fortran optlevel</a><span style="padding-left: 10px;">Section 4.7  FORTRAN Format</span><br/>
+<a href="section-4.7.xhtml#chapter-4-48">set fortran optlevel</a><span style="padding-left: 10px;">Section 4.7  FORTRAN Format</span><br/>
+<a href="section-4.7.xhtml#chapter-4-49">set fortran precision double</a><span style="padding-left: 10px;">Section 4.7  FORTRAN Format</span><br/>
+<a href="section-4.7.xhtml#chapter-4-51">set fortran precision single</a><span style="padding-left: 10px;">Section 4.7  FORTRAN Format</span><br/>
+<a href="section-4.7.xhtml#chapter-4-40">set fortran segment</a><span style="padding-left: 10px;">Section 4.7  FORTRAN Format</span><br/>
+<a href="section-4.7.xhtml#chapter-4-53">set fortran startindex</a><span style="padding-left: 10px;">Section 4.7  FORTRAN Format</span><br/>
+<a href="section-4.7.xhtml#chapter-4-37">set fortran</a><span style="padding-left: 10px;">Section 4.7  FORTRAN Format</span><br/>
+<a href="section-6.10.xhtml#chapter-6-21">set function compile</a><span style="padding-left: 10px;">Section 6.10  Compiling vs. Interpreting</span><br/>
+<a href="section-6.13.xhtml#chapter-6-37">set function recurrence</a><span style="padding-left: 10px;">Section 6.13  Recurrence Relations</span><br/>
+<a href="section-6.12.xhtml#chapter-6-32">set functions cache</a><span style="padding-left: 10px;">Section 6.12  Caching Previously Computed Results</span><br/>
+<a href="section-16.13.xhtml#chapter-16-93">set history off</a><span style="padding-left: 10px;">Section 16.13  )history</span><br/>
+<a href="section-16.13.xhtml#chapter-16-92">set history on</a><span style="padding-left: 10px;">Section 16.13  )history</span><br/>
+<a href="section-14.3.xhtml#chapter-14-17">set hyperdoc browse exposure</a><span style="padding-left: 10px;">Section 14.3  Miscellaneous Features of Browse</span><br/>
+<a href="section-14.3.xhtml#chapter-14-18">set hyperdoc browse threshold</a><span style="padding-left: 10px;">Section 14.3  Miscellaneous Features of Browse</span><br/>
+<a href="section-16.11.xhtml#chapter-16-81">set message frame</a><span style="padding-left: 10px;">Section 16.11  )frame</span><br/>
+<a href="section-16.11.xhtml#chapter-16-82">set message prompt frame</a><span style="padding-left: 10px;">Section 16.11  )frame</span><br/>
+<a href="section-16.21.xhtml#chapter-16-148">set message time</a><span style="padding-left: 10px;">Section 16.21  )set</span><br/>
+<a href="section-4.4.xhtml#chapter-4-24">set output algebra</a><span style="padding-left: 10px;">Section 4.4  Monospace Two-Dimensional Mathematical Format</span><br/>
+<a href="section-4.4.xhtml#chapter-4-28">set output characters</a><span style="padding-left: 10px;">Section 4.4  Monospace Two-Dimensional Mathematical Format</span><br/>
+<a href="section-4.3.xhtml#chapter-4-18">set output fortran</a><span style="padding-left: 10px;">Section 4.3  Common Features of Using Output Formats</span><br/>
+<a href="section-4.7.xhtml#chapter-4-41">set output fortran</a><span style="padding-left: 10px;">Section 4.7  FORTRAN Format</span><br/>
+<a href="section-4.3.xhtml#chapter-4-23">set output length</a><span style="padding-left: 10px;">Section 4.3  Common Features of Using Output Formats</span><br/>
+<a href="section-4.6.xhtml#chapter-4-34">set output script</a><span style="padding-left: 10px;">Section 4.6  IBM Script Formula Format</span><br/>
+<a href="section-4.5.xhtml#chapter-4-31">set output tex</a><span style="padding-left: 10px;">Section 4.5  TeX Format</span><br/>
+<a href="section-4.3.xhtml#chapter-4-17">set output</a><span style="padding-left: 10px;">Section 4.3  Common Features of Using Output Formats</span><br/>
+<a href="section-16.19.xhtml#chapter-16-131">set quit protected</a><span style="padding-left: 10px;">Section 16.19  )quit</span><br/>
+<a href="section-4.2.xhtml#chapter-4-12">set quit protected</a><span style="padding-left: 10px;">Section 4.2  The .axiom.input File</span><br/>
+<a href="section-16.19.xhtml#chapter-16-132">set quit unprotected</a><span style="padding-left: 10px;">Section 16.19  )quit</span><br/>
+<a href="section-16.21.xhtml#chapter-16-149">set quit unprotected</a><span style="padding-left: 10px;">Section 16.21  )set</span><br/>
+<a href="section-4.2.xhtml#chapter-4-11">set quit unprotected</a><span style="padding-left: 10px;">Section 4.2  The .axiom.input File</span><br/>
+<a href="section-5.5.xhtml#chapter-5-58">set streams calculate</a><span style="padding-left: 10px;">Section 5.5  Creating Lists and Streams with Iterators</span><br/>
+<a href="section-8.9.xhtml#chapter-8-117">set streams calculate</a><span style="padding-left: 10px;">Section 8.9  Working with Power Series</span><br/>
+<a href="section-8.9.xhtml#chapter-8-149">set streams calculate</a><span style="padding-left: 10px;">Section 8.9  Working with Power Series</span><br/>
+<a href="section-16.1.xhtml#chapter-16-1">set userlevel compiler</a><span style="padding-left: 10px;">Section 16.1  Introduction</span><br/>
+<a href="section-16.1.xhtml#chapter-16-2">set userlevel development</a><span style="padding-left: 10px;">Section 16.1  Introduction</span><br/>
+<a href="section-16.1.xhtml#chapter-16-0">set userlevel interpreter</a><span style="padding-left: 10px;">Section 16.1  Introduction</span><br/>
+<a href="section-16.28.xhtml#chapter-16-186">set userlevel</a><span style="padding-left: 10px;">Section 16.28  )what</span><br/>
+<a href="section-16.21.xhtml#chapter-16-145">set</a><span style="padding-left: 10px;">Section 16.21  )set</span><br/>
+<a href="section-9.52.xhtml#chapter-9-86">setColumn</a><span style="padding-left: 10px;">Section 9.52  Matrix</span><br/>
+<a href="section-9.3.xhtml#chapter-9-16">setProperty</a><span style="padding-left: 10px;">Section 9.3  BasicOperator</span><br/>
+<a href="section-9.52.xhtml#chapter-9-84">setRow</a><span style="padding-left: 10px;">Section 9.52  Matrix</span><br/>
+<a href="section-9.82.xhtml#chapter-9-122">setelt</a><span style="padding-left: 10px;">Section 9.82  TwoDimensionalArray</span><br/>
+<a href="section-9.82.xhtml#chapter-9-128">setelt</a><span style="padding-left: 10px;">Section 9.82  TwoDimensionalArray</span><br/>
+<a href="section-9.85.xhtml#chapter-9-42">setelt</a><span style="padding-left: 10px;">Section 9.85  Vector</span><br/>
+<a href="section-9.47.xhtml#chapter-9-43">setelt</a><span style="padding-left: 10px;">Section 9.47  List</span><br/>
+<a href="section-9.85.xhtml#chapter-9-48">setelt</a><span style="padding-left: 10px;">Section 9.85  Vector</span><br/>
+<a href="section-9.85.xhtml#chapter-9-56">setelt</a><span style="padding-left: 10px;">Section 9.85  Vector</span><br/>
+<a href="section-9.52.xhtml#chapter-9-78">setelt</a><span style="padding-left: 10px;">Section 9.52  Matrix</span><br/>
+<a href="section-9.80.xhtml#chapter-9-92">setelt</a><span style="padding-left: 10px;">Section 9.80  Table</span><br/>
+<a href="section-1.5.xhtml#chapter-1-46">setrest!</a><span style="padding-left: 10px;">Section 1.5  Data Structures</span><br/>
+<a href="section-9.52.xhtml#chapter-9-92">setsubMatrix</a><span style="padding-left: 10px;">Section 9.52  Matrix</span><br/>
+<a href="section-7.1.xhtml#chapter-7-49">shade</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-11.1.xhtml#chapter-11-5">show</a><span style="padding-left: 10px;">Section 11.1  Names, Abbreviations, and File Structure</span><br/>
+<a href="section-16.22.xhtml#chapter-16-152">show</a><span style="padding-left: 10px;">Section 16.22  )show</span><br/>
+<a href="section-2.12.xhtml#chapter-2-80">show</a><span style="padding-left: 10px;">Section 2.12  Commands for Snooping</span><br/>
+<a href="section-7.2.xhtml#chapter-7-174">show</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-15.3.xhtml#chapter-15-14">showArrayValues</a><span style="padding-left: 10px;">Section 15.3  The NAG Library Link</span><br/>
+<a href="section-15.3.xhtml#chapter-15-12">showScalarValues</a><span style="padding-left: 10px;">Section 15.3  The NAG Library Link</span><br/>
+<a href="section-9.34.xhtml#chapter-9-56">sign</a><span style="padding-left: 10px;">Section 9.34  Integer</span><br/>
+<a href="section-1.7.xhtml#chapter-1-65">simplification</a><span style="padding-left: 10px;">Section 1.7  Writing Your Own Functions</span><br/>
+<a href="section-10.7.xhtml#chapter-10-5">sin</a><span style="padding-left: 10px;">Section 10.7  Drawing Complex Vector Fields</span><br/>
+<a href="section-8.6.xhtml#chapter-8-94">singularity:essential</a><span style="padding-left: 10px;">Section 8.6  Limits</span><br/>
+<a href="section-7.1.xhtml#chapter-7-11">smooth curve</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-14.2.xhtml#chapter-14-11">solve</a><span style="padding-left: 10px;">Section 14.2  The Constructor Page</span><br/>
+<a href="section-9.19.xhtml#chapter-9-14">solve</a><span style="padding-left: 10px;">Section 9.19  Equation</span><br/>
+<a href="section-9.35.xhtml#chapter-9-102">solveLinearlyOverQ</a><span style="padding-left: 10px;">Section 9.35  IntegerLinearDependence</span><br/>
+<a href="section-11.8.xhtml#chapter-11-15">sort:bubble</a><span style="padding-left: 10px;">Section 11.8  Conditionals</span><br/>
+<a href="section-6.15.xhtml#chapter-6-42">sort:bubble</a><span style="padding-left: 10px;">Section 6.15  Functions Defined with Blocks</span><br/>
+<a href="section-11.8.xhtml#chapter-11-16">sort:insertion</a><span style="padding-left: 10px;">Section 11.8  Conditionals</span><br/>
+<a href="section-6.15.xhtml#chapter-6-43">sort:insertion</a><span style="padding-left: 10px;">Section 6.15  Functions Defined with Blocks</span><br/>
+<a href="section-14.2.xhtml#chapter-14-3">source code</a><span style="padding-left: 10px;">Section 14.2  The Constructor Page</span><br/>
+<a href="section-8.1.xhtml#chapter-8-13">special functions</a><span style="padding-left: 10px;">Section 8.1  Numeric Functions</span><br/>
+<a href="section-7.2.xhtml#chapter-7-138">spherical coordinate system</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-8.13.xhtml#chapter-8-214">splitting field</a><span style="padding-left: 10px;">Section 8.13  Computation of Galois Groups</span><br/>
+<a href="section-16.23.xhtml#chapter-16-157">spool</a><span style="padding-left: 10px;">Section 16.23  )spool</span><br/>
+<a href="section-16.4.xhtml#chapter-16-24">spool</a><span style="padding-left: 10px;">Section 16.4  )cd</span><br/>
+<a href="section-9.39.xhtml#chapter-9-14">squareFreeLexTriangular</a><span style="padding-left: 10px;">Section 9.39  LexTriangularPackage</span><br/>
+<a href="section-9.39.xhtml#chapter-9-16">squareFreeLexTriangular</a><span style="padding-left: 10px;">Section 9.39  LexTriangularPackage</span><br/>
+<a href="section-9.39.xhtml#chapter-9-26">squareFreeLexTriangular</a><span style="padding-left: 10px;">Section 9.39  LexTriangularPackage</span><br/>
+<a href="section-9.39.xhtml#chapter-9-30">squareFreeLexTriangular</a><span style="padding-left: 10px;">Section 9.39  LexTriangularPackage</span><br/>
+<a href="section-9.74.xhtml#chapter-9-50">squareMatrix</a><span style="padding-left: 10px;">Section 9.74  SquareMatrix</span><br/>
+<a href="section-4.2.xhtml#chapter-4-7">start-up profile file</a><span style="padding-left: 10px;">Section 4.2  The .axiom.input File</span><br/>
+<a href="section-1.1.xhtml#chapter-1-2">step number</a><span style="padding-left: 10px;">Section 1.1  Starting Up and Winding Down</span><br/>
+<a href="section-1.1.xhtml#chapter-1-7">stopping @{stopping Axiom}</a><span style="padding-left: 10px;">Section 1.1  Starting Up and Winding Down</span><br/>
+<a href="section-5.5.xhtml#chapter-5-54">stream:created by iterator</a><span style="padding-left: 10px;">Section 5.5  Creating Lists and Streams with Iterators</span><br/>
+<a href="section-5.5.xhtml#chapter-5-57">stream:number of elements computed</a><span style="padding-left: 10px;">Section 5.5  Creating Lists and Streams with Iterators</span><br/>
+<a href="section-9.66.xhtml#chapter-9-99">sturmSequence</a><span style="padding-left: 10px;">Section 9.66  RealClosure</span><br/>
+<a href="section-9.52.xhtml#chapter-9-90">subMatrix</a><span style="padding-left: 10px;">Section 9.52  Matrix</span><br/>
+<a href="section-9.52.xhtml#chapter-9-94">subMatrix</a><span style="padding-left: 10px;">Section 9.52  Matrix</span><br/>
+<a href="section-0.2.xhtml#chapter-0-11">subdomain</a><span style="padding-left: 10px;">Section 0.2  A Technical Introduction</span><br/>
+<a href="section-9.72.xhtml#chapter-9-32">submod</a><span style="padding-left: 10px;">Section 9.72  SingleInteger</span><br/>
+<a href="section-9.71.xhtml#chapter-9-22">subset?</a><span style="padding-left: 10px;">Section 9.71  Set</span><br/>
+<a href="section-10.1.xhtml#chapter-10-1">subspace</a><span style="padding-left: 10px;">Section 10.1  Drawing Ribbons Interactively</span><br/>
+<a href="section-7.2.xhtml#chapter-7-148">subspace</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-9.77.xhtml#chapter-9-78">substring?</a><span style="padding-left: 10px;">Section 9.77  String</span><br/>
+<a href="section-6.11.xhtml#chapter-6-25">such that</a><span style="padding-left: 10px;">Section 6.11  Piece-Wise Function Definitions</span><br/>
+<a href="section-6.21.xhtml#chapter-6-75">such that</a><span style="padding-left: 10px;">Section 6.21  Rules and Pattern Matching</span><br/>
+<a href="section-9.77.xhtml#chapter-9-76">suffix?</a><span style="padding-left: 10px;">Section 9.77  String</span><br/>
+<a href="section-9.36.xhtml#chapter-9-108">sumOfDivisors</a><span style="padding-left: 10px;">Section 9.36  IntegerNumberTheoryFunctions</span><br/>
+<a href="section-9.36.xhtml#chapter-9-110">sumOfKthPowerDivisors</a><span style="padding-left: 10px;">Section 9.36  IntegerNumberTheoryFunctions</span><br/>
+<a href="section-8.9.xhtml#chapter-8-144">summation:definite</a><span style="padding-left: 10px;">Section 8.9  Working with Power Series</span><br/>
+<a href="section-8.9.xhtml#chapter-8-146">summation:definite</a><span style="padding-left: 10px;">Section 8.9  Working with Power Series</span><br/>
+<a href="section-8.9.xhtml#chapter-8-145">summation:indefinite</a><span style="padding-left: 10px;">Section 8.9  Working with Power Series</span><br/>
+<a href="section-7.2.xhtml#chapter-7-125">surface:parametric</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-122">surface:two variable function</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-9.66.xhtml#chapter-9-101">sylvesterSequence</a><span style="padding-left: 10px;">Section 9.66  RealClosure</span><br/>
+<a href="section-1.3.xhtml#chapter-1-14">symbol:naming</a><span style="padding-left: 10px;">Section 1.3  The Axiom Language</span><br/>
+<a href="section-9.71.xhtml#chapter-9-18">symmetricDifference</a><span style="padding-left: 10px;">Section 9.71  Set</span><br/>
+<a href="section-8.14.xhtml#chapter-8-226">symmetry</a><span style="padding-left: 10px;">Section 8.14  Non-Associative Algebras and Modelling Genetic Laws</span><br/>
+<a href="section-16.24.xhtml#chapter-16-163">synonym</a><span style="padding-left: 10px;">Section 16.24  )synonym</span><br/>
+<a href="section-11.2.xhtml#chapter-11-7">syntax</a><span style="padding-left: 10px;">Section 11.2  Syntax</span><br/>
+<a href="section-16.25.xhtml#chapter-16-167">system</a><span style="padding-left: 10px;">Section 16.25  )system</span><br/>
+<a href="section-9.1.xhtml#chapter-9-0">table</a><span style="padding-left: 10px;">Section 9.1  AssociationList</span><br/>
+<a href="section-9.18.xhtml#chapter-9-8">table</a><span style="padding-left: 10px;">Section 9.18  EqTable</span><br/>
+<a href="section-11.9.xhtml#chapter-11-22">testing</a><span style="padding-left: 10px;">Section 11.9  Testing</span><br/>
+<a href="section-5.3.xhtml#chapter-5-15">then</a><span style="padding-left: 10px;">Section 5.3  if-then-else</span><br/>
+<a href="section-16.21.xhtml#chapter-16-147">timings:displaying</a><span style="padding-left: 10px;">Section 16.21  )set</span><br/>
+<a href="section-7.2.xhtml#chapter-7-130">toroidal coordinate system</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-21.1.xhtml#chapter-21-0">torus knot</a><span style="padding-left: 10px;">Section 21.1  images1.input</span><br/>
+<a href="section-9.63.xhtml#chapter-9-73">totalDegree</a><span style="padding-left: 10px;">Section 9.63  Polynomial</span><br/>
+<a href="section-16.26.xhtml#chapter-16-174">trace</a><span style="padding-left: 10px;">Section 16.26  )trace</span><br/>
+<a href="section-9.52.xhtml#chapter-9-114">trace</a><span style="padding-left: 10px;">Section 9.52  Matrix</span><br/>
+<a href="section-8.7.xhtml#chapter-8-97">transform:Laplace</a><span style="padding-left: 10px;">Section 8.7  Laplace Transforms</span><br/>
+<a href="section-9.52.xhtml#chapter-9-100">transpose</a><span style="padding-left: 10px;">Section 9.52  Matrix</span><br/>
+<a href="section-9.7.xhtml#chapter-9-33">transpose</a><span style="padding-left: 10px;">Section 9.7  CartesianTensor</span><br/>
+<a href="section-1.5.xhtml#chapter-1-54">tree:balanced binary</a><span style="padding-left: 10px;">Section 1.5  Data Structures</span><br/>
+<a href="section-1.5.xhtml#chapter-1-51">tree:binary search</a><span style="padding-left: 10px;">Section 1.5  Data Structures</span><br/>
+<a href="section-1.5.xhtml#chapter-1-50">tree</a><span style="padding-left: 10px;">Section 1.5  Data Structures</span><br/>
+<a href="section-9.77.xhtml#chapter-9-60">trim</a><span style="padding-left: 10px;">Section 9.77  String</span><br/>
+<a href="section-9.27.xhtml#chapter-9-0">truncate</a><span style="padding-left: 10px;">Section 9.27  Float</span><br/>
+<a href="section-9.27.xhtml#chapter-9-4">truncate</a><span style="padding-left: 10px;">Section 9.27  Float</span><br/>
+<a href="section-7.2.xhtml#chapter-7-142">tube:points in polygon</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-141">tube:radius</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-140">tube</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-12.2.xhtml#chapter-12-9">tuple</a><span style="padding-left: 10px;">Section 12.2  Exports</span><br/>
+<a href="section-9.51.xhtml#chapter-9-64">twist</a><span style="padding-left: 10px;">Section 9.51  MappingPackage1</span><br/>
+<a href="section-2.2.xhtml#chapter-2-15">type:using parentheses</a><span style="padding-left: 10px;">Section 2.2  Writing Types and Modes</span><br/>
+<a href="section-2.2.xhtml#chapter-2-17">type:using parentheses</a><span style="padding-left: 10px;">Section 2.2  Writing Types and Modes</span><br/>
+<a href="section-2.2.xhtml#chapter-2-19">type:using parentheses</a><span style="padding-left: 10px;">Section 2.2  Writing Types and Modes</span><br/>
+<a href="section-2.5.xhtml#chapter-2-34">typeOf</a><span style="padding-left: 10px;">Section 2.5  Unions</span><br/>
+<a href="section-16.16.xhtml#chapter-16-113">ugSysCmdabbreviation</a><span style="padding-left: 10px;">Section 16.16  )load</span><br/>
+<a href="section-16.7.xhtml#chapter-16-46">ugSysCmdabbreviation</a><span style="padding-left: 10px;">Section 16.7  )compile</span><br/>
+<a href="section-16.15.xhtml#chapter-16-109">ugSysCmdboot</a><span style="padding-left: 10px;">Section 16.15  )lisp</span><br/>
+<a href="section-16.17.xhtml#chapter-16-117">ugSysCmdboot</a><span style="padding-left: 10px;">Section 16.17  )trace</span><br/>
+<a href="section-16.3.xhtml#chapter-16-12">ugSysCmdboot</a><span style="padding-left: 10px;">Section 16.3  )boot</span><br/>
+<a href="section-16.25.xhtml#chapter-16-168">ugSysCmdboot</a><span style="padding-left: 10px;">Section 16.25  )system</span><br/>
+<a href="section-16.26.xhtml#chapter-16-175">ugSysCmdboot</a><span style="padding-left: 10px;">Section 16.26  )trace</span><br/>
+<a href="section-16.14.xhtml#chapter-16-102">ugSysCmdcd</a><span style="padding-left: 10px;">Section 16.14  )library</span><br/>
+<a href="section-16.23.xhtml#chapter-16-161">ugSysCmdcd</a><span style="padding-left: 10px;">Section 16.23  )spool</span><br/>
+<a href="section-16.4.xhtml#chapter-16-18">ugSysCmdcd</a><span style="padding-left: 10px;">Section 16.4  )cd</span><br/>
+<a href="section-16.6.xhtml#chapter-16-37">ugSysCmdclear</a><span style="padding-left: 10px;">Section 16.6  )clear</span><br/>
+<a href="section-16.8.xhtml#chapter-16-53">ugSysCmdclear</a><span style="padding-left: 10px;">Section 16.8  )display</span><br/>
+<a href="section-16.18.xhtml#chapter-16-125">ugSysCmdclose</a><span style="padding-left: 10px;">Section 16.18  )pquit</span><br/>
+<a href="section-16.19.xhtml#chapter-16-135">ugSysCmdclose</a><span style="padding-left: 10px;">Section 16.19  )quit</span><br/>
+<a href="section-16.5.xhtml#chapter-16-33">ugSysCmdclose</a><span style="padding-left: 10px;">Section 16.5  )close</span><br/>
+<a href="section-16.14.xhtml#chapter-16-103">ugSysCmdcompile</a><span style="padding-left: 10px;">Section 16.14  )library</span><br/>
+<a href="section-16.2.xhtml#chapter-16-11">ugSysCmdcompile</a><span style="padding-left: 10px;">Section 16.2  )abbreviation</span><br/>
+<a href="section-16.16.xhtml#chapter-16-114">ugSysCmdcompile</a><span style="padding-left: 10px;">Section 16.16  )load</span><br/>
+<a href="section-16.20.xhtml#chapter-16-141">ugSysCmdcompile</a><span style="padding-left: 10px;">Section 16.20  )read</span><br/>
+<a href="section-16.4.xhtml#chapter-16-27">ugSysCmdcompile</a><span style="padding-left: 10px;">Section 16.4  )cd</span><br/>
+<a href="section-16.7.xhtml#chapter-16-42">ugSysCmdcompile</a><span style="padding-left: 10px;">Section 16.7  )compile</span><br/>
+<a href="section-16.9.xhtml#chapter-16-66">ugSysCmdcompile</a><span style="padding-left: 10px;">Section 16.9  )edit</span><br/>
+<a href="section-16.22.xhtml#chapter-16-153">ugSysCmddisplay</a><span style="padding-left: 10px;">Section 16.22  )show</span><br/>
+<a href="section-16.28.xhtml#chapter-16-193">ugSysCmddisplay</a><span style="padding-left: 10px;">Section 16.28  )what</span><br/>
+<a href="section-16.6.xhtml#chapter-16-39">ugSysCmddisplay</a><span style="padding-left: 10px;">Section 16.6  )clear</span><br/>
+<a href="section-16.8.xhtml#chapter-16-49">ugSysCmddisplay</a><span style="padding-left: 10px;">Section 16.8  )display</span><br/>
+<a href="section-16.20.xhtml#chapter-16-142">ugSysCmdedit</a><span style="padding-left: 10px;">Section 16.20  )read</span><br/>
+<a href="section-16.4.xhtml#chapter-16-28">ugSysCmdedit</a><span style="padding-left: 10px;">Section 16.4  )cd</span><br/>
+<a href="section-16.7.xhtml#chapter-16-47">ugSysCmdedit</a><span style="padding-left: 10px;">Section 16.7  )compile</span><br/>
+<a href="section-16.9.xhtml#chapter-16-58">ugSysCmdedit</a><span style="padding-left: 10px;">Section 16.9  )edit</span><br/>
+<a href="section-16.15.xhtml#chapter-16-110">ugSysCmdfin</a><span style="padding-left: 10px;">Section 16.15  )lisp</span><br/>
+<a href="section-16.18.xhtml#chapter-16-123">ugSysCmdfin</a><span style="padding-left: 10px;">Section 16.18  )pquit</span><br/>
+<a href="section-16.19.xhtml#chapter-16-133">ugSysCmdfin</a><span style="padding-left: 10px;">Section 16.19  )quit</span><br/>
+<a href="section-16.3.xhtml#chapter-16-14">ugSysCmdfin</a><span style="padding-left: 10px;">Section 16.3  )boot</span><br/>
+<a href="section-16.25.xhtml#chapter-16-169">ugSysCmdfin</a><span style="padding-left: 10px;">Section 16.25  )system</span><br/>
+<a href="section-16.10.xhtml#chapter-16-68">ugSysCmdfin</a><span style="padding-left: 10px;">Section 16.10  )fin</span><br/>
+<a href="section-16.14.xhtml#chapter-16-104">ugSysCmdframe</a><span style="padding-left: 10px;">Section 16.14  )library</span><br/>
+<a href="section-16.11.xhtml#chapter-16-72">ugSysCmdframe</a><span style="padding-left: 10px;">Section 16.11  )frame</span><br/>
+<a href="section-16.13.xhtml#chapter-16-96">ugSysCmdframe</a><span style="padding-left: 10px;">Section 16.13  )history</span><br/>
+<a href="section-16.12.xhtml#chapter-16-86">ugSysCmdhelp</a><span style="padding-left: 10px;">Section 16.12  )help</span><br/>
+<a href="section-16.18.xhtml#chapter-16-124">ugSysCmdhistory</a><span style="padding-left: 10px;">Section 16.18  )pquit</span><br/>
+<a href="section-16.19.xhtml#chapter-16-134">ugSysCmdhistory</a><span style="padding-left: 10px;">Section 16.19  )quit</span><br/>
+<a href="section-16.20.xhtml#chapter-16-143">ugSysCmdhistory</a><span style="padding-left: 10px;">Section 16.20  )read</span><br/>
+<a href="section-16.27.xhtml#chapter-16-180">ugSysCmdhistory</a><span style="padding-left: 10px;">Section 16.27  )undo</span><br/>
+<a href="section-16.4.xhtml#chapter-16-29">ugSysCmdhistory</a><span style="padding-left: 10px;">Section 16.4  )cd</span><br/>
+<a href="section-16.6.xhtml#chapter-16-40">ugSysCmdhistory</a><span style="padding-left: 10px;">Section 16.6  )clear</span><br/>
+<a href="section-16.8.xhtml#chapter-16-54">ugSysCmdhistory</a><span style="padding-left: 10px;">Section 16.8  )display</span><br/>
+<a href="section-16.11.xhtml#chapter-16-84">ugSysCmdhistory</a><span style="padding-left: 10px;">Section 16.11  )frame</span><br/>
+<a href="section-16.13.xhtml#chapter-16-88">ugSysCmdhistory</a><span style="padding-left: 10px;">Section 16.13  )history</span><br/>
+<a href="section-16.14.xhtml#chapter-16-100">ugSysCmdlibrary</a><span style="padding-left: 10px;">Section 16.14  )library</span><br/>
+<a href="section-16.4.xhtml#chapter-16-30">ugSysCmdlibrary</a><span style="padding-left: 10px;">Section 16.4  )cd</span><br/>
+<a href="section-16.7.xhtml#chapter-16-48">ugSysCmdlibrary</a><span style="padding-left: 10px;">Section 16.7  )compile</span><br/>
+<a href="section-16.15.xhtml#chapter-16-106">ugSysCmdlisp</a><span style="padding-left: 10px;">Section 16.15  )lisp</span><br/>
+<a href="section-16.17.xhtml#chapter-16-118">ugSysCmdlisp</a><span style="padding-left: 10px;">Section 16.17  )trace</span><br/>
+<a href="section-16.3.xhtml#chapter-16-15">ugSysCmdlisp</a><span style="padding-left: 10px;">Section 16.3  )boot</span><br/>
+<a href="section-16.25.xhtml#chapter-16-170">ugSysCmdlisp</a><span style="padding-left: 10px;">Section 16.25  )system</span><br/>
+<a href="section-16.26.xhtml#chapter-16-176">ugSysCmdlisp</a><span style="padding-left: 10px;">Section 16.26  )trace</span><br/>
+<a href="section-16.16.xhtml#chapter-16-111">ugSysCmdload</a><span style="padding-left: 10px;">Section 16.16  )load</span><br/>
+<a href="section-16.17.xhtml#chapter-16-115">ugSysCmdltrace</a><span style="padding-left: 10px;">Section 16.17  )trace</span><br/>
+<a href="section-16.26.xhtml#chapter-16-177">ugSysCmdltrace</a><span style="padding-left: 10px;">Section 16.26  )trace</span><br/>
+<a href="section-16.18.xhtml#chapter-16-120">ugSysCmdpquit</a><span style="padding-left: 10px;">Section 16.18  )pquit</span><br/>
+<a href="section-16.19.xhtml#chapter-16-136">ugSysCmdpquit</a><span style="padding-left: 10px;">Section 16.19  )quit</span><br/>
+<a href="section-16.25.xhtml#chapter-16-171">ugSysCmdpquit</a><span style="padding-left: 10px;">Section 16.25  )system</span><br/>
+<a href="section-16.5.xhtml#chapter-16-36">ugSysCmdpquit</a><span style="padding-left: 10px;">Section 16.5  )close</span><br/>
+<a href="section-16.10.xhtml#chapter-16-70">ugSysCmdpquit</a><span style="padding-left: 10px;">Section 16.10  )fin</span><br/>
+<a href="section-16.18.xhtml#chapter-16-126">ugSysCmdquit</a><span style="padding-left: 10px;">Section 16.18  )pquit</span><br/>
+<a href="section-16.19.xhtml#chapter-16-128">ugSysCmdquit</a><span style="padding-left: 10px;">Section 16.19  )quit</span><br/>
+<a href="section-16.21.xhtml#chapter-16-150">ugSysCmdquit</a><span style="padding-left: 10px;">Section 16.21  )set</span><br/>
+<a href="section-16.25.xhtml#chapter-16-172">ugSysCmdquit</a><span style="padding-left: 10px;">Section 16.25  )system</span><br/>
+<a href="section-16.5.xhtml#chapter-16-35">ugSysCmdquit</a><span style="padding-left: 10px;">Section 16.5  )close</span><br/>
+<a href="section-16.10.xhtml#chapter-16-71">ugSysCmdquit</a><span style="padding-left: 10px;">Section 16.10  )fin</span><br/>
+<a href="section-16.20.xhtml#chapter-16-138">ugSysCmdread</a><span style="padding-left: 10px;">Section 16.20  )read</span><br/>
+<a href="section-16.4.xhtml#chapter-16-31">ugSysCmdread</a><span style="padding-left: 10px;">Section 16.4  )cd</span><br/>
+<a href="section-16.9.xhtml#chapter-16-67">ugSysCmdread</a><span style="padding-left: 10px;">Section 16.9  )edit</span><br/>
+<a href="section-16.13.xhtml#chapter-16-97">ugSysCmdread</a><span style="padding-left: 10px;">Section 16.13  )history</span><br/>
+<a href="section-16.14.xhtml#chapter-16-105">ugSysCmdset</a><span style="padding-left: 10px;">Section 16.14  )library</span><br/>
+<a href="section-16.21.xhtml#chapter-16-144">ugSysCmdset</a><span style="padding-left: 10px;">Section 16.21  )set</span><br/>
+<a href="section-16.22.xhtml#chapter-16-154">ugSysCmdset</a><span style="padding-left: 10px;">Section 16.22  )show</span><br/>
+<a href="section-16.3.xhtml#chapter-16-16">ugSysCmdset</a><span style="padding-left: 10px;">Section 16.3  )boot</span><br/>
+<a href="section-16.24.xhtml#chapter-16-164">ugSysCmdset</a><span style="padding-left: 10px;">Section 16.24  )synonym</span><br/>
+<a href="section-16.28.xhtml#chapter-16-194">ugSysCmdset</a><span style="padding-left: 10px;">Section 16.28  )what</span><br/>
+<a href="section-16.8.xhtml#chapter-16-55">ugSysCmdset</a><span style="padding-left: 10px;">Section 16.8  )display</span><br/>
+<a href="section-16.11.xhtml#chapter-16-85">ugSysCmdset</a><span style="padding-left: 10px;">Section 16.11  )frame</span><br/>
+<a href="section-16.13.xhtml#chapter-16-98">ugSysCmdset</a><span style="padding-left: 10px;">Section 16.13  )history</span><br/>
+<a href="section-16.22.xhtml#chapter-16-151">ugSysCmdshow</a><span style="padding-left: 10px;">Section 16.22  )show</span><br/>
+<a href="section-16.28.xhtml#chapter-16-195">ugSysCmdshow</a><span style="padding-left: 10px;">Section 16.28  )what</span><br/>
+<a href="section-16.8.xhtml#chapter-16-56">ugSysCmdshow</a><span style="padding-left: 10px;">Section 16.8  )display</span><br/>
+<a href="section-16.23.xhtml#chapter-16-156">ugSysCmdspool</a><span style="padding-left: 10px;">Section 16.23  )spool</span><br/>
+<a href="section-16.4.xhtml#chapter-16-32">ugSysCmdspool</a><span style="padding-left: 10px;">Section 16.4  )cd</span><br/>
+<a href="section-16.24.xhtml#chapter-16-162">ugSysCmdsynonym</a><span style="padding-left: 10px;">Section 16.24  )synonym</span><br/>
+<a href="section-16.15.xhtml#chapter-16-108">ugSysCmdsystem</a><span style="padding-left: 10px;">Section 16.15  )lisp</span><br/>
+<a href="section-16.18.xhtml#chapter-16-127">ugSysCmdsystem</a><span style="padding-left: 10px;">Section 16.18  )pquit</span><br/>
+<a href="section-16.19.xhtml#chapter-16-137">ugSysCmdsystem</a><span style="padding-left: 10px;">Section 16.19  )quit</span><br/>
+<a href="section-16.25.xhtml#chapter-16-166">ugSysCmdsystem</a><span style="padding-left: 10px;">Section 16.25  )system</span><br/>
+<a href="section-16.3.xhtml#chapter-16-17">ugSysCmdsystem</a><span style="padding-left: 10px;">Section 16.3  )boot</span><br/>
+<a href="section-16.9.xhtml#chapter-16-65">ugSysCmdsystem</a><span style="padding-left: 10px;">Section 16.9  )edit</span><br/>
+<a href="section-16.17.xhtml#chapter-16-119">ugSysCmdtrace</a><span style="padding-left: 10px;">Section 16.17  )trace</span><br/>
+<a href="section-16.26.xhtml#chapter-16-173">ugSysCmdtrace</a><span style="padding-left: 10px;">Section 16.26  )trace</span><br/>
+<a href="section-16.27.xhtml#chapter-16-178">ugSysCmdundo</a><span style="padding-left: 10px;">Section 16.27  )undo</span><br/>
+<a href="section-16.6.xhtml#chapter-16-41">ugSysCmdundo</a><span style="padding-left: 10px;">Section 16.6  )clear</span><br/>
+<a href="section-16.13.xhtml#chapter-16-99">ugSysCmdundo</a><span style="padding-left: 10px;">Section 16.13  )history</span><br/>
+<a href="section-16.22.xhtml#chapter-16-155">ugSysCmdwhat</a><span style="padding-left: 10px;">Section 16.22  )show</span><br/>
+<a href="section-16.24.xhtml#chapter-16-165">ugSysCmdwhat</a><span style="padding-left: 10px;">Section 16.24  )synonym</span><br/>
+<a href="section-16.28.xhtml#chapter-16-181">ugSysCmdwhat</a><span style="padding-left: 10px;">Section 16.28  )what</span><br/>
+<a href="section-16.8.xhtml#chapter-16-57">ugSysCmdwhat</a><span style="padding-left: 10px;">Section 16.8  )display</span><br/>
+<a href="section-15.2.xhtml#chapter-15-1">ugWhatsNewAsharp</a><span style="padding-left: 10px;">Section 15.2  The New Axiom Library Compiler</span><br/>
+<a href="section-15.7.xhtml#chapter-15-36">ugWhatsNewDocumentation</a><span style="padding-left: 10px;">Section 15.7  Documentation</span><br/>
+<a href="section-15.6.xhtml#chapter-15-35">ugWhatsNewHyperDoc</a><span style="padding-left: 10px;">Section 15.6  HyperTex</span><br/>
+<a href="section-15.1.xhtml#chapter-15-0">ugWhatsNewImportant</a><span style="padding-left: 10px;">Section 15.1  Important Things to Read First</span><br/>
+<a href="section-15.4.xhtml#chapter-15-33">ugWhatsNewLanguage</a><span style="padding-left: 10px;">Section 15.4  Interactive Front-end and Language</span><br/>
+<a href="section-15.5.xhtml#chapter-15-34">ugWhatsNewLibrary</a><span style="padding-left: 10px;">Section 15.5  Library</span><br/>
+<a href="section-16.27.xhtml#chapter-16-179">undo</a><span style="padding-left: 10px;">Section 16.27  )undo</span><br/>
+<a href="section-2.5.xhtml#chapter-2-43">union:difference from record</a><span style="padding-left: 10px;">Section 2.5  Unions</span><br/>
+<a href="section-2.5.xhtml#chapter-2-40">union:selector</a><span style="padding-left: 10px;">Section 2.5  Unions</span><br/>
+<a href="section-2.5.xhtml#chapter-2-32">union</a><span style="padding-left: 10px;">Section 2.5  Unions</span><br/>
+<a href="section-9.71.xhtml#chapter-9-14">union</a><span style="padding-left: 10px;">Section 9.71  Set</span><br/>
+<a href="section-9.39.xhtml#chapter-9-32">univariateSolve</a><span style="padding-left: 10px;">Section 9.39  LexTriangularPackage</span><br/>
+<a href="section-9.91.xhtml#chapter-9-58">univariateSolve</a><span style="padding-left: 10px;">Section 9.91  ZeroDimensionalSolvePackage</span><br/>
+<a href="section-9.91.xhtml#chapter-9-68">univariateSolve</a><span style="padding-left: 10px;">Section 9.91  ZeroDimensionalSolvePackage</span><br/>
+<a href="section-9.77.xhtml#chapter-9-68">upperCase!</a><span style="padding-left: 10px;">Section 9.77  String</span><br/>
+<a href="section-9.8.xhtml#chapter-9-51">upperCase</a><span style="padding-left: 10px;">Section 9.8  Character</span><br/>
+<a href="section-9.77.xhtml#chapter-9-66">upperCase</a><span style="padding-left: 10px;">Section 9.77  String</span><br/>
+<a href="section-14.3.xhtml#chapter-14-15">user-level</a><span style="padding-left: 10px;">Section 14.3  Miscellaneous Features of Browse</span><br/>
+<a href="section-14.3.xhtml#chapter-14-16">user-level</a><span style="padding-left: 10px;">Section 14.3  Miscellaneous Features of Browse</span><br/>
+<a href="section-16.28.xhtml#chapter-16-185">user-level</a><span style="padding-left: 10px;">Section 16.28  )what</span><br/>
+<a href="section-16.1.xhtml#chapter-16-3">user-level</a><span style="padding-left: 10px;">Section 16.1  Introduction</span><br/>
+<a href="section-7.2.xhtml#chapter-7-144">var1Steps</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-146">var2Steps</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-6.16.xhtml#chapter-6-51">variable:fluid</a><span style="padding-left: 10px;">Section 6.16  Free and Local Variables</span><br/>
+<a href="section-6.16.xhtml#chapter-6-46">variable:free</a><span style="padding-left: 10px;">Section 6.16  Free and Local Variables</span><br/>
+<a href="section-6.16.xhtml#chapter-6-47">variable:global</a><span style="padding-left: 10px;">Section 6.16  Free and Local Variables</span><br/>
+<a href="section-6.16.xhtml#chapter-6-49">variable:local</a><span style="padding-left: 10px;">Section 6.16  Free and Local Variables</span><br/>
+<a href="section-1.3.xhtml#chapter-1-15">variable:naming</a><span style="padding-left: 10px;">Section 1.3  The Axiom Language</span><br/>
+<a href="section-9.70.xhtml#chapter-9-8">variable</a><span style="padding-left: 10px;">Section 9.70  SegmentBinding</span><br/>
+<a href="section-9.63.xhtml#chapter-9-67">variables</a><span style="padding-left: 10px;">Section 9.63  Polynomial</span><br/>
+<a href="section-9.83.xhtml#chapter-9-26">vectorise</a><span style="padding-left: 10px;">Section 9.83  UnivariatePolynomial</span><br/>
+<a href="section-9.52.xhtml#chapter-9-98">vertConcat</a><span style="padding-left: 10px;">Section 9.52  Matrix</span><br/>
+<a href="section-16.9.xhtml#chapter-16-61">vi</a><span style="padding-left: 10px;">Section 16.9  )edit</span><br/>
+<a href="section-7.0.xhtml#chapter-7-1">viewport</a><span style="padding-left: 10px;">Section 7.0 Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-41">weight</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-9.60.xhtml#chapter-9-14">weight</a><span style="padding-left: 10px;">Section 9.60  OrderlyDifferentialPolynomial</span><br/>
+<a href="section-9.60.xhtml#chapter-9-12">weights</a><span style="padding-left: 10px;">Section 9.60  OrderlyDifferentialPolynomial</span><br/>
+<a href="section-16.28.xhtml#chapter-16-183">what categories</a><span style="padding-left: 10px;">Section 16.28  )what</span><br/>
+<a href="section-16.28.xhtml#chapter-16-184">what commands</a><span style="padding-left: 10px;">Section 16.28  )what</span><br/>
+<a href="section-2.12.xhtml#chapter-2-78">what domain</a><span style="padding-left: 10px;">Section 2.12  Commands for Snooping</span><br/>
+<a href="section-16.28.xhtml#chapter-16-187">what domains</a><span style="padding-left: 10px;">Section 16.28  )what</span><br/>
+<a href="section-2.12.xhtml#chapter-2-77">what operation</a><span style="padding-left: 10px;">Section 2.12  Commands for Snooping</span><br/>
+<a href="section-16.28.xhtml#chapter-16-188">what operations</a><span style="padding-left: 10px;">Section 16.28  )what</span><br/>
+<a href="section-16.28.xhtml#chapter-16-189">what packages</a><span style="padding-left: 10px;">Section 16.28  )what</span><br/>
+<a href="section-2.2.xhtml#chapter-2-25">what packages</a><span style="padding-left: 10px;">Section 2.2  Writing Types and Modes</span><br/>
+<a href="section-2.12.xhtml#chapter-2-79">what packages</a><span style="padding-left: 10px;">Section 2.12  Commands for Snooping</span><br/>
+<a href="section-16.28.xhtml#chapter-16-190">what synonym</a><span style="padding-left: 10px;">Section 16.28  )what</span><br/>
+<a href="section-16.28.xhtml#chapter-16-191">what things</a><span style="padding-left: 10px;">Section 16.28  )what</span><br/>
+<a href="section-16.28.xhtml#chapter-16-182">what</a><span style="padding-left: 10px;">Section 16.28  )what</span><br/>
+<a href="section-2.2.xhtml#chapter-2-24">what</a><span style="padding-left: 10px;">Section 2.2  Writing Types and Modes</span><br/>
+<a href="section-2.12.xhtml#chapter-2-76">what</a><span style="padding-left: 10px;">Section 2.12  Commands for Snooping</span><br/>
+<a href="section-11.2.xhtml#chapter-11-9">where</a><span style="padding-left: 10px;">Section 11.2  Syntax</span><br/>
+<a href="section-13.2.xhtml#chapter-13-0">where</a><span style="padding-left: 10px;">Section 13.2  Definitions</span><br/>
+<a href="section-5.4.xhtml#chapter-5-36">while</a><span style="padding-left: 10px;">Section 5.4  Loops</span><br/>
+<a href="section-5.4.xhtml#chapter-5-38">while</a><span style="padding-left: 10px;">Section 5.4  Loops</span><br/>
+<a href="section-9.61.xhtml#chapter-9-34">wholePart</a><span style="padding-left: 10px;">Section 9.61  PartialFraction</span><br/>
+<a href="section-9.65.xhtml#chapter-9-91">wholeRagits</a><span style="padding-left: 10px;">Section 9.65  RadixExpansion</span><br/>
+<a href="section-1.1.xhtml#chapter-1-5">window</a><span style="padding-left: 10px;">Section 1.1  Starting Up and Winding Down</span><br/>
+<a href="section-11.2.xhtml#chapter-11-8">with</a><span style="padding-left: 10px;">Section 11.2  Syntax</span><br/>
+<a href="section-12.12.xhtml#chapter-12-31">with</a><span style="padding-left: 10px;">Section 12.12  Anonymous Categories</span><br/>
+<a href="section-12.1.xhtml#chapter-12-6">with</a><span style="padding-left: 10px;">Section 12.1  Definitions</span><br/>
+<a href="section-12.2.xhtml#chapter-12-8">with</a><span style="padding-left: 10px;">Section 12.2  Exports</span><br/>
+<a href="section-9.25.xhtml#chapter-9-76">writable?</a><span style="padding-left: 10px;">Section 9.25  FileName</span><br/>
+<a href="section-7.2.xhtml#chapter-7-203">write</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-265">write</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.2.xhtml#chapter-7-267">write</a><span style="padding-left: 10px;">Section 7.2  Three-Dimensional Graphics</span><br/>
+<a href="section-7.1.xhtml#chapter-7-90">write</a><span style="padding-left: 10px;">Section 7.1  Two-Dimensional Graphics</span><br/>
+<a href="section-9.81.xhtml#chapter-9-118">write</a><span style="padding-left: 10px;">Section 9.81  TextFile</span><br/>
+<a href="section-9.38.xhtml#chapter-9-6">write</a><span style="padding-left: 10px;">Section 9.38  KeyedAccessFile</span><br/>
+<a href="section-9.24.xhtml#chapter-9-66">write</a><span style="padding-left: 10px;">Section 9.24  File</span><br/>
+<a href="section-9.81.xhtml#chapter-9-114">writeLine</a><span style="padding-left: 10px;">Section 9.81  TextFile</span><br/>
+<a href="section-9.72.xhtml#chapter-9-42">xor</a><span style="padding-left: 10px;">Section 9.72  SingleInteger</span><br/>
+<a href="section-9.22.xhtml#chapter-9-36">zero?</a><span style="padding-left: 10px;">Section 9.22  Factored</span><br/>
+<a href="section-9.28.xhtml#chapter-9-36">zero?</a><span style="padding-left: 10px;">Section 9.28  Fraction</span><br/>
+<a href="section-9.34.xhtml#chapter-9-58">zero?</a><span style="padding-left: 10px;">Section 9.34  Integer</span><br/>
+<a href="section-9.39.xhtml#chapter-9-20">zeroDimensional?</a><span style="padding-left: 10px;">Section 9.39  LexTriangularPackage</span><br/>
+<a href="section-9.39.xhtml#chapter-9-28">zeroSetSplit</a><span style="padding-left: 10px;">Section 9.39  LexTriangularPackage</span><br/>
+<a href="section-9.91.xhtml#chapter-9-64">zeroSetSplit</a><span style="padding-left: 10px;">Section 9.91  ZeroDimensionalSolvePackage</span><br/>
+<a href="section-9.91.xhtml#chapter-9-66">zeroSetSplit</a><span style="padding-left: 10px;">Section 9.91  ZeroDimensionalSolvePackage</span><br/>
+<a href="section-10.2.xhtml#chapter-10-3">zoom</a><span style="padding-left: 10px;">Section 10.2  A Ribbon Program</span><br/>
+<a href="section-8.14.xhtml#chapter-8-233">zygote</a><span style="padding-left: 10px;">Section 8.14  Non-Associative Algebras and Modelling Genetic Laws</span><br/>
+</body>
+</html>
\ No newline at end of file
diff --git a/src/axiom-website/hyperdoc/axbook/bookax1.js b/src/axiom-website/hyperdoc/axbook/bookax1.js
new file mode 100644
index 0000000..c7d676e
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/bookax1.js
@@ -0,0 +1,90 @@
+/*
+ * 
+ * 
+ * 
+ * COPYRIGHT : (C) 2006 Arthur C. Ralfs
+ */
+
+var Num;
+
+function init() {
+}
+
+function makeRequest(stringNum) {
+    Num = stringNum;
+    http_request = new XMLHttpRequest();	 
+    var command = document.getElementById('comm'+stringNum).value;
+    http_request.open('POST', 'http://127.0.0.1:8085', true);
+    http_request.onreadystatechange = handleResponse;
+//    http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
+//    http_request.send("command="+encodeURIComponent(command));
+   http_request.setRequestHeader('Content-Type', 'text/plain');
+   http_request.send("command="+command);
+}
+
+function handleResponse() {
+    if (http_request.readyState == 4) {
+	if (http_request.status == 200) {
+            stringNum = Num;
+// get the appropriate boxes
+	    spadCommBox = document.getElementById('spadComm'+stringNum);
+	    mathAnsBox = document.getElementById('mathAns'+stringNum);
+// test to see if this is virgin, i.e. see if mathAns is empty and if so
+// make a restore button
+            if ( !mathAnsBox.hasChildNodes() ) {
+                restorForm = document.createElement('form');
+		restorForm.setAttribute("id","formRestor"+stringNum);
+		restorForm.setAttribute("action","javascript:restorComm('"+stringNum+"')");
+	        restorBut = document.createElement('input');
+		restorBut.setAttribute('type','submit');
+		restorBut.setAttribute('value','restore');
+		restorBut.setAttribute('class','restore');
+		restorForm.appendChild(restorBut);
+		spadCommBox.insertBefore(restorForm,document.getElementById('commSav'+stringNum));
+	    }
+// remove previous mathAns box
+	    spadCommBox.removeChild(document.getElementById('mathAns'+stringNum));
+
+// add new mathAns elememt
+            mathAnsBox =
+            document.createElementNS('http://www.w3.org/1999/xhtml', 'div');
+	    mathAnsBox.setAttribute('id', 'mathAns'+stringNum);
+	    spadCommBox.appendChild(mathAnsBox);
+
+// stick response in div=mathBox
+	    var mathString = http_request.responseText;
+            var mathRange = document.createRange();
+	    var mathBox = document.createElementNS('http://www.w3.org/1999/xhtml','div');
+            mathRange.selectNodeContents(mathBox);
+            var mathFragment = mathRange.createContextualFragment(mathString);
+            mathBox.appendChild(mathFragment);
+// set id on mathBox
+	    var stepNum = mathBox.firstChild.firstChild.data;
+	    mathBox.setAttribute('id', 'step'+stepNum);
+	    mathBox.setAttribute('class', 'mathbox');
+
+// insert everything into the document
+
+	    mathAnsBox.appendChild(mathBox);
+
+// delete linenum box
+//            mathBox.removeChild(mathBox.firstChild);
+            mathBox.firstChild.removeChild(mathBox.firstChild.firstChild);
+
+	} else
+	{
+	    alert('There was a problem with the request.'+ http_request.statusText);
+	}
+    }
+}
+
+function restorComm(stringNum) {
+//restore original command
+    document.getElementById('comm'+stringNum).value =
+    document.getElementById('commSav'+stringNum).firstChild.data;
+//remove added mathBox
+    mathAnsBox = document.getElementById('mathAns'+stringNum);
+    mathAnsBox.removeChild(mathAnsBox.firstChild);
+//remove restore button
+    document.getElementById('spadComm'+stringNum).removeChild(document.getElementById('formRestor'+stringNum));
+}
\ No newline at end of file
diff --git a/src/axiom-website/hyperdoc/axbook/chapter-contents-0.xhtml b/src/axiom-website/hyperdoc/axbook/chapter-contents-0.xhtml
new file mode 100644
index 0000000..87f2919
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/chapter-contents-0.xhtml
@@ -0,0 +1,73 @@
+<?xml version="1.0" ?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
+"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [
+<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
+]>
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:xlink="http://www.w3.org/1999/xlink" >
+
+
+  <head>
+    <title>Chapter0</title>
+    <link rel="stylesheet" type="text/css" href="graphicstyle.css" />
+    <script type="text/javascript" src="bookax1.js" />
+  </head>
+
+  <body>
+<h3>Chapter 0: Introduction to Axiom</h3>
+<a href="section-0.1.xhtml">0.1 Introduction to Axiom</a><br/>
+<a href="section-0.1.xhtml#subsec-0.1.1" class="subseccontents">0.1.1 Symbolic Computation</a><br/>
+<a href="section-0.1.xhtml#subsec-0.1.2" class="subseccontents">0.1.2 Numeric Computation</a><br/>
+<a href="section-0.1.xhtml#subsec-0.1.3" class="subseccontents">0.1.3 Graphics</a><br/>
+<a href="section-0.1.xhtml#subsec-0.1.4" class="subseccontents">0.1.4 HyperDoc</a><br/>
+<a href="section-0.1.xhtml#subsec-0.1.5" class="subseccontents">0.1.5 Interactive Programming </a><br/>
+<a href="section-0.1.xhtml#subsec-0.1.6" class="subseccontents">0.1.6 Data Structures</a><br/>
+<a href="section-0.1.xhtml#subsec-0.1.7" class="subseccontents">0.1.7 Mathematical Structures</a><br/>
+<a href="section-0.1.xhtml#subsec-0.1.8" class="subseccontents">0.1.8 Pattern Matching</a><br/>
+<a href="section-0.1.xhtml#subsec-0.1.9" class="subseccontents">0.1.9 Polymorphic Algorithms</a><br/>
+<a href="section-0.1.xhtml#subsec-0.1.10" class="subseccontents">0.1.10 Extensibility</a><br/>
+<a href="section-0.2.xhtml">0.2 A Technical Introduction</a><br/>
+<a href="section-0.2.xhtml#subsec-0.2.1" class="subseccontents">0.2.1 Types are Defined by Abstract Datatype Programs</a><br/>
+<a href="section-0.2.xhtml#subsec-0.2.2" class="subseccontents">0.2.2 The Type of Basic Objects is a Domain or Subdomain</a><br/>
+<a href="section-0.2.xhtml#subsec-0.2.3" class="subseccontents">0.2.3 Domains Have Types Called Categories</a><br/>
+<a href="section-0.2.xhtml#subsec-0.2.4" class="subseccontents">0.2.4 Operations Can Refer To Abstract Types</a><br/>
+<a href="section-0.2.xhtml#subsec-0.2.5" class="subseccontents">0.2.5 Categories Form Hierarchies</a><br/>
+<a href="section-0.2.xhtml#subsec-0.2.6" class="subseccontents">0.2.6 Domains Belong to Categories by Assertion</a><br/>
+<a href="section-0.2.xhtml#subsec-0.2.7" class="subseccontents">0.2.7 Packages Are Clusters of Polymorphic Operations</a><br/>
+<a href="section-0.2.xhtml#subsec-0.2.8" class="subseccontents">0.2.8 The Interpreter Builds Domains Dynamically</a><br/>
+<a href="section-0.2.xhtml#subsec-0.2.9" class="subseccontents">0.2.9 Axiom Code is Compiled</a><br/>
+<a href="section-0.2.xhtml#subsec-0.2.10" class="subseccontents">0.2.10 Axiom is Extensible</a><br/>
+<a href="section-0.3.xhtml">0.3 Using Axiom as a Pocket Calculator</a><br/>
+<a href="section-0.3.xhtml#subsec-0.3.1" class="subseccontents">0.3.1 Basic Arithmetic</a><br/>
+<a href="section-0.3.xhtml#subsec-0.3.2" class="subseccontents">0.3.2 Type Conversion</a><br/>
+<a href="section-0.3.xhtml#subsec-0.3.3" class="subseccontents">0.3.3 Useful Functions</a><br/>
+<a href="section-0.4.xhtml">0.4 Using Axiom as a Symbolic Calculator</a><br/>
+<a href="section-0.4.xhtml#subsec-0.4.1" class="subseccontents">0.4.1 Expressions Involving Symbols</a><br/>
+<a href="section-0.4.xhtml#subsec-0.4.2" class="subseccontents">0.4.2 Complex Numbers</a><br/>
+<a href="section-0.4.xhtml#subsec-0.4.3" class="subseccontents">0.4.3 Number Representations</a><br/>
+<a href="section-0.4.xhtml#subsec-0.4.4" class="subseccontents">0.4.4 Modular Arithmetic</a><br/>
+<a href="section-0.5.xhtml">0.5 General Points about Axiom</a><br/>
+<a href="section-0.5.xhtml#subsec-0.5.1" class="subseccontents">0.5.1 Computation Without Output</a><br/>
+<a href="section-0.5.xhtml#subsec-0.5.2" class="subseccontents">0.5.2 Accessing Earlier Results</a><br/>
+<a href="section-0.5.xhtml#subsec-0.5.3" class="subseccontents">0.5.3 Splitting Expressions Over Several Lines</a><br/>
+<a href="section-0.5.xhtml#subsec-0.5.4" class="subseccontents">0.5.4 Comments and Descriptions</a><br/>
+<a href="section-0.5.xhtml#subsec-0.5.5" class="subseccontents">0.5.5 Control of Result Types</a><br/>
+<a href="section-0.6.xhtml">0.6 Data Structures in Axiom</a><br/>
+<a href="section-0.6.xhtml#subsec-0.6.1" class="subseccontents">0.6.1 Lists</a><br/>
+<a href="section-0.6.xhtml#subsec-0.6.2" class="subseccontents">0.6.2 Segmented Lists</a><br/>
+<a href="section-0.6.xhtml#subsec-0.6.3" class="subseccontents">0.6.3 Streams</a><br/>
+<a href="section-0.6.xhtml#subsec-0.6.4" class="subseccontents">0.6.4 Arrays, Vectors, Strings, and Bits</a><br/>
+<a href="section-0.6.xhtml#subsec-0.6.5" class="subseccontents">0.6.5 Flexible Arrays</a><br/>
+<a href="section-0.7.xhtml">0.7 Functions, Choices, and Loops</a><br/>
+<a href="section-0.7.xhtml#subsec-0.7.1" class="subseccontents">0.7.1 Reading Code from a File</a><br/>
+<a href="section-0.7.xhtml#subsec-0.7.2" class="subseccontents">0.7.2 Blocks</a><br/>
+<a href="section-0.7.xhtml#subsec-0.7.3" class="subseccontents">0.7.3 Functions</a><br/>
+<a href="section-0.7.xhtml#subsec-0.7.4" class="subseccontents">0.7.4 Choices</a><br/>
+<a href="section-0.7.xhtml#subsec-0.7.5" class="subseccontents">0.7.5 Loops</a><br/>
+<a href="section-0.7.xhtml#subsubsec-0.7.5.1" class="subsubseccontents">0.7.5.1 The <span class="teletype">repeat</span> loop</a><br/>
+<a href="section-0.7.xhtml#subsubsec-0.7.5.2" class="subsubseccontents">0.7.5.2 The <span class="teletype">while</span> loop</a><br/>
+<a href="section-0.7.xhtml#subsubsec-0.7.5.3" class="subsubseccontents">0.7.5.3 The <span class="teletype">for</span> loop</a><br/>
+</body>
+</html>
\ No newline at end of file
diff --git a/src/axiom-website/hyperdoc/axbook/chapter-contents-1.xhtml b/src/axiom-website/hyperdoc/axbook/chapter-contents-1.xhtml
new file mode 100644
index 0000000..dd4bd60
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/chapter-contents-1.xhtml
@@ -0,0 +1,49 @@
+<?xml version="1.0" ?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
+"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [
+<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
+]>
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:xlink="http://www.w3.org/1999/xlink" >
+
+
+  <head>
+    <title>Chapter1</title>
+    <link rel="stylesheet" type="text/css" href="graphicstyle.css" />
+    <script type="text/javascript" src="bookax1.js" />
+  </head>
+
+  <body>
+<h3>Chapter 1: An Overview of Axiom</h3>
+<a href="section-1.0.xhtml">1.0 An Overview of Axiom</a><br/>
+<a href="section-1.1.xhtml">1.1 Starting Up and Winding Down</a><br/>
+<a href="section-1.1.xhtml#subsec-1.1.1" class="subseccontents">1.1.1 Clef</a><br/>
+<a href="section-1.2.xhtml">1.2 Typographic Conventions</a><br/>
+<a href="section-1.3.xhtml">1.3 The Axiom Language</a><br/>
+<a href="section-1.3.xhtml#subsec-1.3.1" class="subseccontents">1.3.1 Arithmetic Expressions</a><br/>
+<a href="section-1.3.xhtml#subsec-1.3.2" class="subseccontents">1.3.2 Previous Results</a><br/>
+<a href="section-1.3.xhtml#subsec-1.3.3" class="subseccontents">1.3.3 Some Types</a><br/>
+<a href="section-1.3.xhtml#subsec-1.3.4" class="subseccontents">1.3.4 Symbols, Variables, Assignments, and Declarations</a><br/>
+<a href="section-1.3.xhtml#subsec-1.3.5" class="subseccontents">1.3.5 Conversion</a><br/>
+<a href="section-1.3.xhtml#subsec-1.3.6" class="subseccontents">1.3.6 Calling Functions</a><br/>
+<a href="section-1.3.xhtml#subsec-1.3.7" class="subseccontents">1.3.7 Some Predefined Macros</a><br/>
+<a href="section-1.3.xhtml#subsec-1.3.8" class="subseccontents">1.3.8 Long Lines</a><br/>
+<a href="section-1.3.xhtml#subsec-1.3.9" class="subseccontents">1.3.9 Comments</a><br/>
+<a href="section-1.4.xhtml">1.4 Numbers</a><br/>
+<a href="section-1.5.xhtml">1.5 Data Structures</a><br/>
+<a href="section-1.6.xhtml">1.6 Expanding to Higher Dimensions</a><br/>
+<a href="section-1.7.xhtml">1.7 Writing Your Own Functions</a><br/>
+<a href="section-1.8.xhtml">1.8 Polynomials</a><br/>
+<a href="section-1.9.xhtml">1.9 Limits</a><br/>
+<a href="section-1.10.xhtml">1.10 Series</a><br/>
+<a href="section-1.11.xhtml">1.11 Derivatives</a><br/>
+<a href="section-1.12.xhtml">1.12 Integration</a><br/>
+<a href="section-1.13.xhtml">1.13 Differential Equations</a><br/>
+<a href="section-1.14.xhtml">1.14 Solution of Equations</a><br/>
+<a href="section-1.15.xhtml">1.15 System Commands</a><br/>
+<a href="section-1.15.xhtml#subsec-1.15.1" class="subseccontents">1.15.1 Undo</a><br/>
+<a href="section-1.16.xhtml">1.16 Graphics</a><br/>
+</body>
+</html>
\ No newline at end of file
diff --git a/src/axiom-website/hyperdoc/axbook/chapter-contents-10.xhtml b/src/axiom-website/hyperdoc/axbook/chapter-contents-10.xhtml
new file mode 100644
index 0000000..a516778
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/chapter-contents-10.xhtml
@@ -0,0 +1,32 @@
+<?xml version="1.0" ?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
+"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [
+<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
+]>
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:xlink="http://www.w3.org/1999/xlink" >
+
+
+  <head>
+    <title>Chapter10</title>
+    <link rel="stylesheet" type="text/css" href="graphicstyle.css" />
+    <script type="text/javascript" src="bookax1.js" />
+  </head>
+
+  <body>
+<h3>Chapter 10: Interactive Programming</h3>
+<a href="section-10.0.xhtml">10.0 Interactive Programming</a><br/>
+<a href="section-10.1.xhtml">10.1 Drawing Ribbons Interactively</a><br/>
+<a href="section-10.2.xhtml">10.2 A Ribbon Program</a><br/>
+<a href="section-10.3.xhtml">10.3 Coloring and Positioning Ribbons</a><br/>
+<a href="section-10.4.xhtml">10.4 Points, Lines, and Curves</a><br/>
+<a href="section-10.5.xhtml">10.5 A Bouquet of Arrows</a><br/>
+<a href="section-10.6.xhtml">10.6 Diversion: When Things Go Wrong</a><br/>
+<a href="section-10.7.xhtml">10.7 Drawing Complex Vector Fields</a><br/>
+<a href="section-10.8.xhtml">10.8 Drawing Complex Functions</a><br/>
+<a href="section-10.9.xhtml">10.9 Functions Producing Functions</a><br/>
+<a href="section-10.10.xhtml">10.10 Automatic Newton Iteration Formulas</a><br/>
+</body>
+</html>
\ No newline at end of file
diff --git a/src/axiom-website/hyperdoc/axbook/chapter-contents-11.xhtml b/src/axiom-website/hyperdoc/axbook/chapter-contents-11.xhtml
new file mode 100644
index 0000000..ab659c3
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/chapter-contents-11.xhtml
@@ -0,0 +1,32 @@
+<?xml version="1.0" ?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
+"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [
+<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
+]>
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:xlink="http://www.w3.org/1999/xlink" >
+
+
+  <head>
+    <title>Chapter11</title>
+    <link rel="stylesheet" type="text/css" href="graphicstyle.css" />
+    <script type="text/javascript" src="bookax1.js" />
+  </head>
+
+  <body>
+<h3>Chapter 11: Packages</h3>
+<a href="section-11.0.xhtml">11.0 Packages</a><br/>
+<a href="section-11.1.xhtml">11.1 Names, Abbreviations, and File Structure</a><br/>
+<a href="section-11.2.xhtml">11.2 Syntax</a><br/>
+<a href="section-11.3.xhtml">11.3 Abstract Datatypes</a><br/>
+<a href="section-11.4.xhtml">11.4 Capsules</a><br/>
+<a href="section-11.5.xhtml">11.5 Input Files vs. Packages</a><br/>
+<a href="section-11.6.xhtml">11.6 Compiling Packages</a><br/>
+<a href="section-11.7.xhtml">11.7 Parameters</a><br/>
+<a href="section-11.8.xhtml">11.8 Conditionals</a><br/>
+<a href="section-11.9.xhtml">11.9 Testing</a><br/>
+<a href="section-11.10.xhtml">11.10 How Packages Work</a><br/>
+</body>
+</html>
\ No newline at end of file
diff --git a/src/axiom-website/hyperdoc/axbook/chapter-contents-12.xhtml b/src/axiom-website/hyperdoc/axbook/chapter-contents-12.xhtml
new file mode 100644
index 0000000..d4bb06e
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/chapter-contents-12.xhtml
@@ -0,0 +1,34 @@
+<?xml version="1.0" ?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
+"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [
+<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
+]>
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:xlink="http://www.w3.org/1999/xlink" >
+
+
+  <head>
+    <title>Chapter12</title>
+    <link rel="stylesheet" type="text/css" href="graphicstyle.css" />
+    <script type="text/javascript" src="bookax1.js" />
+  </head>
+
+  <body>
+<h3>Chapter 12: Categories</h3>
+<a href="section-12.0.xhtml">12.0 Categories</a><br/>
+<a href="section-12.1.xhtml">12.1 Definitions</a><br/>
+<a href="section-12.2.xhtml">12.2 Exports</a><br/>
+<a href="section-12.3.xhtml">12.3 Documentation</a><br/>
+<a href="section-12.4.xhtml">12.4 Hierarchies</a><br/>
+<a href="section-12.5.xhtml">12.5 Membership</a><br/>
+<a href="section-12.6.xhtml">12.6 Defaults</a><br/>
+<a href="section-12.7.xhtml">12.7 Axioms</a><br/>
+<a href="section-12.8.xhtml">12.8 Correctness</a><br/>
+<a href="section-12.9.xhtml">12.9 Attributes</a><br/>
+<a href="section-12.10.xhtml">12.10 Parameters</a><br/>
+<a href="section-12.11.xhtml">12.11 Conditionals</a><br/>
+<a href="section-12.12.xhtml">12.12 Anonymous Categories</a><br/>
+</body>
+</html>
\ No newline at end of file
diff --git a/src/axiom-website/hyperdoc/axbook/chapter-contents-13.xhtml b/src/axiom-website/hyperdoc/axbook/chapter-contents-13.xhtml
new file mode 100644
index 0000000..5634e56
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/chapter-contents-13.xhtml
@@ -0,0 +1,43 @@
+<?xml version="1.0" ?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
+"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [
+<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
+]>
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:xlink="http://www.w3.org/1999/xlink" >
+
+
+  <head>
+    <title>Chapter13</title>
+    <link rel="stylesheet" type="text/css" href="graphicstyle.css" />
+    <script type="text/javascript" src="bookax1.js" />
+  </head>
+
+  <body>
+<h3>Chapter 13: Domains</h3>
+<a href="section-13.0.xhtml">13.0 Domains</a><br/>
+<a href="section-13.1.xhtml">13.1 Domains vs. Packages</a><br/>
+<a href="section-13.2.xhtml">13.2 Definitions</a><br/>
+<a href="section-13.3.xhtml">13.3 Category Assertions</a><br/>
+<a href="section-13.4.xhtml">13.4 A Demo</a><br/>
+<a href="section-13.5.xhtml">13.5 Browse</a><br/>
+<a href="section-13.6.xhtml">13.6 Representation</a><br/>
+<a href="section-13.7.xhtml">13.7 Multiple Representations</a><br/>
+<a href="section-13.8.xhtml">13.8 Add Domain</a><br/>
+<a href="section-13.9.xhtml">13.9 Defaults</a><br/>
+<a href="section-13.10.xhtml">13.10 Origins</a><br/>
+<a href="section-13.11.xhtml">13.11 Short Forms</a><br/>
+<a href="section-13.12.xhtml">13.12 Example 1: Clifford Algebra</a><br/>
+<a href="section-13.13.xhtml">13.13 Example 2: Building A Query Facility</a><br/>
+<a href="section-13.13.xhtml#subsec-13.13.1" class="subseccontents">13.13.1 A Little Query Language</a><br/>
+<a href="section-13.13.xhtml#subsec-13.13.2" class="subseccontents">13.13.2 The Database Constructor</a><br/>
+<a href="section-13.13.xhtml#subsec-13.13.3" class="subseccontents">13.13.3 Query Equations</a><br/>
+<a href="section-13.13.xhtml#subsec-13.13.4" class="subseccontents">13.13.4 DataLists</a><br/>
+<a href="section-13.13.xhtml#subsec-13.13.5" class="subseccontents">13.13.5 Index Cards</a><br/>
+<a href="section-13.13.xhtml#subsec-13.13.6" class="subseccontents">13.13.6 Creating a Database</a><br/>
+<a href="section-13.13.xhtml#subsec-13.13.7" class="subseccontents">13.13.7 Putting It All Together</a><br/>
+<a href="section-13.13.xhtml#subsec-13.13.8" class="subseccontents">13.13.8 Example Queries</a><br/>
+</body>
+</html>
\ No newline at end of file
diff --git a/src/axiom-website/hyperdoc/axbook/chapter-contents-14.xhtml b/src/axiom-website/hyperdoc/axbook/chapter-contents-14.xhtml
new file mode 100644
index 0000000..adfd237
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/chapter-contents-14.xhtml
@@ -0,0 +1,76 @@
+<?xml version="1.0" ?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
+"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [
+<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
+]>
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:xlink="http://www.w3.org/1999/xlink" >
+
+
+  <head>
+    <title>Chapter14</title>
+    <link rel="stylesheet" type="text/css" href="graphicstyle.css" />
+    <script type="text/javascript" src="bookax1.js" />
+  </head>
+
+  <body>
+<h3>Chapter 14: Browse</h3>
+<a href="section-14.0.xhtml">14.0 Browse</a><br/>
+<a href="section-14.1.xhtml">14.1 The Front Page: Searching the Library</a><br/>
+<a href="section-14.1.xhtml#subsec-14.1.1" class="subseccontents">14.1.1 Constructors</a><br/>
+<a href="section-14.1.xhtml#subsec-14.1.2" class="subseccontents">14.1.2 Operations</a><br/>
+<a href="section-14.1.xhtml#subsec-14.1.3" class="subseccontents">14.1.3 Attributes</a><br/>
+<a href="section-14.1.xhtml#subsec-14.1.4" class="subseccontents">14.1.4 General</a><br/>
+<a href="section-14.1.xhtml#subsec-14.1.5" class="subseccontents">14.1.5 Documentation</a><br/>
+<a href="section-14.1.xhtml#subsec-14.1.6" class="subseccontents">14.1.6 Complete</a><br/>
+<a href="section-14.2.xhtml">14.2 The Constructor Page</a><br/>
+<a href="section-14.2.xhtml#subsec-14.2.1" class="subseccontents">14.2.1 Constructor Page Buttons</a><br/>
+<a href="section-14.2.xhtml#subsec-14.2.2" class="subseccontents">14.2.2 Cross Reference</a><br/>
+<a href="section-14.2.xhtml#subsubsec-14.2.2.1" class="subsubseccontents">14.2.2.1 Parents</a><br/>
+<a href="section-14.2.xhtml#subsubsec-14.2.2.2" class="subsubseccontents">14.2.2.2 Ancestors</a><br/>
+<a href="section-14.2.xhtml#subsubsec-14.2.2.3" class="subsubseccontents">14.2.2.3 Relatives</a><br/>
+<a href="section-14.2.xhtml#subsubsec-14.2.2.4" class="subsubseccontents">14.2.2.4 Dependents</a><br/>
+<a href="section-14.2.xhtml#subsubsec-14.2.2.5" class="subsubseccontents">14.2.2.5 Lineage</a><br/>
+<a href="section-14.2.xhtml#subsubsec-14.2.2.6" class="subsubseccontents">14.2.2.6 Clients</a><br/>
+<a href="section-14.2.xhtml#subsubsec-14.2.2.7" class="subsubseccontents">14.2.2.7 Benefactors</a><br/>
+<a href="section-14.2.xhtml#subsubsec-14.2.2.8" class="subsubseccontents">14.2.2.8 Children</a><br/>
+<a href="section-14.2.xhtml#subsubsec-14.2.2.9" class="subsubseccontents">14.2.2.9 Descendants</a><br/>
+<a href="section-14.2.xhtml#subsubsec-14.2.2.10" class="subsubseccontents">14.2.2.10 Domains</a><br/>
+<a href="section-14.2.xhtml#subsec-14.2.3" class="subseccontents">14.2.3 Views Of Constructors</a><br/>
+<a href="section-14.2.xhtml#subsubsec-14.2.3.1" class="subsubseccontents">14.2.3.1 names</a><br/>
+<a href="section-14.2.xhtml#subsubsec-14.2.3.2" class="subsubseccontents">14.2.3.2 abbrs</a><br/>
+<a href="section-14.2.xhtml#subsubsec-14.2.3.3" class="subsubseccontents">14.2.3.3 kinds</a><br/>
+<a href="section-14.2.xhtml#subsubsec-14.2.3.4" class="subsubseccontents">14.2.3.4 files</a><br/>
+<a href="section-14.2.xhtml#subsubsec-14.2.3.5" class="subsubseccontents">14.2.3.5 parameters</a><br/>
+<a href="section-14.2.xhtml#subsubsec-14.2.3.6" class="subsubseccontents">14.2.3.6 filter</a><br/>
+<a href="section-14.2.xhtml#subsubsec-14.2.3.7" class="subsubseccontents">14.2.3.7 documentation</a><br/>
+<a href="section-14.2.xhtml#subsubsec-14.2.3.8" class="subsubseccontents">14.2.3.8 conditions</a><br/>
+<a href="section-14.2.xhtml#subsec-14.2.4" class="subseccontents">14.2.4 Giving Parameters to Constructors</a><br/>
+<a href="section-14.3.xhtml">14.3 Miscellaneous Features of Browse</a><br/>
+<a href="section-14.3.xhtml#subsec-14.3.1" class="subseccontents">14.3.1 The Description Page for Operations</a><br/>
+<a href="section-14.3.xhtml#subsubsec-14.3.1.1" class="subsubseccontents">14.3.1.1 Arguments</a><br/>
+<a href="section-14.3.xhtml#subsubsec-14.3.1.2" class="subsubseccontents">14.3.1.2 Returns</a><br/>
+<a href="section-14.3.xhtml#subsubsec-14.3.1.3" class="subsubseccontents">14.3.1.3 Origin</a><br/>
+<a href="section-14.3.xhtml#subsubsec-14.3.1.4" class="subsubseccontents">14.3.1.4 Conditions</a><br/>
+<a href="section-14.3.xhtml#subsubsec-14.3.1.5" class="subsubseccontents">14.3.1.5 Description</a><br/>
+<a href="section-14.3.xhtml#subsubsec-14.3.1.6" class="subsubseccontents">14.3.1.6 Where</a><br/>
+<a href="section-14.3.xhtml#subsec-14.3.2" class="subseccontents">14.3.2 Views of Operations</a><br/>
+<a href="section-14.3.xhtml#subsubsec-14.3.2.1" class="subsubseccontents">14.3.2.1 names</a><br/>
+<a href="section-14.3.xhtml#subsubsec-14.3.2.2" class="subsubseccontents">14.3.2.2 filter</a><br/>
+<a href="section-14.3.xhtml#subsubsec-14.3.2.3" class="subsubseccontents">14.3.2.3 documentation</a><br/>
+<a href="section-14.3.xhtml#subsubsec-14.3.2.4" class="subsubseccontents">14.3.2.4 signatures</a><br/>
+<a href="section-14.3.xhtml#subsubsec-14.3.2.5" class="subsubseccontents">14.3.2.5 parameters</a><br/>
+<a href="section-14.3.xhtml#subsubsec-14.3.2.6" class="subsubseccontents">14.3.2.6 origins</a><br/>
+<a href="section-14.3.xhtml#subsubsec-14.3.2.7" class="subsubseccontents">14.3.2.7 conditions</a><br/>
+<a href="section-14.3.xhtml#subsubsec-14.3.2.8" class="subsubseccontents">14.3.2.8 usage</a><br/>
+<a href="section-14.3.xhtml#subsubsec-14.3.2.9" class="subsubseccontents">14.3.2.9 implementation</a><br/>
+<a href="section-14.3.xhtml#subsubsec-14.3.2.10" class="subsubseccontents">14.3.2.10 generalize</a><br/>
+<a href="section-14.3.xhtml#subsubsec-14.3.2.11" class="subsubseccontents">14.3.2.11 all domains</a><br/>
+<a href="section-14.3.xhtml#subsec-14.3.3" class="subseccontents">14.3.3 Capitalization Convention</a><br/>
+<a href="section-14.3.xhtml#subsec-14.3.4" class="subseccontents">14.3.4 Browse Options</a><br/>
+<a href="section-14.3.xhtml#subsubsec-14.3.4.1" class="subsubseccontents">14.3.4.1 Exposure</a><br/>
+<a href="section-14.3.xhtml#subsubsec-14.3.4.2" class="subsubseccontents">14.3.4.2 Threshold</a><br/>
+</body>
+</html>
\ No newline at end of file
diff --git a/src/axiom-website/hyperdoc/axbook/chapter-contents-15.xhtml b/src/axiom-website/hyperdoc/axbook/chapter-contents-15.xhtml
new file mode 100644
index 0000000..dd9a704
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/chapter-contents-15.xhtml
@@ -0,0 +1,51 @@
+<?xml version="1.0" ?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
+"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [
+<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
+]>
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:xlink="http://www.w3.org/1999/xlink" >
+
+
+  <head>
+    <title>Chapter15</title>
+    <link rel="stylesheet" type="text/css" href="graphicstyle.css" />
+    <script type="text/javascript" src="bookax1.js" />
+  </head>
+
+  <body>
+<h3>Chapter 15: What's New in Axiom Version 2.0</h3>
+<a href="section-15.0.xhtml">15.0 Axiom Packages</a><br/>
+<a href="section-15.1.xhtml">15.1 Important Things to Read First</a><br/>
+<a href="section-15.2.xhtml">15.2 The New Axiom Library Compiler</a><br/>
+<a href="section-15.3.xhtml">15.3 The NAG Library Link</a><br/>
+<a href="section-15.3.xhtml#subsec-15.3.1" class="subseccontents">15.3.1 Interpreting NAG Documentation</a><br/>
+<a href="section-15.3.xhtml#subsubsec-15.3.1.1" class="subsubseccontents">15.3.1.1 Correspondence Between Fortran and Axiom types</a><br/>
+<a href="section-15.3.xhtml#subsubsec-15.3.1.2" class="subsubseccontents">15.3.1.2 Classification of NAG parameters</a><br/>
+<a href="section-15.3.xhtml#subsubsec-15.3.1.3" class="subsubseccontents">15.3.1.3 IFAIL</a><br/>
+<a href="section-15.3.xhtml#subsec-15.3.2" class="subseccontents">15.3.2 Using the Link</a><br/>
+<a href="section-15.3.xhtml#subsec-15.3.3" class="subseccontents">15.3.3 Providing values for Argument Subprograms</a><br/>
+<a href="section-15.3.xhtml#subsubsec-15.3.3.1" class="subsubseccontents">15.3.3.1 Providing ASPs via <span class="teletype">FortranExpression</span></a><br/>
+<a href="section-15.3.xhtml#subsubsec-15.3.3.2" class="subsubseccontents">15.3.3.2 Providing ASPs via <span class="teletype">FortranCode</span></a><br/>
+<a href="section-15.3.xhtml#subsubsec-15.3.3.3" class="subsubseccontents">15.3.3.3 Providing ASPs via <span class="teletype">FileName</span></a><br/>
+<a href="section-15.3.xhtml#subsec-15.3.4" class="subseccontents">15.3.4 General Fortran-generation utilities in Axiom</a><br/>
+<a href="section-15.3.xhtml#subsubsec-15.3.4.1" class="subsubseccontents">15.3.4.1 Template Manipulation</a><br/>
+<a href="section-15.3.xhtml#subsubsec-15.3.4.2" class="subsubseccontents">15.3.4.2 Manipulating the Fortran Output Stream</a><br/>
+<a href="section-15.3.xhtml#subsubsec-15.3.4.3" class="subsubseccontents">15.3.4.3 Fortran Types</a><br/>
+<a href="section-15.3.xhtml#subsubsec-15.3.4.4" class="subsubseccontents">15.3.4.4 FortranScalarType</a><br/>
+<a href="section-15.3.xhtml#subsubsec-15.3.4.5" class="subsubseccontents">15.3.4.5 FortranType</a><br/>
+<a href="section-15.3.xhtml#subsubsec-15.3.4.6" class="subsubseccontents">15.3.4.6 SymbolTable</a><br/>
+<a href="section-15.3.xhtml#subsubsec-15.3.4.7" class="subsubseccontents">15.3.4.7 TheSymbolTable</a><br/>
+<a href="section-15.3.xhtml#subsubsec-15.3.4.8" class="subsubseccontents">15.3.4.8 Advanced Fortran Code Generation</a><br/>
+<a href="section-15.3.xhtml#subsubsec-15.3.4.9" class="subsubseccontents">15.3.4.9 Switch</a><br/>
+<a href="section-15.3.xhtml#subsubsec-15.3.4.10" class="subsubseccontents">15.3.4.10 FortranCode</a><br/>
+<a href="section-15.3.xhtml#subsubsec-15.3.4.11" class="subsubseccontents">15.3.4.11 FortranProgram</a><br/>
+<a href="section-15.3.xhtml#subsec-15.3.5" class="subseccontents">15.3.5 Some technical information</a><br/>
+<a href="section-15.4.xhtml">15.4 Interactive Front-end and Language</a><br/>
+<a href="section-15.5.xhtml">15.5 Library</a><br/>
+<a href="section-15.6.xhtml">15.6 HyperTex</a><br/>
+<a href="section-15.7.xhtml">15.7 Documentation</a><br/>
+</body>
+</html>
\ No newline at end of file
diff --git a/src/axiom-website/hyperdoc/axbook/chapter-contents-16.xhtml b/src/axiom-website/hyperdoc/axbook/chapter-contents-16.xhtml
new file mode 100644
index 0000000..57c023c
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/chapter-contents-16.xhtml
@@ -0,0 +1,50 @@
+<?xml version="1.0" ?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
+"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [
+<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
+]>
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:xlink="http://www.w3.org/1999/xlink" >
+
+
+  <head>
+    <title>Chapter16</title>
+    <link rel="stylesheet" type="text/css" href="graphicstyle.css" />
+    <script type="text/javascript" src="bookax1.js" />
+  </head>
+
+  <body>
+<h3>Chapter 16: Axiom System Commands</h3>
+<a href="section-16.0.xhtml">16.0 Axiom System Commands</a><br/>
+<a href="section-16.1.xhtml">16.1 Introduction</a><br/>
+<a href="section-16.2.xhtml">16.2 )abbreviation</a><br/>
+<a href="section-16.3.xhtml">16.3 )boot</a><br/>
+<a href="section-16.4.xhtml">16.4 )cd</a><br/>
+<a href="section-16.5.xhtml">16.5 )close</a><br/>
+<a href="section-16.6.xhtml">16.6 )clear</a><br/>
+<a href="section-16.7.xhtml">16.7 )compile</a><br/>
+<a href="section-16.8.xhtml">16.8 )display</a><br/>
+<a href="section-16.9.xhtml">16.9 )edit</a><br/>
+<a href="section-16.10.xhtml">16.10 )fin</a><br/>
+<a href="section-16.11.xhtml">16.11 )frame</a><br/>
+<a href="section-16.12.xhtml">16.12 )help</a><br/>
+<a href="section-16.13.xhtml">16.13 )history</a><br/>
+<a href="section-16.14.xhtml">16.14 )library</a><br/>
+<a href="section-16.15.xhtml">16.15 )lisp</a><br/>
+<a href="section-16.16.xhtml">16.16 )load</a><br/>
+<a href="section-16.17.xhtml">16.17 )trace</a><br/>
+<a href="section-16.18.xhtml">16.18 )pquit</a><br/>
+<a href="section-16.19.xhtml">16.19 )quit</a><br/>
+<a href="section-16.20.xhtml">16.20 )read</a><br/>
+<a href="section-16.21.xhtml">16.21 )set</a><br/>
+<a href="section-16.22.xhtml">16.22 )show</a><br/>
+<a href="section-16.23.xhtml">16.23 )spool</a><br/>
+<a href="section-16.24.xhtml">16.24 )synonym</a><br/>
+<a href="section-16.25.xhtml">16.25 )system</a><br/>
+<a href="section-16.26.xhtml">16.26 )trace</a><br/>
+<a href="section-16.27.xhtml">16.27 )undo</a><br/>
+<a href="section-16.28.xhtml">16.28 )what</a><br/>
+</body>
+</html>
\ No newline at end of file
diff --git a/src/axiom-website/hyperdoc/axbook/chapter-contents-17.xhtml b/src/axiom-website/hyperdoc/axbook/chapter-contents-17.xhtml
new file mode 100644
index 0000000..ffc5a81
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/chapter-contents-17.xhtml
@@ -0,0 +1,22 @@
+<?xml version="1.0" ?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
+"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [
+<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
+]>
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:xlink="http://www.w3.org/1999/xlink" >
+
+
+  <head>
+    <title>Chapter17</title>
+    <link rel="stylesheet" type="text/css" href="graphicstyle.css" />
+    <script type="text/javascript" src="bookax1.js" />
+  </head>
+
+  <body>
+<h3>Chapter 17: Categories</h3>
+<a href="section-17.1.xhtml">17.1 Axiom Categories</a><br/>
+</body>
+</html>
\ No newline at end of file
diff --git a/src/axiom-website/hyperdoc/axbook/chapter-contents-18.xhtml b/src/axiom-website/hyperdoc/axbook/chapter-contents-18.xhtml
new file mode 100644
index 0000000..7c20d05
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/chapter-contents-18.xhtml
@@ -0,0 +1,22 @@
+<?xml version="1.0" ?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
+"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [
+<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
+]>
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:xlink="http://www.w3.org/1999/xlink" >
+
+
+  <head>
+    <title>Chapter18</title>
+    <link rel="stylesheet" type="text/css" href="graphicstyle.css" />
+    <script type="text/javascript" src="bookax1.js" />
+  </head>
+
+  <body>
+<h3>Chapter 18: Domains</h3>
+<a href="section-18.1.xhtml">18.1 Axiom Domains</a><br/>
+</body>
+</html>
\ No newline at end of file
diff --git a/src/axiom-website/hyperdoc/axbook/chapter-contents-19.xhtml b/src/axiom-website/hyperdoc/axbook/chapter-contents-19.xhtml
new file mode 100644
index 0000000..cea3f61
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/chapter-contents-19.xhtml
@@ -0,0 +1,22 @@
+<?xml version="1.0" ?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
+"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [
+<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
+]>
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:xlink="http://www.w3.org/1999/xlink" >
+
+
+  <head>
+    <title>Chapter19</title>
+    <link rel="stylesheet" type="text/css" href="graphicstyle.css" />
+    <script type="text/javascript" src="bookax1.js" />
+  </head>
+
+  <body>
+<h3>Chapter 19: Packages</h3>
+<a href="section-19.1.xhtml">19.1 Axiom Packages</a><br/>
+</body>
+</html>
\ No newline at end of file
diff --git a/src/axiom-website/hyperdoc/axbook/chapter-contents-2.xhtml b/src/axiom-website/hyperdoc/axbook/chapter-contents-2.xhtml
new file mode 100644
index 0000000..9d42665
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/chapter-contents-2.xhtml
@@ -0,0 +1,42 @@
+<?xml version="1.0" ?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
+"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [
+<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
+]>
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:xlink="http://www.w3.org/1999/xlink" >
+
+
+  <head>
+    <title>Chapter2</title>
+    <link rel="stylesheet" type="text/css" href="graphicstyle.css" />
+    <script type="text/javascript" src="bookax1.js" />
+  </head>
+
+  <body>
+<h3>Chapter 2: Using Types and Modes</h3>
+<a href="section-2.0.xhtml">2.0 Using Types and Modes</a><br/>
+<a href="section-2.1.xhtml">2.1 The Basic Idea</a><br/>
+<a href="section-2.1.xhtml#subsec-2.1.1" class="subseccontents">2.1.1 Domain Constructors</a><br/>
+<a href="section-2.2.xhtml">2.2 Writing Types and Modes</a><br/>
+<a href="section-2.2.xhtml#subsec-2.2.1" class="subseccontents">2.2.1 Types with No Arguments</a><br/>
+<a href="section-2.2.xhtml#subsec-2.2.2" class="subseccontents">2.2.2 Types with One Argument</a><br/>
+<a href="section-2.2.xhtml#subsec-2.2.3" class="subseccontents">2.2.3 Types with More Than One Argument</a><br/>
+<a href="section-2.2.xhtml#subsec-2.2.4" class="subseccontents">2.2.4 Modes</a><br/>
+<a href="section-2.2.xhtml#subsec-2.2.5" class="subseccontents">2.2.5 Abbreviations</a><br/>
+<a href="section-2.3.xhtml">2.3 Declarations</a><br/>
+<a href="section-2.4.xhtml">2.4 Records</a><br/>
+<a href="section-2.5.xhtml">2.5 Unions</a><br/>
+<a href="section-2.5.xhtml#subsec-2.5.1" class="subseccontents">2.5.1 Unions Without Selectors</a><br/>
+<a href="section-2.5.xhtml#subsec-2.5.2" class="subseccontents">2.5.2 Unions With Selectors</a><br/>
+<a href="section-2.6.xhtml">2.6 The ``Any'' Domain</a><br/>
+<a href="section-2.7.xhtml">2.7 Conversion</a><br/>
+<a href="section-2.8.xhtml">2.8 Subdomains Again</a><br/>
+<a href="section-2.9.xhtml">2.9 Package Calling and Target Types</a><br/>
+<a href="section-2.10.xhtml">2.10 Resolving Types</a><br/>
+<a href="section-2.11.xhtml">2.11 Exposing Domains and Packages</a><br/>
+<a href="section-2.12.xhtml">2.12 Commands for Snooping</a><br/>
+</body>
+</html>
\ No newline at end of file
diff --git a/src/axiom-website/hyperdoc/axbook/chapter-contents-21.xhtml b/src/axiom-website/hyperdoc/axbook/chapter-contents-21.xhtml
new file mode 100644
index 0000000..f031bb3
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/chapter-contents-21.xhtml
@@ -0,0 +1,36 @@
+<?xml version="1.0" ?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
+"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [
+<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
+]>
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:xlink="http://www.w3.org/1999/xlink" >
+
+
+  <head>
+    <title>Chapter21</title>
+    <link rel="stylesheet" type="text/css" href="graphicstyle.css" />
+    <script type="text/javascript" src="bookax1.js" />
+  </head>
+
+  <body>
+<h3>Chapter 21: Programs for AXIOM Images</h3>
+<a href="section-21.0.xhtml">21.0 Programs for AXIOM Images</a><br/>
+<a href="section-21.1.xhtml">21.1 images1.input</a><br/>
+<a href="section-21.2.xhtml">21.2 images2.input</a><br/>
+<a href="section-21.3.xhtml">21.3 images3.input</a><br/>
+<a href="section-21.4.xhtml">21.4 images5.input</a><br/>
+<a href="section-21.5.xhtml">21.5 images6.input</a><br/>
+<a href="section-21.6.xhtml">21.6 images7.input</a><br/>
+<a href="section-21.7.xhtml">21.7 images8.input</a><br/>
+<a href="section-21.8.xhtml">21.8 conformal.input</a><br/>
+<a href="section-21.9.xhtml">21.9 tknot.input</a><br/>
+<a href="section-21.10.xhtml">21.10 ntube.input</a><br/>
+<a href="section-21.11.xhtml">21.11 dhtri.input</a><br/>
+<a href="section-21.12.xhtml">21.12 tetra.input</a><br/>
+<a href="section-21.13.xhtml">21.13 antoine.input</a><br/>
+<a href="section-21.14.xhtml">21.14 scherk.input</a><br/>
+</body>
+</html>
\ No newline at end of file
diff --git a/src/axiom-website/hyperdoc/axbook/chapter-contents-3.xhtml b/src/axiom-website/hyperdoc/axbook/chapter-contents-3.xhtml
new file mode 100644
index 0000000..69cec58
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/chapter-contents-3.xhtml
@@ -0,0 +1,31 @@
+<?xml version="1.0" ?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
+"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [
+<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
+]>
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:xlink="http://www.w3.org/1999/xlink" >
+
+
+  <head>
+    <title>Chapter3</title>
+    <link rel="stylesheet" type="text/css" href="graphicstyle.css" />
+    <script type="text/javascript" src="bookax1.js" />
+  </head>
+
+  <body>
+<h3>Chapter 3: Using HyperDoc</h3>
+<a href="section-3.0.xhtml">3.0 Using HyperDoc</a><br/>
+<a href="section-3.1.xhtml">3.1 Headings</a><br/>
+<a href="section-3.2.xhtml">3.2 Key Definitions</a><br/>
+<a href="section-3.3.xhtml">3.3 Scroll Bars</a><br/>
+<a href="section-3.4.xhtml">3.4 Input Areas</a><br/>
+<a href="section-3.5.xhtml">3.5 Radio Buttons and Toggles</a><br/>
+<a href="section-3.6.xhtml">3.6 Search Strings</a><br/>
+<a href="section-3.6.xhtml#subsec-3.6.1" class="subseccontents">3.6.1 Logical Searches</a><br/>
+<a href="section-3.7.xhtml">3.7 Example Pages</a><br/>
+<a href="section-3.8.xhtml">3.8 X Window Resources for HyperDoc</a><br/>
+</body>
+</html>
\ No newline at end of file
diff --git a/src/axiom-website/hyperdoc/axbook/chapter-contents-4.xhtml b/src/axiom-website/hyperdoc/axbook/chapter-contents-4.xhtml
new file mode 100644
index 0000000..1c458fc
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/chapter-contents-4.xhtml
@@ -0,0 +1,29 @@
+<?xml version="1.0" ?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
+"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [
+<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
+]>
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:xlink="http://www.w3.org/1999/xlink" >
+
+
+  <head>
+    <title>Chapter4</title>
+    <link rel="stylesheet" type="text/css" href="graphicstyle.css" />
+    <script type="text/javascript" src="bookax1.js" />
+  </head>
+
+  <body>
+<h3>Chapter 4: Input Files and Output Styles</h3>
+<a href="section-4.0.xhtml">4.0 Input Files and Output Styles</a><br/>
+<a href="section-4.1.xhtml">4.1 Input Files</a><br/>
+<a href="section-4.2.xhtml">4.2 The .axiom.input File</a><br/>
+<a href="section-4.3.xhtml">4.3 Common Features of Using Output Formats</a><br/>
+<a href="section-4.4.xhtml">4.4 Monospace Two-Dimensional Mathematical Format</a><br/>
+<a href="section-4.5.xhtml">4.5 TeX Format</a><br/>
+<a href="section-4.6.xhtml">4.6 IBM Script Formula Format</a><br/>
+<a href="section-4.7.xhtml">4.7 FORTRAN Format</a><br/>
+</body>
+</html>
\ No newline at end of file
diff --git a/src/axiom-website/hyperdoc/axbook/chapter-contents-5.xhtml b/src/axiom-website/hyperdoc/axbook/chapter-contents-5.xhtml
new file mode 100644
index 0000000..1ba5e56
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/chapter-contents-5.xhtml
@@ -0,0 +1,43 @@
+<?xml version="1.0" ?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
+"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [
+<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
+]>
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:xlink="http://www.w3.org/1999/xlink" >
+
+
+  <head>
+    <title>Chapter5</title>
+    <link rel="stylesheet" type="text/css" href="graphicstyle.css" />
+    <script type="text/javascript" src="bookax1.js" />
+  </head>
+
+  <body>
+<h3>Chapter 5: Overview of Interactive Language</h3>
+<a href="section-5.0.xhtml">5.0 Interactive Language</a><br/>
+<a href="section-5.1.xhtml">5.1 Immediate and Delayed Assignments</a><br/>
+<a href="section-5.2.xhtml">5.2 Blocks</a><br/>
+<a href="section-5.3.xhtml">5.3 if-then-else</a><br/>
+<a href="section-5.4.xhtml">5.4 Loops</a><br/>
+<a href="section-5.4.xhtml#subsec-5.4.1" class="subseccontents">5.4.1 Compiling vs. Interpreting Loops</a><br/>
+<a href="section-5.4.xhtml#subsec-5.4.2" class="subseccontents">5.4.2 return in Loops</a><br/>
+<a href="section-5.4.xhtml#subsec-5.4.3" class="subseccontents">5.4.3 break in Loops</a><br/>
+<a href="section-5.4.xhtml#subsec-5.4.4" class="subseccontents">5.4.4 break vs. <span class="teletype">=></span> in Loop Bodies</a><br/>
+<a href="section-5.4.xhtml#subsec-5.4.5" class="subseccontents">5.4.5 More Examples of break</a><br/>
+<a href="section-5.4.xhtml#subsec-5.4.6" class="subseccontents">5.4.6 iterate in Loops</a><br/>
+<a href="section-5.4.xhtml#subsec-5.4.7" class="subseccontents">5.4.7 while Loops</a><br/>
+<a href="section-5.4.xhtml#subsec-5.4.8" class="subseccontents">5.4.8 for Loops</a><br/>
+<a href="section-5.4.xhtml#subsec-5.4.9" class="subseccontents">5.4.9 for i in n..m repeat</a><br/>
+<a href="section-5.4.xhtml#subsec-5.4.10" class="subseccontents">5.4.10 for i in n..m by s repeat</a><br/>
+<a href="section-5.4.xhtml#subsec-5.4.11" class="subseccontents">5.4.11 for i in n.. repeat</a><br/>
+<a href="section-5.4.xhtml#subsec-5.4.12" class="subseccontents">5.4.12 for x in l repeat</a><br/>
+<a href="section-5.4.xhtml#subsec-5.4.13" class="subseccontents">5.4.13 ``Such that'' Predicates</a><br/>
+<a href="section-5.4.xhtml#subsec-5.4.14" class="subseccontents">5.4.14 Parallel Iteration</a><br/>
+<a href="section-5.4.xhtml#subsec-5.4.15" class="subseccontents">5.4.15 Mixing Loop Modifiers</a><br/>
+<a href="section-5.5.xhtml">5.5 Creating Lists and Streams with Iterators</a><br/>
+<a href="section-5.6.xhtml">5.6 An Example: Streams of Primes</a><br/>
+</body>
+</html>
\ No newline at end of file
diff --git a/src/axiom-website/hyperdoc/axbook/chapter-contents-6.xhtml b/src/axiom-website/hyperdoc/axbook/chapter-contents-6.xhtml
new file mode 100644
index 0000000..7b15b1f
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/chapter-contents-6.xhtml
@@ -0,0 +1,48 @@
+<?xml version="1.0" ?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
+"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [
+<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
+]>
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:xlink="http://www.w3.org/1999/xlink" >
+
+
+  <head>
+    <title>Chapter6</title>
+    <link rel="stylesheet" type="text/css" href="graphicstyle.css" />
+    <script type="text/javascript" src="bookax1.js" />
+  </head>
+
+  <body>
+<h3>Chapter 6: User-Defined Functions, Macros and Rules</h3>
+<a href="section-6.0.xhtml">6.0 Functions, Macros and Rules</a><br/>
+<a href="section-6.1.xhtml">6.1 Functions vs. Macros</a><br/>
+<a href="section-6.2.xhtml">6.2 Macros</a><br/>
+<a href="section-6.3.xhtml">6.3 Introduction to Functions</a><br/>
+<a href="section-6.4.xhtml">6.4 Declaring the Type of Functions</a><br/>
+<a href="section-6.5.xhtml">6.5 One-Line Functions</a><br/>
+<a href="section-6.6.xhtml">6.6 Declared vs. Undeclared Functions</a><br/>
+<a href="section-6.7.xhtml">6.7 Functions vs. Operations</a><br/>
+<a href="section-6.8.xhtml">6.8 Delayed Assignments vs. Functions with No Arguments</a><br/>
+<a href="section-6.9.xhtml">6.9 How Axiom Determines What Function to Use</a><br/>
+<a href="section-6.10.xhtml">6.10 Compiling vs. Interpreting</a><br/>
+<a href="section-6.11.xhtml">6.11 Piece-Wise Function Definitions</a><br/>
+<a href="section-6.11.xhtml#subsec-6.11.1" class="subseccontents">6.11.1 A Basic Example</a><br/>
+<a href="section-6.11.xhtml#subsec-6.11.2" class="subseccontents">6.11.2 Picking Up the Pieces</a><br/>
+<a href="section-6.11.xhtml#subsec-6.11.3" class="subseccontents">6.11.3 Predicates</a><br/>
+<a href="section-6.12.xhtml">6.12 Caching Previously Computed Results</a><br/>
+<a href="section-6.13.xhtml">6.13 Recurrence Relations</a><br/>
+<a href="section-6.14.xhtml">6.14 Making Functions from Objects</a><br/>
+<a href="section-6.15.xhtml">6.15 Functions Defined with Blocks</a><br/>
+<a href="section-6.16.xhtml">6.16 Free and Local Variables</a><br/>
+<a href="section-6.17.xhtml">6.17 Anonymous Functions</a><br/>
+<a href="section-6.17.xhtml#subsec-6.17.1" class="subseccontents">6.17.1 Some Examples</a><br/>
+<a href="section-6.17.xhtml#subsec-6.17.2" class="subseccontents">6.17.2 Declaring Anonymous Functions</a><br/>
+<a href="section-6.18.xhtml">6.18 Example: A Database</a><br/>
+<a href="section-6.19.xhtml">6.19 Example: A Famous Triangle</a><br/>
+<a href="section-6.20.xhtml">6.20 Example: Testing for Palindromes</a><br/>
+<a href="section-6.21.xhtml">6.21 Rules and Pattern Matching</a><br/>
+</body>
+</html>
\ No newline at end of file
diff --git a/src/axiom-website/hyperdoc/axbook/chapter-contents-7.xhtml b/src/axiom-website/hyperdoc/axbook/chapter-contents-7.xhtml
new file mode 100644
index 0000000..2e4cce6
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/chapter-contents-7.xhtml
@@ -0,0 +1,58 @@
+<?xml version="1.0" ?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
+"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [
+<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
+]>
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:xlink="http://www.w3.org/1999/xlink" >
+
+
+  <head>
+    <title>Chapter7</title>
+    <link rel="stylesheet" type="text/css" href="graphicstyle.css" />
+    <script type="text/javascript" src="bookax1.js" />
+  </head>
+
+  <body>
+<h3>Chapter 7: Graphics</h3>
+<a href="section-7.0.xhtml">7.0 Graphics</a><br/>
+<a href="section-7.1.xhtml">7.1 Two-Dimensional Graphics</a><br/>
+<a href="section-7.1.xhtml#subsec-7.1.1" class="subseccontents">7.1.1 Plotting Two-Dimensional Functions of One Variable</a><br/>
+<a href="section-7.1.xhtml#subsec-7.1.2" class="subseccontents">7.1.2 Plotting Two-Dimensional Parametric Plane Curves</a><br/>
+<a href="section-7.1.xhtml#subsec-7.1.3" class="subseccontents">7.1.3 Plotting Plane Algebraic Curves</a><br/>
+<a href="section-7.1.xhtml#subsec-7.1.4" class="subseccontents">7.1.4 Two-Dimensional Options</a><br/>
+<a href="section-7.1.xhtml#subsec-7.1.5" class="subseccontents">7.1.5 Color</a><br/>
+<a href="section-7.1.xhtml#subsec-7.1.6" class="subseccontents">7.1.6 Palette</a><br/>
+<a href="section-7.1.xhtml#subsec-7.1.7" class="subseccontents">7.1.7 Two-Dimensional Control-Panel</a><br/>
+<a href="section-7.1.xhtml#subsubsec-7.1.7.1" class="subsubseccontents">7.1.7.1 Transformations</a><br/>
+<a href="section-7.1.xhtml#subsubsec-7.1.7.2" class="subsubseccontents">7.1.7.2 Messages</a><br/>
+<a href="section-7.1.xhtml#subsubsec-7.1.7.3" class="subsubseccontents">7.1.7.3 Multiple Graphs</a><br/>
+<a href="section-7.1.xhtml#subsubsec-7.1.7.4" class="subsubseccontents">7.1.7.4 Buttons</a><br/>
+<a href="section-7.1.xhtml#subsec-7.1.8" class="subseccontents">7.1.8 Operations for Two-Dimensional Graphics</a><br/>
+<a href="section-7.1.xhtml#subsec-7.1.9" class="subseccontents">7.1.9 Addendum: Building Two-Dimensional Graphs</a><br/>
+<a href="section-7.1.xhtml#subsubsec-7.1.9.1" class="subsubseccontents">7.1.9.1 Creating a Two-Dimensional Viewport from a List of Points</a><br/>
+<a href="section-7.1.xhtml#subsubsec-7.1.9.2" class="subsubseccontents">7.1.9.2 Creating a Two-Dimensional Viewport of a List of Points from a File</a><br/>
+<a href="section-7.1.xhtml#subsec-7.1.10" class="subseccontents">7.1.10 Addendum: Appending a Graph to a Viewport Window Containing a Graph</a><br/>
+<a href="section-7.2.xhtml">7.2 Three-Dimensional Graphics</a><br/>
+<a href="section-7.2.xhtml#subsec-7.2.1" class="subseccontents">7.2.1 Plotting Three-Dimensional Functions of Two Variables</a><br/>
+<a href="section-7.2.xhtml#subsec-7.2.2" class="subseccontents">7.2.2 Plotting Three-Dimensional Parametric Space Curves</a><br/>
+<a href="section-7.2.xhtml#subsec-7.2.3" class="subseccontents">7.2.3 Plotting Three-Dimensional Parametric Surfaces</a><br/>
+<a href="section-7.2.xhtml#subsec-7.2.4" class="subseccontents">7.2.4 Three-Dimensional Options</a><br/>
+<a href="section-7.2.xhtml#subsec-7.2.5" class="subseccontents">7.2.5 The makeObject Command</a><br/>
+<a href="section-7.2.xhtml#subsec-7.2.6" class="subseccontents">7.2.6 Building Three-Dimensional Objects From Primitives</a><br/>
+<a href="section-7.2.xhtml#subsubsec-7.2.6.1" class="subsubseccontents">7.2.6.1 Cube Example</a><br/>
+<a href="section-7.2.xhtml#subsec-7.2.7" class="subseccontents">7.2.7 Coordinate System Transformations</a><br/>
+<a href="section-7.2.xhtml#subsec-7.2.8" class="subseccontents">7.2.8 Three-Dimensional Clipping</a><br/>
+<a href="section-7.2.xhtml#subsec-7.2.9" class="subseccontents">7.2.9 Three-Dimensional Control-Panel</a><br/>
+<a href="section-7.2.xhtml#subsubsec-7.2.9.1" class="subsubseccontents">7.2.9.1 Transformations</a><br/>
+<a href="section-7.2.xhtml#subsubsec-7.2.9.2" class="subsubseccontents">7.2.9.2 Messages</a><br/>
+<a href="section-7.2.xhtml#subsubsec-7.2.9.3" class="subsubseccontents">7.2.9.3 Colormap</a><br/>
+<a href="section-7.2.xhtml#subsubsec-7.2.9.4" class="subsubseccontents">7.2.9.4 Buttons</a><br/>
+<a href="section-7.2.xhtml#subsubsec-7.2.9.5" class="subsubseccontents">7.2.9.5 Light</a><br/>
+<a href="section-7.2.xhtml#subsubsec-7.2.9.6" class="subsubseccontents">7.2.9.6 View Volume</a><br/>
+<a href="section-7.2.xhtml#subsec-7.2.10" class="subseccontents">7.2.10 Operations for Three-Dimensional Graphics</a><br/>
+<a href="section-7.2.xhtml#subsec-7.2.11" class="subseccontents">7.2.11 Customization using .Xdefaults</a><br/>
+</body>
+</html>
\ No newline at end of file
diff --git a/src/axiom-website/hyperdoc/axbook/chapter-contents-8.xhtml b/src/axiom-website/hyperdoc/axbook/chapter-contents-8.xhtml
new file mode 100644
index 0000000..3a29a5a
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/chapter-contents-8.xhtml
@@ -0,0 +1,63 @@
+<?xml version="1.0" ?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
+"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [
+<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
+]>
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:xlink="http://www.w3.org/1999/xlink" >
+
+
+  <head>
+    <title>Chapter8</title>
+    <link rel="stylesheet" type="text/css" href="graphicstyle.css" />
+    <script type="text/javascript" src="bookax1.js" />
+  </head>
+
+  <body>
+<h3>Chapter 8: Advanced Problem Solving</h3>
+<a href="section-8.0.xhtml">8.0 Advanced Problem Solving</a><br/>
+<a href="section-8.1.xhtml">8.1 Numeric Functions</a><br/>
+<a href="section-8.2.xhtml">8.2 Polynomial Factorization</a><br/>
+<a href="section-8.2.xhtml#subsec-8.2.1" class="subseccontents">8.2.1 Integer and Rational Number Coefficients</a><br/>
+<a href="section-8.2.xhtml#subsec-8.2.2" class="subseccontents">8.2.2 Finite Field Coefficients</a><br/>
+<a href="section-8.2.xhtml#subsec-8.2.3" class="subseccontents">8.2.3 Simple Algebraic Extension Field Coefficients</a><br/>
+<a href="section-8.2.xhtml#subsec-8.2.4" class="subseccontents">8.2.4 Factoring Rational Functions</a><br/>
+<a href="section-8.3.xhtml">8.3 Manipulating Symbolic Roots of a Polynomial</a><br/>
+<a href="section-8.3.xhtml#subsec-8.3.1" class="subseccontents">8.3.1 Using a Single Root of a Polynomial</a><br/>
+<a href="section-8.3.xhtml#subsec-8.3.2" class="subseccontents">8.3.2 Using All Roots of a Polynomial</a><br/>
+<a href="section-8.4.xhtml">8.4 Computation of Eigenvalues and Eigenvectors</a><br/>
+<a href="section-8.5.xhtml">8.5 Solution of Linear and Polynomial Equations</a><br/>
+<a href="section-8.5.xhtml#subsec-8.5.1" class="subseccontents">8.5.1 Solution of Systems of Linear Equations</a><br/>
+<a href="section-8.5.xhtml#subsec-8.5.2" class="subseccontents">8.5.2 Solution of a Single Polynomial Equation</a><br/>
+<a href="section-8.5.xhtml#subsec-8.5.3" class="subseccontents">8.5.3 Solution of Systems of Polynomial Equations</a><br/>
+<a href="section-8.6.xhtml">8.6 Limits</a><br/>
+<a href="section-8.7.xhtml">8.7 Laplace Transforms</a><br/>
+<a href="section-8.8.xhtml">8.8 Integration</a><br/>
+<a href="section-8.9.xhtml">8.9 Working with Power Series</a><br/>
+<a href="section-8.9.xhtml#subsec-8.9.1" class="subseccontents">8.9.1 Creation of Power Series</a><br/>
+<a href="section-8.9.xhtml#subsec-8.9.2" class="subseccontents">8.9.2 Coefficients of Power Series</a><br/>
+<a href="section-8.9.xhtml#subsec-8.9.3" class="subseccontents">8.9.3 Power Series Arithmetic</a><br/>
+<a href="section-8.9.xhtml#subsec-8.9.4" class="subseccontents">8.9.4 Functions on Power Series</a><br/>
+<a href="section-8.9.xhtml#subsec-8.9.5" class="subseccontents">8.9.5 Converting to Power Series</a><br/>
+<a href="section-8.9.xhtml#subsec-8.9.6" class="subseccontents">8.9.6 Power Series from Formulas</a><br/>
+<a href="section-8.9.xhtml#subsec-8.9.7" class="subseccontents">8.9.7 Substituting Numerical Values in Power Series</a><br/>
+<a href="section-8.9.xhtml#subsec-8.9.8" class="subseccontents">8.9.8 Example: Bernoulli Polynomials and Sums of Powers</a><br/>
+<a href="section-8.10.xhtml">8.10 Solution of Differential Equations</a><br/>
+<a href="section-8.10.xhtml#subsec-8.10.1" class="subseccontents">8.10.1 Closed-Form Solutions of Linear Differential Equations</a><br/>
+<a href="section-8.10.xhtml#subsec-8.10.2" class="subseccontents">8.10.2 Closed-Form Solutions of Non-Linear Differential Equations</a><br/>
+<a href="section-8.10.xhtml#subsec-8.10.3" class="subseccontents">8.10.3 Power Series Solutions of Differential Equations</a><br/>
+<a href="section-8.11.xhtml">8.11 Finite Fields</a><br/>
+<a href="section-8.11.xhtml#subsec-8.11.1" class="subseccontents">8.11.1 Modular Arithmetic and Prime Fields</a><br/>
+<a href="section-8.11.xhtml#subsec-8.11.2" class="subseccontents">8.11.2 Extensions of Finite Fields</a><br/>
+<a href="section-8.11.xhtml#subsec-8.11.3" class="subseccontents">8.11.3 Irreducible Modulus Polynomial Representations</a><br/>
+<a href="section-8.11.xhtml#subsec-8.11.4" class="subseccontents">8.11.4 Cyclic Group Representations</a><br/>
+<a href="section-8.11.xhtml#subsec-8.11.5" class="subseccontents">8.11.5 Normal Basis Representations</a><br/>
+<a href="section-8.11.xhtml#subsec-8.11.6" class="subseccontents">8.11.6 Conversion Operations for Finite Fields</a><br/>
+<a href="section-8.11.xhtml#subsec-8.11.7" class="subseccontents">8.11.7 Utility Operations for Finite Fields</a><br/>
+<a href="section-8.12.xhtml">8.12 Primary Decomposition of Ideals</a><br/>
+<a href="section-8.13.xhtml">8.13 Computation of Galois Groups</a><br/>
+<a href="section-8.14.xhtml">8.14 Non-Associative Algebras and Modelling Genetic Laws</a><br/>
+</body>
+</html>
\ No newline at end of file
diff --git a/src/axiom-website/hyperdoc/axbook/chapter-contents-9.1-12.xhtml b/src/axiom-website/hyperdoc/axbook/chapter-contents-9.1-12.xhtml
new file mode 100644
index 0000000..d1644a8
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/chapter-contents-9.1-12.xhtml
@@ -0,0 +1,46 @@
+<?xml version="1.0" ?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
+"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [
+<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
+]>
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:xlink="http://www.w3.org/1999/xlink" >
+
+
+  <head>
+    <title>Chapter9.1-12</title>
+    <link rel="stylesheet" type="text/css" href="graphicstyle.css" />
+    <script type="text/javascript" src="bookax1.js" />
+  </head>
+
+  <body>
+<h3>Chapter 9.1-12: Some Examples of Domains and Packages</h3>
+<a href="section-9.1.xhtml">9.1 AssociationList</a><br/>
+<a href="section-9.2.xhtml">9.2 BalancedBinaryTree</a><br/>
+<a href="section-9.3.xhtml">9.3 BasicOperator</a><br/>
+<a href="section-9.4.xhtml">9.4 BinaryExpansion</a><br/>
+<a href="section-9.5.xhtml">9.5 BinarySearchTree</a><br/>
+<a href="section-9.6.xhtml">9.6 CardinalNumber</a><br/>
+<a href="section-9.7.xhtml">9.7 CartesianTensor</a><br/>
+<a href="section-9.7.xhtml#subsec-7.1" class="subseccontents">7.1 Forming tensors</a><br/>
+<a href="section-9.7.xhtml#subsec-7.2" class="subseccontents">7.2 Multiplication</a><br/>
+<a href="section-9.7.xhtml#subsec-7.3" class="subseccontents">7.3 Selecting Components</a><br/>
+<a href="section-9.7.xhtml#subsec-7.4" class="subseccontents">7.4 Contraction</a><br/>
+<a href="section-9.7.xhtml#subsec-7.5" class="subseccontents">7.5 Transpositions</a><br/>
+<a href="section-9.7.xhtml#subsec-7.6" class="subseccontents">7.6 Arithmetic</a><br/>
+<a href="section-9.7.xhtml#subsec-7.7" class="subseccontents">7.7 Specific Tensors</a><br/>
+<a href="section-9.7.xhtml#subsec-7.8" class="subseccontents">7.8 Properties of the CartesianTensor domain</a><br/>
+<a href="section-9.7.xhtml#subsec-7.9" class="subseccontents">7.9 Tensor Calculus</a><br/>
+<a href="section-9.8.xhtml">9.8 Character</a><br/>
+<a href="section-9.9.xhtml">9.9 CharacterClass</a><br/>
+<a href="section-9.10.xhtml">9.10 CliffordAlgebra</a><br/>
+<a href="section-9.10.xhtml#subsec-9.10.1" class="subseccontents">9.10.1 The Complex Numbers as a Clifford Algebra</a><br/>
+<a href="section-9.10.xhtml#subsec-9.10.2" class="subseccontents">9.10.2 The Quaternion Numbers as a Clifford Algebra</a><br/>
+<a href="section-9.10.xhtml#subsec-9.10.3" class="subseccontents">9.10.3 The Exterior Algebra on a Three Space</a><br/>
+<a href="section-9.10.xhtml#subsec-9.10.4" class="subseccontents">9.10.4 The Dirac Spin Algebra</a><br/>
+<a href="section-9.11.xhtml">9.11 Complex</a><br/>
+<a href="section-9.12.xhtml">9.12 ContinuedFraction</a><br/>
+</body>
+</html>
\ No newline at end of file
diff --git a/src/axiom-website/hyperdoc/axbook/chapter-contents-9.13-26.xhtml b/src/axiom-website/hyperdoc/axbook/chapter-contents-9.13-26.xhtml
new file mode 100644
index 0000000..0c4bf55
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/chapter-contents-9.13-26.xhtml
@@ -0,0 +1,40 @@
+<?xml version="1.0" ?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
+"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [
+<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
+]>
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:xlink="http://www.w3.org/1999/xlink" >
+
+
+  <head>
+    <title>Chapter9.13-26</title>
+    <link rel="stylesheet" type="text/css" href="graphicstyle.css" />
+    <script type="text/javascript" src="bookax1.js" />
+  </head>
+
+  <body>
+<h3>Chapter 9.13-26: Some Examples of Domains and Packages</h3>
+<a href="section-9.13.xhtml">9.13 CycleIndicators</a><br/>
+<a href="section-9.14.xhtml">9.14 DeRhamComplex</a><br/>
+<a href="section-9.15.xhtml">9.15 DecimalExpansion</a><br/>
+<a href="section-9.16.xhtml">9.16 DistributedMultivariatePolynomial</a><br/>
+<a href="section-9.17.xhtml">9.17 DoubleFloat</a><br/>
+<a href="section-9.18.xhtml">9.18 EqTable</a><br/>
+<a href="section-9.19.xhtml">9.19 Equation</a><br/>
+<a href="section-9.20.xhtml">9.20 Exit</a><br/>
+<a href="section-9.21.xhtml">9.21 Expression</a><br/>
+<a href="section-9.22.xhtml">9.22 Factored</a><br/>
+<a href="section-9.22.xhtml#subsec-9.22.1" class="subseccontents">9.22.1 Decomposing Factored Objects</a><br/>
+<a href="section-9.22.xhtml#subsec-9.22.2" class="subseccontents">9.22.2 Expanding Factored Objects</a><br/>
+<a href="section-9.22.xhtml#subsec-9.22.3" class="subseccontents">9.22.3 Arithmetic with Factored Objects</a><br/>
+<a href="section-9.22.xhtml#subsec-9.22.4" class="subseccontents">9.22.4 Creating New Factored Objects</a><br/>
+<a href="section-9.22.xhtml#subsec-9.22.5" class="subseccontents">9.22.5 Factored Objects with Variables</a><br/>
+<a href="section-9.23.xhtml">9.23 FactoredFunctions2</a><br/>
+<a href="section-9.24.xhtml">9.24 File</a><br/>
+<a href="section-9.25.xhtml">9.25 FileName</a><br/>
+<a href="section-9.26.xhtml">9.26 FlexibleArray</a><br/>
+</body>
+</html>
\ No newline at end of file
diff --git a/src/axiom-website/hyperdoc/axbook/chapter-contents-9.27-37.xhtml b/src/axiom-website/hyperdoc/axbook/chapter-contents-9.27-37.xhtml
new file mode 100644
index 0000000..02f9932
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/chapter-contents-9.27-37.xhtml
@@ -0,0 +1,39 @@
+<?xml version="1.0" ?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
+"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [
+<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
+]>
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:xlink="http://www.w3.org/1999/xlink" >
+
+
+  <head>
+    <title>Chapter9.27-37</title>
+    <link rel="stylesheet" type="text/css" href="graphicstyle.css" />
+    <script type="text/javascript" src="bookax1.js" />
+  </head>
+
+  <body>
+<h3>Chapter 9.27-37: Some Examples of Domains and Packages</h3>
+<a href="section-9.27.xhtml">9.27 Float</a><br/>
+<a href="section-9.27.xhtml#subsec-9.27.1" class="subseccontents">9.27.1 Introduction to Float</a><br/>
+<a href="section-9.27.xhtml#subsec-9.27.2" class="subseccontents">9.27.2 Conversion Functions</a><br/>
+<a href="section-9.27.xhtml#subsec-9.27.3" class="subseccontents">9.27.3 Output Functions</a><br/>
+<a href="section-9.27.xhtml#subsec-9.27.4" class="subseccontents">9.27.4 An Example: Determinant of a Hilbert Matrix</a><br/>
+<a href="section-9.28.xhtml">9.28 Fraction</a><br/>
+<a href="section-9.29.xhtml">9.29 FullPartialFractionExpansion</a><br/>
+<a href="section-9.30.xhtml">9.30 GeneralSparseTable</a><br/>
+<a href="section-9.31.xhtml">9.31 GroebnerFactorizationPackage</a><br/>
+<a href="section-9.32.xhtml">9.32 Heap</a><br/>
+<a href="section-9.33.xhtml">9.33 HexadecimalExpansion</a><br/>
+<a href="section-9.34.xhtml">9.34 Integer</a><br/>
+<a href="section-9.34.xhtml#subsec-9.34.1" class="subseccontents">9.34.1 Basic Functions</a><br/>
+<a href="section-9.34.xhtml#subsec-9.34.2" class="subseccontents">9.34.2 Primes and Factorization</a><br/>
+<a href="section-9.34.xhtml#subsec-9.34.3" class="subseccontents">9.34.3 Some Number Theoretic Functions</a><br/>
+<a href="section-9.35.xhtml">9.35 IntegerLinearDependence</a><br/>
+<a href="section-9.36.xhtml">9.36 IntegerNumberTheoryFunctions</a><br/>
+<a href="section-9.37.xhtml">9.37 Kernel</a><br/>
+</body>
+</html>
\ No newline at end of file
diff --git a/src/axiom-website/hyperdoc/axbook/chapter-contents-9.38-44.xhtml b/src/axiom-website/hyperdoc/axbook/chapter-contents-9.38-44.xhtml
new file mode 100644
index 0000000..529ec21
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/chapter-contents-9.38-44.xhtml
@@ -0,0 +1,29 @@
+<?xml version="1.0" ?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
+"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [
+<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
+]>
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:xlink="http://www.w3.org/1999/xlink" >
+
+
+  <head>
+    <title>Chapter9.38-44</title>
+    <link rel="stylesheet" type="text/css" href="graphicstyle.css" />
+    <script type="text/javascript" src="bookax1.js" />
+  </head>
+
+  <body>
+<h3>Chapter 9.38-44: Some Examples of Domains and Packages</h3>
+<a href="section-9.38.xhtml">9.38 KeyedAccessFile</a><br/>
+<a href="section-9.39.xhtml">9.39 LexTriangularPackage</a><br/>
+<a href="section-9.40.xhtml">9.40 LazardSetSolvingPackage</a><br/>
+<a href="section-9.41.xhtml">9.41 Library</a><br/>
+<a href="section-9.42.xhtml">9.42 LieExponentials</a><br/>
+<a href="section-9.43.xhtml">9.43 LiePolynomial</a><br/>
+<a href="section-9.44.xhtml">9.44 LinearOrdinaryDifferentialOperator</a><br/>
+<a href="section-9.44.xhtml#subsec-9.44.1" class="subseccontents">9.44.1 Differential Operators with Series Coefficients</a><br/>
+</body>
+</html>
\ No newline at end of file
diff --git a/src/axiom-website/hyperdoc/axbook/chapter-contents-9.45-57.xhtml b/src/axiom-website/hyperdoc/axbook/chapter-contents-9.45-57.xhtml
new file mode 100644
index 0000000..26ff60c
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/chapter-contents-9.45-57.xhtml
@@ -0,0 +1,44 @@
+<?xml version="1.0" ?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
+"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [
+<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
+]>
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:xlink="http://www.w3.org/1999/xlink" >
+
+
+  <head>
+    <title>Chapter9.45-57</title>
+    <link rel="stylesheet" type="text/css" href="graphicstyle.css" />
+    <script type="text/javascript" src="bookax1.js" />
+  </head>
+
+  <body>
+<h3>Chapter 9.45-57: Some Examples of Domains and Packages</h3>
+<a href="section-9.45.xhtml">9.45 LinearOrdinaryDifferentialOperator1</a><br/>
+<a href="section-9.45.xhtml#subsec-9.45.1" class="subseccontents">9.45.1 Differential Operators with Rational Function Coefficients</a><br/>
+<a href="section-9.46.xhtml">9.46 LinearOrdinaryDifferentialOperator2</a><br/>
+<a href="section-9.46.xhtml#subsec-9.46.1" class="subseccontents">9.46.1 Differential Operators with Constant Coefficients</a><br/>
+<a href="section-9.46.xhtml#subsec-9.46.2" class="subseccontents">9.46.2 Differential Operators with Matrix Coefficients Operating on Vectors</a><br/>
+<a href="section-9.47.xhtml">9.47 List</a><br/>
+<a href="section-9.47.xhtml#subsec-9.47.1" class="subseccontents">9.47.1 Creating Lists</a><br/>
+<a href="section-9.47.xhtml#subsec-9.47.2" class="subseccontents">9.47.2 Accessing List Elements</a><br/>
+<a href="section-9.47.xhtml#subsec-9.47.3" class="subseccontents">9.47.3 Changing List Elements</a><br/>
+<a href="section-9.47.xhtml#subsec-9.47.4" class="subseccontents">9.47.4 Other Functions</a><br/>
+<a href="section-9.47.xhtml#subsec-9.47.5" class="subseccontents">9.47.5 Dot, Dot</a><br/>
+<a href="section-9.48.xhtml">9.48 LyndonWord</a><br/>
+<a href="section-9.49.xhtml">9.49 Magma</a><br/>
+<a href="section-9.50.xhtml">9.50 MakeFunction</a><br/>
+<a href="section-9.51.xhtml">9.51 MappingPackage1</a><br/>
+<a href="section-9.52.xhtml">9.52 Matrix</a><br/>
+<a href="section-9.52.xhtml#subsec-9.52.1" class="subseccontents">9.52.1 Creating Matrices</a><br/>
+<a href="section-9.52.xhtml#subsec-9.52.2" class="subseccontents">9.52.2 Operations on Matrices</a><br/>
+<a href="section-9.53.xhtml">9.53 MultiSet</a><br/>
+<a href="section-9.54.xhtml">9.54 MultivariatePolynomial</a><br/>
+<a href="section-9.55.xhtml">9.55 None</a><br/>
+<a href="section-9.56.xhtml">9.56 Octonion</a><br/>
+<a href="section-9.57.xhtml">9.57 OneDimensionalArray</a><br/>
+</body>
+</html>
\ No newline at end of file
diff --git a/src/axiom-website/hyperdoc/axbook/chapter-contents-9.58-68.xhtml b/src/axiom-website/hyperdoc/axbook/chapter-contents-9.58-68.xhtml
new file mode 100644
index 0000000..3f1432e
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/chapter-contents-9.58-68.xhtml
@@ -0,0 +1,32 @@
+<?xml version="1.0" ?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
+"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [
+<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
+]>
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:xlink="http://www.w3.org/1999/xlink" >
+
+
+  <head>
+    <title>Chapter9.58-68</title>
+    <link rel="stylesheet" type="text/css" href="graphicstyle.css" />
+    <script type="text/javascript" src="bookax1.js" />
+  </head>
+
+  <body>
+<h3>Chapter 9.58-68: Some Examples of Domains and Packages</h3>
+<a href="section-9.58.xhtml">9.58 Operator</a><br/>
+<a href="section-9.59.xhtml">9.59 OrderedVariableList</a><br/>
+<a href="section-9.60.xhtml">9.60 OrderlyDifferentialPolynomial</a><br/>
+<a href="section-9.61.xhtml">9.61 PartialFraction</a><br/>
+<a href="section-9.62.xhtml">9.62 Permanent</a><br/>
+<a href="section-9.63.xhtml">9.63 Polynomial</a><br/>
+<a href="section-9.64.xhtml">9.64 Quaternion</a><br/>
+<a href="section-9.65.xhtml">9.65 RadixExpansion</a><br/>
+<a href="section-9.66.xhtml">9.66 RealClosure</a><br/>
+<a href="section-9.67.xhtml">9.67 RegularTriangularSet</a><br/>
+<a href="section-9.68.xhtml">9.68 RomanNumeral</a><br/>
+</body>
+</html>
\ No newline at end of file
diff --git a/src/axiom-website/hyperdoc/axbook/chapter-contents-9.69-82.xhtml b/src/axiom-website/hyperdoc/axbook/chapter-contents-9.69-82.xhtml
new file mode 100644
index 0000000..98915bc
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/chapter-contents-9.69-82.xhtml
@@ -0,0 +1,35 @@
+<?xml version="1.0" ?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
+"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [
+<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
+]>
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:xlink="http://www.w3.org/1999/xlink" >
+
+
+  <head>
+    <title>Chapter9.69-82</title>
+    <link rel="stylesheet" type="text/css" href="graphicstyle.css" />
+    <script type="text/javascript" src="bookax1.js" />
+  </head>
+
+  <body>
+<h3>Chapter 9.69-82: Some Examples of Domains and Packages</h3>
+<a href="section-9.69.xhtml">9.69 Segment</a><br/>
+<a href="section-9.70.xhtml">9.70 SegmentBinding</a><br/>
+<a href="section-9.71.xhtml">9.71 Set</a><br/>
+<a href="section-9.72.xhtml">9.72 SingleInteger</a><br/>
+<a href="section-9.73.xhtml">9.73 SparseTable</a><br/>
+<a href="section-9.74.xhtml">9.74 SquareMatrix</a><br/>
+<a href="section-9.75.xhtml">9.75 SquareFreeRegularTriangularSet</a><br/>
+<a href="section-9.76.xhtml">9.76 Stream</a><br/>
+<a href="section-9.77.xhtml">9.77 String</a><br/>
+<a href="section-9.78.xhtml">9.78 StringTable</a><br/>
+<a href="section-9.79.xhtml">9.79 Symbol</a><br/>
+<a href="section-9.80.xhtml">9.80 Table</a><br/>
+<a href="section-9.81.xhtml">9.81 TextFile</a><br/>
+<a href="section-9.82.xhtml">9.82 TwoDimensionalArray</a><br/>
+</body>
+</html>
\ No newline at end of file
diff --git a/src/axiom-website/hyperdoc/axbook/chapter-contents-9.83-91.xhtml b/src/axiom-website/hyperdoc/axbook/chapter-contents-9.83-91.xhtml
new file mode 100644
index 0000000..f1cfca8
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/chapter-contents-9.83-91.xhtml
@@ -0,0 +1,30 @@
+<?xml version="1.0" ?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
+"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [
+<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
+]>
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:xlink="http://www.w3.org/1999/xlink" >
+
+
+  <head>
+    <title>Chapter9.83-91</title>
+    <link rel="stylesheet" type="text/css" href="graphicstyle.css" />
+    <script type="text/javascript" src="bookax1.js" />
+  </head>
+
+  <body>
+<h3>Chapter 9.83-91: Some Examples of Domains and Packages</h3>
+<a href="section-9.83.xhtml">9.83 UnivariatePolynomial</a><br/>
+<a href="section-9.84.xhtml">9.84 UniversalSegment</a><br/>
+<a href="section-9.85.xhtml">9.85 Vector</a><br/>
+<a href="section-9.86.xhtml">9.86 Void</a><br/>
+<a href="section-9.87.xhtml">9.87 WuWenTsunTriangularSet</a><br/>
+<a href="section-9.88.xhtml">9.88 XPBWPolynomial</a><br/>
+<a href="section-9.89.xhtml">9.89 XPolynomial</a><br/>
+<a href="section-9.90.xhtml">9.90 XPolynomialRing</a><br/>
+<a href="section-9.91.xhtml">9.91 ZeroDimensionalSolvePackage</a><br/>
+</body>
+</html>
\ No newline at end of file
diff --git a/src/axiom-website/hyperdoc/axbook/graphicstyle.css b/src/axiom-website/hyperdoc/axbook/graphicstyle.css
new file mode 100644
index 0000000..c682243
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/graphicstyle.css
@@ -0,0 +1,114 @@
+body { background-color: #FFFF66 }
+html {
+       background-color: #FFFF66;
+     }
+div.spadcommand, div.spadgraph 
+      {
+                              display: block;
+                              font-size: large;
+			      color: black;
+			      padding: 5pt 10pt;
+			      border: inset 1pt;
+			      border-color: silver;
+                              margin-top: 1em;
+			      margin-bottom: 1em;
+}
+form { display: inline;}
+input.command {
+                              display: inline;
+                              font-size: 12pt;
+			      padding: 5pt 10pt;
+			      border: inset 1pt;
+			      border-color: silver;
+                              margin-top: 1em;
+			      margin-bottom: 1em;
+}
+input.restore {
+                              display: inline;
+			      margin-bottom: 1em;
+}
+div.axerror {text-align: center; font-family: monospace; font-size: 12pt;}
+div.mathbox {border: solid; border: outset 1pt; border-color: silver; 
+	     padding: 2pt;}
+div.boxed {
+	       text-align: left;
+}
+div.boxed2 {
+               display: block;
+               padding: 2em;
+               border: solid 2pt;
+	       width: 60%;
+	       text-align: center;
+	       margin-top: 1em;
+	       margin-left: auto; margin-right: auto;
+}
+div.center  {
+              padding-top: 10px; padding-bottom: 10px;
+            }
+div.returnType {
+                      margin-top: 1em;
+		      margin-bottom: 1em;
+		      text-align: center;
+}
+div.quote { border: solid 1pt; margin-left: 10%; margin-right: 10%; 
+            padding: 1em;
+}
+div.quotation {text-align: left; margin-left: 15%; margin-right: 15%;}
+div.person {margin-top: 1em;}
+div.item {margin-top: 1em;}
+div.centerline {text-align: center; margin-top: 1em; margin-bottom: 1em;}
+div.image {text-align: center;}
+div.figcaption  {text-align: center;}
+span.index {
+                 visibility: hidden;
+}
+span.commSav {visibility: hidden;}
+dt {
+          font-weight: bold;
+          padding: 1em;
+         }
+span.index {
+                  display: none;
+}
+span.funArgs {font-style: italic; font-weight: normal;}
+span.argDef {font-weight: bold;}
+span.hspace75pc {margin-left: 1em;}
+span.hspace200pc {margin-left: 2em;}
+span.hspace300pc {margin-left: 3em;}
+span.hspace600pc {margin-left: 6em;}
+span.teletype {font-family: monospace; font-size: 12pt;}
+span.aliascon {font-family: monospace; font-size: 12pt;}
+span.italic {font-style: italic;}
+span.slant {font-style: italic;}
+span.bold {font-weight: bold;}
+span.em {font-weight: bold;}
+span.spadfunFrom {font-weight: bold;}
+span.spadopFrom {font-weight: bold;}
+table.begintabular {
+                margin-top: 1em; 
+		text-align: left;         
+}
+table.begintabular td {padding-left: 1em; vertical-align: top;}
+table.image  {padding-left: 100px;}
+span.verbatim {
+                     padding: 0em 0em 0em 2em;
+}
+div.verbatim {
+                padding: 0em 0em 0em 2em; margin-bottom: 1em;
+		font-family: monospace; font-size: 10pt;
+}
+div.math { text-align: center; padding: 20pt;}
+div.math math {
+                   border: none;
+		   padding: 0em 0em;
+		   margin-top: 0pt;
+}
+div.math table tr td { }
+div.math table {margin-left: auto; margin-right: auto; }
+div#verbatimtable2 td {padding-left: 1em; padding-right: 1em;}
+div#verbatimtable1 td {padding-left: 1em; padding-right: 1em;}
+div#verbatimtable3 td {padding-left: 1em; padding-right: 1em;}
+table.category-domain-package tr td:first-child {color: blue;
+               vertical-align: top;}
+a.subseccontents {padding-left: 2em;}
+a.subsubseccontents {padding-left: 4em;}
\ No newline at end of file
diff --git a/src/axiom-website/hyperdoc/axbook/graphicstyle.diff b/src/axiom-website/hyperdoc/axbook/graphicstyle.diff
new file mode 100644
index 0000000..256dc8e
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/graphicstyle.diff
@@ -0,0 +1,7 @@
+--- /tmp/axbook/graphicstyle.css	2007-10-08 16:32:42.000000000 -0400
++++ graphicstyle.css	2007-10-03 17:09:41.000000000 -0400
+@@ -1,3 +1,4 @@
++body { background-color: #FFFF66 }
+ div.spadcommand, div.spadgraph 
+       {
+                               display: block;
diff --git a/src/axiom-website/hyperdoc/axbook/hrefs.txt b/src/axiom-website/hyperdoc/axbook/hrefs.txt
new file mode 100644
index 0000000..37be753
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/hrefs.txt
@@ -0,0 +1,499 @@
+This is a list of all hrefs, i.e. <a href="..., in all sections
+excluding the navigation ones at the start and end of each section.
+So these correspond to the links in the PDF version of the book.
+Some of the links in the book don't work.  These ones appear as
+? in the PDF version.  Following the full list is the list of
+undefined ones. 
+
+<a href="fig-intro-br" class="ref" >fig-intro-br</a> section-0.1.xhtml
+<a href="section-3.0.xhtml#ugHyper" class="ref" >ugHyper</a> section-1.1.xhtml
+<a href="section-2.0.xhtml#ugTypes" class="ref" >ugTypes</a> section-1.3.xhtml
+<a href="section-5.1.xhtml#ugLangAssign" class="ref" >ugLangAssign</a> section-1.3.xhtml
+<a href="section-2.7.xhtml#ugTypesConvert" class="ref" >ugTypesConvert</a> section-1.3.xhtml
+<a href="section-6.2.xhtml#ugUserMacros" class="ref" >ugUserMacros</a> section-1.3.xhtml
+<a href="section-4.1.xhtml#ugInOutIn" class="ref" >ugInOutIn</a> section-1.3.xhtml
+<a href="section-5.2.xhtml#ugLangBlocks" class="ref" >ugLangBlocks</a> section-1.3.xhtml
+<a href="section-8.11.xhtml#ugxProblemFinitePrime" class="ref" >ugxProblemFinitePrime</a> section-1.4.xhtml
+<a href="section-9.1.xhtml#AssociationListXmpPage" class="ref" >ListXmpPage</a> section-1.5.xhtml
+<a href="section-9.57.xhtml#OneDimensionalArrayXmpPage" class="ref" >OneDimensionalArrayXmpPage</a> section-1.5.xhtml
+<a href="section-9.26.xhtml#FlexibleArrayXmpPage" class="ref" >FlexibleArrayXmpPage</a> section-1.5.xhtml
+<a href="section-9.32.xhtml#HeapXmpPage" class="ref" >HeapXmpPage</a> section-1.5.xhtml
+<a href="section-9.5.xhtml#BinarySearchTreeXmpPage" class="ref" >BinarySearchTreeXmpPage</a> section-1.5.xhtml
+<a href="section-9.53.xhtml#MultiSetXmpPage" class="ref" >SetXmpPage</a> section-1.5.xhtml
+<a href="section-9.53.xhtml#MultiSetXmpPage" class="ref" >MultiSetXmpPage</a> section-1.5.xhtml
+<a href="section-2.4.xhtml#ugTypesRecords" class="ref" >ugTypesRecords</a> section-1.5.xhtml
+<a href="section-2.5.xhtml#ugTypesUnions" class="ref" >ugTypesUnions</a> section-1.5.xhtml
+<a href="section-13.0.xhtml#ugDomains" class="ref" >ugDomains</a> section-1.5.xhtml
+<a href="section-8.4.xhtml#ugProblemEigen" class="ref" >ugProblemEigen</a> section-1.6.xhtml
+<a href="section-8.5.xhtml#ugProblemLinPolEqn" class="ref" >ugProblemLinPolEqn</a> section-1.6.xhtml
+<a href="section-5.5.xhtml#ugLangIts" class="ref" >ugLangIts</a> section-1.6.xhtml
+<a href="section-6.0.xhtml#ugUser" class="ref" >ugUser</a> section-1.7.xhtml
+<a href="section-4.1.xhtml#ugInOutIn" class="ref" >ugInOutIn</a> section-1.7.xhtml
+<a href="section-8.6.xhtml#ugProblemLimits" class="ref" >ugProblemLimits</a> section-1.9.xhtml
+<a href="section-8.9.xhtml#ugProblemSeries" class="ref" >ugProblemSeries</a> section-1.10.xhtml
+<a href="section-8.8.xhtml#ugProblemIntegration" class="ref" >ugProblemIntegration</a> section-1.12.xhtml
+<a href="section-8.1.xhtml#ugProblemNumeric" class="ref" >ugProblemNumeric</a> section-1.16.xhtml
+<a href="section-21.0.xhtml#ugAppGraphics" class="ref" >ugAppGraphics</a> section-1.16.xhtml
+<a href="section-7.0.xhtml#ugGraph" class="ref" >ugGraph</a> section-1.16.xhtml
+<a href="section-12.0.xhtml#ugCategories" class="ref" >ugCategories</a> section-2.1.xhtml
+<a href="section-2.7.xhtml#ugTypesConvert" class="ref" >ugTypesConvert</a> section-2.1.xhtml
+<a href="section-2.1.xhtml#ugTypesBasic" class="ref" >ugTypesBasic</a> section-2.2.xhtml
+<a href="section-2.3.xhtml#ugTypesDeclare" class="ref" >ugTypesDeclare</a> section-2.2.xhtml
+<a href="section-2.7.xhtml#ugTypesConvert" class="ref" >ugTypesConvert</a> section-2.2.xhtml
+<a href="section-2.9.xhtml#ugTypesPkgCall" class="ref" >ugTypesPkgCall</a> section-2.2.xhtml
+<a href="section-2.9.xhtml#ugTypesPkgCall" class="ref" >ugTypesPkgCall</a> section-2.2.xhtml
+<a href="section-2.3.xhtml#ugTypesDeclare" class="ref" >ugTypesDeclare</a> section-2.2.xhtml
+<a href="section-2.7.xhtml#ugTypesConvert" class="ref" >ugTypesConvert</a> section-2.2.xhtml
+<a href="ugSysCmdwhat" class="ref" >ugSysCmdwhat</a> section-2.2.xhtml
+<a href="section-1.3.xhtml#ugIntroAssign" class="ref" >ugIntroAssign</a> section-2.3.xhtml
+<a href="section-5.1.xhtml#ugLangAssign" class="ref" >ugLangAssign</a> section-2.3.xhtml
+<a href="section-6.4.xhtml#ugUserDeclare" class="ref" >ugUserDeclare</a> section-2.3.xhtml
+<a href="section-2.7.xhtml#ugTypesConvert" class="ref" >ugTypesConvert</a> section-2.3.xhtml
+<a href="section-2.4.xhtml#ugTypesRecords" class="ref" >ugTypesRecords</a> section-2.5.xhtml
+<a href="section-2.5.xhtml#ugTypesUnionsWOSel" class="ref" >ugTypesUnionsWOSel</a> section-2.5.xhtml
+<a href="section-2.1.xhtml#ugTypesBasic" class="ref" >ugTypesBasic</a> section-2.7.xhtml
+<a href="section-2.3.xhtml#ugTypesDeclare" class="ref" >ugTypesDeclare</a> section-2.9.xhtml
+<a href="section-6.9.xhtml#ugUserUse" class="ref" >ugUserUse</a> section-2.9.xhtml
+<a href="section-2.9.xhtml#ugTypesPkgCall" class="ref" >ugTypesPkgCall</a> section-2.11.xhtml
+<a href="section-6.19.xhtml#ugUserTriangle" class="ref" >ugUserTriangle</a> section-2.11.xhtml
+<a href="section-16.11.xhtml#ugSysCmdframe" class="ref" >ugSysCmdframe</a> section-2.11.xhtml
+<a href="section-14.0.xhtml#ugBrowse" class="ref" >ugBrowse</a> section-2.12.xhtml
+<a href="chapter-9.1-12.xhtml#Complex" class="ref" >Complex</a> section-2.12.xhtml
+<a href="section-6.4.xhtml#ugUserDeclare" class="ref" >ugUserDeclare</a> section-2.12.xhtml
+<a href="section-3.3.xhtml#ugHyperScroll" class="ref" >ugHyperScroll</a> section-3.2.xhtml
+<a href="section-3.4.xhtml#ugHyperInput" class="ref" >ugHyperInput</a> section-3.2.xhtml
+<a href="section-3.4.xhtml#ugHyperInput" class="ref" >ugHyperInput</a> section-3.3.xhtml
+<a href="section-5.2.xhtml#ugLangBlocks" class="ref" >ugLangBlocks</a> section-4.1.xhtml
+<a href="section-6.8.xhtml#ugUserDelay" class="ref" >ugUserDelay</a> section-5.1.xhtml
+<a href="section-5.3.xhtml#ugLangIf" class="ref" >ugLangIf</a> section-5.2.xhtml
+<a href="section-2.10.xhtml#ugTypesResolve" class="ref" >ugTypesResolve</a> section-5.3.xhtml
+<a href="section-2.9.xhtml#ugTypesPkgCall" class="ref" >ugTypesPkgCall</a> section-5.3.xhtml
+<a href="section-6.10.xhtml#ugUserCompInt" class="ref" >ugUserCompInt</a> section-5.4.xhtml
+<a href="section-6.15.xhtml#ugUserBlocks" class="ref" >ugUserBlocks</a> section-5.4.xhtml
+<a href="section-5.4.xhtml#ugLangLoopsReturn" class="ref" >ugLangLoopsReturn</a> section-5.4.xhtml
+<a href="section-5.4.xhtml#ugLangLoopsForIn" class="ref" >ugLangLoopsForIn</a> section-5.4.xhtml
+<a href="section-9.69.xhtml#SegmentXmpPage" class="ref" >SegmentXmpPage</a> section-5.4.xhtml
+<a href="section-5.4.xhtml#ugLangLoopsForInPred" class="ref" >ugLangLoopsForInPred</a> section-5.4.xhtml
+<a href="section-5.4.xhtml#ugLangLoops" class="ref" >ugLangLoops</a> section-5.5.xhtml
+<a href="section-9.1.xhtml#AssociationListXmpPage" class="ref" >ListXmpPage</a> section-5.5.xhtml
+<a href="section-9.76.xhtml#StreamXmpPage" class="ref" >StreamXmpPage</a> section-5.5.xhtml
+<a href="section-6.17.xhtml#ugUserAnon" class="ref" >ugUserAnon</a> section-6.1.xhtml
+<a href="chapter-9.13-26.xhtml#ExitXmpPage" class="ref" >ExitXmpPage</a> section-6.1.xhtml
+<a href="section-9.86.xhtml#VoidXmpPage" class="ref" >VoidXmpPage</a> section-6.1.xhtml
+<a href="section-2.9.xhtml#ugTypesPkgCall" class="ref" >ugTypesPkgCall</a> section-6.3.xhtml
+<a href="section-6.17.xhtml#ugUserAnon" class="ref" >ugUserAnon</a> section-6.3.xhtml
+<a href="section-2.3.xhtml#ugTypesDeclare" class="ref" >ugTypesDeclare</a> section-6.4.xhtml
+<a href="section-2.3.xhtml#ugTypesDeclare" class="ref" >ugTypesDeclare</a> section-6.4.xhtml
+<a href="section-12.0.xhtml#ugCategories" class="ref" >ugCategories</a> section-6.6.xhtml
+<a href="MappingPackage1XmpPage" class="ref" >MappingPackage1XmpPage</a> section-6.7.xhtml
+<a href="section-11.3.xhtml#ugPackagesAbstract" class="ref" >ugPackagesAbstract</a> section-6.7.xhtml
+<a href="section-11.0.xhtml#ugPackages" class="ref" >ugPackages</a> section-6.7.xhtml
+<a href="section-12.0.xhtml#ugCategories" class="ref" >ugCategories</a> section-6.7.xhtml
+<a href="section-5.1.xhtml#ugLangAssign" class="ref" >ugLangAssign</a> section-6.8.xhtml
+<a href="section-2.9.xhtml#ugTypesPkgCall" class="ref" >ugTypesPkgCall</a> section-6.9.xhtml
+<a href="section-2.10.xhtml#ugTypesResolve" class="ref" >ugTypesResolve</a> section-6.9.xhtml
+<a href="section-2.8.xhtml#ugTypesSubdomains" class="ref" >ugTypesSubdomains</a> section-6.10.xhtml
+<a href="section-6.11.xhtml#ugUserPieceBasic" class="ref" >ugUserPieceBasic</a> section-6.11.xhtml
+<a href="section-5.5.xhtml#ugLangIts" class="ref" >ugLangIts</a> section-6.11.xhtml
+<a href="section-6.16.xhtml#ugUserFreeLocal" class="ref" >ugUserFreeLocal</a> section-6.12.xhtml
+<a href="section-6.16.xhtml#ugUserFreeLocal" class="ref" >ugUserFreeLocal</a> section-6.13.xhtml
+<a href="section-6.12.xhtml#ugUserCache" class="ref" >ugUserCache</a> section-6.13.xhtml
+<a href="section-9.50.xhtml#MakeFunctionXmpPage" class="ref" >MakeFunctionXmpPage</a> section-6.14.xhtml
+<a href="section-5.2.xhtml#ugLangBlocks" class="ref" >ugLangBlocks</a> section-6.15.xhtml
+<a href="section-6.12.xhtml#ugUserCache" class="ref" >ugUserCache</a> section-6.16.xhtml
+<a href="section-6.13.xhtml#ugUserRecur" class="ref" >ugUserRecur</a> section-6.16.xhtml
+<a href="section-2.11.xhtml#ugTypesExpose" class="ref" >ugTypesExpose</a> section-6.19.xhtml
+<a href="section-7.1.xhtml#ugGraphTwoDOptions" class="ref" >ugGraphTwoDOptions</a> section-7.1.xhtml
+<a href="section-7.2.xhtml#ugGraphThreeDOptions" class="ref" >ugGraphThreeDOptions</a> section-7.1.xhtml
+<a href="section-7.1.xhtml#ugGraphTwoDOptions" class="ref" >ugGraphTwoDOptions</a> section-7.1.xhtml
+<a href="section-7.1.xhtml#ugGraphColor" class="ref" >ugGraphColor</a> section-7.1.xhtml
+<a href="section-7.1.xhtml#ugGraphColorPalette" class="ref" >ugGraphColorPalette</a> section-7.1.xhtml
+<a href="section-7.1.xhtml#ugGraphColor" class="ref" >ugGraphColor</a> section-7.1.xhtml
+<a href="section-7.1.xhtml#ugGraphColorPalette" class="ref" >ugGraphColorPalette</a> section-7.1.xhtml
+<a href="section-7.2.xhtml#ugGraphCoord" class="ref" >ugGraphCoord</a> section-7.1.xhtml
+<a href="section-7.2.xhtml#ugGraphThreeDOptions" class="ref" >ugGraphThreeDOptions</a> section-7.2.xhtml
+<a href="section-7.2.xhtml#ugGraphThreeDOptions" class="ref" >ugGraphThreeDOptions</a> section-7.2.xhtml
+<a href="section-7.2.xhtml#ugGraphThreeDOptions" class="ref" >ugGraphThreeDOptions</a> section-7.2.xhtml
+<a href="section-7.2.xhtml#ugGraphCoord" class="ref" >ugGraphCoord</a> section-7.2.xhtml
+<a href="section-7.2.xhtml#ugGraphCoord" class="ref" >ugGraphCoord</a> section-7.2.xhtml
+<a href="section-1.0.xhtml#ugIntro" class="ref" >ugIntro</a> section-8.1.xhtml
+<a href="section-9.17.xhtml#DoubleFloatXmpPage" class="ref" >FloatXmpPage</a> section-8.1.xhtml
+<a href="section-9.17.xhtml#DoubleFloatXmpPage" class="ref" >DoubleFloatXmpPage</a> section-8.1.xhtml
+<a href="section-8.11.xhtml#ugProblemFinite" class="ref" >ugProblemFinite</a> section-8.2.xhtml
+<a href="section-8.5.xhtml#ugxProblemOnePol" class="ref" >ugxProblemOnePol</a> section-8.3.xhtml
+<a href="section-8.5.xhtml#ugxProblemPolSys" class="ref" >ugxProblemPolSys</a> section-8.3.xhtml
+<a href="section-8.5.xhtml#ugxProblemOnePol" class="ref" >ugxProblemOnePol</a> section-8.3.xhtml
+<a href="section-8.10.xhtml#ugProblemDEQ" class="ref" >ugProblemDEQ</a> section-8.5.xhtml
+<a href="section-8.5.xhtml#ugxProblemOnePol" class="ref" >ugxProblemOnePol</a> section-8.5.xhtml
+<a href="section-8.3.xhtml#ugxProblemSymRootAll" class="ref" >ugxProblemSymRootAll</a> section-8.8.xhtml
+<a href="section-8.10.xhtml#ugxProblemDEQSeries" class="ref" >ugxProblemDEQSeries</a> section-8.9.xhtml
+<a href="section-8.9.xhtml#ugxProblemSeriesConversions" class="ref" >ugxProblemSeriesConversions</a> section-8.9.xhtml
+<a href="section-2.3.xhtml#ugTypesDeclare" class="ref" >ugTypesDeclare</a> section-8.9.xhtml
+<a href="section-8.9.xhtml#ugxProblemSeriesFunctions" class="ref" >ugxProblemSeriesFunctions</a> section-8.9.xhtml
+<a href="section-8.9.xhtml#ugxProblemSeriesFormula" class="ref" >ugxProblemSeriesFormula</a> section-8.9.xhtml
+<a href="section-8.9.xhtml#ugxProblemSeriesConversions" class="ref" >ugxProblemSeriesConversions</a> section-8.9.xhtml
+<a href="section-6.17.xhtml#ugUserAnon" class="ref" >ugUserAnon</a> section-8.9.xhtml
+<a href="section-8.9.xhtml#ugxProblemSeriesConversions" class="ref" >ugxProblemSeriesConversions</a> section-8.9.xhtml
+<a href="section-8.5.xhtml#ugProblemLinPolEqn" class="ref" >ugProblemLinPolEqn</a> section-8.10.xhtml
+<a href="section-2.9.xhtml#ugTypesPkgCall" class="ref" >ugTypesPkgCall</a> section-8.11.xhtml
+<a href="section-8.11.xhtml#ugxProblemFiniteExtensionFinite" class="ref" >ugxProblemFiniteExtensionFinite</a> section-8.11.xhtml
+<a href="section-8.11.xhtml#ugxProblemFiniteUtility" class="ref" >ugxProblemFiniteUtility</a> section-8.11.xhtml
+<a href="section-8.11.xhtml#ugxProblemFiniteUtility" class="ref" >ugxProblemFiniteUtility</a> section-8.11.xhtml
+<a href="section-8.11.xhtml#ugxProblemFiniteUtility" class="ref" >ugxProblemFiniteUtility</a> section-8.11.xhtml
+<a href="section-8.11.xhtml#ugxProblemFiniteExtensionFinite" class="ref" >ugxProblemFiniteExtensionFinite</a> section-8.11.xhtml
+<a href="section-9.18.xhtml#EqTableXmpPage" class="ref" >TableXmpPage</a> section-9.1.xhtml
+<a href="section-9.1.xhtml#AssociationListXmpPage" class="ref" >ListXmpPage</a> section-9.1.xhtml
+<a href="section-9.21.xhtml#ExpressionXmpPage" class="ref" >ExpressionXmpPage</a> section-9.3.xhtml
+<a href="section-9.37.xhtml#KernelXmpPage" class="ref" >KernelXmpPage</a> section-9.3.xhtml
+<a href="ugProblemDEQPage" class="ref" >ugProblemDEQPage</a> section-9.3.xhtml
+<a href="ugProblemDEQNumber" class="ref" >ugProblemDEQNumber</a> section-9.3.xhtml
+<a href="section-9.15.xhtml#DecimalExpansionXmpPage" class="ref" >DecimalExpansionXmpPage</a> section-9.4.xhtml
+<a href="section-9.33.xhtml#HexadecimalExpansionXmpPage" class="ref" >HexadecimalExpansionXmpPage</a> section-9.4.xhtml
+<a href="section-9.65.xhtml#RadixExpansionXmpPage" class="ref" >RadixExpansionXmpPage</a> section-9.4.xhtml
+<a href="section-9.9.xhtml#CharacterClassXmpPage" class="ref" >CharacterClassXmpPage</a> section-9.8.xhtml
+<a href="section-9.77.xhtml#StringXmpPage" class="ref" >StringXmpPage</a> section-9.8.xhtml
+<a href="section-9.8.xhtml#CharacterXmpPage" class="ref" >CharacterXmpPage</a> section-9.9.xhtml
+<a href="section-9.77.xhtml#StringXmpPage" class="ref" >StringXmpPage</a> section-9.9.xhtml
+<a href="section-9.11.xhtml#ComplexXmpPage" class="ref" >ComplexXmpPage</a> section-9.10.xhtml
+<a href="section-9.64.xhtml#QuaternionXmpPage" class="ref" >QuaternionXmpPage</a> section-9.10.xhtml
+<a href="section-8.1.xhtml#ugProblemNumeric" class="ref" >ugProblemNumeric</a> section-9.11.xhtml
+<a href="ugTypesConvertPage" class="ref" >ugTypesConvertPage</a> section-9.11.xhtml
+<a href="ugTypesConvertNumber" class="ref" >ugTypesConvertNumber</a> section-9.11.xhtml
+<a href="section-9.76.xhtml#StreamXmpPage" class="ref" >StreamXmpPage</a> section-9.12.xhtml
+<a href="section-9.3.xhtml#BasicOperatorXmpPage" class="ref" >OperatorXmpPage</a> section-9.14.xhtml
+<a href="section-9.4.xhtml#BinaryExpansionXmpPage" class="ref" >BinaryExpansionXmpPage</a> section-9.15.xhtml
+<a href="section-9.33.xhtml#HexadecimalExpansionXmpPage" class="ref" >HexadecimalExpansionXmpPage</a> section-9.15.xhtml
+<a href="section-9.65.xhtml#RadixExpansionXmpPage" class="ref" >RadixExpansionXmpPage</a> section-9.15.xhtml
+<a href="ugIntroVariablesPage" class="ref" >ugIntroVariablesPage</a> section-9.16.xhtml
+<a href="ugIntroVariablesNumber" class="ref" >ugIntroVariablesNumber</a> section-9.16.xhtml
+<a href="ugTypesConvertPage" class="ref" >ugTypesConvertPage</a> section-9.16.xhtml
+<a href="ugTypesConvertNumber" class="ref" >ugTypesConvertNumber</a> section-9.16.xhtml
+<a href="section-9.16.xhtml#DistributedMultivariatePolynomialXmpPage" class="ref" >PolynomialXmpPage</a> section-9.16.xhtml
+<a href="section-9.83.xhtml#UnivariatePolynomialXmpPage" class="ref" >UnivariatePolynomialXmpPage</a> section-9.16.xhtml
+<a href="section-9.16.xhtml#DistributedMultivariatePolynomialXmpPage" class="ref" >MultivariatePolynomialXmpPage</a> section-9.16.xhtml
+<a href="section-7.0.xhtml#ugGraph" class="ref" >ugGraph</a> section-9.17.xhtml
+<a href="section-8.1.xhtml#ugProblemNumeric" class="ref" >ugProblemNumeric</a> section-9.17.xhtml
+<a href="section-9.17.xhtml#DoubleFloatXmpPage" class="ref" >FloatXmpPage</a> section-9.17.xhtml
+<a href="section-9.18.xhtml#EqTableXmpPage" class="ref" >TableXmpPage</a> section-9.18.xhtml
+<a href="ugUserPage" class="ref" >ugUserPage</a> section-9.20.xhtml
+<a href="ugUserNumber" class="ref" >ugUserNumber</a> section-9.20.xhtml
+<a href="section-9.86.xhtml#VoidXmpPage" class="ref" >VoidXmpPage</a> section-9.20.xhtml
+<a href="section-9.37.xhtml#KernelXmpPage" class="ref" >KernelXmpPage</a> section-9.21.xhtml
+<a href="section-9.37.xhtml#KernelXmpPage" class="ref" >KernelXmpPage</a> section-9.21.xhtml
+<a href="ugIntroCalcDerivPage" class="ref" >ugIntroCalcDerivPage</a> section-9.21.xhtml
+<a href="ugIntroCalcDerivNumber" class="ref" >ugIntroCalcDerivNumber</a> section-9.21.xhtml
+<a href="ugIntroCalcLimitsPage" class="ref" >ugIntroCalcLimitsPage</a> section-9.21.xhtml
+<a href="ugIntroCalcLimitsNumber" class="ref" >ugIntroCalcLimitsNumber</a> section-9.21.xhtml
+<a href="ugIntroSeriesPage" class="ref" >ugIntroSeriesPage</a> section-9.21.xhtml
+<a href="ugIntroSeriesNumber" class="ref" >ugIntroSeriesNumber</a> section-9.21.xhtml
+<a href="ugProblemDEQPage" class="ref" >ugProblemDEQPage</a> section-9.21.xhtml
+<a href="ugProblemDEQNumber" class="ref" >ugProblemDEQNumber</a> section-9.21.xhtml
+<a href="ugProblemIntegrationPage" class="ref" >ugProblemIntegrationPage</a> section-9.21.xhtml
+<a href="ugProblemIntegrationNumber" class="ref" >ugProblemIntegrationNumber</a> section-9.21.xhtml
+<a href="ugUserRulesPage" class="ref" >ugUserRulesPage</a> section-9.21.xhtml
+<a href="ugUserRulesNumber" class="ref" >ugUserRulesNumber</a> section-9.21.xhtml
+<a href="ugTypesPkgCallPage" class="ref" >ugTypesPkgCallPage</a> section-9.22.xhtml
+<a href="ugTypesPkgCallNumber" class="ref" >ugTypesPkgCallNumber</a> section-9.22.xhtml
+<a href="FactoredFunctionsTwoXmpPage" class="ref" >FactoredFunctionsTwoXmpPage</a> section-9.22.xhtml
+<a href="section-9.22.xhtml#FactoredXmpPage" class="ref" >FactoredXmpPage</a> section-9.23.xhtml
+<a href="ugProblemGaloisPage" class="ref" >ugProblemGaloisPage</a> section-9.23.xhtml
+<a href="ugProblemGaloisNumber" class="ref" >ugProblemGaloisNumber</a> section-9.23.xhtml
+<a href="section-9.81.xhtml#TextFileXmpPage" class="ref" >TextFileXmpPage</a> section-9.24.xhtml
+<a href="section-9.38.xhtml#KeyedAccessFileXmpPage" class="ref" >KeyedAccessFileXmpPage</a> section-9.24.xhtml
+<a href="section-9.41.xhtml#LibraryXmpPage" class="ref" >LibraryXmpPage</a> section-9.24.xhtml
+<a href="section-9.25.xhtml#FileNameXmpPage" class="ref" >FileNameXmpPage</a> section-9.24.xhtml
+<a href="section-9.57.xhtml#OneDimensionalArrayXmpPage" class="ref" >OneDimensionalArrayXmpPage</a> section-9.26.xhtml
+<a href="section-9.85.xhtml#VectorXmpPage" class="ref" >VectorXmpPage</a> section-9.26.xhtml
+<a href="ugGraphPage" class="ref" >ugGraphPage</a> section-9.27.xhtml
+<a href="ugGraphNumber" class="ref" >ugGraphNumber</a> section-9.27.xhtml
+<a href="section-8.1.xhtml#ugProblemNumeric" class="ref" >ugProblemNumeric</a> section-9.27.xhtml
+<a href="section-9.17.xhtml#DoubleFloatXmpPage" class="ref" >DoubleFloatXmpPage</a> section-9.27.xhtml
+<a href="ugTypesConvertPage" class="ref" >ugTypesConvertPage</a> section-9.27.xhtml
+<a href="ugTypesConvertNumber" class="ref" >ugTypesConvertNumber</a> section-9.27.xhtml
+<a href="section-9.34.xhtml#IntegerXmpPage" class="ref" >IntegerXmpPage</a> section-9.28.xhtml
+<a href="section-9.12.xhtml#ContinuedFractionXmpPage" class="ref" >ContinuedFractionXmpPage</a> section-9.28.xhtml
+<a href="section-9.61.xhtml#PartialFractionXmpPage" class="ref" >PartialFractionXmpPage</a> section-9.28.xhtml
+<a href="ugTypesConvertPage" class="ref" >ugTypesConvertPage</a> section-9.28.xhtml
+<a href="section-9.61.xhtml#PartialFractionXmpPage" class="ref" >PartialFractionXmpPage</a> section-9.29.xhtml
+<a href="section-9.18.xhtml#EqTableXmpPage" class="ref" >TableXmpPage</a> section-9.30.xhtml
+<a href="section-9.26.xhtml#FlexibleArrayXmpPage" class="ref" >FlexibleArrayXmpPage</a> section-9.32.xhtml
+<a href="section-9.15.xhtml#DecimalExpansionXmpPage" class="ref" >DecimalExpansionXmpPage</a> section-9.33.xhtml
+<a href="section-9.4.xhtml#BinaryExpansionXmpPage" class="ref" >BinaryExpansionXmpPage</a> section-9.33.xhtml
+<a href="section-9.65.xhtml#RadixExpansionXmpPage" class="ref" >RadixExpansionXmpPage</a> section-9.33.xhtml
+<a href="ugIntroNumbersPage" class="ref" >ugIntroNumbersPage</a> section-9.34.xhtml
+<a href="ugIntroNumbersNumber" class="ref" >ugIntroNumbersNumber</a> section-9.34.xhtml
+<a href="section-9.36.xhtml#IntegerNumberTheoryFunctionsXmpPage" class="ref" >IntegerNumberTheoryFunctionsXmpPage</a> section-9.34.xhtml
+<a href="section-9.15.xhtml#DecimalExpansionXmpPage" class="ref" >DecimalExpansionXmpPage</a> section-9.34.xhtml
+<a href="section-9.4.xhtml#BinaryExpansionXmpPage" class="ref" >BinaryExpansionXmpPage</a> section-9.34.xhtml
+<a href="section-9.33.xhtml#HexadecimalExpansionXmpPage" class="ref" >HexadecimalExpansionXmpPage</a> section-9.34.xhtml
+<a href="section-9.65.xhtml#RadixExpansionXmpPage" class="ref" >RadixExpansionXmpPage</a> section-9.34.xhtml
+<a href="section-9.12.xhtml#ContinuedFractionXmpPage" class="ref" >FractionXmpPage</a> section-9.34.xhtml
+<a href="ugTypesUnionsPage" class="ref" >ugTypesUnionsPage</a> section-9.34.xhtml
+<a href="ugTypesUnionsNumber" class="ref" >ugTypesUnionsNumber</a> section-9.34.xhtml
+<a href="section-2.4.xhtml#ugTypesRecords" class="ref" >ugTypesRecords</a> section-9.34.xhtml
+<a href="section-9.22.xhtml#FactoredXmpPage" class="ref" >FactoredXmpPage</a> section-9.34.xhtml
+<a href="section-9.11.xhtml#ComplexXmpPage" class="ref" >ComplexXmpPage</a> section-9.34.xhtml
+<a href="section-9.36.xhtml#IntegerNumberTheoryFunctionsXmpPage" class="ref" >IntegerNumberTheoryFunctionsXmpPage</a> section-9.34.xhtml
+<a href="section-9.3.xhtml#BasicOperatorXmpPage" class="ref" >BasicOperatorXmpPage</a> section-9.37.xhtml
+<a href="section-9.21.xhtml#ExpressionXmpPage" class="ref" >ExpressionXmpPage</a> section-9.37.xhtml
+<a href="section-9.21.xhtml#ExpressionXmpPage" class="ref" >ExpressionXmpPage</a> section-9.37.xhtml
+<a href="section-9.24.xhtml#FileXmpPage" class="ref" >FileXmpPage</a> section-9.38.xhtml
+<a href="section-9.81.xhtml#TextFileXmpPage" class="ref" >TextFileXmpPage</a> section-9.38.xhtml
+<a href="section-9.41.xhtml#LibraryXmpPage" class="ref" >LibraryXmpPage</a> section-9.38.xhtml
+<a href="section-9.24.xhtml#FileXmpPage" class="ref" >FileXmpPage</a> section-9.41.xhtml
+<a href="section-9.81.xhtml#TextFileXmpPage" class="ref" >TextFileXmpPage</a> section-9.41.xhtml
+<a href="section-9.38.xhtml#KeyedAccessFileXmpPage" class="ref" >KeyedAccessFileXmpPage</a> section-9.41.xhtml
+<a href="section-9.76.xhtml#StreamXmpPage" class="ref" >StreamXmpPage</a> section-9.47.xhtml
+<a href="ugUserMakePage" class="ref" >ugUserMakePage</a> section-9.50.xhtml
+<a href="ugUserMakeNumber" class="ref" >ugUserMakeNumber</a> section-9.50.xhtml
+<a href="ugIntroTwoDimPage" class="ref" >ugIntroTwoDimPage</a> section-9.52.xhtml
+<a href="ugIntroTwoDimNumber" class="ref" >ugIntroTwoDimNumber</a> section-9.52.xhtml
+<a href="ugProblemEigenPage" class="ref" >ugProblemEigenPage</a> section-9.52.xhtml
+<a href="ugProblemEigenNumber" class="ref" >ugProblemEigenNumber</a> section-9.52.xhtml
+<a href="ugxFloatHilbertPage" class="ref" >ugxFloatHilbertPage</a> section-9.52.xhtml
+<a href="ugxFloatHilbertNumber" class="ref" >ugxFloatHilbertNumber</a> section-9.52.xhtml
+<a href="section-9.62.xhtml#PermanentXmpPage" class="ref" >PermanentXmpPage</a> section-9.52.xhtml
+<a href="section-9.85.xhtml#VectorXmpPage" class="ref" >VectorXmpPage</a> section-9.52.xhtml
+<a href="section-9.57.xhtml#OneDimensionalArrayXmpPage" class="ref" >OneDimensionalArrayXmpPage</a> section-9.52.xhtml
+<a href="section-9.82.xhtml#TwoDimensionalArrayXmpPage" class="ref" >TwoDimensionalArrayXmpPage</a> section-9.52.xhtml
+<a href="section-9.16.xhtml#DistributedMultivariatePolynomialXmpPage" class="ref" >PolynomialXmpPage</a> section-9.54.xhtml
+<a href="section-9.83.xhtml#UnivariatePolynomialXmpPage" class="ref" >UnivariatePolynomialXmpPage</a> section-9.54.xhtml
+<a href="section-9.16.xhtml#DistributedMultivariatePolynomialXmpPage" class="ref" >DistributedMultivariatePolynomialXmpPage</a> section-9.54.xhtml
+<a href="section-9.64.xhtml#QuaternionXmpPage" class="ref" >QuaternionXmpPage</a> section-9.56.xhtml
+<a href="section-9.85.xhtml#VectorXmpPage" class="ref" >VectorXmpPage</a> section-9.57.xhtml
+<a href="section-9.26.xhtml#FlexibleArrayXmpPage" class="ref" >FlexibleArrayXmpPage</a> section-9.57.xhtml
+<a href="section-9.11.xhtml#ComplexXmpPage" class="ref" >ComplexXmpPage</a> section-9.61.xhtml
+<a href="section-9.22.xhtml#FactoredXmpPage" class="ref" >FactoredXmpPage</a> section-9.61.xhtml
+<a href="section-9.29.xhtml#FullPartialFractionExpansionXmpPage" class="ref" >FullPartialFractionExpansionXmpPage</a> section-9.61.xhtml
+<a href="section-9.16.xhtml#DistributedMultivariatePolynomialXmpPage" class="ref" >DistributedMultivariatePolynomialXmpPage</a> section-9.63.xhtml
+<a href="section-9.22.xhtml#FactoredXmpPage" class="ref" >FactoredXmpPage</a> section-9.63.xhtml
+<a href="ugProblemFactorPage" class="ref" >ugProblemFactorPage</a> section-9.63.xhtml
+<a href="ugProblemFactorNumber" class="ref" >ugProblemFactorNumber</a> section-9.63.xhtml
+<a href="section-9.83.xhtml#UnivariatePolynomialXmpPage" class="ref" >UnivariatePolynomialXmpPage</a> section-9.63.xhtml
+<a href="section-9.16.xhtml#DistributedMultivariatePolynomialXmpPage" class="ref" >MultivariatePolynomialXmpPage</a> section-9.63.xhtml
+<a href="section-9.16.xhtml#DistributedMultivariatePolynomialXmpPage" class="ref" >DistributedMultivariatePolynomialXmpPage</a> section-9.63.xhtml
+<a href="section-9.11.xhtml#ComplexXmpPage" class="ref" >ComplexXmpPage</a> section-9.64.xhtml
+<a href="section-9.56.xhtml#OctonionXmpPage" class="ref" >OctonionXmpPage</a> section-9.64.xhtml
+<a href="section-9.15.xhtml#DecimalExpansionXmpPage" class="ref" >DecimalExpansionXmpPage</a> section-9.65.xhtml
+<a href="section-9.4.xhtml#BinaryExpansionXmpPage" class="ref" >BinaryExpansionXmpPage</a> section-9.65.xhtml
+<a href="section-9.33.xhtml#HexadecimalExpansionXmpPage" class="ref" >HexadecimalExpansionXmpPage</a> section-9.65.xhtml
+<a href="section-9.70.xhtml#SegmentBindingXmpPage" class="ref" >SegmentBindingXmpPage</a> section-9.69.xhtml
+<a href="section-9.84.xhtml#UniversalSegmentXmpPage" class="ref" >UniversalSegmentXmpPage</a> section-9.69.xhtml
+<a href="section-9.69.xhtml#SegmentXmpPage" class="ref" >SegmentXmpPage</a> section-9.70.xhtml
+<a href="section-9.84.xhtml#UniversalSegmentXmpPage" class="ref" >UniversalSegmentXmpPage</a> section-9.70.xhtml
+<a href="section-9.1.xhtml#AssociationListXmpPage" class="ref" >ListXmpPage</a> section-9.71.xhtml
+<a href="ugTypesDeclarePage" class="ref" >ugTypesDeclarePage</a> section-9.72.xhtml
+<a href="ugTypesDeclareNumber" class="ref" >ugTypesDeclareNumber</a> section-9.72.xhtml
+<a href="ugTypesPkgCallPage" class="ref" >ugTypesPkgCallPage</a> section-9.72.xhtml
+<a href="ugTypesPkgCallNumber" class="ref" >ugTypesPkgCallNumber</a> section-9.72.xhtml
+<a href="ugBrowsePage" class="ref" >ugBrowsePage</a> section-9.72.xhtml
+<a href="ugBrowseNumber" class="ref" >ugBrowseNumber</a> section-9.72.xhtml
+<a href="section-9.18.xhtml#EqTableXmpPage" class="ref" >TableXmpPage</a> section-9.73.xhtml
+<a href="section-9.30.xhtml#GeneralSparseTableXmpPage" class="ref" >GeneralSparseTableXmpPage</a> section-9.73.xhtml
+<a href="section-9.52.xhtml#MatrixXmpPage" class="ref" >MatrixXmpPage</a> section-9.74.xhtml
+<a href="ugTypesWritingModesPage" class="ref" >ugTypesWritingModesPage</a> section-9.74.xhtml
+<a href="ugTypesWritingModesNumber" class="ref" >ugTypesWritingModesNumber</a> section-9.74.xhtml
+<a href="ugTypesExposePage" class="ref" >ugTypesExposePage</a> section-9.74.xhtml
+<a href="ugTypesExposeNumber" class="ref" >ugTypesExposeNumber</a> section-9.74.xhtml
+<a href="section-9.52.xhtml#MatrixXmpPage" class="ref" >MatrixXmpPage</a> section-9.74.xhtml
+<a href="ugLangItsPage" class="ref" >ugLangItsPage</a> section-9.76.xhtml
+<a href="ugLangItsNumber" class="ref" >ugLangItsNumber</a> section-9.76.xhtml
+<a href="ugProblemSeriesPage" class="ref" >ugProblemSeriesPage</a> section-9.76.xhtml
+<a href="ugProblemSeriesNumber" class="ref" >ugProblemSeriesNumber</a> section-9.76.xhtml
+<a href="chapter-9.1-12.xhtml#ContinuedFractionXmpPage" class="ref" >ContinuedFractionXmpPage</a> section-9.76.xhtml
+<a href="section-9.1.xhtml#AssociationListXmpPage" class="ref" >ListXmpPage</a> section-9.76.xhtml
+<a href="section-9.8.xhtml#CharacterXmpPage" class="ref" >CharacterXmpPage</a> section-9.77.xhtml
+<a href="section-9.9.xhtml#CharacterClassXmpPage" class="ref" >CharacterClassXmpPage</a> section-9.77.xhtml
+<a href="section-9.18.xhtml#EqTableXmpPage" class="ref" >TableXmpPage</a> section-9.78.xhtml
+<a href="section-9.1.xhtml#AssociationListXmpPage" class="ref" >AssociationListXmpPage</a> section-9.80.xhtml
+<a href="section-9.18.xhtml#EqTableXmpPage" class="ref" >EqTableXmpPage</a> section-9.80.xhtml
+<a href="section-9.78.xhtml#StringTableXmpPage" class="ref" >StringTableXmpPage</a> section-9.80.xhtml
+<a href="section-9.30.xhtml#GeneralSparseTableXmpPage" class="ref" >SparseTableXmpPage</a> section-9.80.xhtml
+<a href="section-9.38.xhtml#KeyedAccessFileXmpPage" class="ref" >KeyedAccessFileXmpPage</a> section-9.80.xhtml
+<a href="section-9.24.xhtml#FileXmpPage" class="ref" >FileXmpPage</a> section-9.81.xhtml
+<a href="section-9.38.xhtml#KeyedAccessFileXmpPage" class="ref" >KeyedAccessFileXmpPage</a> section-9.81.xhtml
+<a href="section-9.41.xhtml#LibraryXmpPage" class="ref" >LibraryXmpPage</a> section-9.81.xhtml
+<a href="ugTypesAnyNonePage" class="ref" >ugTypesAnyNonePage</a> section-9.82.xhtml
+<a href="ugTypesAnyNoneNumber" class="ref" >ugTypesAnyNoneNumber</a> section-9.82.xhtml
+<a href="section-9.52.xhtml#MatrixXmpPage" class="ref" >MatrixXmpPage</a> section-9.82.xhtml
+<a href="section-9.57.xhtml#OneDimensionalArrayXmpPage" class="ref" >OneDimensionalArrayXmpPage</a> section-9.82.xhtml
+<a href="ugProblemFactorPage" class="ref" >ugProblemFactorPage</a> section-9.83.xhtml
+<a href="ugProblemFactorNumber" class="ref" >ugProblemFactorNumber</a> section-9.83.xhtml
+<a href="ugIntroVariablesPage" class="ref" >ugIntroVariablesPage</a> section-9.83.xhtml
+<a href="ugIntroVariablesNumber" class="ref" >ugIntroVariablesNumber</a> section-9.83.xhtml
+<a href="ugTypesConvertPage" class="ref" >ugTypesConvertPage</a> section-9.83.xhtml
+<a href="ugTypesConvertNumber" class="ref" >ugTypesConvertNumber</a> section-9.83.xhtml
+<a href="section-9.16.xhtml#DistributedMultivariatePolynomialXmpPage" class="ref" >PolynomialXmpPage</a> section-9.83.xhtml
+<a href="section-9.16.xhtml#DistributedMultivariatePolynomialXmpPage" class="ref" >MultivariatePolynomialXmpPage</a> section-9.83.xhtml
+<a href="section-9.16.xhtml#DistributedMultivariatePolynomialXmpPage" class="ref" >DistributedMultivariatePolynomialXmpPage</a> section-9.83.xhtml
+<a href="section-9.69.xhtml#SegmentXmpPage" class="ref" >SegmentXmpPage</a> section-9.84.xhtml
+<a href="section-9.70.xhtml#SegmentBindingXmpPage" class="ref" >SegmentBindingXmpPage</a> section-9.84.xhtml
+<a href="section-9.1.xhtml#AssociationListXmpPage" class="ref" >ListXmpPage</a> section-9.84.xhtml
+<a href="section-9.76.xhtml#StreamXmpPage" class="ref" >StreamXmpPage</a> section-9.84.xhtml
+<a href="section-9.57.xhtml#OneDimensionalArrayXmpPage" class="ref" >OneDimensionalArrayXmpPage</a> section-9.85.xhtml
+<a href="section-9.1.xhtml#AssociationListXmpPage" class="ref" >ListXmpPage</a> section-9.85.xhtml
+<a href="section-9.52.xhtml#MatrixXmpPage" class="ref" >MatrixXmpPage</a> section-9.85.xhtml
+<a href="section-9.57.xhtml#OneDimensionalArrayXmpPage" class="ref" >OneDimensionalArrayXmpPage</a> section-9.85.xhtml
+<a href="section-9.53.xhtml#MultiSetXmpPage" class="ref" >SetXmpPage</a> section-9.85.xhtml
+<a href="section-9.18.xhtml#EqTableXmpPage" class="ref" >TableXmpPage</a> section-9.85.xhtml
+<a href="section-9.82.xhtml#TwoDimensionalArrayXmpPage" class="ref" >TwoDimensionalArrayXmpPage</a> section-9.85.xhtml
+<a href="section-7.0.xhtml#ugGraph" class="ref" >ugGraph</a> section-10.1.xhtml
+<a href="section-6.0.xhtml#ugUser" class="ref" >ugUser</a> section-10.2.xhtml
+<a href="section-5.2.xhtml#ugLangBlocks" class="ref" >ugLangBlocks</a> section-10.2.xhtml
+<a href="section-7.0.xhtml#ugGraph" class="ref" >ugGraph</a> section-10.8.xhtml
+<a href="section-6.14.xhtml#ugUserMake" class="ref" >ugUserMake</a> section-10.9.xhtml
+<a href="section-10.0.xhtml#ugIntProg" class="ref" >ugIntProg</a> section-11.0.xhtml
+<a href="section-10.0.xhtml#ugIntProg" class="ref" >ugIntProg</a> section-11.0.xhtml
+<a href="section-10.0.xhtml#ugIntProg" class="ref" >ugIntProg</a> section-11.1.xhtml
+<a href="section-2.2.xhtml#ugTypesWritingAbbr" class="ref" >ugTypesWritingAbbr</a> section-11.1.xhtml
+<a href="fig-pak-cdraw" class="ref" >fig-pak-cdraw</a> section-11.1.xhtml
+<a href="section-10.8.xhtml#ugIntProgCompFuns" class="ref" >ugIntProgCompFuns</a> section-11.3.xhtml
+<a href="section-2.0.xhtml#ugTypes" class="ref" >ugTypes</a> section-11.7.xhtml
+<a href="section-6.15.xhtml#ugUserBlocks" class="ref" >ugUserBlocks</a> section-11.7.xhtml
+<a href="section-12.9.xhtml#ugCategoriesAttributes" class="ref" >ugCategoriesAttributes</a> section-11.7.xhtml
+<a href="section-6.15.xhtml#ugUserBlocks" class="ref" >ugUserBlocks</a> section-11.8.xhtml
+<a href="section-12.4.xhtml#ugCategoriesHier" class="ref" >ugCategoriesHier</a> section-11.10.xhtml
+<a href="section-2.1.xhtml#ugTypesBasicDomainCons" class="ref" >ugTypesBasicDomainCons</a> section-12.0.xhtml
+<a href="section-2.0.xhtml#ugTypes" class="ref" >ugTypes</a> section-12.1.xhtml
+<a href="section-12.4.xhtml#ugCategoriesHier" class="ref" >ugCategoriesHier</a> section-12.6.xhtml
+<a href="section-13.3.xhtml#ugDomainsAssertions" class="ref" >ugDomainsAssertions</a> section-12.9.xhtml
+<a href="section-11.8.xhtml#ugPackagesConds" class="ref" >ugPackagesConds</a> section-12.11.xhtml
+<a href="section-11.0.xhtml#ugPackages" class="ref" >ugPackages</a> section-12.12.xhtml
+<a href="section-11.3.xhtml#ugPackagesAbstract" class="ref" >ugPackagesAbstract</a> section-12.12.xhtml
+<a href="section-11.0.xhtml#ugPackages" class="ref" >ugPackages</a> section-13.1.xhtml
+<a href="section-12.8.xhtml#ugCategoriesCorrectness" class="ref" >ugCategoriesCorrectness</a> section-13.3.xhtml
+<a href="section-12.11.xhtml#ugCategoriesConditionals" class="ref" >ugCategoriesConditionals</a> section-13.3.xhtml
+<a href="section-13.2.xhtml#figquadform" class="ref" >figquadform</a> section-13.6.xhtml
+<a href="section-13.4.xhtml#ugDomainsDemo" class="ref" >ugDomainsDemo</a> section-13.6.xhtml
+<a href="section-13.4.xhtml#ugDomainsDemo" class="ref" >ugDomainsDemo</a> section-13.6.xhtml
+<a href="section-2.5.xhtml#ugTypesUnions" class="ref" >ugTypesUnions</a> section-13.7.xhtml
+<a href="section-13.4.xhtml#ugDomainsDemo" class="ref" >ugDomainsDemo</a> section-13.8.xhtml
+<a href="section-11.0.xhtml#ugPackages" class="ref" >ugPackages</a> section-13.9.xhtml
+<a href="section-12.6.xhtml#ugCategoriesDefaults" class="ref" >ugCategoriesDefaults</a> section-13.9.xhtml
+<a href="section-14.2.xhtml#ugBrowseDomain" class="ref" >ugBrowseDomain</a> section-14.1.xhtml
+<a href="section-14.3.xhtml#ugBrowseCapitalizationConvention" class="ref" >ugBrowseCapitalizationConvention</a> section-14.1.xhtml
+<a href="section-14.3.xhtml#ugBrowseOptions" class="ref" >ugBrowseOptions</a> section-14.1.xhtml
+<a href="section-14.2.xhtml#ugBrowseViewsOfConstructors" class="ref" >ugBrowseViewsOfConstructors</a> section-14.1.xhtml
+<a href="section-14.3.xhtml#ugBrowseViewsOfOperations" class="ref" >ugBrowseViewsOfOperations</a> section-14.1.xhtml
+<a href="section-14.3.xhtml#ugBrowseOptions" class="ref" >ugBrowseOptions</a> section-14.1.xhtml
+<a href="section-14.3.xhtml#ugBrowseViewsOfOperations" class="ref" >ugBrowseViewsOfOperations</a> section-14.2.xhtml
+<a href="section-14.3.xhtml#ugBrowseOptions" class="ref" >ugBrowseOptions</a> section-14.3.xhtml
+<a href="section-2.11.xhtml#ugTypesExpose" class="ref" >ugTypesExpose</a> section-14.3.xhtml
+<a href="aspSection" class="ref" >aspSection</a> section-15.3.xhtml
+<a href="aspSection" class="ref" >aspSection</a> section-15.3.xhtml
+<a href="generalFortran" class="ref" >generalFortran</a> section-15.3.xhtml
+<a href="nugNagd" class="ref" >nugNagd</a> section-15.3.xhtml
+<a href="section-5.4.xhtml#ugLangLoopsBreak" class="ref" >ugLangLoopsBreak</a> section-15.4.xhtml
+<a href="section-5.2.xhtml#ugLangBlocks" class="ref" >ugLangBlocks</a> section-15.4.xhtml
+<a href="section-7.1.xhtml#ugGraphTwoDbuild" class="ref" >ugGraphTwoDbuild</a> section-15.7.xhtml
+<a href="section-7.1.xhtml#ugGraphTwoDappend" class="ref" >ugGraphTwoDappend</a> section-15.7.xhtml
+<a href="section-1.3.xhtml#ugIntroCallFun" class="ref" >ugIntroCallFun</a> section-15.7.xhtml
+<a href="section-6.21.xhtml#ugUserRules" class="ref" >ugUserRules</a> section-15.7.xhtml
+<a href="ugSysCmdset" class="ref" >ugSysCmdset</a> section-16.1.xhtml
+<a href="ugSysCmdcd" class="ref" >ugSysCmdcd</a> section-16.7.xhtml
+<a href="ugSysCmdtrace" class="ref" >ugSysCmdtrace</a> section-16.7.xhtml
+<a href="section-16.11.xhtml#ugSysCmdframe" class="ref" >ugSysCmdframe</a> section-16.13.xhtml
+<a href="ugSysCmdcd" class="ref" >ugSysCmdcd</a> section-16.13.xhtml
+<a href="ugSysCmdcd" class="ref" >ugSysCmdcd</a> section-16.13.xhtml
+<a href="ugSysCmdabbreviation" class="ref" >ugSysCmdabbreviation</a> section-16.16.xhtml
+<a href="section-2.11.xhtml#ugTypesExpose" class="ref" >ugTypesExpose</a> section-16.16.xhtml
+<a href="section-4.1.xhtml#ugInOutIn" class="ref" >ugInOutIn</a> section-16.20.xhtml
+<a href="ugSysCmdcompile" class="ref" >ugSysCmdcompile</a> section-16.26.xhtml
+<a href="ugSysCmdcompile" class="ref" >ugSysCmdcompile</a> section-16.26.xhtml
+<a href="section-14.0.xhtml#ugBrowse" class="ref" >ugBrowse</a> section-17.1.xhtml
+<a href="section-14.0.xhtml#ugBrowse" class="ref" >ugBrowse</a> section-18.1.xhtml
+<a href="section-14.0.xhtml#ugBrowse" class="ref" >ugBrowse</a> section-19.1.xhtml
+<a href="section-21.4.xhtml#ugFimagesFive" class="ref" >ugFimagesFive</a> section-21.10.xhtml
+
+
+Following are the undefined hrefs.  These appear in the above list
+in the href attribute without a section prefix.  It would be nice to
+figure out where these are supposed to link to.
+
+<a href="fig-intro-br" class="ref" >fig-intro-br</a> section-0.1.xhtml
+<a href="ugSysCmdwhat" class="ref" >ugSysCmdwhat</a> section-2.2.xhtml
+<a href="chapter-9.1-12.xhtml#Complex" class="ref" >Complex</a> section-2.12.xhtml
+<a href="chapter-9.13-26.xhtml#ExitXmpPage" class="ref" >ExitXmpPage</a> section-6.1.xhtml
+<a href="MappingPackage1XmpPage" class="ref" >MappingPackage1XmpPage</a> section-6.7.xhtml
+<a href="ugProblemDEQPage" class="ref" >ugProblemDEQPage</a> section-9.3.xhtml
+<a href="ugProblemDEQNumber" class="ref" >ugProblemDEQNumber</a> section-9.3.xhtml
+<a href="ugTypesConvertPage" class="ref" >ugTypesConvertPage</a> section-9.11.xhtml
+<a href="ugTypesConvertNumber" class="ref" >ugTypesConvertNumber</a> section-9.11.xhtml
+<a href="ugIntroVariablesPage" class="ref" >ugIntroVariablesPage</a> section-9.16.xhtml
+<a href="ugIntroVariablesNumber" class="ref" >ugIntroVariablesNumber</a> section-9.16.xhtml
+<a href="ugTypesConvertPage" class="ref" >ugTypesConvertPage</a> section-9.16.xhtml
+<a href="ugTypesConvertNumber" class="ref" >ugTypesConvertNumber</a> section-9.16.xhtml
+<a href="ugUserPage" class="ref" >ugUserPage</a> section-9.20.xhtml
+<a href="ugUserNumber" class="ref" >ugUserNumber</a> section-9.20.xhtml
+<a href="ugIntroCalcDerivPage" class="ref" >ugIntroCalcDerivPage</a> section-9.21.xhtml
+<a href="ugIntroCalcDerivNumber" class="ref" >ugIntroCalcDerivNumber</a> section-9.21.xhtml
+<a href="ugIntroCalcLimitsPage" class="ref" >ugIntroCalcLimitsPage</a> section-9.21.xhtml
+<a href="ugIntroCalcLimitsNumber" class="ref" >ugIntroCalcLimitsNumber</a> section-9.21.xhtml
+<a href="ugIntroSeriesPage" class="ref" >ugIntroSeriesPage</a> section-9.21.xhtml
+<a href="ugIntroSeriesNumber" class="ref" >ugIntroSeriesNumber</a> section-9.21.xhtml
+<a href="ugProblemDEQPage" class="ref" >ugProblemDEQPage</a> section-9.21.xhtml
+<a href="ugProblemDEQNumber" class="ref" >ugProblemDEQNumber</a> section-9.21.xhtml
+<a href="ugProblemIntegrationPage" class="ref" >ugProblemIntegrationPage</a> section-9.21.xhtml
+<a href="ugProblemIntegrationNumber" class="ref" >ugProblemIntegrationNumber</a> section-9.21.xhtml
+<a href="ugUserRulesPage" class="ref" >ugUserRulesPage</a> section-9.21.xhtml
+<a href="ugUserRulesNumber" class="ref" >ugUserRulesNumber</a> section-9.21.xhtml
+<a href="ugTypesPkgCallPage" class="ref" >ugTypesPkgCallPage</a> section-9.22.xhtml
+<a href="ugTypesPkgCallNumber" class="ref" >ugTypesPkgCallNumber</a> section-9.22.xhtml
+<a href="FactoredFunctionsTwoXmpPage" class="ref" >FactoredFunctionsTwoXmpPage</a> section-9.22.xhtml
+<a href="ugProblemGaloisPage" class="ref" >ugProblemGaloisPage</a> section-9.23.xhtml
+<a href="ugProblemGaloisNumber" class="ref" >ugProblemGaloisNumber</a> section-9.23.xhtml
+<a href="ugGraphPage" class="ref" >ugGraphPage</a> section-9.27.xhtml
+<a href="ugGraphNumber" class="ref" >ugGraphNumber</a> section-9.27.xhtml
+<a href="ugTypesConvertPage" class="ref" >ugTypesConvertPage</a> section-9.27.xhtml
+<a href="ugTypesConvertNumber" class="ref" >ugTypesConvertNumber</a> section-9.27.xhtml
+<a href="ugTypesConvertPage" class="ref" >ugTypesConvertPage</a> section-9.28.xhtml
+<a href="ugIntroNumbersPage" class="ref" >ugIntroNumbersPage</a> section-9.34.xhtml
+<a href="ugIntroNumbersNumber" class="ref" >ugIntroNumbersNumber</a> section-9.34.xhtml
+<a href="ugTypesUnionsPage" class="ref" >ugTypesUnionsPage</a> section-9.34.xhtml
+<a href="ugTypesUnionsNumber" class="ref" >ugTypesUnionsNumber</a> section-9.34.xhtml
+<a href="ugUserMakePage" class="ref" >ugUserMakePage</a> section-9.50.xhtml
+<a href="ugUserMakeNumber" class="ref" >ugUserMakeNumber</a> section-9.50.xhtml
+<a href="ugIntroTwoDimPage" class="ref" >ugIntroTwoDimPage</a> section-9.52.xhtml
+<a href="ugIntroTwoDimNumber" class="ref" >ugIntroTwoDimNumber</a> section-9.52.xhtml
+<a href="ugProblemEigenPage" class="ref" >ugProblemEigenPage</a> section-9.52.xhtml
+<a href="ugProblemEigenNumber" class="ref" >ugProblemEigenNumber</a> section-9.52.xhtml
+<a href="ugxFloatHilbertPage" class="ref" >ugxFloatHilbertPage</a> section-9.52.xhtml
+<a href="ugxFloatHilbertNumber" class="ref" >ugxFloatHilbertNumber</a> section-9.52.xhtml
+<a href="ugProblemFactorPage" class="ref" >ugProblemFactorPage</a> section-9.63.xhtml
+<a href="ugProblemFactorNumber" class="ref" >ugProblemFactorNumber</a> section-9.63.xhtml
+<a href="ugTypesDeclarePage" class="ref" >ugTypesDeclarePage</a> section-9.72.xhtml
+<a href="ugTypesDeclareNumber" class="ref" >ugTypesDeclareNumber</a> section-9.72.xhtml
+<a href="ugTypesPkgCallPage" class="ref" >ugTypesPkgCallPage</a> section-9.72.xhtml
+<a href="ugTypesPkgCallNumber" class="ref" >ugTypesPkgCallNumber</a> section-9.72.xhtml
+<a href="ugBrowsePage" class="ref" >ugBrowsePage</a> section-9.72.xhtml
+<a href="ugBrowseNumber" class="ref" >ugBrowseNumber</a> section-9.72.xhtml
+<a href="ugTypesWritingModesPage" class="ref" >ugTypesWritingModesPage</a> section-9.74.xhtml
+<a href="ugTypesWritingModesNumber" class="ref" >ugTypesWritingModesNumber</a> section-9.74.xhtml
+<a href="ugTypesExposePage" class="ref" >ugTypesExposePage</a> section-9.74.xhtml
+<a href="ugTypesExposeNumber" class="ref" >ugTypesExposeNumber</a> section-9.74.xhtml
+<a href="ugLangItsPage" class="ref" >ugLangItsPage</a> section-9.76.xhtml
+<a href="ugLangItsNumber" class="ref" >ugLangItsNumber</a> section-9.76.xhtml
+<a href="ugProblemSeriesPage" class="ref" >ugProblemSeriesPage</a> section-9.76.xhtml
+<a href="ugProblemSeriesNumber" class="ref" >ugProblemSeriesNumber</a> section-9.76.xhtml
+<a href="chapter-9.1-12.xhtml#ContinuedFractionXmpPage" class="ref" >ContinuedFractionXmpPage</a> section-9.76.xhtml
+<a href="ugTypesAnyNonePage" class="ref" >ugTypesAnyNonePage</a> section-9.82.xhtml
+<a href="ugTypesAnyNoneNumber" class="ref" >ugTypesAnyNoneNumber</a> section-9.82.xhtml
+<a href="ugProblemFactorPage" class="ref" >ugProblemFactorPage</a> section-9.83.xhtml
+<a href="ugProblemFactorNumber" class="ref" >ugProblemFactorNumber</a> section-9.83.xhtml
+<a href="ugIntroVariablesPage" class="ref" >ugIntroVariablesPage</a> section-9.83.xhtml
+<a href="ugIntroVariablesNumber" class="ref" >ugIntroVariablesNumber</a> section-9.83.xhtml
+<a href="ugTypesConvertPage" class="ref" >ugTypesConvertPage</a> section-9.83.xhtml
+<a href="ugTypesConvertNumber" class="ref" >ugTypesConvertNumber</a> section-9.83.xhtml
+<a href="fig-pak-cdraw" class="ref" >fig-pak-cdraw</a> section-11.1.xhtml
+<a href="aspSection" class="ref" >aspSection</a> section-15.3.xhtml
+<a href="aspSection" class="ref" >aspSection</a> section-15.3.xhtml
+<a href="generalFortran" class="ref" >generalFortran</a> section-15.3.xhtml
+<a href="nugNagd" class="ref" >nugNagd</a> section-15.3.xhtml
+<a href="ugSysCmdset" class="ref" >ugSysCmdset</a> section-16.1.xhtml
+<a href="ugSysCmdcd" class="ref" >ugSysCmdcd</a> section-16.7.xhtml
+<a href="ugSysCmdtrace" class="ref" >ugSysCmdtrace</a> section-16.7.xhtml
+<a href="ugSysCmdcd" class="ref" >ugSysCmdcd</a> section-16.13.xhtml
+<a href="ugSysCmdcd" class="ref" >ugSysCmdcd</a> section-16.13.xhtml
+<a href="ugSysCmdabbreviation" class="ref" >ugSysCmdabbreviation</a> section-16.16.xhtml
+<a href="ugSysCmdcompile" class="ref" >ugSysCmdcompile</a> section-16.26.xhtml
+<a href="ugSysCmdcompile" class="ref" >ugSysCmdcompile</a> section-16.26.xhtml
diff --git a/src/axiom-website/hyperdoc/axbook/ps/23DColA.png b/src/axiom-website/hyperdoc/axbook/ps/23DColA.png
new file mode 100644
index 0000000..6f1528a
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/23DColA.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/23DColB.png b/src/axiom-website/hyperdoc/axbook/ps/23DColB.png
new file mode 100644
index 0000000..6f1528a
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/23DColB.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/23DPal.png b/src/axiom-website/hyperdoc/axbook/ps/23DPal.png
new file mode 100644
index 0000000..6f1528a
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/23DPal.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/2D1VarA.png b/src/axiom-website/hyperdoc/axbook/ps/2D1VarA.png
new file mode 100644
index 0000000..ae8de0c
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/2D1VarA.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/2D1VarB.png b/src/axiom-website/hyperdoc/axbook/ps/2D1VarB.png
new file mode 100644
index 0000000..e3e8f0b
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/2D1VarB.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/2DOptAd.png b/src/axiom-website/hyperdoc/axbook/ps/2DOptAd.png
new file mode 100644
index 0000000..d313bab
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/2DOptAd.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/2DOptCp.png b/src/axiom-website/hyperdoc/axbook/ps/2DOptCp.png
new file mode 100644
index 0000000..9b108b8
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/2DOptCp.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/2DOptCvC.png b/src/axiom-website/hyperdoc/axbook/ps/2DOptCvC.png
new file mode 100644
index 0000000..21ec048
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/2DOptCvC.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/2DOptPlr.png b/src/axiom-website/hyperdoc/axbook/ps/2DOptPlr.png
new file mode 100644
index 0000000..1b0d264
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/2DOptPlr.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/2DOptPtC.png b/src/axiom-website/hyperdoc/axbook/ps/2DOptPtC.png
new file mode 100644
index 0000000..21ec048
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/2DOptPtC.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/2Dcos.png b/src/axiom-website/hyperdoc/axbook/ps/2Dcos.png
new file mode 100644
index 0000000..cc4ae62
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/2Dcos.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/2Dctrl.png b/src/axiom-website/hyperdoc/axbook/ps/2Dctrl.png
new file mode 100644
index 0000000..598e93e
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/2Dctrl.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/2DppcA.png b/src/axiom-website/hyperdoc/axbook/ps/2DppcA.png
new file mode 100644
index 0000000..4f68832
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/2DppcA.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/2DppcE.png b/src/axiom-website/hyperdoc/axbook/ps/2DppcE.png
new file mode 100644
index 0000000..47ab958
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/2DppcE.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/2Dsin.png b/src/axiom-website/hyperdoc/axbook/ps/2Dsin.png
new file mode 100644
index 0000000..1abfedb
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/2Dsin.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/2Dsincos.png b/src/axiom-website/hyperdoc/axbook/ps/2Dsincos.png
new file mode 100644
index 0000000..d2732cf
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/2Dsincos.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/3D2VarA.png b/src/axiom-website/hyperdoc/axbook/ps/3D2VarA.png
new file mode 100644
index 0000000..0faf8e9
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/3D2VarA.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/3D2VarB.png b/src/axiom-website/hyperdoc/axbook/ps/3D2VarB.png
new file mode 100644
index 0000000..6d2e8ae
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/3D2VarB.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/3DBuildA.png b/src/axiom-website/hyperdoc/axbook/ps/3DBuildA.png
new file mode 100644
index 0000000..bc9a82f
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/3DBuildA.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/3DBuildB.png b/src/axiom-website/hyperdoc/axbook/ps/3DBuildB.png
new file mode 100644
index 0000000..2fa6774
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/3DBuildB.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/3DOptCf1.png b/src/axiom-website/hyperdoc/axbook/ps/3DOptCf1.png
new file mode 100644
index 0000000..fe97001
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/3DOptCf1.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/3DOptCf2.png b/src/axiom-website/hyperdoc/axbook/ps/3DOptCf2.png
new file mode 100644
index 0000000..5410ee5
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/3DOptCf2.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/3DOptCf3.png b/src/axiom-website/hyperdoc/axbook/ps/3DOptCf3.png
new file mode 100644
index 0000000..0985233
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/3DOptCf3.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/3DOptCrd.png b/src/axiom-website/hyperdoc/axbook/ps/3DOptCrd.png
new file mode 100644
index 0000000..d75662f
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/3DOptCrd.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/3DOptPts.png b/src/axiom-website/hyperdoc/axbook/ps/3DOptPts.png
new file mode 100644
index 0000000..4a0776a
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/3DOptPts.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/3DOptRad.png b/src/axiom-website/hyperdoc/axbook/ps/3DOptRad.png
new file mode 100644
index 0000000..4a254b9
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/3DOptRad.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/3DOptSty.png b/src/axiom-website/hyperdoc/axbook/ps/3DOptSty.png
new file mode 100644
index 0000000..6aa99b1
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/3DOptSty.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/3DOptTtl.png b/src/axiom-website/hyperdoc/axbook/ps/3DOptTtl.png
new file mode 100644
index 0000000..1dc3ccd
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/3DOptTtl.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/3DOptvB.png b/src/axiom-website/hyperdoc/axbook/ps/3DOptvB.png
new file mode 100644
index 0000000..97eb310
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/3DOptvB.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/3Dctrl.png b/src/axiom-website/hyperdoc/axbook/ps/3Dctrl.png
new file mode 100644
index 0000000..463c6ec
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/3Dctrl.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/3Dgamma11.png b/src/axiom-website/hyperdoc/axbook/ps/3Dgamma11.png
new file mode 100644
index 0000000..5104953
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/3Dgamma11.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/3Dlight.png b/src/axiom-website/hyperdoc/axbook/ps/3Dlight.png
new file mode 100644
index 0000000..737ca19
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/3Dlight.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/3Dmult1A.png b/src/axiom-website/hyperdoc/axbook/ps/3Dmult1A.png
new file mode 100644
index 0000000..a2253f6
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/3Dmult1A.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/3Dmult1B.png b/src/axiom-website/hyperdoc/axbook/ps/3Dmult1B.png
new file mode 100644
index 0000000..c0922c5
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/3Dmult1B.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/3DpsA.png b/src/axiom-website/hyperdoc/axbook/ps/3DpsA.png
new file mode 100644
index 0000000..70bafe7
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/3DpsA.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/3DpsB.png b/src/axiom-website/hyperdoc/axbook/ps/3DpsB.png
new file mode 100644
index 0000000..ec5a662
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/3DpsB.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/3DpscA.png b/src/axiom-website/hyperdoc/axbook/ps/3DpscA.png
new file mode 100644
index 0000000..41b186a
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/3DpscA.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/3DpscB.png b/src/axiom-website/hyperdoc/axbook/ps/3DpscB.png
new file mode 100644
index 0000000..52aedfb
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/3DpscB.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/3Dvolume.png b/src/axiom-website/hyperdoc/axbook/ps/3Dvolume.png
new file mode 100644
index 0000000..9bdc0ad
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/3Dvolume.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/P28a.png b/src/axiom-website/hyperdoc/axbook/ps/P28a.png
new file mode 100644
index 0000000..ec61f58
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/P28a.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/P28b.png b/src/axiom-website/hyperdoc/axbook/ps/P28b.png
new file mode 100644
index 0000000..f45eb57
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/P28b.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/arrow.png b/src/axiom-website/hyperdoc/axbook/ps/arrow.png
new file mode 100644
index 0000000..a864d8d
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/arrow.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/arrowr.png b/src/axiom-website/hyperdoc/axbook/ps/arrowr.png
new file mode 100644
index 0000000..a0dbb07
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/arrowr.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/atan-1.png b/src/axiom-website/hyperdoc/axbook/ps/atan-1.png
new file mode 100644
index 0000000..fea6589
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/atan-1.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/axiomFront.png b/src/axiom-website/hyperdoc/axbook/ps/axiomFront.png
new file mode 100644
index 0000000..17dba30
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/axiomFront.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/basic2d.png b/src/axiom-website/hyperdoc/axbook/ps/basic2d.png
new file mode 100644
index 0000000..d9f6b6b
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/basic2d.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/bessel.png b/src/axiom-website/hyperdoc/axbook/ps/bessel.png
new file mode 100644
index 0000000..d0164a6
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/bessel.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/bessintr.png b/src/axiom-website/hyperdoc/axbook/ps/bessintr.png
new file mode 100644
index 0000000..2a9b6c1
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/bessintr.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/bluebayou.png b/src/axiom-website/hyperdoc/axbook/ps/bluebayou.png
new file mode 100644
index 0000000..0827019
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/bluebayou.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/bouquet.png b/src/axiom-website/hyperdoc/axbook/ps/bouquet.png
new file mode 100644
index 0000000..d6acd55
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/bouquet.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/cartcoord.png b/src/axiom-website/hyperdoc/axbook/ps/cartcoord.png
new file mode 100644
index 0000000..09adca2
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/cartcoord.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/clipGamma.png b/src/axiom-website/hyperdoc/axbook/ps/clipGamma.png
new file mode 100644
index 0000000..c086f4c
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/clipGamma.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/compatan.png b/src/axiom-website/hyperdoc/axbook/ps/compatan.png
new file mode 100644
index 0000000..98303a0
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/compatan.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/compexp.png b/src/axiom-website/hyperdoc/axbook/ps/compexp.png
new file mode 100644
index 0000000..7a4216a
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/compexp.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/compgamm.png b/src/axiom-website/hyperdoc/axbook/ps/compgamm.png
new file mode 100644
index 0000000..7167baf
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/compgamm.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/complexExp.png b/src/axiom-website/hyperdoc/axbook/ps/complexExp.png
new file mode 100644
index 0000000..190672d
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/complexExp.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/complexRoot.png b/src/axiom-website/hyperdoc/axbook/ps/complexRoot.png
new file mode 100644
index 0000000..079cc86
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/complexRoot.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/cylCoord.png b/src/axiom-website/hyperdoc/axbook/ps/cylCoord.png
new file mode 100644
index 0000000..4131426
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/cylCoord.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/defcoord.png b/src/axiom-website/hyperdoc/axbook/ps/defcoord.png
new file mode 100644
index 0000000..d1d9ac7
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/defcoord.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/exit.png b/src/axiom-website/hyperdoc/axbook/ps/exit.png
new file mode 100644
index 0000000..3307b8c
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/exit.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/h-alldoms.png b/src/axiom-website/hyperdoc/axbook/ps/h-alldoms.png
new file mode 100644
index 0000000..29a2d5d
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/h-alldoms.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/h-allrank.png b/src/axiom-website/hyperdoc/axbook/ps/h-allrank.png
new file mode 100644
index 0000000..2dd9896
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/h-allrank.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/h-atsearch.png b/src/axiom-website/hyperdoc/axbook/ps/h-atsearch.png
new file mode 100644
index 0000000..3e11f4d
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/h-atsearch.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/h-brfront.png b/src/axiom-website/hyperdoc/axbook/ps/h-brfront.png
new file mode 100644
index 0000000..b6a8c38
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/h-brfront.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/h-browse.png b/src/axiom-website/hyperdoc/axbook/ps/h-browse.png
new file mode 100644
index 0000000..11ff5de
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/h-browse.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/h-comsearch.png b/src/axiom-website/hyperdoc/axbook/ps/h-comsearch.png
new file mode 100644
index 0000000..39fe30b
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/h-comsearch.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/h-condition.png b/src/axiom-website/hyperdoc/axbook/ps/h-condition.png
new file mode 100644
index 0000000..353c6a3
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/h-condition.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/h-consearch.png b/src/axiom-website/hyperdoc/axbook/ps/h-consearch.png
new file mode 100644
index 0000000..8619782
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/h-consearch.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/h-consearch2.png b/src/axiom-website/hyperdoc/axbook/ps/h-consearch2.png
new file mode 100644
index 0000000..7fcda52
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/h-consearch2.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/h-crossref.png b/src/axiom-website/hyperdoc/axbook/ps/h-crossref.png
new file mode 100644
index 0000000..aab04f1
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/h-crossref.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/h-docsearch.png b/src/axiom-website/hyperdoc/axbook/ps/h-docsearch.png
new file mode 100644
index 0000000..8c1e07d
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/h-docsearch.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/h-gensearch.png b/src/axiom-website/hyperdoc/axbook/ps/h-gensearch.png
new file mode 100644
index 0000000..4a38e65
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/h-gensearch.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/h-inverse.png b/src/axiom-website/hyperdoc/axbook/ps/h-inverse.png
new file mode 100644
index 0000000..a1a109b
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/h-inverse.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/h-matargs.png b/src/axiom-website/hyperdoc/axbook/ps/h-matargs.png
new file mode 100644
index 0000000..fac6516
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/h-matargs.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/h-matats.png b/src/axiom-website/hyperdoc/axbook/ps/h-matats.png
new file mode 100644
index 0000000..430665d
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/h-matats.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/h-matdesc.png b/src/axiom-website/hyperdoc/axbook/ps/h-matdesc.png
new file mode 100644
index 0000000..5a225b7
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/h-matdesc.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/h-matexamp.png b/src/axiom-website/hyperdoc/axbook/ps/h-matexamp.png
new file mode 100644
index 0000000..47e9cf2
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/h-matexamp.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/h-matexports.png b/src/axiom-website/hyperdoc/axbook/ps/h-matexports.png
new file mode 100644
index 0000000..344a7d1
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/h-matexports.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/h-matimp.png b/src/axiom-website/hyperdoc/axbook/ps/h-matimp.png
new file mode 100644
index 0000000..fa03dd0
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/h-matimp.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/h-matinv.png b/src/axiom-website/hyperdoc/axbook/ps/h-matinv.png
new file mode 100644
index 0000000..2d01cef
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/h-matinv.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/h-matmap.png b/src/axiom-website/hyperdoc/axbook/ps/h-matmap.png
new file mode 100644
index 0000000..cb870d9
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/h-matmap.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/h-matops.png b/src/axiom-website/hyperdoc/axbook/ps/h-matops.png
new file mode 100644
index 0000000..04dafe4
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/h-matops.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/h-matpage.png b/src/axiom-website/hyperdoc/axbook/ps/h-matpage.png
new file mode 100644
index 0000000..f053b42
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/h-matpage.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/h-matrelops.png b/src/axiom-website/hyperdoc/axbook/ps/h-matrelops.png
new file mode 100644
index 0000000..a6c0de8
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/h-matrelops.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/h-matrix.png b/src/axiom-website/hyperdoc/axbook/ps/h-matrix.png
new file mode 100644
index 0000000..2860da7
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/h-matrix.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/h-matrixops.png b/src/axiom-website/hyperdoc/axbook/ps/h-matrixops.png
new file mode 100644
index 0000000..09deb1c
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/h-matrixops.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/h-matrixops1.png b/src/axiom-website/hyperdoc/axbook/ps/h-matrixops1.png
new file mode 100644
index 0000000..8ed2e7e
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/h-matrixops1.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/h-matrixops2.png b/src/axiom-website/hyperdoc/axbook/ps/h-matrixops2.png
new file mode 100644
index 0000000..62f524d
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/h-matrixops2.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/h-matsource.png b/src/axiom-website/hyperdoc/axbook/ps/h-matsource.png
new file mode 100644
index 0000000..62c9ace
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/h-matsource.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/h-matusers.png b/src/axiom-website/hyperdoc/axbook/ps/h-matusers.png
new file mode 100644
index 0000000..08eca11
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/h-matusers.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/h-matxref.png b/src/axiom-website/hyperdoc/axbook/ps/h-matxref.png
new file mode 100644
index 0000000..9c2d2cf
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/h-matxref.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/h-opsearch.png b/src/axiom-website/hyperdoc/axbook/ps/h-opsearch.png
new file mode 100644
index 0000000..8f3a895
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/h-opsearch.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/h-origins.png b/src/axiom-website/hyperdoc/axbook/ps/h-origins.png
new file mode 100644
index 0000000..c92160d
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/h-origins.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/h-parameter.png b/src/axiom-website/hyperdoc/axbook/ps/h-parameter.png
new file mode 100644
index 0000000..c92160d
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/h-parameter.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/h-root.png b/src/axiom-website/hyperdoc/axbook/ps/h-root.png
new file mode 100644
index 0000000..489aa4d
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/h-root.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/h-signature.png b/src/axiom-website/hyperdoc/axbook/ps/h-signature.png
new file mode 100644
index 0000000..422836e
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/h-signature.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/help.png b/src/axiom-website/hyperdoc/axbook/ps/help.png
new file mode 100644
index 0000000..f5c12d5
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/help.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/home.png b/src/axiom-website/hyperdoc/axbook/ps/home.png
new file mode 100644
index 0000000..b5991d5
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/home.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/knot3.png b/src/axiom-website/hyperdoc/axbook/ps/knot3.png
new file mode 100644
index 0000000..301f31f
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/knot3.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/modbessc.png b/src/axiom-website/hyperdoc/axbook/ps/modbessc.png
new file mode 100644
index 0000000..31a0f46
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/modbessc.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/newmap.png b/src/axiom-website/hyperdoc/axbook/ps/newmap.png
new file mode 100644
index 0000000..e6d0485
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/newmap.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/realbeta.png b/src/axiom-website/hyperdoc/axbook/ps/realbeta.png
new file mode 100644
index 0000000..effc667
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/realbeta.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/ribbon1.png b/src/axiom-website/hyperdoc/axbook/ps/ribbon1.png
new file mode 100644
index 0000000..32f1771
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/ribbon1.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/ribbon2.png b/src/axiom-website/hyperdoc/axbook/ps/ribbon2.png
new file mode 100644
index 0000000..9608596
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/ribbon2.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/ribbon2r.png b/src/axiom-website/hyperdoc/axbook/ps/ribbon2r.png
new file mode 100644
index 0000000..b9bc13e
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/ribbon2r.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/ribbons.png b/src/axiom-website/hyperdoc/axbook/ps/ribbons.png
new file mode 100644
index 0000000..a768bf3
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/ribbons.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/ribbons2.png b/src/axiom-website/hyperdoc/axbook/ps/ribbons2.png
new file mode 100644
index 0000000..359dffc
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/ribbons2.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/ribbons2b.png b/src/axiom-website/hyperdoc/axbook/ps/ribbons2b.png
new file mode 100644
index 0000000..ea1437d
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/ribbons2b.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/ribbons5.png b/src/axiom-website/hyperdoc/axbook/ps/ribbons5.png
new file mode 100644
index 0000000..a21aac5
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/ribbons5.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/segbind.png b/src/axiom-website/hyperdoc/axbook/ps/segbind.png
new file mode 100644
index 0000000..b0470f1
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/segbind.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/torusKnot.png b/src/axiom-website/hyperdoc/axbook/ps/torusKnot.png
new file mode 100644
index 0000000..a1957c4
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/torusKnot.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/up.png b/src/axiom-website/hyperdoc/axbook/ps/up.png
new file mode 100644
index 0000000..41f35c6
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/up.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/vectorRoot.png b/src/axiom-website/hyperdoc/axbook/ps/vectorRoot.png
new file mode 100644
index 0000000..682f6dc
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/vectorRoot.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/vectorSin.png b/src/axiom-website/hyperdoc/axbook/ps/vectorSin.png
new file mode 100644
index 0000000..eeeecec
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/vectorSin.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/wd-atanz.png b/src/axiom-website/hyperdoc/axbook/ps/wd-atanz.png
new file mode 100644
index 0000000..89b4c49
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/wd-atanz.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/wd-bessi.png b/src/axiom-website/hyperdoc/axbook/ps/wd-bessi.png
new file mode 100644
index 0000000..ed6f45c
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/wd-bessi.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/wd-bessi3.png b/src/axiom-website/hyperdoc/axbook/ps/wd-bessi3.png
new file mode 100644
index 0000000..f699545
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/wd-bessi3.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/wd-bessi3s.png b/src/axiom-website/hyperdoc/axbook/ps/wd-bessi3s.png
new file mode 100644
index 0000000..b981075
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/wd-bessi3s.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/wd-bessj.png b/src/axiom-website/hyperdoc/axbook/ps/wd-bessj.png
new file mode 100644
index 0000000..7c1722d
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/wd-bessj.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/wd-beta.png b/src/axiom-website/hyperdoc/axbook/ps/wd-beta.png
new file mode 100644
index 0000000..2603abd
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/wd-beta.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/wd-expz.png b/src/axiom-website/hyperdoc/axbook/ps/wd-expz.png
new file mode 100644
index 0000000..ef511cc
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/wd-expz.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/ps/wd-gammaz.png b/src/axiom-website/hyperdoc/axbook/ps/wd-gammaz.png
new file mode 100644
index 0000000..3a6a846
Binary files /dev/null and b/src/axiom-website/hyperdoc/axbook/ps/wd-gammaz.png differ
diff --git a/src/axiom-website/hyperdoc/axbook/section-0.1.xhtml b/src/axiom-website/hyperdoc/axbook/section-0.1.xhtml
new file mode 100644
index 0000000..6fa32fc
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/section-0.1.xhtml
@@ -0,0 +1,977 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
+"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [
+<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
+]>
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:xlink="http://www.w3.org/1999/xlink" >
+
+
+  <head>
+    <title>Section0.1</title>
+    <link rel="stylesheet" type="text/css" href="graphicstyle.css" />
+    <script type="text/javascript" src="bookax1.js" />
+  </head>
+
+  <body>
+<a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a><a href="section-0.2.xhtml" style="margin-right: 10px;">Next Section 0.2 A Technical Introduction</a>
+<a href="book-index.xhtml">Book Index</a><div class="section"  id="sec-0.1">
+<h2 class="sectiontitle">0.1  Introduction to Axiom</h2>
+
+
+<p>Welcome to the world of Axiom.
+We call Axiom a scientific computation system:
+a self-contained toolbox designed to meet
+your scientific programming needs,
+from symbolics, to numerics, to graphics.
+</p>
+
+
+<p>This introduction is a quick overview of what Axiom offers.
+</p>
+
+
+
+<a name="subsec-0.1.1"/>
+<div class="subsection"  id="subsec-0.1.1">
+<h3 class="subsectitle">0.1.1  Symbolic Computation</h3>
+
+
+<p>Axiom provides a wide range of simple commands for symbolic
+mathematical problem solving.  Do you need to solve an equation, to
+expand a series, or to obtain an integral?  If so, just ask Axiom
+to do it.
+</p>
+
+
+<p>Given <math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>&#x222B;</mo><mo>(</mo><mfrac><mn>1</mn><mrow><mo>(</mo><msup><mi>x</mi><mn>3</mn></msup><mspace width="0.5 em" /><msup><mrow><mo>(</mo><mi>a</mi><mo>+</mo><mi>b</mi><mi>x</mi><mo>)</mo></mrow><mrow><mn>1</mn><mo>/</mo><mn>3</mn></mrow></msup><mo>)</mo></mrow></mfrac><mo>)</mo><mi>dx</mi></mrow></mstyle></math> 
+we would enter this into Axiom as:
+</p>
+
+
+
+
+<div id="spadComm0-1" class="spadComm" >
+<form id="formComm0-1" action="javascript:makeRequest('0-1');" >
+<input id="comm0-1" type="text" class="command" style="width: 26em;" value="integrate(1/(x**3 * (a+b*x)**(1/3)),x)" />
+</form>
+<span id="commSav0-1" class="commSav" >integrate(1/(x**3 * (a+b*x)**(1/3)),x)</span>
+<div id="mathAns0-1" ></div>
+</div>
+
+
+<p>which would give the result:
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mfrac><mrow><mo>(</mo><mtable><mtr><mtd><mo>-</mo><mrow><mn>2</mn><mspace width="0.5 em" /><mrow><msup><mi>b</mi><mn>2</mn></msup></mrow><mspace width="0.5 em" /><mrow><msup><mi>x</mi><mn>2</mn></msup></mrow><mspace width="0.5 em" /><mrow><msqrt><mn>3</mn></msqrt></mrow><mspace width="0.5 em" /><mrow><mo>log</mo><mo>(</mo><mrow><mrow><mrow><mroot><mi>a</mi><mn>3</mn></mroot></mrow><mspace width="0.5 em" /><mrow><msup><mrow><mroot><mrow><mrow><mi>b</mi><mspace width="0.5 em" /><mi>x</mi></mrow><mo>+</mo><mi>a</mi></mrow><mn>3</mn></mroot></mrow><mn>2</mn></msup></mrow></mrow><mo>+</mo><mrow><mrow><msup><mrow><mroot><mi>a</mi><mn>3</mn></mroot></mrow><mn>2</mn></msup></mrow><mspace width="0.5 em" /><mrow><mroot><mrow><mrow><mi>b</mi><mspace width="0.5 em" /><mi>x</mi></mrow><mo>+</mo><mi>a</mi></mrow><mn>3</mn></mroot></mrow></mrow><mo>+</mo><mi>a</mi></mrow><mo>)</mo></mrow></mrow><mo>+</mo></mtd></mtr><mtr><mtd></mtd></mtr><mtr><mtd><mrow><mn>4</mn><mspace width="0.5 em" /><mrow><msup><mi>b</mi><mn>2</mn></msup></mrow><mspace width="0.5 em" /><mrow><msup><mi>x</mi><mn>2</mn></msup></mrow><mspace width="0.5 em" /><mrow><msqrt><mn>3</mn></msqrt></mrow><mspace width="0.5 em" /><mrow><mo>log</mo><mo>(</mo><mrow><mrow><mrow><msup><mrow><mroot><mi>a</mi><mn>3</mn></mroot></mrow><mn>2</mn></msup></mrow><mspace width="0.5 em" /><mrow><mroot><mrow><mrow><mi>b</mi><mspace width="0.5 em" /><mi>x</mi></mrow><mo>+</mo><mi>a</mi></mrow><mn>3</mn></mroot></mrow></mrow><mo>-</mo><mi>a</mi></mrow><mo>)</mo></mrow></mrow><mo>+</mo></mtd></mtr><mtr><mtd></mtd></mtr><mtr><mtd><mrow><mn>12</mn><mspace width="0.5 em" /><mrow><msup><mi>b</mi><mn>2</mn></msup></mrow><mspace width="0.5 em" /><mrow><msup><mi>x</mi><mn>2</mn></msup></mrow><mspace width="0.5 em" /><mrow><mo>arctan</mo><mo>(</mo><mfrac><mrow><mrow><mn>2</mn><mspace width="0.5 em" /><mrow><msqrt><mn>3</mn></msqrt></mrow><mspace width="0.5 em" /><mrow><msup><mrow><mroot><mi>a</mi><mn>3</mn></mroot></mrow><mn>2</mn></msup></mrow><mspace width="0.5 em" /><mrow><mroot><mrow><mrow><mi>b</mi><mspace width="0.5 em" /><mi>x</mi></mrow><mo>+</mo><mi>a</mi></mrow><mn>3</mn></mroot></mrow></mrow><mo>+</mo><mrow><mi>a</mi><mspace width="0.5 em" /><mrow><msqrt><mn>3</mn></msqrt></mrow></mrow></mrow><mrow><mn>3</mn><mspace width="0.5 em" /><mi>a</mi></mrow></mfrac><mo>)</mo></mrow></mrow><mo>+</mo></mtd></mtr><mtr><mtd></mtd></mtr><mtr><mtd><mrow><mrow><mo>(</mo><mrow><mn>12</mn><mspace width="0.5 em" /><mi>b</mi><mspace width="0.5 em" /><mi>x</mi></mrow><mo>-</mo><mrow><mn>9</mn><mspace width="0.5 em" /><mi>a</mi></mrow><mo>)</mo></mrow><mspace width="0.5 em" /><mrow><msqrt><mn>3</mn></msqrt></mrow><mspace width="0.5 em" /><mrow><mroot><mi>a</mi><mn>3</mn></mroot></mrow><mspace width="0.5 em" /><mrow><msup><mrow><mroot><mrow><mrow><mi>b</mi><mspace width="0.5 em" /><mi>x</mi></mrow><mo>+</mo><mi>a</mi></mrow><mn>3</mn></mroot></mrow><mn>2</mn></msup></mrow></mrow></mtd></mtr></mtable><mo>)</mo></mrow><mrow><mn>18</mn><mspace width="0.5 em" /><mrow><msup><mi>a</mi><mn>2</mn></msup></mrow><mspace width="0.5 em" /><mrow><msup><mi>x</mi><mn>2</mn></msup></mrow><mspace width="0.5 em" /><mrow><msqrt><mn>3</mn></msqrt></mrow><mspace width="0.5 em" /><mrow><mroot><mi>a</mi><mn>3</mn></mroot></mrow></mrow></mfrac></mstyle></math>
+</p>
+
+
+
+<div class="returnType">
+Type: Union(Expression Integer,...)
+</div>
+
+
+<p>Axiom provides state-of-the-art algebraic machinery to handle your
+most advanced symbolic problems.  For example, Axiom's integrator
+gives you the answer when an answer exists.  If one does not, it
+provides a proof that there is no answer.  Integration is just one of
+a multitude of symbolic operations that Axiom provides.
+</p>
+
+
+
+
+</div>
+
+
+
+<a name="subsec-0.1.2"/>
+<div class="subsection"  id="subsec-0.1.2">
+<h3 class="subsectitle">0.1.2  Numeric Computation</h3>
+
+
+<p>Axiom has a numerical library that includes operations for linear
+algebra, solution of equations, and special functions.  For many of
+these operations, you can select any number of floating point digits
+to be carried out in the computation.
+</p>
+
+
+<p>Solve  <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><msup><mi>x</mi><mn>49</mn></msup><mo>-</mo><mn>49</mn><msup><mi>x</mi><mn>4</mn></msup><mo>+</mo><mn>9</mn></mrow></mstyle></math> to 49 digits of accuracy.
+First we need to change the default output length of numbers:
+</p>
+
+
+
+
+<div id="spadComm0-2" class="spadComm" >
+<form id="formComm0-2" action="javascript:makeRequest('0-2');" >
+<input id="comm0-2" type="text" class="command" style="width: 7em;" value="digits(49)" />
+</form>
+<span id="commSav0-2" class="commSav" >digits(49)</span>
+<div id="mathAns0-2" ></div>
+</div>
+
+
+<p>and then we execute the command:
+</p>
+
+
+
+
+<div id="spadComm0-3" class="spadComm" >
+<form id="formComm0-3" action="javascript:makeRequest('0-3');" >
+<input id="comm0-3" type="text" class="command" style="width: 22em;" value="solve(x**49-49*x**4+9 = 0,1.e-49)" />
+</form>
+<span id="commSav0-3" class="commSav" >solve(x**49-49*x**4+9 = 0,1.e-49)</span>
+<div id="mathAns0-3" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mtable><mtr><mtd><mo>[</mo><mrow><mi>x</mi><mo>=</mo><mo>-</mo><mrow><mn>0</mn><mo>.</mo><mn>6546536706904271136718122105095984761851224331</mn><mn>556</mn></mrow></mrow><mo>,</mo></mtd></mtr><mtr><mtd></mtd></mtr><mtr><mtd><mrow><mi>x</mi><mo>=</mo><mrow><mn>1</mn><mo>.</mo><mn>086921395653859508493939035954893289009213388763</mn></mrow></mrow><mo>,</mo></mtd></mtr><mtr><mtd></mtd></mtr><mtr><mtd><mrow><mi>x</mi><mo>=</mo><mrow><mn>0</mn><mo>.</mo><mn>654653670725527173969468606613676483536148760766</mn><mn>1</mn></mrow></mrow><mo>]</mo></mtd></mtr></mtable></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+
+
+<div class="returnType">
+Type: List Equation Polynomial Float
+</div>
+
+
+<p>The output of a computation can be converted to FORTRAN to be used
+in a later numerical computation.
+Besides floating point numbers, Axiom provides literally
+dozens of kinds of numbers to compute with.
+These range from various kinds of integers, to fractions, complex
+numbers, quaternions, continued fractions, and to numbers represented
+with an arbitrary base.
+</p>
+
+
+<p>What is  <math xmlns="&mathml;" mathsize="big"><mstyle><mn>10</mn></mstyle></math> to the  <math xmlns="&mathml;" mathsize="big"><mstyle><mn>90</mn></mstyle></math>-th power in base  <math xmlns="&mathml;" mathsize="big"><mstyle><mn>32</mn></mstyle></math>?
+</p>
+
+
+
+
+<div id="spadComm0-4" class="spadComm" >
+<form id="formComm0-4" action="javascript:makeRequest('0-4');" >
+<input id="comm0-4" type="text" class="command" style="width: 11em;" value="radix(10**90,32)" />
+</form>
+<span id="commSav0-4" class="commSav" >radix(10**90,32)</span>
+<div id="mathAns0-4" ></div>
+</div>
+
+
+<p>returns:
+</p>
+
+
+
+<p><span class="teletype">FMM3O955CSEIV0ILKH820CN3I7PICQU0OQMDOFV6TP000000000000000000 </span>
+</p>
+
+
+
+<div class="returnType">
+Type: RadixExpansion 32
+</div>
+
+
+
+<p>The AXIOM numerical library can be enhanced with a
+substantial number of functions from the NAG library of numerical and
+statistical algorithms. These functions will provide coverage of a wide
+range of areas including roots of functions, Fourier transforms, quadrature,
+differential equations, data approximation, non-linear optimization, linear
+algebra, basic statistics, step-wise regression, analysis of variance,
+time series analysis, mathematical programming, and special functions.
+Contact the Numerical Algorithms Group Limited, Oxford, England.
+</p>
+
+
+
+
+</div>
+
+
+
+<a name="subsec-0.1.3"/>
+<div class="subsection"  id="subsec-0.1.3">
+<h3 class="subsectitle">0.1.3  Graphics</h3>
+
+
+<p>You may often want to visualize a symbolic formula or draw
+a graph from a set of numerical values.
+To do this, you can call upon the Axiom
+graphics capability.
+</p>
+
+
+<p>Draw  <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><msub><mi>J</mi><mn>0</mn></msub><mo>(</mo><msqrt><mrow><msup><mi>x</mi><mn>2</mn></msup><mo>+</mo><msup><mi>y</mi><mn>2</mn></msup></mrow></msqrt><mo>)</mo></mrow></mstyle></math> for  <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mo>-</mo><mn>20</mn><mo>&#x2264;</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>&#x2264;</mo><mn>20</mn></mrow></mstyle></math>.
+</p>
+
+
+
+
+<div id="spadComm0-5" class="spadComm" >
+<form id="formComm0-5" action="javascript:makeRequest('0-5');" >
+<input id="comm0-5" type="text" class="command" style="width: 38em;" value="draw(5*besselJ(0,sqrt(x**2+y**2)), x=-20..20, y=-20..20)" />
+</form>
+<span id="commSav0-5" class="commSav" >draw(5*besselJ(0,sqrt(x**2+y**2)), x=-20..20, y=-20..20)</span>
+<div id="mathAns0-5" ></div>
+</div>
+
+
+
+<div class="image">
+<img src="ps/bessintr.png" alt="picture"/>
+<div class="figcaption"> <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><msub><mi>J</mi><mn>0</mn></msub><mo>(</mo><msqrt><mrow><msup><mi>x</mi><mn>2</mn></msup><mo>+</mo><msup><mi>y</mi><mn>2</mn></msup></mrow></msqrt><mo>)</mo></mrow></mstyle></math> for  <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mo>-</mo><mn>20</mn><mo>&#x2264;</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>&#x2264;</mo><mn>20</mn></mrow></mstyle></math></div>
+</div>
+
+<p>Graphs in Axiom are interactive objects you can manipulate with
+your mouse.  Just click on the graph, and a control panel pops up.
+Using this mouse and the control panel, you can translate, rotate,
+zoom, change the coloring, lighting, shading, and perspective on the
+picture.  You can also generate a PostScript copy of your graph to
+produce hard-copy output.
+</p>
+
+
+
+
+</div>
+
+
+
+<a name="subsec-0.1.4"/>
+<div class="subsection"  id="subsec-0.1.4">
+<h3 class="subsectitle">0.1.4  HyperDoc</h3>
+
+
+
+
+<div class="image">
+<img src="ps/h-root.png" alt="picture"/>
+<div class="figcaption">Hyperdoc opening menu</div>
+</div>
+
+<p>HyperDoc presents you windows on the world of Axiom,
+offering on-line help, examples, tutorials, a browser, and reference
+material.  HyperDoc gives you on-line access to this document in a
+``hypertext'' format.  Words that appear in a different font (for
+example, <span class="teletype">Matrix</span>, <span style="font-weight: bold;"> factor</span>, and
+<span class="italic">category</span>) are generally mouse-active; if you click on one
+with your mouse, HyperDoc shows you a new window for that word.
+</p>
+
+
+<p>As another example of a HyperDoc facility, suppose that you want to
+compute the roots of  <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><msup><mi>x</mi><mn>49</mn></msup><mo>-</mo><mn>49</mn><msup><mi>x</mi><mn>4</mn></msup><mo>+</mo><mn>9</mn></mrow></mstyle></math> to 49 digits (as in our
+previous example) and you don't know how to tell Axiom to do this.
+The ``basic command'' facility of HyperDoc leads the way.  Through the
+series of HyperDoc windows shown in Figure <a href="fig-intro-br" class="ref" >fig-intro-br</a>  and the specified mouse clicks, you and
+HyperDoc generate the correct command to issue to compute the answer.
+</p>
+
+
+
+
+</div>
+
+
+
+<a name="subsec-0.1.5"/>
+<div class="subsection"  id="subsec-0.1.5">
+<h3 class="subsectitle">0.1.5  Interactive Programming </h3>
+
+
+<p>Axiom's interactive programming language lets you define your
+own functions.  A simple example of a user-defined function is one
+that computes the successive Legendre polynomials.  Axiom lets
+you define these polynomials in a piece-wise way.
+</p>
+
+
+<p>The first Legendre polynomial.
+</p>
+
+
+
+
+<div id="spadComm0-6" class="spadComm" >
+<form id="formComm0-6" action="javascript:makeRequest('0-6');" >
+<input id="comm0-6" type="text" class="command" style="width: 6em;" value="p(0) == 1" />
+</form>
+<span id="commSav0-6" class="commSav" >p(0) == 1</span>
+<div id="mathAns0-6" ></div>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Void
+</div>
+
+
+<p>The second Legendre polynomial.
+</p>
+
+
+
+
+<div id="spadComm0-7" class="spadComm" >
+<form id="formComm0-7" action="javascript:makeRequest('0-7');" >
+<input id="comm0-7" type="text" class="command" style="width: 6em;" value="p(1) == x" />
+</form>
+<span id="commSav0-7" class="commSav" >p(1) == x</span>
+<div id="mathAns0-7" ></div>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Void
+</div>
+
+
+<p>The  <math xmlns="&mathml;" mathsize="big"><mstyle><mi>n</mi></mstyle></math>-th Legendre polynomial for  <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mo>(</mo><mi>n</mi><mo>&gt;</mo><mn>1</mn><mo>)</mo></mrow></mstyle></math>.
+</p>
+
+
+
+
+<div id="spadComm0-8" class="spadComm" >
+<form id="formComm0-8" action="javascript:makeRequest('0-8');" >
+<input id="comm0-8" type="text" class="command" style="width: 30em;" value="p(n) == ((2*n-1)*x*p(n-1) - (n-1) * p(n-2))/n" />
+</form>
+<span id="commSav0-8" class="commSav" >p(n) == ((2*n-1)*x*p(n-1) - (n-1) * p(n-2))/n</span>
+<div id="mathAns0-8" ></div>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Void
+</div>
+
+
+
+<p>In addition to letting you define simple functions like this, the
+interactive language can be used to create entire application
+packages.  All the graphs in the Axiom images section were created by
+programs written in the interactive language.
+</p>
+
+
+<p>The above definitions for  <math xmlns="&mathml;" mathsize="big"><mstyle><mi>p</mi></mstyle></math> do no computation---they simply
+tell Axiom how to compute  <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mi>p</mi><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mstyle></math> for some positive integer
+ <math xmlns="&mathml;" mathsize="big"><mstyle><mi>k</mi></mstyle></math>.
+</p>
+
+
+<p>To actually get a value of a Legendre polynomial, you ask for it.
+<span class="index">Legendre polynomials</span><a name="chapter-0-0"/>
+</p>
+
+
+<p>What is the tenth Legendre polynomial?
+</p>
+
+
+
+
+<div id="spadComm0-9" class="spadComm" >
+<form id="formComm0-9" action="javascript:makeRequest('0-9');" >
+<input id="comm0-9" type="text" class="command" style="width: 4em;" value="p(10)" />
+</form>
+<span id="commSav0-9" class="commSav" >p(10)</span>
+<div id="mathAns0-9" ></div>
+</div>
+
+
+
+
+<div class="verbatim"><br />
+&nbsp;&nbsp;&nbsp;Compiling&nbsp;function&nbsp;p&nbsp;with&nbsp;type&nbsp;Integer&nbsp;-&gt;&nbsp;Polynomial&nbsp;Fraction&nbsp;<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Integer&nbsp;<br />
+&nbsp;&nbsp;&nbsp;Compiling&nbsp;function&nbsp;p&nbsp;as&nbsp;a&nbsp;recurrence&nbsp;relation.<br />
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mrow><mfrac><mn>46189</mn><mn>256</mn></mfrac><mspace width="0.5 em" /><mrow><msup><mi>x</mi><mn>10</mn></msup></mrow></mrow><mo>-</mo><mrow><mfrac><mn>109395</mn><mn>256</mn></mfrac><mspace width="0.5 em" /><mrow><msup><mi>x</mi><mn>8</mn></msup></mrow></mrow><mo>+</mo><mrow><mfrac><mn>45045</mn><mn>128</mn></mfrac><mspace width="0.5 em" /><mrow><msup><mi>x</mi><mn>6</mn></msup></mrow></mrow><mo>-</mo><mrow><mfrac><mn>15015</mn><mn>128</mn></mfrac><mspace width="0.5 em" /><mrow><msup><mi>x</mi><mn>4</mn></msup></mrow></mrow><mo>+</mo><mrow><mfrac><mn>3465</mn><mn>256</mn></mfrac><mspace width="0.5 em" /><mrow><msup><mi>x</mi><mn>2</mn></msup></mrow></mrow><mo>-</mo><mfrac><mn>63</mn><mn>256</mn></mfrac></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Polynomial Fraction Integer
+</div>
+
+
+<p>Axiom applies the above pieces for  <math xmlns="&mathml;" mathsize="big"><mstyle><mi>p</mi></mstyle></math> to obtain the value
+of  <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mi>p</mi><mo>(</mo><mn>10</mn><mo>)</mo></mrow></mstyle></math>.  But it does more: it creates an optimized, compiled
+function for  <math xmlns="&mathml;" mathsize="big"><mstyle><mi>p</mi></mstyle></math>.  The function is formed by putting the pieces
+together into a single piece of code.  By <span class="italic">compiled</span>, we mean that
+the function is translated into basic machine-code.  By <span class="italic">optimized</span>, we mean that certain transformations are performed on that
+code to make it run faster.  For  <math xmlns="&mathml;" mathsize="big"><mstyle><mi>p</mi></mstyle></math>, Axiom actually
+translates the original definition that is recursive (one that calls
+itself) to one that is iterative (one that consists of a simple loop).
+</p>
+
+
+<p>What is the coefficient of  <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><msup><mi>x</mi><mn>90</mn></msup></mrow></mstyle></math> in  <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mi>p</mi><mo>(</mo><mn>90</mn><mo>)</mo></mrow></mstyle></math>?
+</p>
+
+
+
+
+<div id="spadComm0-10" class="spadComm" >
+<form id="formComm0-10" action="javascript:makeRequest('0-10');" >
+<input id="comm0-10" type="text" class="command" style="width: 16em;" value="coefficient(p(90),x,90)" />
+</form>
+<span id="commSav0-10" class="commSav" >coefficient(p(90),x,90)</span>
+<div id="mathAns0-10" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mfrac><mn>5688265542052017822223458237426581853561497449095175</mn><mn>77371252455336267181195264</mn></mfrac></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Polynomial Fraction Integer
+</div>
+
+
+
+<p>In general, a user function is type-analyzed and compiled on first use.
+Later, if you use it with a different kind of object, the function
+is recompiled if necessary.
+</p>
+
+
+
+
+</div>
+
+
+
+<a name="subsec-0.1.6"/>
+<div class="subsection"  id="subsec-0.1.6">
+<h3 class="subsectitle">0.1.6  Data Structures</h3>
+
+
+
+<p>A variety of data structures are available for interactive use.  These
+include strings, lists, vectors, sets, multisets, and hash tables.  A
+particularly useful structure for interactive use is the infinite
+stream:
+</p>
+
+
+<p>Create the infinite stream of derivatives of Legendre polynomials.
+</p>
+
+
+
+
+<div id="spadComm0-11" class="spadComm" >
+<form id="formComm0-11" action="javascript:makeRequest('0-11');" >
+<input id="comm0-11" type="text" class="command" style="width: 16em;" value="[D(p(i),x) for i in 1..]" />
+</form>
+<span id="commSav0-11" class="commSav" >[D(p(i),x) for i in 1..]</span>
+<div id="mathAns0-11" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mtable><mtr><mtd><mrow><mo>[</mo><mn>1</mn><mo>,</mo><mrow><mn>3</mn><mspace width="0.5 em" /><mi>x</mi></mrow><mo>,</mo><mrow><mrow><mfrac><mn>15</mn><mn>2</mn></mfrac><mspace width="0.5 em" /><mrow><msup><mi>x</mi><mn>2</mn></msup></mrow></mrow><mo>-</mo><mfrac><mn>3</mn><mn>2</mn></mfrac></mrow><mo>,</mo><mrow><mrow><mfrac><mn>35</mn><mn>2</mn></mfrac><mspace width="0.5 em" /><mrow><msup><mi>x</mi><mn>3</mn></msup></mrow></mrow><mo>-</mo><mrow><mfrac><mn>15</mn><mn>2</mn></mfrac><mspace width="0.5 em" /><mi>x</mi></mrow></mrow><mo>,</mo><mrow><mrow><mfrac><mn>315</mn><mn>8</mn></mfrac><mspace width="0.5 em" /><mrow><msup><mi>x</mi><mn>4</mn></msup></mrow></mrow><mo>-</mo><mrow><mfrac><mn>105</mn><mn>4</mn></mfrac><mspace width="0.5 em" /><mrow><msup><mi>x</mi><mn>2</mn></msup></mrow></mrow><mo>+</mo><mfrac><mn>15</mn><mn>8</mn></mfrac></mrow></mrow><mo>,</mo></mtd></mtr><mtr><mtd></mtd></mtr><mtr><mtd><mrow><mrow><mfrac><mn>693</mn><mn>8</mn></mfrac><mspace width="0.5 em" /><mrow><msup><mi>x</mi><mn>5</mn></msup></mrow></mrow><mo>-</mo><mrow><mfrac><mn>315</mn><mn>4</mn></mfrac><mspace width="0.5 em" /><mrow><msup><mi>x</mi><mn>3</mn></msup></mrow></mrow><mo>+</mo><mrow><mfrac><mn>105</mn><mn>8</mn></mfrac><mspace width="0.5 em" /><mi>x</mi></mrow></mrow><mo>,</mo><mrow><mrow><mfrac><mn>3003</mn><mn>16</mn></mfrac><mspace width="0.5 em" /><mrow><msup><mi>x</mi><mn>6</mn></msup></mrow></mrow><mo>-</mo><mrow><mfrac><mn>3465</mn><mn>16</mn></mfrac><mspace width="0.5 em" /><mrow><msup><mi>x</mi><mn>4</mn></msup></mrow></mrow><mo>+</mo><mrow><mfrac><mn>945</mn><mn>16</mn></mfrac><mspace width="0.5 em" /><mrow><msup><mi>x</mi><mn>2</mn></msup></mrow></mrow><mo>-</mo><mfrac><mn>35</mn><mn>16</mn></mfrac></mrow><mo>,</mo></mtd></mtr><mtr><mtd></mtd></mtr><mtr><mtd><mrow><mrow><mfrac><mn>6435</mn><mn>16</mn></mfrac><mspace width="0.5 em" /><mrow><msup><mi>x</mi><mn>7</mn></msup></mrow></mrow><mo>-</mo><mrow><mfrac><mn>9009</mn><mn>16</mn></mfrac><mspace width="0.5 em" /><mrow><msup><mi>x</mi><mn>5</mn></msup></mrow></mrow><mo>+</mo><mrow><mfrac><mn>3465</mn><mn>16</mn></mfrac><mspace width="0.5 em" /><mrow><msup><mi>x</mi><mn>3</mn></msup></mrow></mrow><mo>-</mo><mrow><mfrac><mn>315</mn><mn>16</mn></mfrac><mspace width="0.5 em" /><mi>x</mi></mrow></mrow><mo>,</mo></mtd></mtr><mtr><mtd></mtd></mtr><mtr><mtd><mrow><mrow><mfrac><mn>109395</mn><mn>128</mn></mfrac><mspace width="0.5 em" /><mrow><msup><mi>x</mi><mn>8</mn></msup></mrow></mrow><mo>-</mo><mrow><mfrac><mn>45045</mn><mn>32</mn></mfrac><mspace width="0.5 em" /><mrow><msup><mi>x</mi><mn>6</mn></msup></mrow></mrow><mo>+</mo><mrow><mfrac><mn>45045</mn><mn>64</mn></mfrac><mspace width="0.5 em" /><mrow><msup><mi>x</mi><mn>4</mn></msup></mrow></mrow><mo>-</mo><mrow><mfrac><mn>3465</mn><mn>32</mn></mfrac><mspace width="0.5 em" /><mrow><msup><mi>x</mi><mn>2</mn></msup></mrow></mrow><mo>+</mo><mfrac><mrow><mn>3</mn><mn>15</mn></mrow><mn>128</mn></mfrac></mrow><mo>,</mo></mtd></mtr><mtr><mtd></mtd></mtr><mtr><mtd><mrow><mrow><mrow><mfrac><mn>230945</mn><mn>128</mn></mfrac><mspace width="0.5 em" /><mrow><msup><mi>x</mi><mn>9</mn></msup></mrow></mrow><mo>-</mo><mrow><mfrac><mn>109395</mn><mn>32</mn></mfrac><mspace width="0.5 em" /><mrow><msup><mi>x</mi><mn>7</mn></msup></mrow></mrow><mo>+</mo><mrow><mfrac><mn>135135</mn><mn>64</mn></mfrac><mspace width="0.5 em" /><mrow><msup><mi>x</mi><mn>5</mn></msup></mrow></mrow><mo>-</mo><mrow><mfrac><mn>15015</mn><mn>32</mn></mfrac><mspace width="0.5 em" /><mrow><msup><mi>x</mi><mn>3</mn></msup></mrow></mrow><mo>+</mo><mrow><mfrac><mn>3465</mn><mn>128</mn></mfrac><mspace width="0.5 em" /><mi>x</mi></mrow></mrow><mo>,</mo><mo>&#x2026;</mo><mo>]</mo></mrow></mtd></mtr></mtable></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Stream Polynomial Fraction Integer
+</div>
+
+
+
+
+<p>Streams display only a few of their initial elements.  Otherwise, they
+are ``lazy'': they only compute elements when you ask for them.
+</p>
+
+
+<p>Data structures are an important component for building application
+software. Advanced users can represent data for applications in
+optimal fashion.  In all, Axiom offers over forty kinds of
+aggregate data structures, ranging from mutable structures (such as
+cyclic lists and flexible arrays) to storage efficient structures
+(such as bit vectors).  As an example, streams are used as the
+internal data structure for power series.
+</p>
+
+
+<p>What is the series expansion
+of  <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mo>log</mo><mo>(</mo><mo>cot</mo><mo>(</mo><mi>x</mi><mo>)</mo><mo>)</mo></mrow></mstyle></math>
+about  <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mi>x</mi><mo>=</mo><mi>&#x03C0;</mi><mo>/</mo><mn>2</mn></mrow></mstyle></math>?
+</p>
+
+
+<p><!-- NOTE: The book has a different answer (see p6) -->
+</p>
+
+
+
+
+<div id="spadComm0-12" class="spadComm" >
+<form id="formComm0-12" action="javascript:makeRequest('0-12');" >
+<input id="comm0-12" type="text" class="command" style="width: 20em;" value="series(log(cot(x)),x = %pi/2)" />
+</form>
+<span id="commSav0-12" class="commSav" >series(log(cot(x)),x = %pi/2)</span>
+<div id="mathAns0-12" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mtable><mtr><mtd><mrow><mo>log</mo><mo>(</mo><mfrac><mrow><mo>-</mo><mrow><mn>2</mn><mspace width="0.5 em" /><mi>x</mi></mrow><mo>+</mo><mi>&#x03C0;</mi></mrow><mn>2</mn></mfrac><mo>)</mo></mrow><mo>+</mo><mrow><mfrac><mn>1</mn><mn>3</mn></mfrac><mspace width="0.5 em" /><mrow><msup><mrow><mo>(</mo><mi>x</mi><mo>-</mo><mfrac><mi>&#x03C0;</mi><mn>2</mn></mfrac><mo>)</mo></mrow><mn>2</mn></msup></mrow></mrow><mo>+</mo><mrow><mfrac><mn>7</mn><mn>90</mn></mfrac><mspace width="0.5 em" /><mrow><msup><mrow><mo>(</mo><mi>x</mi><mo>-</mo><mfrac><mi>&#x03C0;</mi><mn>2</mn></mfrac><mo>)</mo></mrow><mn>4</mn></msup></mrow></mrow><mo>+</mo><mrow><mfrac><mn>62</mn><mn>2835</mn></mfrac><mspace width="0.5 em" /><mrow><msup><mrow><mo>(</mo><mi>x</mi><mo>-</mo><mfrac><mi>&#x03C0;</mi><mn>2</mn></mfrac><mo>)</mo></mrow><mn>6</mn></msup></mrow></mrow><mo>+</mo></mtd></mtr><mtr><mtd></mtd></mtr><mtr><mtd><mrow><mfrac><mn>127</mn><mn>18900</mn></mfrac><mspace width="0.5 em" /><mrow><msup><mrow><mo>(</mo><mi>x</mi><mo>-</mo><mfrac><mi>&#x03C0;</mi><mn>2</mn></mfrac><mo>)</mo></mrow><mn>8</mn></msup></mrow></mrow><mo>+</mo><mrow><mfrac><mn>146</mn><mn>66825</mn></mfrac><mspace width="0.5 em" /><mrow><msup><mrow><mo>(</mo><mi>x</mi><mo>-</mo><mfrac><mi>&#x03C0;</mi><mn>2</mn></mfrac><mo>)</mo></mrow><mn>10</mn></msup></mrow></mrow><mo>+</mo><mrow><mi>O</mi><mo>(</mo><mrow><msup><mrow><mo>(</mo><mi>x</mi><mo>-</mo><mfrac><mi>&#x03C0;</mi><mn>2</mn></mfrac><mo>)</mo></mrow><mn>11</mn></msup></mrow><mo>)</mo></mrow></mtd></mtr></mtable></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: GeneralUnivariatePowerSeries(Expression Integer,x,pi/2)
+</div>
+
+
+
+<p>Series and streams make no attempt to compute <span class="italic">all</span> their
+elements!  Rather, they stand ready to deliver elements on demand.
+</p>
+
+
+<p>What is the coefficient of the  <math xmlns="&mathml;" mathsize="big"><mstyle><mn>50</mn></mstyle></math>-th
+term of this series?
+</p>
+
+
+
+
+<div id="spadComm0-13" class="spadComm" >
+<form id="formComm0-13" action="javascript:makeRequest('0-13');" >
+<input id="comm0-13" type="text" class="command" style="width: 12em;" value="coefficient(%,50)" />
+</form>
+<span id="commSav0-13" class="commSav" >coefficient(%,50)</span>
+<div id="mathAns0-13" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mfrac><mn>44590788901016030052447242300856550965644</mn><mn>7131469286438669111584090881309360354581359130859375</mn></mfrac></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Expression Integer
+</div>
+
+
+
+
+
+</div>
+
+
+
+<a name="subsec-0.1.7"/>
+<div class="subsection"  id="subsec-0.1.7">
+<h3 class="subsectitle">0.1.7  Mathematical Structures</h3>
+
+
+<p>Axiom also has many kinds of mathematical structures.  These
+range from simple ones (like polynomials and matrices) to more
+esoteric ones (like ideals and Clifford algebras).  Most structures
+allow the construction of arbitrarily complicated ``types.''
+</p>
+
+
+<p>Even a simple input expression can
+result in a type with several levels.
+</p>
+
+
+
+
+<div id="spadComm0-14" class="spadComm" >
+<form id="formComm0-14" action="javascript:makeRequest('0-14');" >
+<input id="comm0-14" type="text" class="command" style="width: 20em;" value="matrix [ [x + %i,0], [1,-2] ]" />
+</form>
+<span id="commSav0-14" class="commSav" >matrix [ [x + %i,0], [1,-2] ]</span>
+<div id="mathAns0-14" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mtable><mtr><mtd><mrow><mi>x</mi><mo>+</mo><mi>i</mi></mrow></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mo>-</mo><mn>2</mn></mtd></mtr></mtable><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Matrix Polynomial Complex Integer
+</div>
+
+
+
+<p>The Axiom interpreter builds types in response to user input.
+Often, the type of the result is changed in order to be applicable to
+an operation.
+</p>
+
+
+<p>The inverse operation requires that elements of the above matrices
+are fractions.
+</p>
+
+
+
+
+<div id="spadComm0-15" class="spadComm" >
+<form id="formComm0-15" action="javascript:makeRequest('0-15');" >
+<input id="comm0-15" type="text" class="command" style="width: 8em;" value="inverse(%)" />
+</form>
+<span id="commSav0-15" class="commSav" >inverse(%)</span>
+<div id="mathAns0-15" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mtable><mtr><mtd><mfrac><mn>1</mn><mrow><mi>x</mi><mo>+</mo><mi>i</mi></mrow></mfrac></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mfrac><mn>1</mn><mrow><mrow><mn>2</mn><mspace width="0.5 em" /><mi>x</mi></mrow><mo>+</mo><mrow><mn>2</mn><mspace width="0.5 em" /><mi>i</mi></mrow></mrow></mfrac></mtd><mtd><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac></mtd></mtr></mtable><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Union(Matrix Fraction Polynomial Complex Integer,...)
+</div>
+
+
+
+
+
+</div>
+
+
+
+<a name="subsec-0.1.8"/>
+<div class="subsection"  id="subsec-0.1.8">
+<h3 class="subsectitle">0.1.8  Pattern Matching</h3>
+
+
+
+<p>A convenient facility for symbolic computation is ``pattern
+matching.''  Suppose you have a trigonometric expression and you want
+to transform it to some equivalent form.  Use a  <math xmlns="&mathml;" mathsize="big"><mstyle><mi>rule</mi></mstyle></math> command to
+describe the transformation rules you <span class="index">rule</span><a name="chapter-0-1"/> need.  Then give
+the rules a name and apply that name as a function to your
+trigonometric expression.
+</p>
+
+
+<p>Introduce two rewrite rules.
+</p>
+
+
+
+
+<div id="spadComm0-16" class="spadComm" >
+<form id="formComm0-16" action="javascript:makeRequest('0-16');" >
+<input id="comm0-16" type="text" class="command" style="width: 80em;" value="sinCosExpandRules := rule;
+&nbsp;&nbsp;sin(x+y) == sin(x)*cos(y) + sin(y)*cos(x);
+&nbsp;&nbsp; cos(x+y) == cos(x)*cos(y) - sin(x)*sin(y);
+&nbsp;&nbsp; sin(2*x) == 2*sin(x)*cos(x);
+&nbsp;&nbsp; cos(2*x) == cos(x)**2 - sin(x)**2
+" />
+</form>
+<span id="commSav0-16" class="commSav" >sinCosExpandRules := rule<br/>
+&nbsp;&nbsp;sin(x+y) == sin(x)*cos(y) + sin(y)*cos(x)<br/>
+&nbsp;&nbsp; cos(x+y) == cos(x)*cos(y) - sin(x)*sin(y)<br/>
+&nbsp;&nbsp; sin(2*x) == 2*sin(x)*cos(x)<br/>
+&nbsp;&nbsp; cos(2*x) == cos(x)**2 - sin(x)**2
+</span>
+<div id="mathAns0-16" ></div>
+</div>
+
+
+
+
+
+<div class="verbatim"><br />
+&nbsp;&nbsp;&nbsp;{sin(y&nbsp;+&nbsp;x)&nbsp;==&nbsp;cos(x)sin(y)&nbsp;+&nbsp;cos(y)sin(x),<br />
+&nbsp;&nbsp;&nbsp;&nbsp;cos(y&nbsp;+&nbsp;x)&nbsp;==&nbsp;-&nbsp;sin(x)sin(y)&nbsp;+&nbsp;cos(x)cos(y),&nbsp;<br />
+&nbsp;&nbsp;&nbsp;&nbsp;sin(2x)&nbsp;==&nbsp;2cos(x)sin(x),<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2<br />
+&nbsp;&nbsp;&nbsp;&nbsp;cos(2x)&nbsp;==&nbsp;-&nbsp;sin(x)&nbsp;&nbsp;+&nbsp;cos(x)&nbsp;}<br />
+</div>
+
+
+
+
+<div class="returnType">
+Type: Ruleset(Integer,Integer,Expression Integer)
+</div>
+
+
+
+<p>Apply the rules to a simple trigonometric expression.
+</p>
+
+
+
+
+<div id="spadComm0-17" class="spadComm" >
+<form id="formComm0-17" action="javascript:makeRequest('0-17');" >
+<input id="comm0-17" type="text" class="command" style="width: 21em;" value="sinCosExpandRules(sin(a+2*b+c))" />
+</form>
+<span id="commSav0-17" class="commSav" >sinCosExpandRules(sin(a+2*b+c))</span>
+<div id="mathAns0-17" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mtable><mtr><mtd><mrow><mrow><mo>(</mo><mo>-</mo><mrow><mrow><mo>cos</mo><mo>(</mo><mi>a</mi><mo>)</mo></mrow><mspace width="0.5 em" /><mrow><msup><mrow><mo>sin</mo><mo>(</mo><mi>b</mi><mo>)</mo></mrow><mn>2</mn></msup></mrow></mrow><mo>-</mo><mrow><mn>2</mn><mspace width="0.5 em" /><mrow><mo>cos</mo><mo>(</mo><mi>b</mi><mo>)</mo></mrow><mspace width="0.5 em" /><mrow><mo>sin</mo><mo>(</mo><mi>a</mi><mo>)</mo></mrow><mspace width="0.5 em" /><mrow><mo>sin</mo><mo>(</mo><mi>b</mi><mo>)</mo></mrow></mrow><mo>+</mo><mrow><mrow><mo>cos</mo><mo>(</mo><mi>a</mi><mo>)</mo></mrow><mspace width="0.5 em" /><mrow><msup><mrow><mo>cos</mo><mo>(</mo><mi>b</mi><mo>)</mo></mrow><mn>2</mn></msup></mrow></mrow><mo>)</mo></mrow><mspace width="0.5 em" /><mrow><mo>sin</mo><mo>(</mo><mi>c</mi><mo>)</mo></mrow></mrow><mo>-</mo></mtd></mtr><mtr><mtd></mtd></mtr><mtr><mtd><mrow><mrow><mo>cos</mo><mo>(</mo><mi>c</mi><mo>)</mo></mrow><mspace width="0.5 em" /><mrow><mo>sin</mo><mo>(</mo><mi>a</mi><mo>)</mo></mrow><mspace width="0.5 em" /><mrow><msup><mrow><mo>sin</mo><mo>(</mo><mi>b</mi><mo>)</mo></mrow><mn>2</mn></msup></mrow></mrow><mo>+</mo><mrow><mn>2</mn><mspace width="0.5 em" /><mrow><mo>cos</mo><mo>(</mo><mi>a</mi><mo>)</mo></mrow><mspace width="0.5 em" /><mrow><mo>cos</mo><mo>(</mo><mi>b</mi><mo>)</mo></mrow><mspace width="0.5 em" /><mrow><mo>cos</mo><mo>(</mo><mi>c</mi><mo>)</mo></mrow><mspace width="0.5 em" /><mrow><mo>sin</mo><mo>(</mo><mi>b</mi><mo>)</mo></mrow></mrow><mo>+</mo></mtd></mtr><mtr><mtd></mtd></mtr><mtr><mtd><mrow><mrow><msup><mrow><mo>cos</mo><mo>(</mo><mi>b</mi><mo>)</mo></mrow><mn>2</mn></msup></mrow><mspace width="0.5 em" /><mrow><mo>cos</mo><mo>(</mo><mi>c</mi><mo>)</mo></mrow><mspace width="0.5 em" /><mrow><mo>sin</mo><mo>(</mo><mi>a</mi><mo>)</mo></mrow></mrow></mtd></mtr></mtable></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Expression Integer
+</div>
+
+
+
+
+<p>Using input files, you can create your own library of transformation
+rules relevant to your applications, then selectively apply the rules
+you need.
+</p>
+
+
+
+
+</div>
+
+
+
+<a name="subsec-0.1.9"/>
+<div class="subsection"  id="subsec-0.1.9">
+<h3 class="subsectitle">0.1.9  Polymorphic Algorithms</h3>
+
+
+<p>All components of the Axiom algebra library are written in the
+Axiom library language.  This language is similar to the
+interactive language except for protocols that authors are obliged to
+follow.  The library language permits you to write ``polymorphic
+algorithms,'' algorithms defined to work in their most natural
+settings and over a variety of types.
+</p>
+
+
+<p>Define a system of polynomial equations  <math xmlns="&mathml;" mathsize="big"><mstyle><mi>S</mi></mstyle></math>.
+</p>
+
+
+
+
+<div id="spadComm0-18" class="spadComm" >
+<form id="formComm0-18" action="javascript:makeRequest('0-18');" >
+<input id="comm0-18" type="text" class="command" style="width: 23em;" value="S := [3*x**3 + y + 1 = 0,y**2 = 4]" />
+</form>
+<span id="commSav0-18" class="commSav" >S := [3*x**3 + y + 1 = 0,y**2 = 4]</span>
+<div id="mathAns0-18" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mrow><mrow><mi>y</mi><mo>+</mo><mrow><mn>3</mn><mspace width="0.5 em" /><mrow><msup><mi>x</mi><mn>3</mn></msup></mrow></mrow><mo>+</mo><mn>1</mn></mrow><mo>=</mo><mn>0</mn></mrow><mo>,</mo><mrow><mrow><msup><mi>y</mi><mn>2</mn></msup></mrow><mo>=</mo><mn>4</mn></mrow><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List Equation Polynomial Integer
+</div>
+
+
+
+<p>Solve the system  <math xmlns="&mathml;" mathsize="big"><mstyle><mi>S</mi></mstyle></math> using rational number arithmetic and
+30 digits of accuracy.
+</p>
+
+
+
+
+<div id="spadComm0-19" class="spadComm" >
+<form id="formComm0-19" action="javascript:makeRequest('0-19');" >
+<input id="comm0-19" type="text" class="command" style="width: 12em;" value="solve(S,1/10**30)" />
+</form>
+<span id="commSav0-19" class="commSav" >solve(S,1/10**30)</span>
+<div id="mathAns0-19" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mrow><mo>[</mo><mrow><mi>y</mi><mo>=</mo><mo>-</mo><mn>2</mn></mrow><mo>,</mo><mrow><mi>x</mi><mo>=</mo><mfrac><mn>1757879671211184245283070414507</mn><mn>2535301200456458802993406410752</mn></mfrac></mrow><mo>]</mo></mrow><mo>,</mo><mrow><mo>[</mo><mrow><mi>y</mi><mo>=</mo><mn>2</mn></mrow><mo>,</mo><mrow><mi>x</mi><mo>=</mo><mo>-</mo><mn>1</mn></mrow><mo>]</mo></mrow><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List List Equation Polynomial Fraction Integer
+</div>
+
+
+
+<p>Solve  <math xmlns="&mathml;" mathsize="big"><mstyle><mi>S</mi></mstyle></math> with the solutions expressed in radicals.
+</p>
+
+
+
+
+<div id="spadComm0-20" class="spadComm" >
+<form id="formComm0-20" action="javascript:makeRequest('0-20');" >
+<input id="comm0-20" type="text" class="command" style="width: 10em;" value="radicalSolve(S)" />
+</form>
+<span id="commSav0-20" class="commSav" >radicalSolve(S)</span>
+<div id="mathAns0-20" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mtable><mtr><mtd><mrow><mo>[</mo><mrow><mo>[</mo><mrow><mi>y</mi><mo>=</mo><mn>2</mn></mrow><mo>,</mo><mrow><mi>x</mi><mo>=</mo><mo>-</mo><mn>1</mn></mrow><mo>]</mo></mrow><mo>,</mo><mrow><mo>[</mo><mrow><mi>y</mi><mo>=</mo><mn>2</mn></mrow><mo>,</mo><mrow><mi>x</mi><mo>=</mo><mfrac><mrow><mo>-</mo><mrow><msqrt><mrow><mo>-</mo><mn>3</mn></mrow></msqrt></mrow><mo>+</mo><mn>1</mn></mrow><mn>2</mn></mfrac></mrow><mo>]</mo></mrow></mrow><mo>,</mo></mtd></mtr><mtr><mtd></mtd></mtr><mtr><mtd><mrow><mo>[</mo><mrow><mi>y</mi><mo>=</mo><mn>2</mn></mrow><mo>,</mo><mrow><mi>x</mi><mo>=</mo><mfrac><mrow><mrow><msqrt><mrow><mo>-</mo><mn>3</mn></mrow></msqrt></mrow><mo>+</mo><mn>1</mn></mrow><mn>2</mn></mfrac></mrow><mo>]</mo></mrow><mo>,</mo><mrow><mo>[</mo><mrow><mi>y</mi><mo>=</mo><mo>-</mo><mn>2</mn></mrow><mo>,</mo><mrow><mi>x</mi><mo>=</mo><mfrac><mn>1</mn><mrow><mroot><mn>3</mn><mn>3</mn></mroot></mrow></mfrac></mrow><mo>]</mo></mrow><mo>,</mo></mtd></mtr><mtr><mtd></mtd></mtr><mtr><mtd><mrow><mrow><mo>[</mo><mrow><mi>y</mi><mo>=</mo><mo>-</mo><mn>2</mn></mrow><mo>,</mo><mrow><mi>x</mi><mo>=</mo><mfrac><mrow><mrow><mrow><msqrt><mrow><mo>-</mo><mn>1</mn></mrow></msqrt></mrow><mspace width="0.5 em" /><mrow><msqrt><mn>3</mn></msqrt></mrow></mrow><mo>-</mo><mn>1</mn></mrow><mrow><mn>2</mn><mspace width="0.5 em" /><mrow><mroot><mn>3</mn><mn>3</mn></mroot></mrow></mrow></mfrac></mrow><mo>]</mo></mrow><mo>,</mo><mrow><mo>[</mo><mrow><mi>y</mi><mo>=</mo><mo>-</mo><mn>2</mn></mrow><mo>,</mo><mrow><mi>x</mi><mo>=</mo><mfrac><mrow><mo>-</mo><mrow><mrow><msqrt><mrow><mo>-</mo><mn>1</mn></mrow></msqrt></mrow><mspace width="0.5 em" /><mrow><msqrt><mn>3</mn></msqrt></mrow></mrow><mo>-</mo><mn>1</mn></mrow><mrow><mn>2</mn><mspace width="0.5 em" /><mrow><mroot><mn>3</mn><mn>3</mn></mroot></mrow></mrow></mfrac></mrow><mo>]</mo></mrow><mo>]</mo></mrow></mtd></mtr></mtable></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List List Equation Expression Integer
+</div>
+
+
+
+<p>While these solutions look very different, the results were produced
+by the same internal algorithm!  The internal algorithm actually works
+with equations over any ``field.''  Examples of fields are the
+rational numbers, floating point numbers, rational functions, power
+series, and general expressions involving radicals.
+</p>
+
+
+
+
+</div>
+
+
+
+<a name="subsec-0.1.10"/>
+<div class="subsection"  id="subsec-0.1.10">
+<h3 class="subsectitle">0.1.10  Extensibility</h3>
+
+
+
+<p>Users and system developers alike can augment the Axiom library,
+all using one common language.  Library code, like interpreter code,
+is compiled into machine binary code for run-time efficiency.
+</p>
+
+
+<p>Using this language, you can create new computational types and new
+algorithmic packages.  All library code is polymorphic, described in
+terms of a database of algebraic properties.  By following the
+language protocols, there is an automatic, guaranteed interaction
+between your code and that of colleagues and system implementers.
+</p>
+
+
+
+</div>
+
+
+
+
+</div><a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a><a href="section-0.2.xhtml" style="margin-right: 10px;">Next Section 0.2 A Technical Introduction</a>
+<a href="book-index.xhtml">Book Index</a></body>
+</html>
\ No newline at end of file
diff --git a/src/axiom-website/hyperdoc/axbook/section-0.2.xhtml b/src/axiom-website/hyperdoc/axbook/section-0.2.xhtml
new file mode 100644
index 0000000..2d05129
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/section-0.2.xhtml
@@ -0,0 +1,654 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
+"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [
+<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
+]>
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:xlink="http://www.w3.org/1999/xlink" >
+
+
+  <head>
+    <title>Section0.2</title>
+    <link rel="stylesheet" type="text/css" href="graphicstyle.css" />
+    <script type="text/javascript" src="bookax1.js" />
+  </head>
+
+  <body>
+<a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a><a href="section-0.1.xhtml" style="margin-right: 10px;">Previous Section 0.1 Introduction to Axiom</a><a href="section-0.3.xhtml" style="margin-right: 10px;">Next Section 0.3 Using Axiom as a Pocket Calculator</a>
+<a href="book-index.xhtml">Book Index</a><div class="section"  id="sec-0.2">
+<h2 class="sectiontitle">0.2  A Technical Introduction</h2>
+
+
+<a name="ugTechIntro" class="label"/>
+
+<p>Axiom has both an <span class="italic">interactive language</span> for user
+interactions and a <span class="italic">programming language</span> for building library
+modules.  Like Modula 2, <span class="index">Modula 2</span><a name="chapter-0-2"/> PASCAL, <span class="index">PASCAL</span><a name="chapter-0-3"/>
+FORTRAN, <span class="index">FORTRAN</span><a name="chapter-0-4"/> and Ada, <span class="index">Ada</span><a name="chapter-0-5"/> the programming language
+emphasizes strict type-checking.  Unlike these languages, types in
+Axiom are dynamic objects: they are created at run-time in
+response to user commands.
+</p>
+
+
+<p>Here is the idea of the Axiom programming language in a
+nutshell.  Axiom types range from algebraic ones (like
+polynomials, matrices, and power series) to data structures (like
+lists, dictionaries, and input files).  Types combine in any
+meaningful way.  You can build polynomials of matrices, matrices of
+polynomials of power series, hash tables with symbolic keys and
+rational function entries, and so on.
+</p>
+
+
+<p><span class="italic">Categories</span> define algebraic properties to ensure mathematical
+correctness. They ensure, for example, that matrices of polynomials
+are OK, but matrices of input files are not.  Through categories,
+programs can discover that polynomials of continued fractions have a
+commutative multiplication whereas polynomials of matrices do not.
+</p>
+
+
+<p>Categories allow algorithms to be defined in their most natural
+setting. For example, an algorithm can be defined to solve polynomial
+equations over <span class="italic">any</span> field.  Likewise a greatest common divisor
+can compute the ``gcd'' of two elements from <span class="italic">any</span> Euclidean
+domain.  Categories foil attempts to compute meaningless ``gcds'', for
+example, of two hashtables.  Categories also enable algorithms to be
+compiled into machine code that can be run with arbitrary types.
+</p>
+
+
+<p>The Axiom interactive language is oriented towards ease-of-use.
+The Axiom interpreter uses type-inferencing to deduce the type
+of an object from user input.  Type declarations can generally be
+omitted for common types in the interactive language.
+</p>
+
+
+<p>So much for the nutshell.
+Here are these basic ideas described by ten design principles:
+</p>
+
+
+
+<a name="subsec-0.2.1"/>
+<div class="subsection"  id="subsec-0.2.1">
+<h3 class="subsectitle">0.2.1  Types are Defined by Abstract Datatype Programs</h3>
+
+
+
+<p>Basic types are called <span class="italic">domains of computation</span>, or,
+simply, <span class="italic">domains.</span>
+<span class="index">domain</span><a name="chapter-0-6"/>
+Domains are defined by Axiom programs of the form:
+</p>
+
+
+
+
+<div class="verbatim"><br />
+Name(...):&nbsp;Exports&nbsp;==&nbsp;Implementation<br />
+</div>
+
+
+
+<p>Each domain has a capitalized <span class="teletype">Name</span> that is used to refer to the
+class of its members.  For example, <span class="teletype">Integer</span> denotes ``the
+class of integers,'' <span class="teletype">Float</span>, ``the class of floating point
+numbers,'' and <span class="teletype">String</span>, ``the class of strings.''
+</p>
+
+
+<p>The ``<span class="teletype">...</span>'' part following <span class="teletype">Name</span> lists zero or more
+parameters to the constructor. Some basic ones like <span class="teletype">Integer</span> take
+no parameters.  Others, like <span class="teletype">Matrix</span>, <span class="teletype">Polynomial</span> and 
+<span class="teletype">List</span>, take a single parameter that again must be a domain.  For
+example, <span class="teletype">Matrix(Integer)</span> denotes ``matrices over the integers,''
+<span class="teletype">Polynomial (Float)</span> denotes ``polynomial with floating point
+coefficients,'' and <span class="teletype">List (Matrix (Polynomial (Integer)))</span> denotes
+``lists of matrices of polynomials over the integers.''  There is no
+restriction on the number or type of parameters of a domain
+constructor.
+</p>
+
+
+<p>SquareMatrix(2,Integer) is an example of a domain constructor that accepts
+both a particular data value as well as an integer. In this case the
+number 2 specifies the number of rows and columns the square matrix
+will contain. Elements of the matricies are integers.
+</p>
+
+
+<p>The <span class="teletype">Exports</span> part specifies operations for creating and
+manipulating objects of the domain.  For example, type
+<span class="teletype">Integer</span> exports constants  <math xmlns="&mathml;" mathsize="big"><mstyle><mn>0</mn></mstyle></math> and  <math xmlns="&mathml;" mathsize="big"><mstyle><mn>1</mn></mstyle></math>, and
+operations <span class="spadopFrom" title="Integer">+</span>, <span class="spadopFrom" title="Integer">-</span>, and
+<span class="spadopFrom" title="Integer">*</span>.  While these operations are common, others
+such as <span class="spadfunFrom" >odd?</span><span class="index">odd?</span><a name="chapter-0-7"/><span class="index">Integer</span><a name="chapter-0-8"/> and <span class="spadfunFrom" >bit?</span><span class="index">bit?</span><a name="chapter-0-9"/><span class="index">Integer</span><a name="chapter-0-10"/>
+are not. In addition the Exports section can contain symbols that
+represent properties that can be tested. For example, the Category
+<span class="teletype">EntireRing</span> has the symbol <span class="teletype">noZeroDivisors</span> which asserts
+that if a product is zero then one of the factors must be zero.
+</p>
+
+
+<p>The <span class="teletype">Implementation</span> part defines functions that implement the
+exported operations of the domain.  These functions are frequently
+described in terms of another lower-level domain used to represent the
+objects of the domain. Thus the operation of adding two vectors of
+real numbers can be described and implemented using the addition
+operation from <span class="teletype">Float</span>. 
+</p>
+
+
+
+
+</div>
+
+
+
+<a name="subsec-0.2.2"/>
+<div class="subsection"  id="subsec-0.2.2">
+<h3 class="subsectitle">0.2.2  The Type of Basic Objects is a Domain or Subdomain</h3>
+
+
+
+<p>Every Axiom object belongs to a <span class="italic">unique</span> domain.  The domain
+of an object is also called its <span class="italic">type.</span>  Thus the integer  <math xmlns="&mathml;" mathsize="big"><mstyle><mn>7</mn></mstyle></math>
+has type <span class="teletype">Integer</span> and the string <span class="teletype">"daniel"</span> has type
+<span class="teletype">String</span>.
+</p>
+
+
+<p>The type of an object, however, is not unique.  The type of integer
+ <math xmlns="&mathml;" mathsize="big"><mstyle><mn>7</mn></mstyle></math> is not only <span class="teletype">Integer</span> but <span class="teletype">NonNegativeInteger</span>,
+<span class="teletype">PositiveInteger</span>, and possibly, in general, any other
+``subdomain'' of the domain <span class="teletype">Integer</span>.  A <span class="italic">subdomain</span>
+<span class="index">subdomain</span><a name="chapter-0-11"/> is a domain with a ``membership predicate''.
+<span class="teletype">PositiveInteger</span> is a subdomain of <span class="teletype">Integer</span> with the
+predicate ``is the integer  <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mo>&gt;</mo><mn>0</mn></mrow></mstyle></math>?''.
+</p>
+
+
+<p>Subdomains with names are defined by abstract datatype programs
+similar to those for domains.  The <span class="italic">Export</span> part of a subdomain,
+however, must list a subset of the exports of the domain.  The <span class="teletype">Implementation</span> part optionally gives special definitions for
+subdomain objects.
+</p>
+
+
+
+
+</div>
+
+
+
+<a name="subsec-0.2.3"/>
+<div class="subsection"  id="subsec-0.2.3">
+<h3 class="subsectitle">0.2.3  Domains Have Types Called Categories</h3>
+
+
+
+<p>Domain and subdomains in Axiom are themselves objects that have
+types.  The type of a domain or subdomain is called a <span class="italic">category</span>.
+<span class="index">category</span><a name="chapter-0-12"/> Categories are described by programs of the form:
+</p>
+
+
+
+
+<div class="verbatim"><br />
+Name(...):&nbsp;Category&nbsp;==&nbsp;Exports<br />
+</div>
+
+
+<p>The type of every category is the distinguished symbol <span class="teletype">Category.</span>
+The category <span class="teletype">Name</span> is used to designate the class of domains of
+that type.  For example, category <span class="teletype">Ring</span> designates the class
+of all rings.  Like domains, categories can take zero or more
+parameters as indicated by the ``<span class="teletype">...</span>'' part following <span class="teletype">Name.</span>  Two examples are <span class="teletype">Module(R)</span> and
+<span class="teletype">MatrixCategory(R,Row,Col)</span>.
+</p>
+
+
+<p>The <span class="teletype">Exports</span> part defines a set of operations.  For example,
+<span class="teletype">Ring</span> exports the operations <span class="spadopFrom" title="Ring">0</span>,
+<span class="spadopFrom" title="Ring">1</span>, <span class="spadopFrom" title="Ring">+</span>, <span class="spadopFrom" title="Ring">-</span>, and
+<span class="spadopFrom" title="Ring">*</span>.  Many algebraic domains such as
+<span class="teletype">Integer</span> and <span class="teletype">Polynomial (Float)</span> are rings.
+<span class="teletype">String</span> and <span class="teletype">List (R)</span> (for any domain  <math xmlns="&mathml;" mathsize="big"><mstyle><mi>R</mi></mstyle></math>)
+are not.
+</p>
+
+
+<p>Categories serve to ensure the type-correctness.  The definition of
+matrices states <span class="teletype">Matrix(R: Ring)</span> requiring its single parameter
+ <math xmlns="&mathml;" mathsize="big"><mstyle><mi>R</mi></mstyle></math> to be a ring.  Thus a ``matrix of polynomials'' is allowed,
+but ``matrix of lists'' is not.
+</p>
+
+
+<p>Categories say nothing about representation. Domains, which are
+instances of category types, specify representations.
+</p>
+
+
+
+
+</div>
+
+
+
+<a name="subsec-0.2.4"/>
+<div class="subsection"  id="subsec-0.2.4">
+<h3 class="subsectitle">0.2.4  Operations Can Refer To Abstract Types</h3>
+
+
+
+<p>All operations have prescribed source and target types.  Types can be
+denoted by symbols that stand for domains, called ``symbolic
+domains.''  The following lines of Axiom code use a symbolic
+domain  <math xmlns="&mathml;" mathsize="big"><mstyle><mi>R</mi></mstyle></math>:
+</p>
+
+
+
+
+<div class="verbatim"><br />
+R:&nbsp;Ring<br />
+power:&nbsp;(R,&nbsp;NonNegativeInteger):&nbsp;R&nbsp;-&gt;&nbsp;R<br />
+power(x,&nbsp;n)&nbsp;==&nbsp;x&nbsp;**&nbsp;n<br />
+</div>
+
+
+
+<p>Line 1 declares the symbol  <math xmlns="&mathml;" mathsize="big"><mstyle><mi>R</mi></mstyle></math> to be a ring.  Line 2 declares the
+type of  <math xmlns="&mathml;" mathsize="big"><mstyle><mi>power</mi></mstyle></math> in terms of  <math xmlns="&mathml;" mathsize="big"><mstyle><mi>R</mi></mstyle></math>.  From the definition on
+line 3,  <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mi>power</mi><mo>(</mo><mn>3</mn><mo>,</mo><mn>2</mn><mo>)</mo></mrow></mstyle></math> produces 9 for  <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mi>x</mi><mo>=</mo><mn>3</mn></mrow></mstyle></math> and  <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mi>R</mi><mo>=</mo></mrow></mstyle></math>
+<span class="teletype">Integer</span>.  Also,  <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mi>power</mi><mo>(</mo><mn>3</mn><mo>.</mo><mn>0</mn><mo>,</mo><mn>2</mn><mo>)</mo></mrow></mstyle></math> produces  <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mn>9</mn><mo>.</mo><mn>0</mn></mrow></mstyle></math> for
+ <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mi>x</mi><mo>=</mo><mn>3</mn><mo>.</mo><mn>0</mn></mrow></mstyle></math> and  <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mi>R</mi><mo>=</mo></mrow></mstyle></math> <span class="teletype">Float</span>.
+ <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mi>power</mi><mo>(</mo><mo>"</mo><mi>oxford</mi><mo>"</mo><mo>,</mo><mn>2</mn><mo>)</mo></mrow></mstyle></math> however fails since  <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mo>"</mo><mi>oxford</mi><mo>"</mo></mrow></mstyle></math> has type
+<span class="teletype">String</span> which is not a ring.
+</p>
+
+
+<p>Using symbolic domains, algorithms can be defined in their most
+natural or general setting.
+</p>
+
+
+
+
+</div>
+
+
+
+<a name="subsec-0.2.5"/>
+<div class="subsection"  id="subsec-0.2.5">
+<h3 class="subsectitle">0.2.5  Categories Form Hierarchies</h3>
+
+
+
+<p>Categories form hierarchies (technically, directed-acyclic graphs).  A
+simplified hierarchical world of algebraic categories is shown below.
+At the top of this world is <span class="teletype">SetCategory</span>, the class of
+algebraic sets.  The notions of parents, ancestors, and descendants is
+clear.  Thus ordered sets (domains of category <span class="teletype">OrderedSet</span>)
+and rings are also algebraic sets.  Likewise, fields and integral
+domains are rings and algebraic sets.  However fields and integral
+domains are not ordered sets.
+</p>
+
+
+
+
+<div class="verbatim"><br />
+SetCategory&nbsp;+----&nbsp;Ring&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;----&nbsp;IntegralDomain&nbsp;----&nbsp;Field<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+----&nbsp;Finite&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;---+<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+----&nbsp;OrderedSet&nbsp;-----+&nbsp;OrderedFinite<br />
+</div>
+
+
+
+
+<div class="center" style="text-align: center;">
+
+
+<p>Figure 1.  A  simplified category hierarchy.
+</p>
+
+
+
+</div>
+
+
+
+
+
+</div>
+
+
+
+<a name="subsec-0.2.6"/>
+<div class="subsection"  id="subsec-0.2.6">
+<h3 class="subsectitle">0.2.6  Domains Belong to Categories by Assertion</h3>
+
+
+
+<p>A category designates a class of domains.  Which domains?  You might
+think that <span class="teletype">Ring</span> designates the class of all domains that
+export  <math xmlns="&mathml;" mathsize="big"><mstyle><mn>0</mn></mstyle></math>,  <math xmlns="&mathml;" mathsize="big"><mstyle><mn>1</mn></mstyle></math>, <span class="spadopFrom" title="Integer">+</span>,
+<span class="spadopFrom" title="Integer">-</span>, and <span class="spadopFrom" title="Integer">*</span>.  But this is not
+so.  Each domain must <span class="italic">assert</span> which categories it belongs to.
+</p>
+
+
+<p>The <span class="teletype">Export</span> part of the definition for <span class="teletype">Integer</span> reads,
+for example:
+</p>
+
+
+
+
+<div class="verbatim"><br />
+Join(OrderedSet,&nbsp;IntegralDomain,&nbsp;&nbsp;...)&nbsp;with&nbsp;...<br />
+</div>
+
+
+
+<p>This definition asserts that <span class="teletype">Integer</span> is both an ordered set
+and an integral domain.  In fact, <span class="teletype">Integer</span> does not
+explicitly export constants  <math xmlns="&mathml;" mathsize="big"><mstyle><mn>0</mn></mstyle></math> and  <math xmlns="&mathml;" mathsize="big"><mstyle><mn>1</mn></mstyle></math> and operations
+<span class="spadopFrom" title="Ring">+</span>, <span class="spadopFrom" title="Ring">-</span> and <span class="spadopFrom" title="Ring">*</span> at
+all: it inherits them all from  <math xmlns="&mathml;" mathsize="big"><mstyle><mi>Ring</mi></mstyle></math>!  Since
+<span class="teletype">IntegralDomain</span> is a descendant of  <math xmlns="&mathml;" mathsize="big"><mstyle><mi>Ring</mi></mstyle></math>,
+<span class="teletype">Integer</span> is therefore also a ring.
+</p>
+
+
+<p>Assertions can be conditional.  For example, <span class="teletype">Complex(R)</span>
+defines its exports by:
+</p>
+
+
+
+
+<div class="verbatim"><br />
+Ring&nbsp;with&nbsp;...&nbsp;if&nbsp;R&nbsp;has&nbsp;Field&nbsp;then&nbsp;Field&nbsp;...<br />
+</div>
+
+
+<p>Thus <span class="teletype">Complex(Float)</span> is a field but <span class="teletype">Complex(Integer)</span>
+is not since <span class="teletype">Integer</span> is not a field.
+</p>
+
+
+<p>You may wonder: ``Why not simply let the set of operations determine
+whether a domain belongs to a given category?''.  Axiom allows
+operation names (for example, <span style="font-weight: bold;"> norm</span>) to have very different
+meanings in different contexts.  The meaning of an operation in
+Axiom is determined by context.  By associating operations with
+categories, operation names can be reused whenever appropriate or
+convenient to do so.  As a simple example, the operation <span class="teletype">&lt;</span>
+might be used to denote lexicographic-comparison in an algorithm.
+However, it is wrong to use the same <span class="teletype">&lt;</span> with this definition
+of absolute-value: <math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mi>abs</mi><mo>(</mo><mi>x</mi><mo>)</mo><mo>=</mo><mo>=</mo><mi>if</mi><mspace width="0.5 em" /><mi>x</mi><mo>&lt;</mo><mn>0</mn><mspace width="0.5 em" /><mi>then</mi><mo>-</mo><mi>x</mi><mspace width="0.5 em" /><mi>else</mi><mspace width="0.5 em" /><mi>x</mi></mrow></mstyle></math> Such a
+definition for <span class="teletype">abs</span> in Axiom is protected by context:
+argument  <math xmlns="&mathml;" mathsize="big"><mstyle><mi>x</mi></mstyle></math> is required to be a member of a domain of category
+<span class="teletype">OrderedSet</span>.
+</p>
+
+
+
+
+</div>
+
+
+
+<a name="subsec-0.2.7"/>
+<div class="subsection"  id="subsec-0.2.7">
+<h3 class="subsectitle">0.2.7  Packages Are Clusters of Polymorphic Operations</h3>
+
+
+
+<p>In Axiom, facilities for symbolic integration, solution of
+equations, and the like are placed in ``packages''.  A <span class="italic">package</span>
+<span class="index">package</span><a name="chapter-0-13"/> is a special kind of domain: one whose exported
+operations depend solely on the parameters of the constructor and/or
+explicit domains. Packages, unlike Domains, do not specify the
+representation.
+</p>
+
+
+<p>If you want to use Axiom, for example, to define some algorithms
+for solving equations of polynomials over an arbitrary field  <math xmlns="&mathml;" mathsize="big"><mstyle><mi>F</mi></mstyle></math>,
+you can do so with a package of the form:
+</p>
+
+
+
+
+<div class="verbatim"><br />
+MySolve(F:&nbsp;Field):&nbsp;Exports&nbsp;==&nbsp;Implementation<br />
+</div>
+
+
+<p>where <span class="teletype">Exports</span> specifies the <span style="font-weight: bold;"> solve</span> operations
+you wish to export from the domain and the <span class="teletype">Implementation</span>
+defines functions for implementing your algorithms.  Once Axiom has
+compiled your package, your algorithms can then be used for any <span class="teletype">F</span>:
+floating-point numbers, rational numbers, complex rational functions,
+and power series, to name a few.
+</p>
+
+
+
+
+</div>
+
+
+
+<a name="subsec-0.2.8"/>
+<div class="subsection"  id="subsec-0.2.8">
+<h3 class="subsectitle">0.2.8  The Interpreter Builds Domains Dynamically</h3>
+
+
+
+<p>The Axiom interpreter reads user input then builds whatever types
+it needs to perform the indicated computations.
+For example, to create the matrix
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle></mstyle></math>
+using the command:
+</p>
+
+
+
+
+<div id="spadComm0-21" class="spadComm" >
+<form id="formComm0-21" action="javascript:makeRequest('0-21');" >
+<input id="comm0-21" type="text" class="command" style="width: 36em;" value="M = [ [x**2+1,0],[0,x / 2] ]::Matrix(POLY(FRAC(INT)))" />
+</form>
+<span id="commSav0-21" class="commSav" >M = [ [x**2+1,0],[0,x / 2] ]::Matrix(POLY(FRAC(INT)))</span>
+<div id="mathAns0-21" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mi>M</mi><mo>=</mo><mrow><mo>[</mo><mtable><mtr><mtd><msup><mi>x</mi><mn>2</mn></msup><mo>+</mo><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mi>x</mi><mo>/</mo><mn>2</mn></mtd></mtr></mtable><mo>]</mo></mrow></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Matrix Polynomial Fraction Integer
+</div>
+
+
+<p>the interpreter first loads the modules <span class="teletype">Matrix</span>,
+<span class="teletype">Polynomial</span>, <span class="teletype">Fraction</span>, and <span class="teletype">Integer</span>
+from the library, then builds the <span class="italic">domain tower</span> ``matrices of
+polynomials of rational numbers (i.e. fractions of integers)''.
+</p>
+
+
+<p>You can watch the loading process by first typing 
+</p>
+
+
+
+
+<div id="spadComm0-22" class="spadComm" >
+<form id="formComm0-22" action="javascript:makeRequest('0-22');" >
+<input id="comm0-22" type="text" class="command" style="width: 16em;" value=")set message autoload on" />
+</form>
+<span id="commSav0-22" class="commSav" >)set message autoload on</span>
+<div id="mathAns0-22" ></div>
+</div>
+
+
+<p>In addition to the named
+domains above many additional domains and categories are loaded.
+Most systems are preloaded with such common types. For efficiency
+reasons the most common domains are preloaded but most (there are
+more than 1100 domains, categories, and packages) are not. Once these
+domains are loaded they are immediately available to the interpreter.
+</p>
+
+
+<p>Once a domain tower is built, it contains all the operations specific
+to the type. Computation proceeds by calling operations that exist in
+the tower.  For example, suppose that the user asks to square the
+above matrix.  To do this, the function <span class="spadopFrom" title="Matrix">*</span> from
+<span class="teletype">Matrix</span> is passed the matrix  <math xmlns="&mathml;" mathsize="big"><mstyle><mi>M</mi></mstyle></math> to compute  <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mi>M</mi><mo>*</mo><mi>M</mi></mrow></mstyle></math>.  
+The function is also passed an environment containing  <math xmlns="&mathml;" mathsize="big"><mstyle><mi>R</mi></mstyle></math>
+that, in this case, is <span class="teletype">Polynomial (Fraction (Integer))</span>.
+This results in the successive calling of the <span class="spadopFrom" title="Fraction">*</span>
+operations from <span class="teletype">Polynomial</span>, then from <span class="teletype">Fraction</span>,
+and then finally from <span class="teletype">Integer</span>.
+</p>
+
+
+<p>Categories play a policing role in the building of domains.  Because
+the argument of <span class="teletype">Matrix</span> is required to be a <span class="teletype">Ring</span>,
+Axiom will not build nonsensical types such as ``matrices of
+input files''.
+</p>
+
+
+
+
+</div>
+
+
+
+<a name="subsec-0.2.9"/>
+<div class="subsection"  id="subsec-0.2.9">
+<h3 class="subsectitle">0.2.9  Axiom Code is Compiled</h3>
+
+
+
+<p>Axiom programs are statically compiled to machine code, then
+placed into library modules.  Categories provide an important role in
+obtaining efficient object code by enabling:
+</p>
+
+
+
+<ul>
+<li>
+ static type-checking at compile time;
+</li>
+<li> fast linkage to operations in domain-valued parameters;
+</li>
+<li> optimization techniques to be used for partially specified types
+(operations for ``vectors of  <math xmlns="&mathml;" mathsize="big"><mstyle><mi>R</mi></mstyle></math>'', for instance, can be open-coded even
+though <span class="teletype">R</span> is unknown).
+</li>
+</ul>
+
+
+
+
+
+</div>
+
+
+
+<a name="subsec-0.2.10"/>
+<div class="subsection"  id="subsec-0.2.10">
+<h3 class="subsectitle">0.2.10  Axiom is Extensible</h3>
+
+
+
+<p>Users and system implementers alike use the Axiom language to
+add facilities to the Axiom library.  The entire Axiom
+library is in fact written in the Axiom source code and
+available for user modification and/or extension.
+</p>
+
+
+<p>Axiom's use of abstract datatypes clearly separates the exports
+of a domain (what operations are defined) from its implementation (how
+the objects are represented and operations are defined).  Users of a
+domain can thus only create and manipulate objects through these
+exported operations.  This allows implementers to ``remove and
+replace'' parts of the library safely by newly upgraded (and, we hope,
+correct) implementations without consequence to its users.
+</p>
+
+
+<p>Categories protect names by context, making the same names available
+for use in other contexts.  Categories also provide for code-economy.
+Algorithms can be parameterized categorically to characterize their
+correct and most general context.  Once compiled, the same machine
+code is applicable in all such contexts.
+</p>
+
+
+<p>Finally, Axiom provides an automatic, guaranteed interaction
+between new and old code.  For example:
+</p>
+
+
+
+<ul>
+<li>
+ if you write a new algorithm that requires a parameter to be a
+field, then your algorithm will work automatically with every field
+defined in the system; past, present, or future.
+</li>
+<li> if you introduce a new domain constructor that produces a field,
+then the objects of that domain can be used as parameters to any algorithm
+using field objects defined in the system; past, present, or future.
+</li>
+</ul>
+
+
+
+<p>These are the key ideas.  For further information, we particularly
+recommend your reading chapters 11, 12, and 13, where these ideas are
+explained in greater detail.
+</p>
+
+
+
+
+</div>
+
+
+
+
+</div><a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a>
+<a href="section-0.1.xhtml" style="margin-right: 10px;">Previous Section 0.1 Introduction to Axiom</a><a href="section-0.3.xhtml" style="margin-right: 10px;">Next Section 0.3 Using Axiom as a Pocket Calculator</a>
+<a href="book-index.xhtml">Book Index</a></body>
+</html>
\ No newline at end of file
diff --git a/src/axiom-website/hyperdoc/axbook/section-0.3.xhtml b/src/axiom-website/hyperdoc/axbook/section-0.3.xhtml
new file mode 100644
index 0000000..da619c7
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/section-0.3.xhtml
@@ -0,0 +1,998 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
+"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [
+<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
+]>
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:xlink="http://www.w3.org/1999/xlink" >
+
+
+  <head>
+    <title>Section0.3</title>
+    <link rel="stylesheet" type="text/css" href="graphicstyle.css" />
+    <script type="text/javascript" src="bookax1.js" />
+  </head>
+
+  <body>
+<a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a><a href="section-0.2.xhtml" style="margin-right: 10px;">Previous Section 0.2 A Technical Introduction</a><a href="section-0.4.xhtml" style="margin-right: 10px;">Next Section 0.4 Using Axiom as a Symbolic Calculator</a>
+<a href="book-index.xhtml">Book Index</a><div class="section"  id="sec-0.3">
+<h2 class="sectiontitle">0.3  Using Axiom as a Pocket Calculator</h2>
+
+
+<p>At the simplest level Axiom can be used as a pocket calculator
+where expressions involving numbers and operators are entered 
+directly in infix notation. In this sense the more advanced
+features of the calculator can be regarded as operators (e.g 
+<span style="font-weight: bold;"> sin</span>, <span style="font-weight: bold;"> cos</span>, etc).
+</p>
+
+
+
+<a name="subsec-0.3.1"/>
+<div class="subsection"  id="subsec-0.3.1">
+<h3 class="subsectitle">0.3.1  Basic Arithmetic</h3>
+
+
+<p>An example of this might be to calculate the cosine of 2.45 (in radians).
+To do this one would type:
+</p>
+
+
+
+
+<div id="spadComm0-23" class="spadComm" >
+<form id="formComm0-23" action="javascript:makeRequest('0-23');" >
+<input id="comm0-23" type="text" class="command" style="width: 6em;" value="cos 2.45" />
+</form>
+<span id="commSav0-23" class="commSav" >cos 2.45</span>
+<div id="mathAns0-23" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>-</mo><mrow><mn>0</mn><mo>.</mo><mn>7702312540</mn><mn>473073417</mn></mrow></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Float
+</div>
+
+
+
+<p>Before proceeding any further it would be best to explain the previous 
+three lines. Firstly the text ``(1) <span class="teletype">-></span> '' is part of the prompt that the
+Axiom system provides when in interactive mode. The full prompt has other 
+text preceding this but it is not relevant here. The number in parenthesis
+is the step number of the input which may be used to refer to the 
+<span class="slant">results</span> of previous calculations. The step number appears at the start
+of the second line to tell you which step the result belongs to. Since the
+interpreter probably loaded numberous libraries to calculate the result given
+above and listed each one in the prcess, there could easily be several pages
+of text between your input and the answer.
+</p>
+
+
+<p>The last line contains the type of the result. The type <span class="teletype">Float</span> is used
+to represent real numbers of arbitrary size and precision (where the user is
+able to define how big arbitrary is -- the default is 20 digits but can be
+as large as your computer system can handle). The type of the result can help
+track down mistakes in your input if you don't get the answer you expected.
+</p>
+
+
+<p>Other arithmetic operations such as addition, subtraction, and multiplication
+behave as expected:
+</p>
+
+
+
+
+<div id="spadComm0-24" class="spadComm" >
+<form id="formComm0-24" action="javascript:makeRequest('0-24');" >
+<input id="comm0-24" type="text" class="command" style="width: 9em;" value="6.93 * 4.1328" />
+</form>
+<span id="commSav0-24" class="commSav" >6.93 * 4.1328</span>
+<div id="mathAns0-24" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mn>28</mn><mo>.</mo><mn>640304</mn></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Float
+</div>
+
+
+
+
+
+<div id="spadComm0-25" class="spadComm" >
+<form id="formComm0-25" action="javascript:makeRequest('0-25');" >
+<input id="comm0-25" type="text" class="command" style="width: 9em;" value="6.93 / 4.1328" />
+</form>
+<span id="commSav0-25" class="commSav" >6.93 / 4.1328</span>
+<div id="mathAns0-25" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mn>1</mn><mo>.</mo><mn>6768292682</mn><mn>926829268</mn></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Float
+</div>
+
+
+
+<p>but integer division isn't quite so obvious. For example, if one types:
+</p>
+
+
+
+
+<div id="spadComm0-26" class="spadComm" >
+<form id="formComm0-26" action="javascript:makeRequest('0-26');" >
+<input id="comm0-26" type="text" class="command" style="width: 2em;" value="4/6" />
+</form>
+<span id="commSav0-26" class="commSav" >4/6</span>
+<div id="mathAns0-26" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mfrac><mn>2</mn><mn>3</mn></mfrac></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Fraction Integer
+</div>
+
+
+
+<p>a fractional result is obtained. The function used to display fractions
+attempts to produce the most readable answer. In the example:
+</p>
+
+
+
+
+<div id="spadComm0-27" class="spadComm" >
+<form id="formComm0-27" action="javascript:makeRequest('0-27');" >
+<input id="comm0-27" type="text" class="command" style="width: 2em;" value="4/2" />
+</form>
+<span id="commSav0-27" class="commSav" >4/2</span>
+<div id="mathAns0-27" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>2</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Fraction Integer
+</div>
+
+
+
+<p>the result is stored as the fraction 2/1 but is displayed as the integer 2.
+This fraction could be converted to type <span class="teletype">Integer</span> with no loss of
+informatin but Axiom will not do so automatically.
+</p>
+
+
+
+
+</div>
+
+
+
+<a name="subsec-0.3.2"/>
+<div class="subsection"  id="subsec-0.3.2">
+<h3 class="subsectitle">0.3.2  Type Conversion</h3>
+
+
+<p>To obtain the floating point value of a fraction one must convert (
+<span style="font-weight: bold;"> conversions</span> are applied by the user and 
+<span style="font-weight: bold;"> coercions</span> are applied automatically by the interpreter) the result
+to type <span class="teletype">Float</span> using the ``::'' operator as follows: 
+</p>
+
+
+
+
+<div id="spadComm0-28" class="spadComm" >
+<form id="formComm0-28" action="javascript:makeRequest('0-28');" >
+<input id="comm0-28" type="text" class="command" style="width: 8em;" value="(4.6)::Float" />
+</form>
+<span id="commSav0-28" class="commSav" >(4.6)::Float</span>
+<div id="mathAns0-28" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mn>4</mn><mo>.</mo><mn>6</mn></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Float
+</div>
+
+
+
+<p>Although Axiom can convert this back to a fraction it might not be the
+same fraction you started with as due to rounding errors. For example, the
+following conversion appears to be without error but others might not:
+</p>
+
+
+
+
+<div id="spadComm0-29" class="spadComm" >
+<form id="formComm0-29" action="javascript:makeRequest('0-29');" >
+<input id="comm0-29" type="text" class="command" style="width: 14em;" value="%::Fraction Integer" />
+</form>
+<span id="commSav0-29" class="commSav" >%::Fraction Integer</span>
+<div id="mathAns0-29" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mfrac><mn>23</mn><mn>5</mn></mfrac></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Fraction Integer
+</div>
+
+
+
+<p>where ``%'' represents the previous <span class="italic">result</span> (not the calculation).
+</p>
+
+
+<p>Although Axiom has the ability to work with floating-point numbers to
+a very high precision it must be remembered that calculations with these
+numbers are <span style="font-weight: bold;"> not</span> exact. Since Axiom is a computer algebra package and
+not a numerical solutions package this should not create too many problems.
+The idea is that the user should use Axiom to do all the necessary symbolic
+manipulation and only at the end should actual numerical results be extracted.
+</p>
+
+
+<p>If you bear in mind that Axiom appears to store expressions just as you have
+typed them and does not perform any evalutation of them unless forced to then
+programming in the system will be much easier. It means that anything you
+ask Axiom to do (within reason) will be carried with complete accuracy.
+</p>
+
+
+<p>In the previous examples the ``::'' operator was used to convert values from
+one type to another. This type conversion is not possible for all values.
+For instance, it is not possible to convert the number 3.4 to an integer
+type since it can't be represented as an integer. The number 4.0 can be 
+converted to an integer type since it has no fractional part.
+</p>
+
+
+<p>Conversion from floating point values to integers is performed using the 
+functions <span style="font-weight: bold;"> round</span> and <span style="font-weight: bold;"> truncate</span>. The first of these rounds a 
+floating point number to the nearest integer while the other truncates
+(i.e. removes the fractional part). Both functions return the result as a
+<span style="font-weight: bold;"> floating point</span> number. To extract the fractional part of a floating
+point number use the function <span style="font-weight: bold;"> fractionPart</span> but note that the sign
+of the result depends on the sign of the argument. Axiom obtains the
+fractional partof  <math xmlns="&mathml;" mathsize="big"><mstyle><mi>x</mi></mstyle></math> using  <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mi>x</mi><mo>-</mo><mi>truncate</mi><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mstyle></math>:
+</p>
+
+
+
+
+<div id="spadComm0-30" class="spadComm" >
+<form id="formComm0-30" action="javascript:makeRequest('0-30');" >
+<input id="comm0-30" type="text" class="command" style="width: 10em;" value="round(3.77623)" />
+</form>
+<span id="commSav0-30" class="commSav" >round(3.77623)</span>
+<div id="mathAns0-30" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mn>4</mn><mo>.</mo><mn>0</mn></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Float
+</div>
+
+
+
+
+
+<div id="spadComm0-31" class="spadComm" >
+<form id="formComm0-31" action="javascript:makeRequest('0-31');" >
+<input id="comm0-31" type="text" class="command" style="width: 10em;" value="round(-3.77623)" />
+</form>
+<span id="commSav0-31" class="commSav" >round(-3.77623)</span>
+<div id="mathAns0-31" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>-</mo><mrow><mn>4</mn><mo>.</mo><mn>0</mn></mrow></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Float
+</div>
+
+
+
+
+
+<div id="spadComm0-32" class="spadComm" >
+<form id="formComm0-32" action="javascript:makeRequest('0-32');" >
+<input id="comm0-32" type="text" class="command" style="width: 10em;" value="truncate(9.235)" />
+</form>
+<span id="commSav0-32" class="commSav" >truncate(9.235)</span>
+<div id="mathAns0-32" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mn>9</mn><mo>.</mo><mn>0</mn></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Float
+</div>
+
+
+
+
+
+<div id="spadComm0-33" class="spadComm" >
+<form id="formComm0-33" action="javascript:makeRequest('0-33');" >
+<input id="comm0-33" type="text" class="command" style="width: 11em;" value="truncate(-9.654)" />
+</form>
+<span id="commSav0-33" class="commSav" >truncate(-9.654)</span>
+<div id="mathAns0-33" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>-</mo><mrow><mn>9</mn><mo>.</mo><mn>0</mn></mrow></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Float
+</div>
+
+
+
+
+
+<div id="spadComm0-34" class="spadComm" >
+<form id="formComm0-34" action="javascript:makeRequest('0-34');" >
+<input id="comm0-34" type="text" class="command" style="width: 15em;" value="fractionPart(-3.77623)" />
+</form>
+<span id="commSav0-34" class="commSav" >fractionPart(-3.77623)</span>
+<div id="mathAns0-34" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>-</mo><mrow><mn>0</mn><mo>.</mo><mn>77623</mn></mrow></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Float
+</div>
+
+
+
+
+
+</div>
+
+
+
+<a name="subsec-0.3.3"/>
+<div class="subsection"  id="subsec-0.3.3">
+<h3 class="subsectitle">0.3.3  Useful Functions</h3>
+
+
+<p>To obtain the absolute value of a number the <span style="font-weight: bold;"> abs</span> function can be used.
+This takes a single argument which is usually an integer or a floating point
+value but doesn't necessarily have to be. The sign of a value can be obtained
+via the <span style="font-weight: bold;"> sign</span> function which rturns  <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mo>-</mo><mn>1</mn></mrow></mstyle></math>,  <math xmlns="&mathml;" mathsize="big"><mstyle><mn>0</mn></mstyle></math>, or  <math xmlns="&mathml;" mathsize="big"><mstyle><mn>1</mn></mstyle></math> depending on the 
+sign of the argument.
+</p>
+
+
+
+
+<div id="spadComm0-35" class="spadComm" >
+<form id="formComm0-35" action="javascript:makeRequest('0-35');" >
+<input id="comm0-35" type="text" class="command" style="width: 4em;" value="abs(4)" />
+</form>
+<span id="commSav0-35" class="commSav" >abs(4)</span>
+<div id="mathAns0-35" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>4</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PositiveInteger
+</div>
+
+
+
+
+
+<div id="spadComm0-36" class="spadComm" >
+<form id="formComm0-36" action="javascript:makeRequest('0-36');" >
+<input id="comm0-36" type="text" class="command" style="width: 5em;" value="abs(-3)" />
+</form>
+<span id="commSav0-36" class="commSav" >abs(-3)</span>
+<div id="mathAns0-36" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>3</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PositiveInteger
+</div>
+
+
+
+
+
+<div id="spadComm0-37" class="spadComm" >
+<form id="formComm0-37" action="javascript:makeRequest('0-37');" >
+<input id="comm0-37" type="text" class="command" style="width: 12em;" value="abs(-34254.12314)" />
+</form>
+<span id="commSav0-37" class="commSav" >abs(-34254.12314)</span>
+<div id="mathAns0-37" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mn>34254</mn><mo>.</mo><mn>12314</mn></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Float
+</div>
+
+
+
+
+
+<div id="spadComm0-38" class="spadComm" >
+<form id="formComm0-38" action="javascript:makeRequest('0-38');" >
+<input id="comm0-38" type="text" class="command" style="width: 14em;" value="sign(-49543.2345346)" />
+</form>
+<span id="commSav0-38" class="commSav" >sign(-49543.2345346)</span>
+<div id="mathAns0-38" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>-</mo><mn>1</mn></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Integer
+</div>
+
+
+
+
+
+<div id="spadComm0-39" class="spadComm" >
+<form id="formComm0-39" action="javascript:makeRequest('0-39');" >
+<input id="comm0-39" type="text" class="command" style="width: 5em;" value="sign(0)" />
+</form>
+<span id="commSav0-39" class="commSav" >sign(0)</span>
+<div id="mathAns0-39" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>0</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: NonNegativeInteger
+</div>
+
+
+
+
+
+<div id="spadComm0-40" class="spadComm" >
+<form id="formComm0-40" action="javascript:makeRequest('0-40');" >
+<input id="comm0-40" type="text" class="command" style="width: 12em;" value="sign(234235.42354)" />
+</form>
+<span id="commSav0-40" class="commSav" >sign(234235.42354)</span>
+<div id="mathAns0-40" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>1</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PositiveInteger
+</div>
+
+
+
+<p>Tests on values can be done using various functions which are generally more
+efficient than using relational operators such as  <math xmlns="&mathml;" mathsize="big"><mstyle><mo>=</mo></mstyle></math> particularly if the 
+value is a matrix. Examples of some of these functions are:
+</p>
+
+
+
+
+<div id="spadComm0-41" class="spadComm" >
+<form id="formComm0-41" action="javascript:makeRequest('0-41');" >
+<input id="comm0-41" type="text" class="command" style="width: 10em;" value="positive?(-234)" />
+</form>
+<span id="commSav0-41" class="commSav" >positive?(-234)</span>
+<div id="mathAns0-41" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mtext mathvariant='monospace'>false</mtext></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Boolean
+</div>
+
+
+
+
+
+<div id="spadComm0-42" class="spadComm" >
+<form id="formComm0-42" action="javascript:makeRequest('0-42');" >
+<input id="comm0-42" type="text" class="command" style="width: 10em;" value="negative?(-234)" />
+</form>
+<span id="commSav0-42" class="commSav" >negative?(-234)</span>
+<div id="mathAns0-42" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mtext mathvariant='monospace'>true</mtext></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Boolean
+</div>
+
+
+
+
+
+<div id="spadComm0-43" class="spadComm" >
+<form id="formComm0-43" action="javascript:makeRequest('0-43');" >
+<input id="comm0-43" type="text" class="command" style="width: 6em;" value="zero?(42)" />
+</form>
+<span id="commSav0-43" class="commSav" >zero?(42)</span>
+<div id="mathAns0-43" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mtext mathvariant='monospace'>false</mtext></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Boolean
+</div>
+
+
+
+
+
+<div id="spadComm0-44" class="spadComm" >
+<form id="formComm0-44" action="javascript:makeRequest('0-44');" >
+<input id="comm0-44" type="text" class="command" style="width: 5em;" value="one?(1)" />
+</form>
+<span id="commSav0-44" class="commSav" >one?(1)</span>
+<div id="mathAns0-44" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mtext mathvariant='monospace'>true</mtext></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Boolean
+</div>
+
+
+
+
+
+<div id="spadComm0-45" class="spadComm" >
+<form id="formComm0-45" action="javascript:makeRequest('0-45');" >
+<input id="comm0-45" type="text" class="command" style="width: 6em;" value="odd?(23)" />
+</form>
+<span id="commSav0-45" class="commSav" >odd?(23)</span>
+<div id="mathAns0-45" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mtext mathvariant='monospace'>true</mtext></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Boolean
+</div>
+
+
+
+
+
+<div id="spadComm0-46" class="spadComm" >
+<form id="formComm0-46" action="javascript:makeRequest('0-46');" >
+<input id="comm0-46" type="text" class="command" style="width: 8em;" value="odd?(9.435)" />
+</form>
+<span id="commSav0-46" class="commSav" >odd?(9.435)</span>
+<div id="mathAns0-46" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mtext mathvariant='monospace'>false</mtext></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Boolean
+</div>
+
+
+
+
+
+<div id="spadComm0-47" class="spadComm" >
+<form id="formComm0-47" action="javascript:makeRequest('0-47');" >
+<input id="comm0-47" type="text" class="command" style="width: 7em;" value="even?(-42)" />
+</form>
+<span id="commSav0-47" class="commSav" >even?(-42)</span>
+<div id="mathAns0-47" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mtext mathvariant='monospace'>true</mtext></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Boolean
+</div>
+
+
+
+
+
+<div id="spadComm0-48" class="spadComm" >
+<form id="formComm0-48" action="javascript:makeRequest('0-48');" >
+<input id="comm0-48" type="text" class="command" style="width: 7em;" value="prime?(37)" />
+</form>
+<span id="commSav0-48" class="commSav" >prime?(37)</span>
+<div id="mathAns0-48" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mtext mathvariant='monospace'>true</mtext></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Boolean
+</div>
+
+
+
+
+
+<div id="spadComm0-49" class="spadComm" >
+<form id="formComm0-49" action="javascript:makeRequest('0-49');" >
+<input id="comm0-49" type="text" class="command" style="width: 8em;" value="prime?(-37)" />
+</form>
+<span id="commSav0-49" class="commSav" >prime?(-37)</span>
+<div id="mathAns0-49" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mtext mathvariant='monospace'>false</mtext></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Boolean
+</div>
+
+
+
+<p>Some other functions that are quite useful for manipulating numerical values
+are:
+</p>
+
+
+
+
+<div class="verbatim"><br />
+sin(x)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sine&nbsp;of&nbsp;x<br />
+cos(x)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Cosine&nbsp;of&nbsp;x<br />
+tan(x)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tangent&nbsp;of&nbsp;x<br />
+asin(x)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Arcsin&nbsp;of&nbsp;x<br />
+acos(x)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Arccos&nbsp;of&nbsp;x<br />
+atan(x)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Arctangent&nbsp;of&nbsp;x<br />
+gcd(x,y)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Greatest&nbsp;common&nbsp;divisor&nbsp;of&nbsp;x&nbsp;and&nbsp;y<br />
+lcm(x,y)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Lowest&nbsp;common&nbsp;multiple&nbsp;of&nbsp;x&nbsp;and&nbsp;y<br />
+max(x,y)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Maximum&nbsp;of&nbsp;x&nbsp;and&nbsp;y<br />
+min(x,y)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Minimum&nbsp;of&nbsp;x&nbsp;and&nbsp;y<br />
+factorial(x)&nbsp;&nbsp;&nbsp;Factorial&nbsp;of&nbsp;x<br />
+factor(x)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Prime&nbsp;factors&nbsp;of&nbsp;x<br />
+divide(x,y)&nbsp;&nbsp;&nbsp;&nbsp;Quotient&nbsp;and&nbsp;remainder&nbsp;of&nbsp;x/y<br />
+</div>
+
+
+
+<p>Some simple infix and prefix operators:
+</p>
+
+
+
+<div class="verbatim"><br />
++&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Addition&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Subtraction<br />
+-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Numerical&nbsp;Negation&nbsp;&nbsp;&nbsp;~&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Logical&nbsp;Negation<br />
+/&amp;nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Conjunction&nbsp;(AND)&nbsp;&nbsp;&nbsp;&nbsp;\/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Disjunction&nbsp;(OR)<br />
+and&nbsp;&nbsp;&nbsp;&nbsp;Logical&nbsp;AND&nbsp;(/\)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Logical&nbsp;OR&nbsp;(\/)<br />
+not&nbsp;&nbsp;&nbsp;&nbsp;Logical&nbsp;Negation&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;**&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Exponentiation<br />
+*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Multiplication&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Division<br />
+quo&nbsp;&nbsp;&nbsp;&nbsp;Quotient&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rem&nbsp;&nbsp;&nbsp;&nbsp;Remainder<br />
+&lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;less&nbsp;than&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;greater&nbsp;than<br />
+&lt;=&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;less&nbsp;than&nbsp;or&nbsp;equal&nbsp;&nbsp;&nbsp;&gt;=&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;greater&nbsp;than&nbsp;or&nbsp;equal<br />
+</div>
+
+
+
+<p>Some useful Axiom macros:
+</p>
+
+
+
+<div class="verbatim"><br />
+%i&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The&nbsp;square&nbsp;root&nbsp;of&nbsp;-1<br />
+%e&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The&nbsp;base&nbsp;of&nbsp;the&nbsp;natural&nbsp;logarithm<br />
+%pi&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Pi<br />
+%infinity&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Infinity<br />
+%plusInfinity&nbsp;&nbsp;&nbsp;Positive&nbsp;Infinity<br />
+%minusInfinity&nbsp;&nbsp;Negative&nbsp;Infinity<br />
+</div>
+
+
+
+
+
+</div>
+
+
+
+
+</div><a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a>
+<a href="section-0.2.xhtml" style="margin-right: 10px;">Previous Section 0.2 A Technical Introduction</a><a href="section-0.4.xhtml" style="margin-right: 10px;">Next Section 0.4 Using Axiom as a Symbolic Calculator</a>
+<a href="book-index.xhtml">Book Index</a></body>
+</html>
\ No newline at end of file
diff --git a/src/axiom-website/hyperdoc/axbook/section-0.4.xhtml b/src/axiom-website/hyperdoc/axbook/section-0.4.xhtml
new file mode 100644
index 0000000..0dbc2a2
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/section-0.4.xhtml
@@ -0,0 +1,1312 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
+"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [
+<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
+]>
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:xlink="http://www.w3.org/1999/xlink" >
+
+
+  <head>
+    <title>Section0.4</title>
+    <link rel="stylesheet" type="text/css" href="graphicstyle.css" />
+    <script type="text/javascript" src="bookax1.js" />
+  </head>
+
+  <body>
+<a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a><a href="section-0.3.xhtml" style="margin-right: 10px;">Previous Section 0.3 Using Axiom as a Pocket Calculator</a><a href="section-0.5.xhtml" style="margin-right: 10px;">Next Section 0.5 General Points about Axiom</a>
+<a href="book-index.xhtml">Book Index</a><div class="section"  id="sec-0.4">
+<h2 class="sectiontitle">0.4  Using Axiom as a Symbolic Calculator</h2>
+
+
+<p>In the previous section all the examples involved numbers and simple
+functions. Also none of the expressions entered were assigned to anything.
+In this section we will move on to simple algebra (i.e. expressions involving
+symbols and other features available on more sophisticated calculators).
+</p>
+
+
+
+<a name="subsec-0.4.1"/>
+<div class="subsection"  id="subsec-0.4.1">
+<h3 class="subsectitle">0.4.1  Expressions Involving Symbols</h3>
+
+
+<p>Expressions involving symbols are entered just as they are written down,
+for example:
+</p>
+
+
+
+
+<div id="spadComm0-50" class="spadComm" >
+<form id="formComm0-50" action="javascript:makeRequest('0-50');" >
+<input id="comm0-50" type="text" class="command" style="width: 11em;" value="xSquared := x**2" />
+</form>
+<span id="commSav0-50" class="commSav" >xSquared := x**2</span>
+<div id="mathAns0-50" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><msup><mi>x</mi><mn>2</mn></msup></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Polynomial Integer
+</div>
+
+
+
+<p>where the assignment operator ``:='' represents immediate assignment. Later
+it will be seen that this form of assignment is not always desirable and
+the use of the delayed assignment operator ``=='' will be introduced. The
+type of the result is <span class="teletype">Polynomial Integer</span> which is used to represent
+polynomials with integer coefficients. Some other examples along similar
+lines are:
+</p>
+
+
+
+
+<div id="spadComm0-51" class="spadComm" >
+<form id="formComm0-51" action="javascript:makeRequest('0-51');" >
+<input id="comm0-51" type="text" class="command" style="width: 13em;" value="xDummy := 3.21*x**2" />
+</form>
+<span id="commSav0-51" class="commSav" >xDummy := 3.21*x**2</span>
+<div id="mathAns0-51" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mrow><mn>3</mn><mo>.</mo><mn>21</mn></mrow><mspace width="0.5 em" /><mrow><msup><mi>x</mi><mn>2</mn></msup></mrow></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Polynomial Float
+</div>
+
+
+
+
+
+<div id="spadComm0-52" class="spadComm" >
+<form id="formComm0-52" action="javascript:makeRequest('0-52');" >
+<input id="comm0-52" type="text" class="command" style="width: 11em;" value="xDummy := x**2.5" />
+</form>
+<span id="commSav0-52" class="commSav" >xDummy := x**2.5</span>
+<div id="mathAns0-52" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mrow><msup><mi>x</mi><mn>2</mn></msup></mrow><mspace width="0.5 em" /><mrow><msqrt><mi>x</mi></msqrt></mrow></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Expression Float
+</div>
+
+
+
+
+
+<div id="spadComm0-53" class="spadComm" >
+<form id="formComm0-53" action="javascript:makeRequest('0-53');" >
+<input id="comm0-53" type="text" class="command" style="width: 11em;" value="xDummy := x**3.3" />
+</form>
+<span id="commSav0-53" class="commSav" >xDummy := x**3.3</span>
+<div id="mathAns0-53" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mrow><msup><mi>x</mi><mn>3</mn></msup></mrow><mspace width="0.5 em" /><mrow><msup><mrow><mroot><mi>x</mi><mn>10</mn></mroot></mrow><mn>3</mn></msup></mrow></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Expression Float
+</div>
+
+
+
+
+
+<div id="spadComm0-54" class="spadComm" >
+<form id="formComm0-54" action="javascript:makeRequest('0-54');" >
+<input id="comm0-54" type="text" class="command" style="width: 15em;" value="xyDummy := x**2 - y**2" />
+</form>
+<span id="commSav0-54" class="commSav" >xyDummy := x**2 - y**2</span>
+<div id="mathAns0-54" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>-</mo><mrow><msup><mi>y</mi><mn>2</mn></msup></mrow><mo>+</mo><mrow><msup><mi>x</mi><mn>2</mn></msup></mrow></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Polynomial Integer
+</div>
+
+
+
+<p>Given that we can define expressions involving symbols, how do we actually
+compute the result when the symbols are assigned values? The answer is to
+use the <span style="font-weight: bold;"> eval</span> function which takes an expression as its first argument
+followed by a list of assignments. For example, to evaluate the expressions
+<span style="font-weight: bold;"> XDummy</span> and {xyDummy} resulting from their respective assignments above
+we type:
+</p>
+
+
+
+
+<div id="spadComm0-55" class="spadComm" >
+<form id="formComm0-55" action="javascript:makeRequest('0-55');" >
+<input id="comm0-55" type="text" class="command" style="width: 11em;" value="eval(xDummy,x=3)" />
+</form>
+<span id="commSav0-55" class="commSav" >eval(xDummy,x=3)</span>
+<div id="mathAns0-55" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mn>37</mn><mo>.</mo><mn>5405075985</mn><mn>29552193</mn></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Expression Float
+</div>
+
+
+
+
+
+<div id="spadComm0-56" class="spadComm" >
+<form id="formComm0-56" action="javascript:makeRequest('0-56');" >
+<input id="comm0-56" type="text" class="command" style="width: 18em;" value="eval(xyDummy, [x=3, y=2.1])" />
+</form>
+<span id="commSav0-56" class="commSav" >eval(xyDummy, [x=3, y=2.1])</span>
+<div id="mathAns0-56" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mn>4</mn><mo>.</mo><mn>59</mn></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Polynomial Float
+</div>
+
+
+
+
+
+</div>
+
+
+
+<a name="subsec-0.4.2"/>
+<div class="subsection"  id="subsec-0.4.2">
+<h3 class="subsectitle">0.4.2  Complex Numbers</h3>
+
+
+<p>For many scientific calculations real numbers aren't sufficient and support
+for complex numbers is also required. Complex numbers are handled in an
+intuitive manner and Axiom, which uses the <span style="font-weight: bold;"> %i</span> macro to represent
+the square root of  <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mo>-</mo><mn>1</mn></mrow></mstyle></math>. Thus expressions involving complex numbers are
+entered just like other expressions.
+</p>
+
+
+
+
+<div id="spadComm0-57" class="spadComm" >
+<form id="formComm0-57" action="javascript:makeRequest('0-57');" >
+<input id="comm0-57" type="text" class="command" style="width: 10em;" value="(2/3 + %i)**3" />
+</form>
+<span id="commSav0-57" class="commSav" >(2/3 + %i)**3</span>
+<div id="mathAns0-57" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>-</mo><mfrac><mn>46</mn><mn>27</mn></mfrac><mo>+</mo><mrow><mfrac><mn>1</mn><mn>3</mn></mfrac><mspace width="0.5 em" /><mi>i</mi></mrow></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Complex Fraction Integer
+</div>
+
+
+
+<p>The real and imaginary parts of a complex number can be extracted using 
+the <span style="font-weight: bold;"> real</span> and <span style="font-weight: bold;"> imag</span> functions and the complex conjugate of a
+number can be obtained using <span style="font-weight: bold;"> conjugate</span>:
+</p>
+
+
+
+
+<div id="spadComm0-58" class="spadComm" >
+<form id="formComm0-58" action="javascript:makeRequest('0-58');" >
+<input id="comm0-58" type="text" class="command" style="width: 10em;" value="real(3 + 2*%i)" />
+</form>
+<span id="commSav0-58" class="commSav" >real(3 + 2*%i)</span>
+<div id="mathAns0-58" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>3</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PositiveInteger
+</div>
+
+
+
+
+
+<div id="spadComm0-59" class="spadComm" >
+<form id="formComm0-59" action="javascript:makeRequest('0-59');" >
+<input id="comm0-59" type="text" class="command" style="width: 10em;" value="imag(3+ 2*%i)" />
+</form>
+<span id="commSav0-59" class="commSav" >imag(3+ 2*%i)</span>
+<div id="mathAns0-59" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>2</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PositiveInteger
+</div>
+
+
+
+
+
+<div id="spadComm0-60" class="spadComm" >
+<form id="formComm0-60" action="javascript:makeRequest('0-60');" >
+<input id="comm0-60" type="text" class="command" style="width: 14em;" value="conjugate(3 + 2*%i)" />
+</form>
+<span id="commSav0-60" class="commSav" >conjugate(3 + 2*%i)</span>
+<div id="mathAns0-60" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mn>3</mn><mo>-</mo><mrow><mn>2</mn><mspace width="0.5 em" /><mi>i</mi></mrow></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Complex Integer
+</div>
+
+
+
+<p>The function <span style="font-weight: bold;"> factor</span> can also be applied to complex numbers but the
+results aren't quite so obvious as for factoring integer:
+</p>
+
+
+
+
+<div id="spadComm0-61" class="spadComm" >
+<form id="formComm0-61" action="javascript:makeRequest('0-61');" >
+<input id="comm0-61" type="text" class="command" style="width: 8em;" value="144 + 24*%i" />
+</form>
+<span id="commSav0-61" class="commSav" >144 + 24*%i</span>
+<div id="mathAns0-61" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mn>144</mn><mo>+</mo><mrow><mn>24</mn><mspace width="0.5 em" /><mi>i</mi></mrow></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Complex Integer
+</div>
+
+
+
+
+
+</div>
+
+
+
+<a name="subsec-0.4.3"/>
+<div class="subsection"  id="subsec-0.4.3">
+<h3 class="subsectitle">0.4.3  Number Representations</h3>
+
+
+<p>By default all numerical results are displayed in decimal with real numbers
+shown to 20 significant figures. If the integer part of a number is longer
+than 20 digits then nothing after the decimal point is shown and the integer
+part is given in full. To alter the number of digits shown the function
+<span style="font-weight: bold;"> digits</span> can be called. The result returned by this function is the
+previous setting. For example, to find the value of  <math xmlns="&mathml;" mathsize="big"><mstyle><mi>&#x03C0;</mi></mstyle></math> to 40 digits
+we type:
+</p>
+
+
+
+
+<div id="spadComm0-62" class="spadComm" >
+<form id="formComm0-62" action="javascript:makeRequest('0-62');" >
+<input id="comm0-62" type="text" class="command" style="width: 7em;" value="digits(40)" />
+</form>
+<span id="commSav0-62" class="commSav" >digits(40)</span>
+<div id="mathAns0-62" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>20</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PositiveInteger
+</div>
+
+
+
+
+
+<div id="spadComm0-63" class="spadComm" >
+<form id="formComm0-63" action="javascript:makeRequest('0-63');" >
+<input id="comm0-63" type="text" class="command" style="width: 8em;" value="%pi::Float" />
+</form>
+<span id="commSav0-63" class="commSav" >%pi::Float</span>
+<div id="mathAns0-63" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mn>3</mn><mo>.</mo><mn>1415926535</mn><mspace width="0.5 em" /><mn>8979323846</mn><mspace width="0.5 em" /><mn>2643383279</mn><mspace width="0.5 em" /><mn>502884197</mn></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Float
+</div>
+
+
+
+<p>As can be seen in the example above, there is a gap after every ten digits.
+This can be changed using the <span style="font-weight: bold;"> outputSpacing</span> function where the argument
+is the number of digits to be displayed before a space is inserted. If no
+spaces are desired then use the value  <math xmlns="&mathml;" mathsize="big"><mstyle><mn>0</mn></mstyle></math>. Two other functions controlling
+the appearance of real numbers are <span style="font-weight: bold;"> outputFloating</span> and <span style="font-weight: bold;"> outputFixed</span>.
+The former causes Axiom to display floating-point values in exponent notation
+and the latter causes it to use fixed-point notation. For example:
+</p>
+
+
+
+
+<div id="spadComm0-64" class="spadComm" >
+<form id="formComm0-64" action="javascript:makeRequest('0-64');" >
+<input id="comm0-64" type="text" class="command" style="width: 14em;" value="outputFloating(); %" />
+</form>
+<span id="commSav0-64" class="commSav" >outputFloating(); %</span>
+<div id="mathAns0-64" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mn>0</mn><mo>.</mo><mn>3141592653</mn><mn>5897932384</mn><mn>6264338327</mn><mn>9502884197</mn><mi>E</mi><mn>1</mn></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Float
+</div>
+
+
+
+
+
+<div id="spadComm0-65" class="spadComm" >
+<form id="formComm0-65" action="javascript:makeRequest('0-65');" >
+<input id="comm0-65" type="text" class="command" style="width: 18em;" value="outputFloating(3); 0.00345" />
+</form>
+<span id="commSav0-65" class="commSav" >outputFloating(3); 0.00345</span>
+<div id="mathAns0-65" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mn>0</mn><mo>.</mo><mn>345</mn><mi>E</mi><mo>-</mo><mn>2</mn></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Float
+</div>
+
+
+
+
+
+<div id="spadComm0-66" class="spadComm" >
+<form id="formComm0-66" action="javascript:makeRequest('0-66');" >
+<input id="comm0-66" type="text" class="command" style="width: 12em;" value="outputFixed(); %" />
+</form>
+<span id="commSav0-66" class="commSav" >outputFixed(); %</span>
+<div id="mathAns0-66" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mn>0</mn><mo>.</mo><mn>00345</mn></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Float
+</div>
+
+
+
+
+
+<div id="spadComm0-67" class="spadComm" >
+<form id="formComm0-67" action="javascript:makeRequest('0-67');" >
+<input id="comm0-67" type="text" class="command" style="width: 12em;" value="outputFixed(3); %" />
+</form>
+<span id="commSav0-67" class="commSav" >outputFixed(3); %</span>
+<div id="mathAns0-67" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mn>0</mn><mo>.</mo><mn>003</mn></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Float
+</div>
+
+
+
+
+
+<div id="spadComm0-68" class="spadComm" >
+<form id="formComm0-68" action="javascript:makeRequest('0-68');" >
+<input id="comm0-68" type="text" class="command" style="width: 13em;" value="outputGeneral(); %" />
+</form>
+<span id="commSav0-68" class="commSav" >outputGeneral(); %</span>
+<div id="mathAns0-68" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mn>0</mn><mo>.</mo><mn>00345</mn></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Float
+</div>
+
+
+
+<p>Note that the semicolon ``;'' in the examples above allows several
+expressions to be entered on one line. The result of the last expression
+is displayed. remember also that the percent symbol ``%'' is used to
+represent the result of a previous calculation.
+</p>
+
+
+<p>To display rational numbers in a base other than 10 the function <span style="font-weight: bold;"> radix</span>
+is used. The first argument of this function is the expression to be 
+displayed and the second is the base to be used.
+</p>
+
+
+
+
+<div id="spadComm0-69" class="spadComm" >
+<form id="formComm0-69" action="javascript:makeRequest('0-69');" >
+<input id="comm0-69" type="text" class="command" style="width: 11em;" value="radix(10**10,32)" />
+</form>
+<span id="commSav0-69" class="commSav" >radix(10**10,32)</span>
+<div id="mathAns0-69" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mtext>9A0NP00</mtext></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: RadixExpansion 32
+</div>
+
+
+
+
+
+<div id="spadComm0-70" class="spadComm" >
+<form id="formComm0-70" action="javascript:makeRequest('0-70');" >
+<input id="comm0-70" type="text" class="command" style="width: 9em;" value="radix(3/21,5)" />
+</form>
+<span id="commSav0-70" class="commSav" >radix(3/21,5)</span>
+<div id="mathAns0-70" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="http://www.w3.org/1998/Math/MathML" mathsize="big" display="block">
+<mn>0</mn><mi>.</mi><mrow><mover accent='true'><mrow><mrow><mn>0</mn><mn>3</mn><mn>2</mn><mn>4</mn><mn>1</mn><mn>2</mn></mrow></mrow><mo stretchy='true'>&OverBar;</mo></mover></mrow>
+</math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: RadixExpansion 5
+</div>
+
+
+
+<p>Rational numbers can be represented as a repeated decimal expansion using
+the <span style="font-weight: bold;"> decimal</span> function or as a continued fraction using 
+<span style="font-weight: bold;"> continuedFraction</span>. Any attempt to call these functions with irrational
+values will fail.
+</p>
+
+
+
+
+<div id="spadComm0-71" class="spadComm" >
+<form id="formComm0-71" action="javascript:makeRequest('0-71');" >
+<input id="comm0-71" type="text" class="command" style="width: 9em;" value="decimal(22/7)" />
+</form>
+<span id="commSav0-71" class="commSav" >decimal(22/7)</span>
+<div id="mathAns0-71" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" class="block"><mstyle><mrow><mn>3</mn><mo>.</mo><mrow><mover accent="true"><mrow><mn>142857</mn></mrow><mo stretchy="true">&OverBar;</mo></mover></mrow></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: DecimalExpansion
+</div>
+
+
+
+
+
+<div id="spadComm0-72" class="spadComm" >
+<form id="formComm0-72" action="javascript:makeRequest('0-72');" >
+<input id="comm0-72" type="text" class="command" style="width: 18em;" value="continuedFraction(6543/210)" />
+</form>
+<span id="commSav0-72" class="commSav" >continuedFraction(6543/210)</span>
+<div id="mathAns0-72" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="http://www.w3.org/1998/Math/MathML" mathsize="big" display="block">
+<mrow><mrow><mn>31</mn></mrow><mo>+</mo><mfrac><mn>1</mn><mrow><mn><mn>6</mn></mn><mo>+</mo><mfrac><mn>1</mn><mrow><mn><mn>2</mn></mn><mo>+</mo><mfrac><mn>1</mn><mrow><mn><mn>1</mn></mn><mo>+</mo><mfrac><mn>1</mn><mn>3</mn></mfrac></mrow></mfrac></mrow></mfrac></mrow></mfrac></mrow>
+</math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: ContinuedFraction Integer
+</div>
+
+
+
+<p>Finally, partial fractions in compact and expanded form are available via the
+functions <span style="font-weight: bold;"> partialFraction</span> and <span style="font-weight: bold;"> padicFraction</span> respectively. The
+former takes two arguments, the first being the numerator of the fraction
+and the second being the denominator. The latter function takes a fraction
+and expands it further while the function <span style="font-weight: bold;"> compactFraction</span> does the
+reverse:
+</p>
+
+
+
+
+<div id="spadComm0-73" class="spadComm" >
+<form id="formComm0-73" action="javascript:makeRequest('0-73');" >
+<input id="comm0-73" type="text" class="command" style="width: 16em;" value="partialFraction(234,40)" />
+</form>
+<span id="commSav0-73" class="commSav" >partialFraction(234,40)</span>
+<div id="mathAns0-73" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mn>6</mn><mo>-</mo><mfrac><mn>3</mn><mrow><msup><mn>2</mn><mn>2</mn></msup></mrow></mfrac><mo>+</mo><mfrac><mn>3</mn><mn>5</mn></mfrac></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PartialFraction Integer
+</div>
+
+
+
+
+
+<div id="spadComm0-74" class="spadComm" >
+<form id="formComm0-74" action="javascript:makeRequest('0-74');" >
+<input id="comm0-74" type="text" class="command" style="width: 12em;" value="padicFraction(%)" />
+</form>
+<span id="commSav0-74" class="commSav" >padicFraction(%)</span>
+<div id="mathAns0-74" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mn>6</mn><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mo>-</mo><mfrac><mn>1</mn><mrow><msup><mn>2</mn><mn>2</mn></msup></mrow></mfrac><mo>+</mo><mfrac><mn>3</mn><mn>5</mn></mfrac></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PartialFraction Integer
+</div>
+
+
+
+
+
+<div id="spadComm0-75" class="spadComm" >
+<form id="formComm0-75" action="javascript:makeRequest('0-75');" >
+<input id="comm0-75" type="text" class="command" style="width: 13em;" value="compactFraction(%)" />
+</form>
+<span id="commSav0-75" class="commSav" >compactFraction(%)</span>
+<div id="mathAns0-75" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mn>6</mn><mo>-</mo><mfrac><mn>3</mn><mrow><msup><mn>2</mn><mn>2</mn></msup></mrow></mfrac><mo>+</mo><mfrac><mn>3</mn><mn>5</mn></mfrac></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PartialFraction Integer
+</div>
+
+
+
+
+
+<div id="spadComm0-76" class="spadComm" >
+<form id="formComm0-76" action="javascript:makeRequest('0-76');" >
+<input id="comm0-76" type="text" class="command" style="width: 14em;" value="padicFraction(234/40)" />
+</form>
+<span id="commSav0-76" class="commSav" >padicFraction(234/40)</span>
+<div id="mathAns0-76" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mfrac><mn>117</mn><mn>20</mn></mfrac></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PartialFraction Fraction Integer
+</div>
+
+
+
+<p>To extract parts of a partial fraction the function <span style="font-weight: bold;"> nthFractionalTerm</span>
+is available and returns a partial fraction of one term. To decompose this
+further the numerator can be obtained using <span style="font-weight: bold;"> firstNumer</span> and the 
+denominator with <span style="font-weight: bold;"> firstDenom</span>. The whole part of a partial fraction can
+be retrieved using <span style="font-weight: bold;"> wholePart</span> and the number of fractional parts can
+be found using the function <span style="font-weight: bold;"> numberOf FractionalTerms</span>:
+</p>
+
+
+
+
+<div id="spadComm0-77" class="spadComm" >
+<form id="formComm0-77" action="javascript:makeRequest('0-77');" >
+<input id="comm0-77" type="text" class="command" style="width: 19em;" value="t := partialFraction(234,40)" />
+</form>
+<span id="commSav0-77" class="commSav" >t := partialFraction(234,40)</span>
+<div id="mathAns0-77" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mn>6</mn><mo>-</mo><mfrac><mn>3</mn><mrow><msup><mn>2</mn><mn>2</mn></msup></mrow></mfrac><mo>+</mo><mfrac><mn>3</mn><mn>5</mn></mfrac></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PartialFraction Integer
+</div>
+
+
+
+
+
+<div id="spadComm0-78" class="spadComm" >
+<form id="formComm0-78" action="javascript:makeRequest('0-78');" >
+<input id="comm0-78" type="text" class="command" style="width: 8em;" value="wholePart(t)" />
+</form>
+<span id="commSav0-78" class="commSav" >wholePart(t)</span>
+<div id="mathAns0-78" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>6</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PositiveInteger
+</div>
+
+
+
+
+
+<div id="spadComm0-79" class="spadComm" >
+<form id="formComm0-79" action="javascript:makeRequest('0-79');" >
+<input id="comm0-79" type="text" class="command" style="width: 18em;" value="numberOfFractionalTerms(t)" />
+</form>
+<span id="commSav0-79" class="commSav" >numberOfFractionalTerms(t)</span>
+<div id="mathAns0-79" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>2</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PositiveInteger
+</div>
+
+
+
+
+
+<div id="spadComm0-80" class="spadComm" >
+<form id="formComm0-80" action="javascript:makeRequest('0-80');" >
+<input id="comm0-80" type="text" class="command" style="width: 18em;" value="p := nthFractionalTerm(t,1)" />
+</form>
+<span id="commSav0-80" class="commSav" >p := nthFractionalTerm(t,1)</span>
+<div id="mathAns0-80" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>-</mo><mfrac><mn>3</mn><mrow><msup><mn>2</mn><mn>2</mn></msup></mrow></mfrac></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PartialFraction Integer
+</div>
+
+
+
+
+
+<div id="spadComm0-81" class="spadComm" >
+<form id="formComm0-81" action="javascript:makeRequest('0-81');" >
+<input id="comm0-81" type="text" class="command" style="width: 9em;" value="firstNumer(p)" />
+</form>
+<span id="commSav0-81" class="commSav" >firstNumer(p)</span>
+<div id="mathAns0-81" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>-</mo><mn>3</mn></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Integer
+</div>
+
+
+
+
+
+<div id="spadComm0-82" class="spadComm" >
+<form id="formComm0-82" action="javascript:makeRequest('0-82');" >
+<input id="comm0-82" type="text" class="command" style="width: 9em;" value="firstDenom(p)" />
+</form>
+<span id="commSav0-82" class="commSav" >firstDenom(p)</span>
+<div id="mathAns0-82" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><msup><mn>2</mn><mn>2</mn></msup></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Factored Integer
+</div>
+
+
+
+
+
+</div>
+
+
+
+<a name="subsec-0.4.4"/>
+<div class="subsection"  id="subsec-0.4.4">
+<h3 class="subsectitle">0.4.4  Modular Arithmetic</h3>
+
+
+<p>By using the type constructor <span class="teletype">PrimeField</span> it is possible to do 
+arithmetic modulo some prime number. For example, arithmetic module  <math xmlns="&mathml;" mathsize="big"><mstyle><mn>7</mn></mstyle></math>
+can be performed as follows:
+</p>
+
+
+
+
+<div id="spadComm0-83" class="spadComm" >
+<form id="formComm0-83" action="javascript:makeRequest('0-83');" >
+<input id="comm0-83" type="text" class="command" style="width: 14em;" value="x : PrimeField 7 := 5" />
+</form>
+<span id="commSav0-83" class="commSav" >x : PrimeField 7 := 5</span>
+<div id="mathAns0-83" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>5</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PrimeField 7
+</div>
+
+
+
+
+
+<div id="spadComm0-84" class="spadComm" >
+<form id="formComm0-84" action="javascript:makeRequest('0-84');" >
+<input id="comm0-84" type="text" class="command" style="width: 6em;" value="x**5 + 6" />
+</form>
+<span id="commSav0-84" class="commSav" >x**5 + 6</span>
+<div id="mathAns0-84" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>2</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PrimeField 7
+</div>
+
+
+
+
+
+<div id="spadComm0-85" class="spadComm" >
+<form id="formComm0-85" action="javascript:makeRequest('0-85');" >
+<input id="comm0-85" type="text" class="command" style="width: 2em;" value="1/x" />
+</form>
+<span id="commSav0-85" class="commSav" >1/x</span>
+<div id="mathAns0-85" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>3</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PrimeField 7
+</div>
+
+
+
+<p>The first example should be read as:
+</p>
+
+
+
+<div class="center" style="text-align: center;">
+
+
+<p><span class="teletype">Let  <math xmlns="&mathml;" mathsize="big"><mstyle><mi>x</mi></mstyle></math> be of type PrimeField(7) and assign to it the value  <math xmlns="&mathml;" mathsize="big"><mstyle><mn>5</mn></mstyle></math></span>
+</p>
+
+
+
+</div>
+
+
+
+<p>Note that it is only possible to invert non-zero values if the arithmetic
+is performed modulo a prime number. Thus arithmetic modulo a non-prime
+integer is possible but the reciprocal operation is undefined and will
+generate an error. Attempting to use the <span class="teletype">PrimeField</span> type constructor
+with a non-prime argument will generate an error. An example of non-prime
+modulo arithmetic is:
+</p>
+
+
+
+
+<div id="spadComm0-86" class="spadComm" >
+<form id="formComm0-86" action="javascript:makeRequest('0-86');" >
+<input id="comm0-86" type="text" class="command" style="width: 15em;" value="y : IntegerMod 8 := 11" />
+</form>
+<span id="commSav0-86" class="commSav" >y : IntegerMod 8 := 11</span>
+<div id="mathAns0-86" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>3</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: IntegerMod 8
+</div>
+
+
+
+
+
+<div id="spadComm0-87" class="spadComm" >
+<form id="formComm0-87" action="javascript:makeRequest('0-87');" >
+<input id="comm0-87" type="text" class="command" style="width: 6em;" value="y*4 + 27" />
+</form>
+<span id="commSav0-87" class="commSav" >y*4 + 27</span>
+<div id="mathAns0-87" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>7</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: IntegerMod 8
+</div>
+
+
+
+<p>Note that polynomials can be constructed in a similar way:
+</p>
+
+
+
+
+<div id="spadComm0-88" class="spadComm" >
+<form id="formComm0-88" action="javascript:makeRequest('0-88');" >
+<input id="comm0-88" type="text" class="command" style="width: 30em;" value="(3*a**4 + 27*a - 36)::Polynomial PrimeField 7" />
+</form>
+<span id="commSav0-88" class="commSav" >(3*a**4 + 27*a - 36)::Polynomial PrimeField 7</span>
+<div id="mathAns0-88" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mrow><mn>3</mn><mspace width="0.5 em" /><mrow><msup><mi>a</mi><mn>4</mn></msup></mrow></mrow><mo>+</mo><mrow><mn>6</mn><mspace width="0.5 em" /><mi>a</mi></mrow><mo>+</mo><mn>6</mn></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Polynomial PrimeField 7
+</div>
+
+
+
+
+
+</div>
+
+
+
+
+</div><a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a>
+<a href="section-0.3.xhtml" style="margin-right: 10px;">Previous Section 0.3 Using Axiom as a Pocket Calculator</a><a href="section-0.5.xhtml" style="margin-right: 10px;">Next Section 0.5 General Points about Axiom</a>
+<a href="book-index.xhtml">Book Index</a></body>
+</html>
\ No newline at end of file
diff --git a/src/axiom-website/hyperdoc/axbook/section-0.5.xhtml b/src/axiom-website/hyperdoc/axbook/section-0.5.xhtml
new file mode 100644
index 0000000..06473f1
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/section-0.5.xhtml
@@ -0,0 +1,389 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
+"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [
+<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
+]>
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:xlink="http://www.w3.org/1999/xlink" >
+
+
+  <head>
+    <title>Section0.5</title>
+    <link rel="stylesheet" type="text/css" href="graphicstyle.css" />
+    <script type="text/javascript" src="bookax1.js" />
+  </head>
+
+  <body>
+<a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a><a href="section-0.4.xhtml" style="margin-right: 10px;">Previous Section 0.4 Using Axiom as a Symbolic Calculator</a><a href="section-0.6.xhtml" style="margin-right: 10px;">Next Section 0.6 Data Structures in Axiom</a>
+<a href="book-index.xhtml">Book Index</a><div class="section"  id="sec-0.5">
+<h2 class="sectiontitle">0.5  General Points about Axiom</h2>
+
+
+
+<a name="subsec-0.5.1"/>
+<div class="subsection"  id="subsec-0.5.1">
+<h3 class="subsectitle">0.5.1  Computation Without Output</h3>
+
+
+<p>It is sometimes desirable to enter an expression and prevent Axiom from
+displaying the result. To do this the expression should be terminated with
+a semicolon ``;''. In a previous section it was mentioned that a set of 
+expressions separated by semicolons would be evaluated and the result
+of the last one displayed. Thus if a single expression is followed by a
+semicolon no output will be produced (except for its type):
+</p>
+
+
+
+
+<div id="spadComm0-89" class="spadComm" >
+<form id="formComm0-89" action="javascript:makeRequest('0-89');" >
+<input id="comm0-89" type="text" class="command" style="width: 6em;" value="2 + 4*5;" />
+</form>
+<span id="commSav0-89" class="commSav" >2 + 4*5;</span>
+<div id="mathAns0-89" ></div>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PositiveInteger
+</div>
+
+
+
+
+
+</div>
+
+
+
+<a name="subsec-0.5.2"/>
+<div class="subsection"  id="subsec-0.5.2">
+<h3 class="subsectitle">0.5.2  Accessing Earlier Results</h3>
+
+
+<p>The ``%'' macro represents the result of the previous computation. The 
+``%%'' macro is available which takes a single integer argument. If the
+argument is positive then it refers to the step number of the calculation
+where the numbering begins from one and can be seen at the end of each
+prompt (the number in parentheses). If the argument is negative then it
+refers to previous results counting backwards from the last result. That is,
+``%%(-1)'' is the same as ``%''. The value of ``%%(0)'' is not defined and
+will generate an error if requested.
+</p>
+
+
+
+
+</div>
+
+
+
+<a name="subsec-0.5.3"/>
+<div class="subsection"  id="subsec-0.5.3">
+<h3 class="subsectitle">0.5.3  Splitting Expressions Over Several Lines</h3>
+
+
+<p>Although Axiom will quite happily accept expressions that are longer than
+the width of the screen (just keep typing without pressing the <span style="font-weight: bold;"> Return</span>
+key) it is often preferable to split the expression being entered at a point
+where it would result in more readable input. To do this the underscore
+``_'' symbol is placed before the break point and then the <span style="font-weight: bold;"> Return</span>
+key is pressed. The rest of the expression is typed on the next line,
+can be preceeded by any number of whitespace chars, for example:
+</p>
+
+
+
+<div class="verbatim"><br />
+2_<br />
++_<br />
+3<br />
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>5</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PositiveInteger
+</div>
+
+
+
+<p>The underscore symbol is an escape character and its presence alters the
+meaning of the characters that follow it. As mentions above whitespace
+following an underscore is ignored (the <span style="font-weight: bold;"> Return</span> key generates a
+whitespace character). Any other character following an underscore loses
+whatever special meaning it may have had. Thus one can create the
+identifier ``a+b'' by typing ``a_+b'' although this might lead to confusions.
+Also note the result of the following example:
+</p>
+
+
+
+
+<div id="spadComm0-90" class="spadComm" >
+<form id="formComm0-90" action="javascript:makeRequest('0-90');" >
+<input id="comm0-90" type="text" class="command" style="width: 20em;" value="ThisIsAVeryLong_
+VariableName" />
+</form>
+<span id="commSav0-90" class="commSav" >ThisIsAVeryLong_
+VariableName</span>
+<div id="mathAns0-90" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mi>ThisIsAVeryLongVariableName</mi></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Variable ThisIsAVeryLongVariableName
+</div>
+
+
+
+
+
+</div>
+
+
+
+<a name="subsec-0.5.4"/>
+<div class="subsection"  id="subsec-0.5.4">
+<h3 class="subsectitle">0.5.4  Comments and Descriptions</h3>
+
+
+<p>Comments and descriptions are really only of use in files of Axiom code but
+can be used when the output of an interactive session is being spooled to
+a file (via the system command <span style="font-weight: bold;"> )spool</span>). A comment begins with two
+dashes ``- -'' and continues until the end of the line. Multi-line
+comments are only possible if each individual line begins with two dashes.
+</p>
+
+
+<p>Descriptions are the same as comments except that the Axiom compiler will 
+include them in the object files produced and make them availabe to the
+end user for documentation purposes.
+</p>
+
+
+<p>A description is placed <span style="font-weight: bold;"> before</span> a calculation begins with three
+``+++'' signs and a description placed after a calculation begins with
+two plus symbols ``+''. The so-called ``plus plus'' comments are used
+within the algebra files and are processed by the compiler to add
+to the documentation. The so-called ``minus minus'' comments are ignored
+everywhere.
+</p>
+
+
+
+
+</div>
+
+
+
+<a name="subsec-0.5.5"/>
+<div class="subsection"  id="subsec-0.5.5">
+<h3 class="subsectitle">0.5.5  Control of Result Types</h3>
+
+
+<p>In earlier sections the type of an expression was converted to another
+via the ``::'' operator. However, this is not the only method for
+converting between types and two other operators need to be introduced
+and explained. 
+</p>
+
+
+<p>The first operator is ``$'' and is used to specify the package to be
+used to calculate the result. Thus:
+</p>
+
+
+
+
+<div id="spadComm0-91" class="spadComm" >
+<form id="formComm0-91" action="javascript:makeRequest('0-91');" >
+<input id="comm0-91" type="text" class="command" style="width: 8em;" value="(2/3)$Float" />
+</form>
+<span id="commSav0-91" class="commSav" >(2/3)$Float</span>
+<div id="mathAns0-91" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mn>0</mn><mo>.</mo><mn>6666666666</mn><mspace width="0.5 em" /><mn>6666666667</mn></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Float
+</div>
+
+
+
+<p>tells Axiom to use the ``/'' operator from the <span class="teletype">Float</span> package to
+evaluate the expression  <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mn>2</mn><mo>/</mo><mn>3</mn></mrow></mstyle></math>. This does not necessarily mean that the
+result will be of the same type as the domain from which the operator
+was taken. In the following example the <span style="font-weight: bold;"> sign</span> operator is taken
+from the <span class="teletype">Float</span> package but the result is of type <span class="teletype">Integer</span>.
+</p>
+
+
+
+
+<div id="spadComm0-92" class="spadComm" >
+<form id="formComm0-92" action="javascript:makeRequest('0-92');" >
+<input id="comm0-92" type="text" class="command" style="width: 10em;" value="sign(2.3)$Float" />
+</form>
+<span id="commSav0-92" class="commSav" >sign(2.3)$Float</span>
+<div id="mathAns0-92" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>1</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Integer
+</div>
+
+
+
+<p>The other operator is ``@'' which is used to tell Axiom what the desired
+type of the result of the calculation is. In most situations all three
+operators yield the same results but the example below should help 
+distinguish them.
+</p>
+
+
+
+
+<div id="spadComm0-93" class="spadComm" >
+<form id="formComm0-93" action="javascript:makeRequest('0-93');" >
+<input id="comm0-93" type="text" class="command" style="width: 10em;" value="(2 + 3)::String" />
+</form>
+<span id="commSav0-93" class="commSav" >(2 + 3)::String</span>
+<div id="mathAns0-93" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mtext><mrow><mtext mathvariant='monospace'>"5"</mtext></mrow></mtext></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: String
+</div>
+
+
+
+
+
+<div id="spadComm0-94" class="spadComm" >
+<form id="formComm0-94" action="javascript:makeRequest('0-94');" >
+<input id="comm0-94" type="text" class="command" style="width: 10em;" value="(2 + 3)@String" />
+</form>
+<span id="commSav0-94" class="commSav" >(2 + 3)@String</span>
+<div id="mathAns0-94" ></div>
+</div>
+
+
+
+
+<div class="verbatim"><br />
+An&nbsp;expression&nbsp;involving&nbsp;@&nbsp;String&nbsp;actually&nbsp;evaluated&nbsp;to&nbsp;one&nbsp;of&nbsp;<br />
+&nbsp;&nbsp;&nbsp;type&nbsp;PositiveInteger&nbsp;.&nbsp;Perhaps&nbsp;you&nbsp;should&nbsp;use&nbsp;::&nbsp;String&nbsp;.<br />
+</div>
+
+
+
+
+
+<div id="spadComm0-95" class="spadComm" >
+<form id="formComm0-95" action="javascript:makeRequest('0-95');" >
+<input id="comm0-95" type="text" class="command" style="width: 10em;" value="(2 + 3)$String" />
+</form>
+<span id="commSav0-95" class="commSav" >(2 + 3)$String</span>
+<div id="mathAns0-95" ></div>
+</div>
+
+
+
+
+<div class="verbatim"><br />
+&nbsp;&nbsp;&nbsp;The&nbsp;function&nbsp;+&nbsp;is&nbsp;not&nbsp;implemented&nbsp;in&nbsp;String&nbsp;.<br />
+</div>
+
+
+
+<p>If an expression <span class="slant">X</span> is converted using one of the three operators to 
+type <span class="slant">T</span> the interpretations are:
+</p>
+
+
+<p><span style="font-weight: bold;"> ::</span> means explicitly convert <span class="slant">X</span> to type <span class="slant">T</span> if possible.
+</p>
+
+
+<p><span style="font-weight: bold;"> $</span> means use the available operators for type <span class="slant">T</span> to compute <span class="slant">X</span>.
+</p>
+
+
+<p><span style="font-weight: bold;"> @</span> means choose operators to compute <span class="slant">X</span> so that the result is of
+type <span class="slant">T</span>.
+</p>
+
+
+
+
+</div>
+
+
+
+
+</div><a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a>
+<a href="section-0.4.xhtml" style="margin-right: 10px;">Previous Section 0.4 Using Axiom as a Symbolic Calculator</a><a href="section-0.6.xhtml" style="margin-right: 10px;">Next Section 0.6 Data Structures in Axiom</a>
+<a href="book-index.xhtml">Book Index</a></body>
+</html>
\ No newline at end of file
diff --git a/src/axiom-website/hyperdoc/axbook/section-0.6.xhtml b/src/axiom-website/hyperdoc/axbook/section-0.6.xhtml
new file mode 100644
index 0000000..3dc4e96
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/section-0.6.xhtml
@@ -0,0 +1,2742 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
+"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [
+<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
+]>
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:xlink="http://www.w3.org/1999/xlink" >
+
+
+  <head>
+    <title>Section0.6</title>
+    <link rel="stylesheet" type="text/css" href="graphicstyle.css" />
+    <script type="text/javascript" src="bookax1.js" />
+  </head>
+
+  <body>
+<a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a><a href="section-0.5.xhtml" style="margin-right: 10px;">Previous Section 0.5 General Points about Axiom</a><a href="section-0.7.xhtml" style="margin-right: 10px;">Next Section 0.7 Functions, Choices, and Loops</a>
+<a href="book-index.xhtml">Book Index</a><div class="section"  id="sec-0.6">
+<h2 class="sectiontitle">0.6  Data Structures in Axiom</h2>
+
+
+<p>This chapter is an overview of <span class="slant">some</span> of the data structures provided
+by Axiom.
+</p>
+
+
+<a name="subsec-0.6.1"/>
+<div class="subsection"  id="subsec-0.6.1">
+<h3 class="subsectitle">0.6.1  Lists</h3>
+
+
+<p>The Axiom <span class="teletype">List</span> type constructor is used to create homogenous lists of
+finite size. The notation for lists and the names of the functions that 
+operate over them are similar to those found in functional languages such
+as ML.
+</p>
+
+
+<p>Lists can be created by placing a comma separated list of values inside
+square brackets or if a list with just one element is desired then the
+function <span style="font-weight: bold;"> list</span> is available:
+</p>
+
+
+
+
+<div id="spadComm0-96" class="spadComm" >
+<form id="formComm0-96" action="javascript:makeRequest('0-96');" >
+<input id="comm0-96" type="text" class="command" style="width: 2em;" value="[4]" />
+</form>
+<span id="commSav0-96" class="commSav" >[4]</span>
+<div id="mathAns0-96" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>4</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List PositiveInteger
+</div>
+
+
+
+
+
+<div id="spadComm0-97" class="spadComm" >
+<form id="formComm0-97" action="javascript:makeRequest('0-97');" >
+<input id="comm0-97" type="text" class="command" style="width: 5em;" value="list(4)" />
+</form>
+<span id="commSav0-97" class="commSav" >list(4)</span>
+<div id="mathAns0-97" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>4</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List PositiveInteger
+</div>
+
+
+
+
+
+<div id="spadComm0-98" class="spadComm" >
+<form id="formComm0-98" action="javascript:makeRequest('0-98');" >
+<input id="comm0-98" type="text" class="command" style="width: 10em;" value="[1,2,3,5,7,11]" />
+</form>
+<span id="commSav0-98" class="commSav" >[1,2,3,5,7,11]</span>
+<div id="mathAns0-98" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>1</mn><mo>,</mo><mn>2</mn><mo>,</mo><mn>3</mn><mo>,</mo><mn>5</mn><mo>,</mo><mn>7</mn><mo>,</mo><mn>11</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List PositiveInteger
+</div>
+
+
+
+<p>The function <span style="font-weight: bold;"> append</span> takes two lists as arguments and returns the list
+consisting of the second argument appended to the first. A single element
+can be added to the front of a list using <span style="font-weight: bold;"> cons</span>:
+</p>
+
+
+
+
+<div id="spadComm0-99" class="spadComm" >
+<form id="formComm0-99" action="javascript:makeRequest('0-99');" >
+<input id="comm0-99" type="text" class="command" style="width: 16em;" value="append([1,2,3,5],[7,11])" />
+</form>
+<span id="commSav0-99" class="commSav" >append([1,2,3,5],[7,11])</span>
+<div id="mathAns0-99" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>1</mn><mo>,</mo><mn>2</mn><mo>,</mo><mn>3</mn><mo>,</mo><mn>5</mn><mo>,</mo><mn>7</mn><mo>,</mo><mn>11</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List PositiveInteger
+</div>
+
+
+
+
+
+<div id="spadComm0-100" class="spadComm" >
+<form id="formComm0-100" action="javascript:makeRequest('0-100');" >
+<input id="comm0-100" type="text" class="command" style="width: 13em;" value="cons(23,[65,42,19])" />
+</form>
+<span id="commSav0-100" class="commSav" >cons(23,[65,42,19])</span>
+<div id="mathAns0-100" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>23</mn><mo>,</mo><mn>65</mn><mo>,</mo><mn>42</mn><mo>,</mo><mn>19</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List PositiveInteger
+</div>
+
+
+
+<p>Lists are accessed sequentially so if Axiom is asked for the value of the
+twentieth element in the list it will move from the start of the list over
+nineteen elements before it reaches the desired element. Each element of a 
+list is stored as a node consisting of the value of the element and a pointer
+to the rest of the list. As a result the two main operations on a list are
+called <span style="font-weight: bold;"> first</span> and <span style="font-weight: bold;"> rest</span>. Both of these functions take a second
+optional argument which specifies the length of the first part of the list:
+</p>
+
+
+
+
+<div id="spadComm0-101" class="spadComm" >
+<form id="formComm0-101" action="javascript:makeRequest('0-101');" >
+<input id="comm0-101" type="text" class="command" style="width: 12em;" value="first([1,5,6,2,3])" />
+</form>
+<span id="commSav0-101" class="commSav" >first([1,5,6,2,3])</span>
+<div id="mathAns0-101" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>1</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PositiveInteger
+</div>
+
+
+
+
+
+<div id="spadComm0-102" class="spadComm" >
+<form id="formComm0-102" action="javascript:makeRequest('0-102');" >
+<input id="comm0-102" type="text" class="command" style="width: 14em;" value="first([1,5,6,2,3],2)" />
+</form>
+<span id="commSav0-102" class="commSav" >first([1,5,6,2,3],2)</span>
+<div id="mathAns0-102" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>1</mn><mo>,</mo><mn>5</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List PositiveInteger
+</div>
+
+
+
+
+
+<div id="spadComm0-103" class="spadComm" >
+<form id="formComm0-103" action="javascript:makeRequest('0-103');" >
+<input id="comm0-103" type="text" class="command" style="width: 12em;" value="rest([1,5,6,2,3])" />
+</form>
+<span id="commSav0-103" class="commSav" >rest([1,5,6,2,3])</span>
+<div id="mathAns0-103" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>5</mn><mo>,</mo><mn>6</mn><mo>,</mo><mn>2</mn><mo>,</mo><mn>3</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List PositiveInteger
+</div>
+
+
+
+
+
+<div id="spadComm0-104" class="spadComm" >
+<form id="formComm0-104" action="javascript:makeRequest('0-104');" >
+<input id="comm0-104" type="text" class="command" style="width: 13em;" value="rest([1,5,6,2,3],2)" />
+</form>
+<span id="commSav0-104" class="commSav" >rest([1,5,6,2,3],2)</span>
+<div id="mathAns0-104" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>6</mn><mo>,</mo><mn>2</mn><mo>,</mo><mn>3</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List PositiveInteger
+</div>
+
+
+
+<p>Other functions are <span style="font-weight: bold;"> empty?</span> which tests to see if a list contains no
+elements, <span style="font-weight: bold;"> member?</span> which tests to see if the first argument is a member
+of the second, <span style="font-weight: bold;"> reverse</span> which reverses the order of the list, <span style="font-weight: bold;"> sort</span>
+which sorts a list, and <span style="font-weight: bold;"> removeDuplicates</span> which removes any duplicates.
+The length of a list can be obtained using the `` #'' operator.
+</p>
+
+
+
+
+<div id="spadComm0-105" class="spadComm" >
+<form id="formComm0-105" action="javascript:makeRequest('0-105');" >
+<input id="comm0-105" type="text" class="command" style="width: 12em;" value="empty?([7,2,-1,2])" />
+</form>
+<span id="commSav0-105" class="commSav" >empty?([7,2,-1,2])</span>
+<div id="mathAns0-105" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mtext mathvariant='monospace'>false</mtext></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Boolean
+</div>
+
+
+
+
+
+<div id="spadComm0-106" class="spadComm" >
+<form id="formComm0-106" action="javascript:makeRequest('0-106');" >
+<input id="comm0-106" type="text" class="command" style="width: 15em;" value="member?(-1,[7,2,-1,2])" />
+</form>
+<span id="commSav0-106" class="commSav" >member?(-1,[7,2,-1,2])</span>
+<div id="mathAns0-106" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mtext mathvariant='monospace'>true</mtext></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Boolean
+</div>
+
+
+
+
+
+<div id="spadComm0-107" class="spadComm" >
+<form id="formComm0-107" action="javascript:makeRequest('0-107');" >
+<input id="comm0-107" type="text" class="command" style="width: 13em;" value="reverse([7,2,-1,2])" />
+</form>
+<span id="commSav0-107" class="commSav" >reverse([7,2,-1,2])</span>
+<div id="mathAns0-107" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>2</mn><mo>,</mo><mo>-</mo><mn>1</mn><mo>,</mo><mn>2</mn><mo>,</mo><mn>7</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List Integer
+</div>
+
+
+
+
+
+<div id="spadComm0-108" class="spadComm" >
+<form id="formComm0-108" action="javascript:makeRequest('0-108');" >
+<input id="comm0-108" type="text" class="command" style="width: 11em;" value="sort([7,2,-1,2])" />
+</form>
+<span id="commSav0-108" class="commSav" >sort([7,2,-1,2])</span>
+<div id="mathAns0-108" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mo>-</mo><mn>1</mn><mo>,</mo><mn>2</mn><mo>,</mo><mn>2</mn><mo>,</mo><mn>7</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List Integer
+</div>
+
+
+
+
+
+<div id="spadComm0-109" class="spadComm" >
+<form id="formComm0-109" action="javascript:makeRequest('0-109');" >
+<input id="comm0-109" type="text" class="command" style="width: 22em;" value="removeDuplicates([1,5,3,5,1,1,2])" />
+</form>
+<span id="commSav0-109" class="commSav" >removeDuplicates([1,5,3,5,1,1,2])</span>
+<div id="mathAns0-109" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>1</mn><mo>,</mo><mn>5</mn><mo>,</mo><mn>3</mn><mo>,</mo><mn>2</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List PositiveInteger
+</div>
+
+
+
+
+
+<div id="spadComm0-110" class="spadComm" >
+<form id="formComm0-110" action="javascript:makeRequest('0-110');" >
+<input id="comm0-110" type="text" class="command" style="width: 8em;" value=" #[7,2,-1,2]" />
+</form>
+<span id="commSav0-110" class="commSav" > #[7,2,-1,2]</span>
+<div id="mathAns0-110" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>4</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PositiveInteger
+</div>
+
+
+
+<p>Lists in Axiom are mutable and so their contents (the elements and the links)
+can be modified in place. Functions that operator over lists in this way have
+names ending in the symbol ``!''. For example, <span style="font-weight: bold;"> concat!</span> takes two lists
+as arguments and appends the second argument to the first (except when the
+first argument is an empty list) and <span style="font-weight: bold;"> setrest!</span> changes the link 
+emanating from the first argument to point to the second argument:
+</p>
+
+
+
+
+<div id="spadComm0-111" class="spadComm" >
+<form id="formComm0-111" action="javascript:makeRequest('0-111');" >
+<input id="comm0-111" type="text" class="command" style="width: 10em;" value="u := [9,2,4,7]" />
+</form>
+<span id="commSav0-111" class="commSav" >u := [9,2,4,7]</span>
+<div id="mathAns0-111" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>9</mn><mo>,</mo><mn>2</mn><mo>,</mo><mn>4</mn><mo>,</mo><mn>7</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List PositiveInteger
+</div>
+
+
+
+
+
+<div id="spadComm0-112" class="spadComm" >
+<form id="formComm0-112" action="javascript:makeRequest('0-112');" >
+<input id="comm0-112" type="text" class="command" style="width: 15em;" value="concat!(u,[1,5,42]); u" />
+</form>
+<span id="commSav0-112" class="commSav" >concat!(u,[1,5,42]); u</span>
+<div id="mathAns0-112" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>9</mn><mo>,</mo><mn>2</mn><mo>,</mo><mn>4</mn><mo>,</mo><mn>7</mn><mo>,</mo><mn>1</mn><mo>,</mo><mn>5</mn><mo>,</mo><mn>42</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List PositiveInteger
+</div>
+
+
+
+
+
+<div id="spadComm0-113" class="spadComm" >
+<form id="formComm0-113" action="javascript:makeRequest('0-113');" >
+<input id="comm0-113" type="text" class="command" style="width: 13em;" value="endOfu := rest(u,4)" />
+</form>
+<span id="commSav0-113" class="commSav" >endOfu := rest(u,4)</span>
+<div id="mathAns0-113" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>1</mn><mo>,</mo><mn>5</mn><mo>,</mo><mn>42</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List PositiveInteger
+</div>
+
+
+
+
+
+<div id="spadComm0-114" class="spadComm" >
+<form id="formComm0-114" action="javascript:makeRequest('0-114');" >
+<input id="comm0-114" type="text" class="command" style="width: 14em;" value="partOfu := rest(u,2)" />
+</form>
+<span id="commSav0-114" class="commSav" >partOfu := rest(u,2)</span>
+<div id="mathAns0-114" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>4</mn><mo>,</mo><mn>7</mn><mo>,</mo><mn>1</mn><mo>,</mo><mn>5</mn><mo>,</mo><mn>42</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List PositiveInteger
+</div>
+
+
+
+
+
+<div id="spadComm0-115" class="spadComm" >
+<form id="formComm0-115" action="javascript:makeRequest('0-115');" >
+<input id="comm0-115" type="text" class="command" style="width: 18em;" value="setrest!(endOfu,partOfu); u" />
+</form>
+<span id="commSav0-115" class="commSav" >setrest!(endOfu,partOfu); u</span>
+<div id="mathAns0-115" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="http://www.w3.org/1998/Math/MathML" mathsize="big" display="block">
+<mo>[</mo><mn>9</mn><mo>,</mo><mn>2</mn><mo>,</mo><mrow><mover accent='true'><mrow><mrow><mn>4</mn><mo>,</mo><mn>7</mn><mo>,</mo><mn>1</mn></mrow></mrow><mo stretchy='true'>&OverBar;</mo></mover></mrow><mo>]</mo>
+</math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List PositiveInteger
+</div>
+
+
+
+<p>From this it can be seen that the lists returned by <span style="font-weight: bold;"> first</span> and <span style="font-weight: bold;"> rest</span>
+are pointers to the original list and <span class="slant">not</span> a copy. Thus great care must
+be taken when dealing with lists in Axiom.
+</p>
+
+
+<p>Although the <span class="slant">n</span>th element of the list <span class="slant">l</span> can be obtained by 
+applying the <span style="font-weight: bold;"> first</span> function to  <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mi>n</mi><mo>-</mo><mn>1</mn></mrow></mstyle></math> applications of <span style="font-weight: bold;"> rest</span>
+to <span class="slant">l</span>, Axiom provides a more useful access method in the form of
+the ``.'' operator:
+</p>
+
+
+
+
+<div id="spadComm0-116" class="spadComm" >
+<form id="formComm0-116" action="javascript:makeRequest('0-116');" >
+<input id="comm0-116" type="text" class="command" style="width: 2em;" value="u.3" />
+</form>
+<span id="commSav0-116" class="commSav" >u.3</span>
+<div id="mathAns0-116" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>4</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PositiveInteger
+</div>
+
+
+
+
+
+<div id="spadComm0-117" class="spadComm" >
+<form id="formComm0-117" action="javascript:makeRequest('0-117');" >
+<input id="comm0-117" type="text" class="command" style="width: 2em;" value="u.5" />
+</form>
+<span id="commSav0-117" class="commSav" >u.5</span>
+<div id="mathAns0-117" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>1</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PositiveInteger
+</div>
+
+
+
+
+
+<div id="spadComm0-118" class="spadComm" >
+<form id="formComm0-118" action="javascript:makeRequest('0-118');" >
+<input id="comm0-118" type="text" class="command" style="width: 2em;" value="u.6" />
+</form>
+<span id="commSav0-118" class="commSav" >u.6</span>
+<div id="mathAns0-118" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>4</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PositiveInteger
+</div>
+
+
+
+
+
+<div id="spadComm0-119" class="spadComm" >
+<form id="formComm0-119" action="javascript:makeRequest('0-119');" >
+<input id="comm0-119" type="text" class="command" style="width: 22em;" value="first rest rest u -- Same as u.3" />
+</form>
+<span id="commSav0-119" class="commSav" >first rest rest u -- Same as u.3</span>
+<div id="mathAns0-119" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>4</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PositiveInteger
+</div>
+
+
+
+
+
+<div id="spadComm0-120" class="spadComm" >
+<form id="formComm0-120" action="javascript:makeRequest('0-120');" >
+<input id="comm0-120" type="text" class="command" style="width: 5em;" value="u.first" />
+</form>
+<span id="commSav0-120" class="commSav" >u.first</span>
+<div id="mathAns0-120" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>9</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PositiveInteger
+</div>
+
+
+
+
+
+<div id="spadComm0-121" class="spadComm" >
+<form id="formComm0-121" action="javascript:makeRequest('0-121');" >
+<input id="comm0-121" type="text" class="command" style="width: 3em;" value="u(3)" />
+</form>
+<span id="commSav0-121" class="commSav" >u(3)</span>
+<div id="mathAns0-121" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>4</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PositiveInteger
+</div>
+
+
+
+<p>The operation <span class="slant">u.i</span> is referred to as <span class="slant">indexing into u</span> or 
+<span class="slant">elting into u</span>. The latter term comes from the <span style="font-weight: bold;"> elt</span> function
+which is used to extract elements (the first element of the list is at
+index  <math xmlns="&mathml;" mathsize="big"><mstyle><mn>1</mn></mstyle></math>).
+</p>
+
+
+
+
+<div id="spadComm0-122" class="spadComm" >
+<form id="formComm0-122" action="javascript:makeRequest('0-122');" >
+<input id="comm0-122" type="text" class="command" style="width: 6em;" value="elt(u,4)" />
+</form>
+<span id="commSav0-122" class="commSav" >elt(u,4)</span>
+<div id="mathAns0-122" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>7</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PositiveInteger
+</div>
+
+
+
+<p>If a list has no cycles then any attempt to access an element beyond the
+end of the list will generate an error. However, in the example above there
+was a cycle starting at the third element so the access to the sixth
+element wrapped around to give the third element. Since lists are mutable it
+is possible to modify elements directly:
+</p>
+
+
+
+
+<div id="spadComm0-123" class="spadComm" >
+<form id="formComm0-123" action="javascript:makeRequest('0-123');" >
+<input id="comm0-123" type="text" class="command" style="width: 8em;" value="u.3 := 42; u" />
+</form>
+<span id="commSav0-123" class="commSav" >u.3 := 42; u</span>
+<div id="mathAns0-123" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="http://www.w3.org/1998/Math/MathML" mathsize="big" display="block">
+<mo>[</mo><mn>9</mn><mo>,</mo><mn>2</mn><mo>,</mo><mrow><mover accent='true'><mrow><mrow><mrow><mn>42</mn></mrow><mo>,</mo><mn>7</mn><mo>,</mo><mn>1</mn></mrow></mrow><mo stretchy='true'>&OverBar;</mo></mover></mrow><mo>]</mo>
+</math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List PositiveInteger
+</div>
+
+
+
+<p>Other list operations are:
+</p>
+
+
+
+<div id="spadComm0-124" class="spadComm" >
+<form id="formComm0-124" action="javascript:makeRequest('0-124');" >
+<input id="comm0-124" type="text" class="command" style="width: 13em;" value="L := [9,3,4,7];  #L" />
+</form>
+<span id="commSav0-124" class="commSav" >L := [9,3,4,7];  #L</span>
+<div id="mathAns0-124" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>4</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PositiveInteger
+</div>
+
+
+
+
+
+<div id="spadComm0-125" class="spadComm" >
+<form id="formComm0-125" action="javascript:makeRequest('0-125');" >
+<input id="comm0-125" type="text" class="command" style="width: 5em;" value="last(L)" />
+</form>
+<span id="commSav0-125" class="commSav" >last(L)</span>
+<div id="mathAns0-125" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>7</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PositiveInteger
+</div>
+
+
+
+
+
+<div id="spadComm0-126" class="spadComm" >
+<form id="formComm0-126" action="javascript:makeRequest('0-126');" >
+<input id="comm0-126" type="text" class="command" style="width: 4em;" value="L.last" />
+</form>
+<span id="commSav0-126" class="commSav" >L.last</span>
+<div id="mathAns0-126" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>7</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PositiveInteger
+</div>
+
+
+
+
+
+<div id="spadComm0-127" class="spadComm" >
+<form id="formComm0-127" action="javascript:makeRequest('0-127');" >
+<input id="comm0-127" type="text" class="command" style="width: 8em;" value="L.( #L - 1)" />
+</form>
+<span id="commSav0-127" class="commSav" >L.( #L - 1)</span>
+<div id="mathAns0-127" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>4</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PositiveInteger
+</div>
+
+
+
+<p>Note that using the `` #'' operator on a list with cycles causes Axiom to
+enter an infinite loop.
+</p>
+
+
+<p>Note that any operation on a list <span class="slant">L</span> that returns a list  <math xmlns="&mathml;" mathsize="big"><mstyle><mi>L</mi><msup><mi>L</mi><mo>&prime;</mo></msup></mstyle></math>
+will, in general, be such that any changes to  <math xmlns="&mathml;" mathsize="big"><mstyle><mi>L</mi><msup><mi>L</mi><mo>&prime;</mo></msup></mstyle></math> will have the
+side-effect of altering <span class="slant">L</span>. For example:
+</p>
+
+
+
+
+<div id="spadComm0-128" class="spadComm" >
+<form id="formComm0-128" action="javascript:makeRequest('0-128');" >
+<input id="comm0-128" type="text" class="command" style="width: 10em;" value="m := rest(L,2)" />
+</form>
+<span id="commSav0-128" class="commSav" >m := rest(L,2)</span>
+<div id="mathAns0-128" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>4</mn><mo>,</mo><mn>7</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List PositiveInteger
+</div>
+
+
+
+
+
+<div id="spadComm0-129" class="spadComm" >
+<form id="formComm0-129" action="javascript:makeRequest('0-129');" >
+<input id="comm0-129" type="text" class="command" style="width: 8em;" value="m.1 := 20; L" />
+</form>
+<span id="commSav0-129" class="commSav" >m.1 := 20; L</span>
+<div id="mathAns0-129" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>9</mn><mo>,</mo><mn>3</mn><mo>,</mo><mn>20</mn><mo>,</mo><mn>7</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List PositiveInteger
+</div>
+
+
+
+
+
+<div id="spadComm0-130" class="spadComm" >
+<form id="formComm0-130" action="javascript:makeRequest('0-130');" >
+<input id="comm0-130" type="text" class="command" style="width: 4em;" value="n := L" />
+</form>
+<span id="commSav0-130" class="commSav" >n := L</span>
+<div id="mathAns0-130" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>9</mn><mo>,</mo><mn>3</mn><mo>,</mo><mn>20</mn><mo>,</mo><mn>7</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List PositiveInteger
+</div>
+
+
+
+
+
+<div id="spadComm0-131" class="spadComm" >
+<form id="formComm0-131" action="javascript:makeRequest('0-131');" >
+<input id="comm0-131" type="text" class="command" style="width: 8em;" value="n.2 := 99; L" />
+</form>
+<span id="commSav0-131" class="commSav" >n.2 := 99; L</span>
+<div id="mathAns0-131" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>9</mn><mo>,</mo><mn>99</mn><mo>,</mo><mn>20</mn><mo>,</mo><mn>7</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List PositiveInteger
+</div>
+
+
+
+
+
+<div id="spadComm0-132" class="spadComm" >
+<form id="formComm0-132" action="javascript:makeRequest('0-132');" >
+<input id="comm0-132" type="text" class="command" style="width: 1em;" value="n" />
+</form>
+<span id="commSav0-132" class="commSav" >n</span>
+<div id="mathAns0-132" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>9</mn><mo>,</mo><mn>99</mn><mo>,</mo><mn>20</mn><mo>,</mo><mn>7</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List PositiveInteger
+</div>
+
+
+
+<p>Thus the only save way of copying lists is to copy each element from one to
+another and not use the assignment operator:
+</p>
+
+
+
+
+<div id="spadComm0-133" class="spadComm" >
+<form id="formComm0-133" action="javascript:makeRequest('0-133');" >
+<input id="comm0-133" type="text" class="command" style="width: 30em;" value="p := [i for i in n] -- Same as `p := copy(n)'" />
+</form>
+<span id="commSav0-133" class="commSav" >p := [i for i in n] -- Same as `p := copy(n)'</span>
+<div id="mathAns0-133" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>9</mn><mo>,</mo><mn>99</mn><mo>,</mo><mn>20</mn><mo>,</mo><mn>7</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List PositiveInteger
+</div>
+
+
+
+
+
+<div id="spadComm0-134" class="spadComm" >
+<form id="formComm0-134" action="javascript:makeRequest('0-134');" >
+<input id="comm0-134" type="text" class="command" style="width: 8em;" value="p.2 := 5; p" />
+</form>
+<span id="commSav0-134" class="commSav" >p.2 := 5; p</span>
+<div id="mathAns0-134" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>9</mn><mo>,</mo><mn>5</mn><mo>,</mo><mn>20</mn><mo>,</mo><mn>7</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List PositiveInteger
+</div>
+
+
+
+
+
+<div id="spadComm0-135" class="spadComm" >
+<form id="formComm0-135" action="javascript:makeRequest('0-135');" >
+<input id="comm0-135" type="text" class="command" style="width: 1em;" value="n" />
+</form>
+<span id="commSav0-135" class="commSav" >n</span>
+<div id="mathAns0-135" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>9</mn><mo>,</mo><mn>99</mn><mo>,</mo><mn>20</mn><mo>,</mo><mn>7</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List PositiveInteger
+</div>
+
+
+
+<p>In the previous example a new way of constructing lists was given. This is
+a powerful method which gives the reader more information about the contents
+of the list than before and which is extremely flexible. The example
+</p>
+
+
+
+
+<div id="spadComm0-136" class="spadComm" >
+<form id="formComm0-136" action="javascript:makeRequest('0-136');" >
+<input id="comm0-136" type="text" class="command" style="width: 12em;" value="[i for i in 1..10]" />
+</form>
+<span id="commSav0-136" class="commSav" >[i for i in 1..10]</span>
+<div id="mathAns0-136" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>1</mn><mo>,</mo><mn>2</mn><mo>,</mo><mn>3</mn><mo>,</mo><mn>4</mn><mo>,</mo><mn>5</mn><mo>,</mo><mn>6</mn><mo>,</mo><mn>7</mn><mo>,</mo><mn>8</mn><mo>,</mo><mn>9</mn><mo>,</mo><mn>10</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List PositiveInteger
+</div>
+
+
+
+<p>should be read as
+</p>
+
+
+
+
+<div class="center" style="text-align: center;">
+
+
+<p>``Using the expression <span class="slant">i</span>, generate each element of the list by
+iterating the symbol <span class="slant">i</span> over the range of integers [1,10]''
+</p>
+
+
+
+</div>
+
+
+
+<p>To generate the list of the squares of the first ten elements we just use:
+</p>
+
+
+
+
+<div id="spadComm0-137" class="spadComm" >
+<form id="formComm0-137" action="javascript:makeRequest('0-137');" >
+<input id="comm0-137" type="text" class="command" style="width: 14em;" value="[i**2 for i in 1..10]" />
+</form>
+<span id="commSav0-137" class="commSav" >[i**2 for i in 1..10]</span>
+<div id="mathAns0-137" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>1</mn><mo>,</mo><mn>4</mn><mo>,</mo><mn>9</mn><mo>,</mo><mn>16</mn><mo>,</mo><mn>25</mn><mo>,</mo><mn>36</mn><mo>,</mo><mn>49</mn><mo>,</mo><mn>64</mn><mo>,</mo><mn>81</mn><mo>,</mo><mn>100</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List PositiveInteger
+</div>
+
+
+
+<p>For more complex lists we can apply a condition to the elements that are to
+be placed into the list to obtain a list of even numbers between 0 and 11:
+</p>
+
+
+
+
+<div id="spadComm0-138" class="spadComm" >
+<form id="formComm0-138" action="javascript:makeRequest('0-138');" >
+<input id="comm0-138" type="text" class="command" style="width: 20em;" value="[i for i in 1..10 | even?(i)]" />
+</form>
+<span id="commSav0-138" class="commSav" >[i for i in 1..10 | even?(i)]</span>
+<div id="mathAns0-138" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>2</mn><mo>,</mo><mn>4</mn><mo>,</mo><mn>6</mn><mo>,</mo><mn>8</mn><mo>,</mo><mn>10</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List PositiveInteger
+</div>
+
+
+
+<p>This example should be read as:
+</p>
+
+
+
+<div class="center" style="text-align: center;">
+
+
+<p>``Using the expression <span class="slant">i</span>, generate each element of the list
+by iterating the symbol <span class="slant">i</span> over the range of integers [1,10] such that 
+<span class="slant">i</span> is even''
+</p>
+
+
+
+</div>
+
+
+
+<p>The following achieves the same result:
+</p>
+
+
+
+
+<div id="spadComm0-139" class="spadComm" >
+<form id="formComm0-139" action="javascript:makeRequest('0-139');" >
+<input id="comm0-139" type="text" class="command" style="width: 16em;" value="[i for i in 2..10 by 2]" />
+</form>
+<span id="commSav0-139" class="commSav" >[i for i in 2..10 by 2]</span>
+<div id="mathAns0-139" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>2</mn><mo>,</mo><mn>4</mn><mo>,</mo><mn>6</mn><mo>,</mo><mn>8</mn><mo>,</mo><mn>10</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List PositiveInteger
+</div>
+
+
+
+
+
+</div>
+
+
+
+<a name="subsec-0.6.2"/>
+<div class="subsection"  id="subsec-0.6.2">
+<h3 class="subsectitle">0.6.2  Segmented Lists</h3>
+
+
+<p>A segmented list is one in which some of the elements are ranges of values.
+The <span style="font-weight: bold;"> expand</span> function converts lists of this type into ordinary lists:
+</p>
+
+
+
+
+<div id="spadComm0-140" class="spadComm" >
+<form id="formComm0-140" action="javascript:makeRequest('0-140');" >
+<input id="comm0-140" type="text" class="command" style="width: 5em;" value="[1..10]" />
+</form>
+<span id="commSav0-140" class="commSav" >[1..10]</span>
+<div id="mathAns0-140" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mrow><mn>1</mn><mo>.</mo><mo>.</mo><mn>10</mn></mrow><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List Segment PositiveInteger
+</div>
+
+
+
+
+
+<div id="spadComm0-141" class="spadComm" >
+<form id="formComm0-141" action="javascript:makeRequest('0-141');" >
+<input id="comm0-141" type="text" class="command" style="width: 11em;" value="[1..3,5,6,8..10]" />
+</form>
+<span id="commSav0-141" class="commSav" >[1..3,5,6,8..10]</span>
+<div id="mathAns0-141" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mrow><mn>1</mn><mo>.</mo><mo>.</mo><mn>3</mn></mrow><mo>,</mo><mrow><mn>5</mn><mo>.</mo><mo>.</mo><mn>5</mn></mrow><mo>,</mo><mrow><mn>6</mn><mo>.</mo><mo>.</mo><mn>6</mn></mrow><mo>,</mo><mrow><mn>8</mn><mo>.</mo><mo>.</mo><mn>10</mn></mrow><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List Segment PositiveInteger
+</div>
+
+
+
+
+
+<div id="spadComm0-142" class="spadComm" >
+<form id="formComm0-142" action="javascript:makeRequest('0-142');" >
+<input id="comm0-142" type="text" class="command" style="width: 7em;" value="expand(%)" />
+</form>
+<span id="commSav0-142" class="commSav" >expand(%)</span>
+<div id="mathAns0-142" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>1</mn><mo>,</mo><mn>2</mn><mo>,</mo><mn>3</mn><mo>,</mo><mn>5</mn><mo>,</mo><mn>6</mn><mo>,</mo><mn>8</mn><mo>,</mo><mn>9</mn><mo>,</mo><mn>10</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List Integer
+</div>
+
+
+
+<p>If the upper bound of a segment is omitted then a different type of 
+segmented list is obtained and expanding it will produce a stream (which
+will be considered in the next section):
+</p>
+
+
+
+
+<div id="spadComm0-143" class="spadComm" >
+<form id="formComm0-143" action="javascript:makeRequest('0-143');" >
+<input id="comm0-143" type="text" class="command" style="width: 4em;" value="[1..]" />
+</form>
+<span id="commSav0-143" class="commSav" >[1..]</span>
+<div id="mathAns0-143" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mrow><mn>1</mn><mo>.</mo><mo>.</mo></mrow><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List UniversalSegment PositiveInteger
+</div>
+
+
+
+
+
+<div id="spadComm0-144" class="spadComm" >
+<form id="formComm0-144" action="javascript:makeRequest('0-144');" >
+<input id="comm0-144" type="text" class="command" style="width: 7em;" value="expand(%)" />
+</form>
+<span id="commSav0-144" class="commSav" >expand(%)</span>
+<div id="mathAns0-144" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>1</mn><mo>,</mo><mn>2</mn><mo>,</mo><mn>3</mn><mo>,</mo><mn>4</mn><mo>,</mo><mn>5</mn><mo>,</mo><mn>6</mn><mo>,</mo><mn>7</mn><mo>,</mo><mn>8</mn><mo>,</mo><mn>9</mn><mo>,</mo><mn>10</mn><mo>,</mo><mo>&#x2026;</mo><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Stream Integer
+</div>
+
+
+
+
+
+</div>
+
+
+
+<a name="subsec-0.6.3"/>
+<div class="subsection"  id="subsec-0.6.3">
+<h3 class="subsectitle">0.6.3  Streams</h3>
+
+
+<p>Streams are infinite lists which have the ability to calculate the next
+element should it be required. For example, a stream of positive integers
+and a list of prime numbers can be generated by:
+</p>
+
+
+
+
+<div id="spadComm0-145" class="spadComm" >
+<form id="formComm0-145" action="javascript:makeRequest('0-145');" >
+<input id="comm0-145" type="text" class="command" style="width: 11em;" value="[i for i in 1..]" />
+</form>
+<span id="commSav0-145" class="commSav" >[i for i in 1..]</span>
+<div id="mathAns0-145" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>1</mn><mo>,</mo><mn>2</mn><mo>,</mo><mn>3</mn><mo>,</mo><mn>4</mn><mo>,</mo><mn>5</mn><mo>,</mo><mn>6</mn><mo>,</mo><mn>7</mn><mo>,</mo><mn>8</mn><mo>,</mo><mn>9</mn><mo>,</mo><mn>10</mn><mo>,</mo><mo>&#x2026;</mo><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Stream PositiveInteger
+</div>
+
+
+
+
+
+<div id="spadComm0-146" class="spadComm" >
+<form id="formComm0-146" action="javascript:makeRequest('0-146');" >
+<input id="comm0-146" type="text" class="command" style="width: 19em;" value="[i for i in 1.. | prime?(i)]" />
+</form>
+<span id="commSav0-146" class="commSav" >[i for i in 1.. | prime?(i)]</span>
+<div id="mathAns0-146" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>2</mn><mo>,</mo><mn>3</mn><mo>,</mo><mn>5</mn><mo>,</mo><mn>7</mn><mo>,</mo><mn>11</mn><mo>,</mo><mn>13</mn><mo>,</mo><mn>17</mn><mo>,</mo><mn>19</mn><mo>,</mo><mn>23</mn><mo>,</mo><mn>29</mn><mo>,</mo><mo>&#x2026;</mo><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Stream PositiveInteger
+</div>
+
+
+
+<p>In each case the first few elements of the stream are calculated for display
+purposes but the rest of the stream remains unevaluated. The value of items
+in a stream are only calculated when they are needed which gives rise to
+their alternative name of ``lazy lists''.
+</p>
+
+
+<p>Another method of creating streams is to use the <span style="font-weight: bold;"> generate(f,a)</span> function.
+This applies its first argument repeatedly onto its second to produce the
+stream  <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mo>[</mo><mi>a</mi><mo>,</mo><mi>f</mi><mo>(</mo><mi>a</mi><mo>)</mo><mo>,</mo><mi>f</mi><mo>(</mo><mi>f</mi><mo>(</mo><mi>a</mi><mo>)</mo><mo>)</mo><mo>,</mo><mi>f</mi><mo>(</mo><mi>f</mi><mo>(</mo><mi>f</mi><mo>(</mo><mi>a</mi><mo>)</mo><mo>)</mo><mo>)</mo><mo>&#x2026;</mo><mo>]</mo></mrow></mstyle></math>. Given that the function
+<span style="font-weight: bold;"> nextPrime</span> returns the lowest prime number greater than its argument we
+can generate a stream of primes as follows:
+</p>
+
+
+
+<div id="spadComm0-147" class="spadComm" >
+<form id="formComm0-147" action="javascript:makeRequest('0-147');" >
+<input id="comm0-147" type="text" class="command" style="width: 24em;" value="generate(nextPrime,2)$Stream Integer" />
+</form>
+<span id="commSav0-147" class="commSav" >generate(nextPrime,2)$Stream Integer</span>
+<div id="mathAns0-147" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>2</mn><mo>,</mo><mn>3</mn><mo>,</mo><mn>5</mn><mo>,</mo><mn>7</mn><mo>,</mo><mn>11</mn><mo>,</mo><mn>13</mn><mo>,</mo><mn>17</mn><mo>,</mo><mn>19</mn><mo>,</mo><mn>23</mn><mo>,</mo><mn>29</mn><mo>,</mo><mo>&#x2026;</mo><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Stream Integer
+</div>
+
+
+
+<p>As a longer example a stream of Fibonacci numbers will be computed. The
+Fibonacci numbers start at  <math xmlns="&mathml;" mathsize="big"><mstyle><mn>1</mn></mstyle></math> and each following number is the addition
+of the two numbers that precede it so the Fibonacci sequence is:
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mn>1</mn><mo>,</mo><mn>1</mn><mo>,</mo><mn>2</mn><mo>,</mo><mn>3</mn><mo>,</mo><mn>5</mn><mo>,</mo><mn>8</mn><mo>,</mo><mo>&#x2026;</mo></mrow></mstyle></math>. 
+</p>
+
+
+<p>Since the generation of any Fibonacci number only relies on knowing the 
+previous two numbers we can look at the series through a window of two
+elements. To create the series the window is placed at the start over
+the values  <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mo>[</mo><mn>1</mn><mo>,</mo><mn>1</mn><mo>]</mo></mrow></mstyle></math> and their sum obtained. The window is now shifted to 
+the right by one position and the sum placed into the empty slot of the
+window; the process is then repeated. To implement this we require a 
+function that takes a list of two elements (the current view of the window),
+adds them, and outputs the new window. The result is the function
+ <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mo>[</mo><mi>a</mi><mo>,</mo><mi>b</mi><mo>]</mo><mo>&#x2192;</mo><mi>b</mi><mo>,</mo><mi>a</mi><mo>+</mo><mi>b</mi><mo>]</mo></mrow></mstyle></math>:
+</p>
+
+
+
+<div id="spadComm0-148" class="spadComm" >
+<form id="formComm0-148" action="javascript:makeRequest('0-148');" >
+<input id="comm0-148" type="text" class="command" style="width: 23em;" value="win : List Integer -> List Integer" />
+</form>
+<span id="commSav0-148" class="commSav" >win : List Integer -> List Integer</span>
+<div id="mathAns0-148" ></div>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Void
+</div>
+
+
+
+
+
+<div id="spadComm0-149" class="spadComm" >
+<form id="formComm0-149" action="javascript:makeRequest('0-149');" >
+<input id="comm0-149" type="text" class="command" style="width: 18em;" value="win(x) == [x.2, x.1 + x.2]" />
+</form>
+<span id="commSav0-149" class="commSav" >win(x) == [x.2, x.1 + x.2]</span>
+<div id="mathAns0-149" ></div>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Void
+</div>
+
+
+
+
+
+<div id="spadComm0-150" class="spadComm" >
+<form id="formComm0-150" action="javascript:makeRequest('0-150');" >
+<input id="comm0-150" type="text" class="command" style="width: 7em;" value="win([1,1])" />
+</form>
+<span id="commSav0-150" class="commSav" >win([1,1])</span>
+<div id="mathAns0-150" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>1</mn><mo>,</mo><mn>2</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List Integer
+</div>
+
+
+
+
+
+<div id="spadComm0-151" class="spadComm" >
+<form id="formComm0-151" action="javascript:makeRequest('0-151');" >
+<input id="comm0-151" type="text" class="command" style="width: 5em;" value="win(%)" />
+</form>
+<span id="commSav0-151" class="commSav" >win(%)</span>
+<div id="mathAns0-151" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>2</mn><mo>,</mo><mn>3</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List Integer
+</div>
+
+
+
+<p>Thus it can be seen that repeatedly applying <span style="font-weight: bold;"> win</span> to the <span class="slant">results</span>
+of the previous invocation each element of the series is obtained. Clearly
+<span style="font-weight: bold;"> win</span> is an ideal function to construct streams using the <span style="font-weight: bold;"> generate</span>
+function:
+</p>
+
+
+
+<div id="spadComm0-152" class="spadComm" >
+<form id="formComm0-152" action="javascript:makeRequest('0-152');" >
+<input id="comm0-152" type="text" class="command" style="width: 20em;" value="fibs := [generate(win,[1,1])]" />
+</form>
+<span id="commSav0-152" class="commSav" >fibs := [generate(win,[1,1])]</span>
+<div id="mathAns0-152" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mrow><mo>[</mo><mn>1</mn><mo>,</mo><mn>1</mn><mo>]</mo></mrow><mo>,</mo><mrow><mo>[</mo><mn>1</mn><mo>,</mo><mn>2</mn><mo>]</mo></mrow><mo>,</mo><mrow><mo>[</mo><mn>2</mn><mo>,</mo><mn>3</mn><mo>]</mo></mrow><mo>,</mo><mrow><mo>[</mo><mn>3</mn><mo>,</mo><mn>5</mn><mo>]</mo></mrow><mo>,</mo><mrow><mo>[</mo><mn>5</mn><mo>,</mo><mn>8</mn><mo>]</mo></mrow><mo>,</mo><mrow><mo>[</mo><mn>8</mn><mo>,</mo><mn>13</mn><mo>]</mo></mrow><mo>,</mo><mrow><mo>[</mo><mn>13</mn><mo>,</mo><mn>21</mn><mo>]</mo></mrow><mo>,</mo><mrow><mo>[</mo><mn>21</mn><mo>,</mo><mn>34</mn><mo>]</mo></mrow><mo>,</mo><mrow><mo>[</mo><mn>34</mn><mo>,</mo><mn>55</mn><mo>]</mo></mrow><mo>,</mo><mrow><mo>[</mo><mn>55</mn><mo>,</mo><mn>89</mn><mo>]</mo></mrow><mo>,</mo><mo>&#x2026;</mo><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Stream List Integer
+</div>
+
+
+
+<p>This isn't quite what is wanted -- we need to extract the first element of
+each list and place that in our series:
+</p>
+
+
+
+<div id="spadComm0-153" class="spadComm" >
+<form id="formComm0-153" action="javascript:makeRequest('0-153');" >
+<input id="comm0-153" type="text" class="command" style="width: 30em;" value="fibs := [i.1 for i in [generate(win,[1,1])] ]" />
+</form>
+<span id="commSav0-153" class="commSav" >fibs := [i.1 for i in [generate(win,[1,1])] ]</span>
+<div id="mathAns0-153" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>1</mn><mo>,</mo><mn>1</mn><mo>,</mo><mn>2</mn><mo>,</mo><mn>3</mn><mo>,</mo><mn>5</mn><mo>,</mo><mn>8</mn><mo>,</mo><mn>13</mn><mo>,</mo><mn>21</mn><mo>,</mo><mn>34</mn><mo>,</mo><mn>55</mn><mo>,</mo><mo>&#x2026;</mo><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Stream Integer
+</div>
+
+
+
+<p>Obtaining the 200th Fibonacci number is trivial:
+</p>
+
+
+
+<div id="spadComm0-154" class="spadComm" >
+<form id="formComm0-154" action="javascript:makeRequest('0-154');" >
+<input id="comm0-154" type="text" class="command" style="width: 6em;" value="fibs.200" />
+</form>
+<span id="commSav0-154" class="commSav" >fibs.200</span>
+<div id="mathAns0-154" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>280571172992510140037611932413038677189525</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PositiveInteger
+</div>
+
+
+
+<p>One other function of interest is <span style="font-weight: bold;"> complete</span> which expands a finite
+stream derived from an infinite one (and thus was still stored as an
+infinite stream) to form a finite stream.
+</p>
+
+
+
+
+</div>
+
+
+
+<a name="subsec-0.6.4"/>
+<div class="subsection"  id="subsec-0.6.4">
+<h3 class="subsectitle">0.6.4  Arrays, Vectors, Strings, and Bits</h3>
+
+
+<p>The simplest array data structure is the <span class="slant">one-dimensional array</span> which
+can be obtained by applying the <span style="font-weight: bold;"> oneDimensionalArray</span> function to a list:
+</p>
+
+
+
+<div id="spadComm0-155" class="spadComm" >
+<form id="formComm0-155" action="javascript:makeRequest('0-155');" >
+<input id="comm0-155" type="text" class="command" style="width: 23em;" value="oneDimensionalArray([7,2,5,4,1,9])" />
+</form>
+<span id="commSav0-155" class="commSav" >oneDimensionalArray([7,2,5,4,1,9])</span>
+<div id="mathAns0-155" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>7</mn><mo>,</mo><mn>2</mn><mo>,</mo><mn>5</mn><mo>,</mo><mn>4</mn><mo>,</mo><mn>1</mn><mo>,</mo><mn>9</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: OneDimensionalArray PositiveInteger
+</div>
+
+
+
+<p>One-dimensional array are homogenous (all elements must have the same type)
+and mutable (elements can be changed) like lists but unlike lists they are
+constant in size and have uniform access times (it is just as quick to read
+the last element of a one-dimensional array as it is to read the first; this
+is not true for lists).
+</p>
+
+
+<p>Since these arrays are mutable all the warnings that apply to lists apply to
+arrays. That is, it is possible to modify an element in a copy of an array
+and change the original:
+</p>
+
+
+
+<div id="spadComm0-156" class="spadComm" >
+<form id="formComm0-156" action="javascript:makeRequest('0-156');" >
+<input id="comm0-156" type="text" class="command" style="width: 26em;" value="x := oneDimensionalArray([7,2,5,4,1,9])" />
+</form>
+<span id="commSav0-156" class="commSav" >x := oneDimensionalArray([7,2,5,4,1,9])</span>
+<div id="mathAns0-156" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>7</mn><mo>,</mo><mn>2</mn><mo>,</mo><mn>5</mn><mo>,</mo><mn>4</mn><mo>,</mo><mn>1</mn><mo>,</mo><mn>9</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: OneDimensionalArray PositiveInteger
+</div>
+
+
+
+
+
+<div id="spadComm0-157" class="spadComm" >
+<form id="formComm0-157" action="javascript:makeRequest('0-157');" >
+<input id="comm0-157" type="text" class="command" style="width: 4em;" value="y := x" />
+</form>
+<span id="commSav0-157" class="commSav" >y := x</span>
+<div id="mathAns0-157" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>7</mn><mo>,</mo><mn>2</mn><mo>,</mo><mn>5</mn><mo>,</mo><mn>4</mn><mo>,</mo><mn>1</mn><mo>,</mo><mn>9</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: OneDimensionalArray PositiveInteger
+</div>
+
+
+
+
+
+<div id="spadComm0-158" class="spadComm" >
+<form id="formComm0-158" action="javascript:makeRequest('0-158');" >
+<input id="comm0-158" type="text" class="command" style="width: 9em;" value="y.3 := 20 ; x" />
+</form>
+<span id="commSav0-158" class="commSav" >y.3 := 20 ; x</span>
+<div id="mathAns0-158" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>7</mn><mo>,</mo><mn>2</mn><mo>,</mo><mn>20</mn><mo>,</mo><mn>4</mn><mo>,</mo><mn>1</mn><mo>,</mo><mn>9</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: OneDimensionalArray PositiveInteger
+</div>
+
+
+
+<p>Note that because these arrays are of fixed size the <span style="font-weight: bold;"> concat!</span> function
+cannot be applied to them without generating an error. If arrays of this 
+type are required use the <span style="font-weight: bold;"> FlexibleArray</span> constructor.
+</p>
+
+
+<p>One-dimensional arrays can be created using <span style="font-weight: bold;"> new</span> which specifies the size
+of the array and the initial value for each of the elements. Other operations
+that can be applied to one-dimensional arrays are <span style="font-weight: bold;"> map!</span> which applies
+a mapping onto each element, <span style="font-weight: bold;"> swap!</span> which swaps two elements and
+<span style="font-weight: bold;"> copyInto!(a,b,c)</span> which copies the array <span class="slant">b</span> onto <span class="slant">a</span> starting at
+position <span class="slant">c</span>.
+</p>
+
+
+
+<div id="spadComm0-159" class="spadComm" >
+<form id="formComm0-159" action="javascript:makeRequest('0-159');" >
+<input id="comm0-159" type="text" class="command" style="width: 26em;" value="a : ARRAY1 PositiveInteger := new(10,3)" />
+</form>
+<span id="commSav0-159" class="commSav" >a : ARRAY1 PositiveInteger := new(10,3)</span>
+<div id="mathAns0-159" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>3</mn><mo>,</mo><mn>3</mn><mo>,</mo><mn>3</mn><mo>,</mo><mn>3</mn><mo>,</mo><mn>3</mn><mo>,</mo><mn>3</mn><mo>,</mo><mn>3</mn><mo>,</mo><mn>3</mn><mo>,</mo><mn>3</mn><mo>,</mo><mn>3</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: OneDimensionalArray PositiveInteger
+</div>
+
+
+
+<p>(note that <span class="teletype">ARRAY1</span> is an abbreviation for the type 
+<span class="teletype">OneDimensionalArray</span>.) Other types based on one-dimensional arrays are
+<span class="teletype">Vector</span>, <span class="teletype">String</span>, and <span class="teletype">Bits</span>.
+</p>
+
+
+
+
+<div id="spadComm0-160" class="spadComm" >
+<form id="formComm0-160" action="javascript:makeRequest('0-160');" >
+<input id="comm0-160" type="text" class="command" style="width: 14em;" value="map!(i +-> i+1,a); a" />
+</form>
+<span id="commSav0-160" class="commSav" >map!(i +-> i+1,a); a</span>
+<div id="mathAns0-160" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>4</mn><mo>,</mo><mn>4</mn><mo>,</mo><mn>4</mn><mo>,</mo><mn>4</mn><mo>,</mo><mn>4</mn><mo>,</mo><mn>4</mn><mo>,</mo><mn>4</mn><mo>,</mo><mn>4</mn><mo>,</mo><mn>4</mn><mo>,</mo><mn>4</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: OneDimensionalArray PositiveInteger
+</div>
+
+
+
+
+
+<div id="spadComm0-161" class="spadComm" >
+<form id="formComm0-161" action="javascript:makeRequest('0-161');" >
+<input id="comm0-161" type="text" class="command" style="width: 25em;" value="b := oneDimensionalArray([2,3,4,5,6])" />
+</form>
+<span id="commSav0-161" class="commSav" >b := oneDimensionalArray([2,3,4,5,6])</span>
+<div id="mathAns0-161" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>2</mn><mo>,</mo><mn>3</mn><mo>,</mo><mn>4</mn><mo>,</mo><mn>5</mn><mo>,</mo><mn>6</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: OneDimensionalArray PositiveInteger
+</div>
+
+
+
+
+
+<div id="spadComm0-162" class="spadComm" >
+<form id="formComm0-162" action="javascript:makeRequest('0-162');" >
+<input id="comm0-162" type="text" class="command" style="width: 10em;" value="swap!(b,2,3); b" />
+</form>
+<span id="commSav0-162" class="commSav" >swap!(b,2,3); b</span>
+<div id="mathAns0-162" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>2</mn><mo>,</mo><mn>4</mn><mo>,</mo><mn>3</mn><mo>,</mo><mn>5</mn><mo>,</mo><mn>6</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: OneDimensionalArray PositiveInteger
+</div>
+
+
+
+
+
+<div id="spadComm0-163" class="spadComm" >
+<form id="formComm0-163" action="javascript:makeRequest('0-163');" >
+<input id="comm0-163" type="text" class="command" style="width: 11em;" value="copyInto!(a,b,3)" />
+</form>
+<span id="commSav0-163" class="commSav" >copyInto!(a,b,3)</span>
+<div id="mathAns0-163" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>4</mn><mo>,</mo><mn>4</mn><mo>,</mo><mn>2</mn><mo>,</mo><mn>4</mn><mo>,</mo><mn>3</mn><mo>,</mo><mn>5</mn><mo>,</mo><mn>6</mn><mo>,</mo><mn>4</mn><mo>,</mo><mn>4</mn><mo>,</mo><mn>4</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: OneDimensionalArray PositiveInteger
+</div>
+
+
+
+
+
+<div id="spadComm0-164" class="spadComm" >
+<form id="formComm0-164" action="javascript:makeRequest('0-164');" >
+<input id="comm0-164" type="text" class="command" style="width: 1em;" value="a" />
+</form>
+<span id="commSav0-164" class="commSav" >a</span>
+<div id="mathAns0-164" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>4</mn><mo>,</mo><mn>4</mn><mo>,</mo><mn>2</mn><mo>,</mo><mn>4</mn><mo>,</mo><mn>3</mn><mo>,</mo><mn>5</mn><mo>,</mo><mn>6</mn><mo>,</mo><mn>4</mn><mo>,</mo><mn>4</mn><mo>,</mo><mn>4</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: OneDimensionalArray PositiveInteger
+</div>
+
+
+
+
+
+<div id="spadComm0-165" class="spadComm" >
+<form id="formComm0-165" action="javascript:makeRequest('0-165');" >
+<input id="comm0-165" type="text" class="command" style="width: 15em;" value="vector([1/2,1/3,1/14])" />
+</form>
+<span id="commSav0-165" class="commSav" >vector([1/2,1/3,1/14])</span>
+<div id="mathAns0-165" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mo>,</mo><mfrac><mn>1</mn><mn>3</mn></mfrac><mo>,</mo><mfrac><mn>1</mn><mn>14</mn></mfrac><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Vector Fraction Integer
+</div>
+
+
+
+
+
+<div id="spadComm0-166" class="spadComm" >
+<form id="formComm0-166" action="javascript:makeRequest('0-166');" >
+<input id="comm0-166" type="text" class="command" style="width: 10em;" value='"Hello, World"' />
+</form>
+<span id="commSav0-166" class="commSav" >"Hello, World"</span>
+<div id="mathAns0-166" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mtext><mrow><mtext mathvariant='monospace'>"Hello,World"</mtext></mrow></mtext></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: String
+</div>
+
+
+
+
+
+<div id="spadComm0-167" class="spadComm" >
+<form id="formComm0-167" action="javascript:makeRequest('0-167');" >
+<input id="comm0-167" type="text" class="command" style="width: 8em;" value="bits(8,true)" />
+</form>
+<span id="commSav0-167" class="commSav" >bits(8,true)</span>
+<div id="mathAns0-167" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mtext><mrow><mtext mathvariant='monospace'>"11111111"</mtext></mrow></mtext></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Bits
+</div>
+
+
+
+<p>A vector is similar to a one-dimensional array except that if its 
+components belong to a ring then arithmetic operations are provided.
+</p>
+
+
+
+
+</div>
+
+
+
+<a name="subsec-0.6.5"/>
+<div class="subsection"  id="subsec-0.6.5">
+<h3 class="subsectitle">0.6.5  Flexible Arrays</h3>
+
+
+<p>Flexible arrays are designed to provide the efficiency of one-dimensional
+arrays while retaining the flexibility of lists. They are implemented by
+allocating a fixed block of storage for the array. If the array needs to
+be expanded then a larger block of storage is allocated and the contents
+of the old block are copied into the new one.
+</p>
+
+
+<p>There are several operations that can be applied to this type, most of
+which modify the array in place. As a result these functions all have 
+names ending in ``!''. The <span style="font-weight: bold;"> physicalLength</span> returns the actual length
+of the array as stored in memory while the <span style="font-weight: bold;"> physicalLength!</span> allows this
+value to be changed by the user.
+</p>
+
+
+
+<div id="spadComm0-168" class="spadComm" >
+<form id="formComm0-168" action="javascript:makeRequest('0-168');" >
+<input id="comm0-168" type="text" class="command" style="width: 18em;" value="f : FARRAY INT := new(6,1)" />
+</form>
+<span id="commSav0-168" class="commSav" >f : FARRAY INT := new(6,1)</span>
+<div id="mathAns0-168" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>1</mn><mo>,</mo><mn>1</mn><mo>,</mo><mn>1</mn><mo>,</mo><mn>1</mn><mo>,</mo><mn>1</mn><mo>,</mo><mn>1</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: FlexibleArray Integer
+</div>
+
+
+
+
+
+<div id="spadComm0-169" class="spadComm" >
+<form id="formComm0-169" action="javascript:makeRequest('0-169');" >
+<input id="comm0-169" type="text" class="command" style="width: 24em;" value="f.1:=4; f.2:=3 ; f.3:=8 ; f.5:=2 ; f" />
+</form>
+<span id="commSav0-169" class="commSav" >f.1:=4; f.2:=3 ; f.3:=8 ; f.5:=2 ; f</span>
+<div id="mathAns0-169" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>4</mn><mo>,</mo><mn>3</mn><mo>,</mo><mn>8</mn><mo>,</mo><mn>1</mn><mo>,</mo><mn>2</mn><mo>,</mo><mn>1</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: FlexibleArray Integer
+</div>
+
+
+
+
+
+<div id="spadComm0-170" class="spadComm" >
+<form id="formComm0-170" action="javascript:makeRequest('0-170');" >
+<input id="comm0-170" type="text" class="command" style="width: 12em;" value="insert!(42,f,3); f" />
+</form>
+<span id="commSav0-170" class="commSav" >insert!(42,f,3); f</span>
+<div id="mathAns0-170" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>4</mn><mo>,</mo><mn>3</mn><mo>,</mo><mn>42</mn><mo>,</mo><mn>8</mn><mo>,</mo><mn>1</mn><mo>,</mo><mn>2</mn><mo>,</mo><mn>1</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: FlexibleArray Integer
+</div>
+
+
+
+
+
+<div id="spadComm0-171" class="spadComm" >
+<form id="formComm0-171" action="javascript:makeRequest('0-171');" >
+<input id="comm0-171" type="text" class="command" style="width: 12em;" value="insert!(28,f,8); f" />
+</form>
+<span id="commSav0-171" class="commSav" >insert!(28,f,8); f</span>
+<div id="mathAns0-171" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>4</mn><mo>,</mo><mn>3</mn><mo>,</mo><mn>42</mn><mo>,</mo><mn>8</mn><mo>,</mo><mn>1</mn><mo>,</mo><mn>2</mn><mo>,</mo><mn>1</mn><mo>,</mo><mn>28</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: FlexibleArray Integer
+</div>
+
+
+
+
+
+<div id="spadComm0-172" class="spadComm" >
+<form id="formComm0-172" action="javascript:makeRequest('0-172');" >
+<input id="comm0-172" type="text" class="command" style="width: 14em;" value="removeDuplicates!(f)" />
+</form>
+<span id="commSav0-172" class="commSav" >removeDuplicates!(f)</span>
+<div id="mathAns0-172" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>4</mn><mo>,</mo><mn>3</mn><mo>,</mo><mn>42</mn><mo>,</mo><mn>8</mn><mo>,</mo><mn>1</mn><mo>,</mo><mn>2</mn><mo>,</mo><mn>28</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: FlexibleArray Integer
+</div>
+
+
+
+
+
+<div id="spadComm0-173" class="spadComm" >
+<form id="formComm0-173" action="javascript:makeRequest('0-173');" >
+<input id="comm0-173" type="text" class="command" style="width: 8em;" value="delete!(f,5)" />
+</form>
+<span id="commSav0-173" class="commSav" >delete!(f,5)</span>
+<div id="mathAns0-173" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>4</mn><mo>,</mo><mn>3</mn><mo>,</mo><mn>42</mn><mo>,</mo><mn>8</mn><mo>,</mo><mn>2</mn><mo>,</mo><mn>28</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: FlexibleArray Integer
+</div>
+
+
+
+
+
+<div id="spadComm0-174" class="spadComm" >
+<form id="formComm0-174" action="javascript:makeRequest('0-174');" >
+<input id="comm0-174" type="text" class="command" style="width: 7em;" value="g:=f(3..5)" />
+</form>
+<span id="commSav0-174" class="commSav" >g:=f(3..5)</span>
+<div id="mathAns0-174" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>42</mn><mo>,</mo><mn>8</mn><mo>,</mo><mn>2</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: FlexibleArray Integer
+</div>
+
+
+
+
+
+<div id="spadComm0-175" class="spadComm" >
+<form id="formComm0-175" action="javascript:makeRequest('0-175');" >
+<input id="comm0-175" type="text" class="command" style="width: 6em;" value="g.2:=7; f" />
+</form>
+<span id="commSav0-175" class="commSav" >g.2:=7; f</span>
+<div id="mathAns0-175" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>4</mn><mo>,</mo><mn>3</mn><mo>,</mo><mn>42</mn><mo>,</mo><mn>8</mn><mo>,</mo><mn>2</mn><mo>,</mo><mn>28</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: FlexibleArray Integer
+</div>
+
+
+
+
+
+<div id="spadComm0-176" class="spadComm" >
+<form id="formComm0-176" action="javascript:makeRequest('0-176');" >
+<input id="comm0-176" type="text" class="command" style="width: 10em;" value="insert!(g,f,1)" />
+</form>
+<span id="commSav0-176" class="commSav" >insert!(g,f,1)</span>
+<div id="mathAns0-176" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>42</mn><mo>,</mo><mn>7</mn><mo>,</mo><mn>2</mn><mo>,</mo><mn>4</mn><mo>,</mo><mn>3</mn><mo>,</mo><mn>42</mn><mo>,</mo><mn>8</mn><mo>,</mo><mn>2</mn><mo>,</mo><mn>28</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: FlexibleArray Integer
+</div>
+
+
+
+
+
+<div id="spadComm0-177" class="spadComm" >
+<form id="formComm0-177" action="javascript:makeRequest('0-177');" >
+<input id="comm0-177" type="text" class="command" style="width: 12em;" value="physicalLength(f)" />
+</form>
+<span id="commSav0-177" class="commSav" >physicalLength(f)</span>
+<div id="mathAns0-177" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>10</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PositiveInteger
+</div>
+
+
+
+
+
+<div id="spadComm0-178" class="spadComm" >
+<form id="formComm0-178" action="javascript:makeRequest('0-178');" >
+<input id="comm0-178" type="text" class="command" style="width: 14em;" value="physicalLength!(f,20)" />
+</form>
+<span id="commSav0-178" class="commSav" >physicalLength!(f,20)</span>
+<div id="mathAns0-178" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>42</mn><mo>,</mo><mn>7</mn><mo>,</mo><mn>2</mn><mo>,</mo><mn>4</mn><mo>,</mo><mn>3</mn><mo>,</mo><mn>42</mn><mo>,</mo><mn>8</mn><mo>,</mo><mn>2</mn><mo>,</mo><mn>28</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: FlexibleArray Integer
+</div>
+
+
+
+
+
+<div id="spadComm0-179" class="spadComm" >
+<form id="formComm0-179" action="javascript:makeRequest('0-179');" >
+<input id="comm0-179" type="text" class="command" style="width: 17em;" value="merge!(sort!(f),sort!(g))" />
+</form>
+<span id="commSav0-179" class="commSav" >merge!(sort!(f),sort!(g))</span>
+<div id="mathAns0-179" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>2</mn><mo>,</mo><mn>2</mn><mo>,</mo><mn>2</mn><mo>,</mo><mn>3</mn><mo>,</mo><mn>4</mn><mo>,</mo><mn>7</mn><mo>,</mo><mn>7</mn><mo>,</mo><mn>8</mn><mo>,</mo><mn>28</mn><mo>,</mo><mn>42</mn><mo>,</mo><mn>42</mn><mo>,</mo><mn>42</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: FlexibleArray Integer
+</div>
+
+
+
+
+
+<div id="spadComm0-180" class="spadComm" >
+<form id="formComm0-180" action="javascript:makeRequest('0-180');" >
+<input id="comm0-180" type="text" class="command" style="width: 27em;" value="shrinkable(false)$FlexibleArray(Integer)" />
+</form>
+<span id="commSav0-180" class="commSav" >shrinkable(false)$FlexibleArray(Integer)</span>
+<div id="mathAns0-180" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mtext mathvariant='monospace'>true</mtext></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Boolean
+</div>
+
+
+
+<p>There are several things to point out concerning these
+examples. First, although flexible arrays are mutable, making copies
+of these arrays creates separate entities. This can be seen by the
+fact that the modification of element <span class="slant">b.2</span> above did not alter
+<span class="slant">a</span>. Second, the <span style="font-weight: bold;"> merge!</span>  function can take an extra argument
+before the two arrays are merged. The argument is a comparison
+function and defaults to ``<span class="teletype">&lt;=</span>'' if omitted. Lastly, 
+<span style="font-weight: bold;"> shrinkable</span> tells the system whether or not to let flexible arrays
+contract when elements are deleted from them. An explicit package
+reference must be given as in the example above.
+</p>
+
+
+
+
+</div>
+
+
+
+
+</div><a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a>
+<a href="section-0.5.xhtml" style="margin-right: 10px;">Previous Section 0.5 General Points about Axiom</a><a href="section-0.7.xhtml" style="margin-right: 10px;">Next Section 0.7 Functions, Choices, and Loops</a>
+<a href="book-index.xhtml">Book Index</a></body>
+</html>
\ No newline at end of file
diff --git a/src/axiom-website/hyperdoc/axbook/section-0.7.xhtml b/src/axiom-website/hyperdoc/axbook/section-0.7.xhtml
new file mode 100644
index 0000000..84bf255
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/section-0.7.xhtml
@@ -0,0 +1,1865 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
+"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [
+<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
+]>
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:xlink="http://www.w3.org/1999/xlink" >
+
+
+  <head>
+    <title>Section0.7</title>
+    <link rel="stylesheet" type="text/css" href="graphicstyle.css" />
+    <script type="text/javascript" src="bookax1.js" />
+  </head>
+
+  <body>
+<a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a><a href="section-0.6.xhtml" style="margin-right: 10px;">Previous Section 0.6 Data Structures in Axiom</a><a href="section-1.0.xhtml" style="margin-right: 10px;">Next Section 1.0 An Overview of Axiom</a><a href="book-index.xhtml">Book Index</a><div class="section"  id="sec-0.7">
+<h2 class="sectiontitle">0.7  Functions, Choices, and Loops</h2>
+
+
+<p>By now the reader should be able to construct simple one-line expressions
+involving variables and different data structures. This section builds on
+this knowledge and shows how to use iteration, make choices, and build
+functions in Axiom. At the moment it is assumed that the reader has a rough
+idea of how types are specified and constructed so that they can follow
+the examples given.
+</p>
+
+
+<p>From this point on most examples will be taken from input files. 
+</p>
+
+
+
+<a name="subsec-0.7.1"/>
+<div class="subsection"  id="subsec-0.7.1">
+<h3 class="subsectitle">0.7.1  Reading Code from a File</h3>
+
+
+<p>Input files contain code that will be fed to the command prompt. The 
+primary different between the command line and an input file is that
+indentation matters. In an input file you can specify ``piles'' of code
+by using indentation. 
+</p>
+
+
+<p>The names of all input files in Axiom should end in ``.input'' otherwise
+Axiom will refuse to read them. 
+</p>
+
+
+<p>If an input file is named <span style="font-weight: bold;"> foo.input</span> you can feed the contents of
+the file to the command prompt (as though you typed them) by writing:
+<span style="font-weight: bold;"> )read foo.input</span>.
+</p>
+
+
+<p>It is good practice to start each input file with the <span style="font-weight: bold;"> )clear all</span>
+command so that all functions and variables in the current environment
+are erased. 
+</p>
+
+
+
+</div>
+
+
+
+<a name="subsec-0.7.2"/>
+<div class="subsection"  id="subsec-0.7.2">
+<h3 class="subsectitle">0.7.2  Blocks</h3>
+
+
+<p>The Axiom constructs that provide looping, choices, and user-defined
+functions all rely on the notion of blocks. A block is a sequence of
+expressions which are evaluated in the order that they appear except
+when it is modified by control expressions such as loops. To leave a
+block prematurely use an expression of the form:
+<span class="slant">BoolExpr</span><span class="teletype">=></span><span class="slant">Expr</span> 
+where <span class="slant">BoolExpr</span> is any Axiom expression that has type <span class="teletype">Boolean</span>. 
+The value and type of <span class="slant">Expr</span> determines the value and type returned 
+by the block.
+</p>
+
+
+<p>If blocks are entered at the keyboard (as opposed to reading them from
+a text file) then there is only one way of creating them. The syntax is:
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>(</mo><mi>expression1</mi><mo>;</mo><mi>expression2</mi><mo>;</mo><mo>&#x2026;</mo><mo>;</mo><mi>expressionN</mi><mo>)</mo></mrow></mstyle></math>
+</p>
+
+
+<p>In an input file a block can be constructed as above or by placing all the
+statements at the same indentation level. When indentation is used to
+indicate program structure the block is called a <span class="slant">pile</span>. As an example
+of a simple block a list of three integers can be constructed using
+parentheses:
+</p>
+
+
+
+<div id="spadComm0-181" class="spadComm" >
+<form id="formComm0-181" action="javascript:makeRequest('0-181');" >
+<input id="comm0-181" type="text" class="command" style="width: 21em;" value="( a:=4; b:=1; c:=9; L:=[a,b,c])" />
+</form>
+<span id="commSav0-181" class="commSav" >( a:=4; b:=1; c:=9; L:=[a,b,c])</span>
+<div id="mathAns0-181" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>4</mn><mo>,</mo><mn>1</mn><mo>,</mo><mn>9</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List PositiveInteger
+</div>
+
+
+
+<p>Doing the same thing using piles in an input file you could type:
+</p>
+
+
+
+<div class="verbatim"><br />
+L&nbsp;:=<br />
+&nbsp;&nbsp;a:=4<br />
+&nbsp;&nbsp;b:=1<br />
+&nbsp;&nbsp;c:=9<br />
+&nbsp;&nbsp;[a,b,c]<br />
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>4</mn><mo>,</mo><mn>1</mn><mo>,</mo><mn>9</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List PositiveInteger
+</div>
+
+
+
+<p>Since blocks have a type and a value they can be used as arguments to 
+functions or as part of other expressions. It should be pointed out that
+the following example is not recommended practice but helps to illustrate
+the idea of blocks and their ability to return values:
+</p>
+
+
+
+<div class="verbatim"><br />
+sqrt(4.0&nbsp;+<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a:=3.0<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b:=1.0<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c:=a&nbsp;+&nbsp;b<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c<br />
+&nbsp;&nbsp;&nbsp;&nbsp;)<br />
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mn>2</mn><mo>.</mo><mn>8284271247</mn><mspace width="0.5 em" /><mn>461900976</mn></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Float
+</div>
+
+
+
+<p>Note that indentation is <span style="font-weight: bold;"> extremely</span> important. If the example above
+had the pile starting at ``a:='' moved left by two spaces so that the
+``a'' was under the ``('' of the first line then the interpreter would
+signal an error. Furthermore if the closing parenthesis ``)'' is moved 
+up to give
+</p>
+
+
+
+<div class="verbatim"><br />
+sqrt(4.0&nbsp;+<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a:=3.0<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b:=1.0<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c:=a&nbsp;+&nbsp;b<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c)<br />
+</div>
+
+
+
+
+<div class="verbatim"><br />
+&nbsp;&nbsp;Line&nbsp;&nbsp;&nbsp;1:&nbsp;sqrt(4.0&nbsp;+<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;....A<br />
+&nbsp;&nbsp;Error&nbsp;&nbsp;A:&nbsp;Missing&nbsp;mate.<br />
+&nbsp;&nbsp;Line&nbsp;&nbsp;&nbsp;2:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a:=3.0<br />
+&nbsp;&nbsp;Line&nbsp;&nbsp;&nbsp;3:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b:=1.0<br />
+&nbsp;&nbsp;Line&nbsp;&nbsp;&nbsp;4:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c:=a&nbsp;+&nbsp;b<br />
+&nbsp;&nbsp;Line&nbsp;&nbsp;&nbsp;5:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c)<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.........AB<br />
+&nbsp;&nbsp;Error&nbsp;&nbsp;A:&nbsp;(from&nbsp;A&nbsp;up&nbsp;to&nbsp;B)&nbsp;Ignored.<br />
+&nbsp;&nbsp;Error&nbsp;&nbsp;B:&nbsp;Improper&nbsp;syntax.<br />
+&nbsp;&nbsp;Error&nbsp;&nbsp;B:&nbsp;syntax&nbsp;error&nbsp;at&nbsp;top&nbsp;level<br />
+&nbsp;&nbsp;Error&nbsp;&nbsp;B:&nbsp;Possibly&nbsp;missing&nbsp;a&nbsp;)&nbsp;<br />
+&nbsp;&nbsp;&nbsp;5&nbsp;error(s)&nbsp;parsing&nbsp;<br />
+</div>
+
+
+<p>then the parser will generate errors. If the parenthesis is shifted right 
+by several spaces so that it is in line with the ``c'' thus:
+</p>
+
+
+
+<div class="verbatim"><br />
+sqrt(4.0&nbsp;+<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a:=3.0<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b:=1.0<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c:=a&nbsp;+&nbsp;b<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)<br />
+</div>
+
+
+
+
+<div class="verbatim"><br />
+&nbsp;&nbsp;Line&nbsp;&nbsp;&nbsp;1:&nbsp;sqrt(4.0&nbsp;+<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;....A<br />
+&nbsp;&nbsp;Error&nbsp;&nbsp;A:&nbsp;Missing&nbsp;mate.<br />
+&nbsp;&nbsp;Line&nbsp;&nbsp;&nbsp;2:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a:=3.0<br />
+&nbsp;&nbsp;Line&nbsp;&nbsp;&nbsp;3:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b:=1.0<br />
+&nbsp;&nbsp;Line&nbsp;&nbsp;&nbsp;4:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c:=a&nbsp;+&nbsp;b<br />
+&nbsp;&nbsp;Line&nbsp;&nbsp;&nbsp;5:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c<br />
+&nbsp;&nbsp;Line&nbsp;&nbsp;&nbsp;6:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.........A<br />
+&nbsp;&nbsp;Error&nbsp;&nbsp;A:&nbsp;(from&nbsp;A&nbsp;up&nbsp;to&nbsp;A)&nbsp;Ignored.<br />
+&nbsp;&nbsp;Error&nbsp;&nbsp;A:&nbsp;Improper&nbsp;syntax.<br />
+&nbsp;&nbsp;Error&nbsp;&nbsp;A:&nbsp;syntax&nbsp;error&nbsp;at&nbsp;top&nbsp;level<br />
+&nbsp;&nbsp;Error&nbsp;&nbsp;A:&nbsp;Possibly&nbsp;missing&nbsp;a&nbsp;)&nbsp;<br />
+&nbsp;&nbsp;&nbsp;5&nbsp;error(s)&nbsp;parsing&nbsp;<br />
+</div>
+
+
+<p>a similar error will be raised. Finally, the ``)'' must be indented by 
+at least one space relative to the sqrt thus:
+</p>
+
+
+
+<div class="verbatim"><br />
+sqrt(4.0&nbsp;+<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a:=3.0<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b:=1.0<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c:=a&nbsp;+&nbsp;b<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c<br />
+&nbsp;)<br />
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mn>2</mn><mo>.</mo><mn>8284271247</mn><mspace width="0.5 em" /><mn>461900976</mn></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Float
+</div>
+
+
+<p>or an error will be generated.
+</p>
+
+
+<p>It can be seen that great care needs to be taken when constructing input
+files consisting of piles of expressions. It would seem prudent to add
+one pile at a time and check if it is acceptable before adding more,
+particularly if piles are nested. However, it should be pointed out that
+the use of piles as values for functions is not very readable and so
+perhaps the delicate nature of their interpretation should deter programmers
+from using them in these situations. Using piles should really be restricted
+to constructing functions, etc. and a small amount of rewriting can remove
+the need to use them as arguments. For example, the previous block could
+easily be implemented as:
+</p>
+
+
+
+<div class="verbatim"><br />
+a:=3.0<br />
+b:=1.0<br />
+c:=a&nbsp;+&nbsp;b<br />
+sqrt(4.0&nbsp;+&nbsp;c)<br />
+</div>
+
+
+
+
+<div class="verbatim"><br />
+a:=3.0<br />
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mn>3</mn><mo>.</mo><mn>0</mn></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Float
+</div>
+
+
+
+
+
+<div class="verbatim"><br />
+b:=1.0<br />
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mn>1</mn><mo>.</mo><mn>0</mn></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Float
+</div>
+
+
+
+
+
+<div class="verbatim"><br />
+c:=a&nbsp;+&nbsp;b<br />
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mn>4</mn><mo>.</mo><mn>0</mn></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Float
+</div>
+
+
+
+
+
+<div class="verbatim"><br />
+sqrt(4.0&nbsp;+&nbsp;c)<br />
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mn>2</mn><mo>.</mo><mn>8284271247</mn><mspace width="0.5 em" /><mn>461900976</mn></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Float
+</div>
+
+
+
+<p>which achieves the same result and is easier to understand. Note that this
+is still a pile but it is not as fragile as the previous version.
+</p>
+
+
+
+</div>
+
+
+
+<a name="subsec-0.7.3"/>
+<div class="subsection"  id="subsec-0.7.3">
+<h3 class="subsectitle">0.7.3  Functions</h3>
+
+
+<p>Definitions of functions in Axiom are quite simple providing two things
+are observed. First, the type of the function must either be completely
+specified or completely unspecified. Second, the body of the function is
+assigned to the function identifier using the delayed assignment operator
+``==''.
+</p>
+
+
+<p>To specify the type of something the ``:'' operator is used. Thus to define
+a variable <span class="slant">x</span> to be of type <span class="teletype">Fraction Integer</span> we enter:
+</p>
+
+
+
+<div id="spadComm0-182" class="spadComm" >
+<form id="formComm0-182" action="javascript:makeRequest('0-182');" >
+<input id="comm0-182" type="text" class="command" style="width: 14em;" value="x : Fraction Integer" />
+</form>
+<span id="commSav0-182" class="commSav" >x : Fraction Integer</span>
+<div id="mathAns0-182" ></div>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Void
+</div>
+
+
+
+<p>For functions the method is the same except that the arguments are
+placed in parentheses and the return type is placed after the symbol
+``<span class="teletype">-></span>''.  Some examples of function definitions taking zero, one,
+two, or three arguments and returning a list of integers are:
+</p>
+
+
+
+
+<div id="spadComm0-183" class="spadComm" >
+<form id="formComm0-183" action="javascript:makeRequest('0-183');" >
+<input id="comm0-183" type="text" class="command" style="width: 15em;" value="f : () -> List Integer" />
+</form>
+<span id="commSav0-183" class="commSav" >f : () -> List Integer</span>
+<div id="mathAns0-183" ></div>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Void
+</div>
+
+
+
+
+
+<div id="spadComm0-184" class="spadComm" >
+<form id="formComm0-184" action="javascript:makeRequest('0-184');" >
+<input id="comm0-184" type="text" class="command" style="width: 20em;" value="g : (Integer) -> List Integer" />
+</form>
+<span id="commSav0-184" class="commSav" >g : (Integer) -> List Integer</span>
+<div id="mathAns0-184" ></div>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Void
+</div>
+
+
+
+
+
+<div id="spadComm0-185" class="spadComm" >
+<form id="formComm0-185" action="javascript:makeRequest('0-185');" >
+<input id="comm0-185" type="text" class="command" style="width: 26em;" value="h : (Integer, Integer) -> List Integer" />
+</form>
+<span id="commSav0-185" class="commSav" >h : (Integer, Integer) -> List Integer</span>
+<div id="mathAns0-185" ></div>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Void
+</div>
+
+
+
+
+
+<div id="spadComm0-186" class="spadComm" >
+<form id="formComm0-186" action="javascript:makeRequest('0-186');" >
+<input id="comm0-186" type="text" class="command" style="width: 32em;" value="k : (Integer, Integer, Integer) -> List Integer" />
+</form>
+<span id="commSav0-186" class="commSav" >k : (Integer, Integer, Integer) -> List Integer</span>
+<div id="mathAns0-186" ></div>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Void
+</div>
+
+
+
+<p>Now the actual function definitions might be:
+</p>
+
+
+
+<div id="spadComm0-187" class="spadComm" >
+<form id="formComm0-187" action="javascript:makeRequest('0-187');" >
+<input id="comm0-187" type="text" class="command" style="width: 10em;" value="f() == [&nbsp;]" />
+</form>
+<span id="commSav0-187" class="commSav" >f() == [&nbsp;]</span>
+<div id="mathAns0-187" ></div>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Void
+</div>
+
+
+
+
+
+<div id="spadComm0-188" class="spadComm" >
+<form id="formComm0-188" action="javascript:makeRequest('0-188');" >
+<input id="comm0-188" type="text" class="command" style="width: 8em;" value="g(a) == [a]" />
+</form>
+<span id="commSav0-188" class="commSav" >g(a) == [a]</span>
+<div id="mathAns0-188" ></div>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Void
+</div>
+
+
+
+
+
+<div id="spadComm0-189" class="spadComm" >
+<form id="formComm0-189" action="javascript:makeRequest('0-189');" >
+<input id="comm0-189" type="text" class="command" style="width: 10em;" value="h(a,b) == [a,b]" />
+</form>
+<span id="commSav0-189" class="commSav" >h(a,b) == [a,b]</span>
+<div id="mathAns0-189" ></div>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Void
+</div>
+
+
+
+
+
+<div id="spadComm0-190" class="spadComm" >
+<form id="formComm0-190" action="javascript:makeRequest('0-190');" >
+<input id="comm0-190" type="text" class="command" style="width: 13em;" value="k(a,b,c) == [a,b,c]" />
+</form>
+<span id="commSav0-190" class="commSav" >k(a,b,c) == [a,b,c]</span>
+<div id="mathAns0-190" ></div>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Void
+</div>
+
+
+
+<p>with some invocations of these functions:
+</p>
+
+
+
+<div id="spadComm0-191" class="spadComm" >
+<form id="formComm0-191" action="javascript:makeRequest('0-191');" >
+<input id="comm0-191" type="text" class="command" style="width: 2em;" value="f()" />
+</form>
+<span id="commSav0-191" class="commSav" >f()</span>
+<div id="mathAns0-191" ></div>
+</div>
+
+
+
+
+<div class="verbatim"><br />
+&nbsp;&nbsp;&nbsp;Compiling&nbsp;function&nbsp;f&nbsp;with&nbsp;type&nbsp;()&nbsp;-&gt;&nbsp;List&nbsp;Integer&nbsp;<br />
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mspace width="0.5 em" /><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List Integer
+</div>
+
+
+
+
+
+<div id="spadComm0-192" class="spadComm" >
+<form id="formComm0-192" action="javascript:makeRequest('0-192');" >
+<input id="comm0-192" type="text" class="command" style="width: 3em;" value="g(4)" />
+</form>
+<span id="commSav0-192" class="commSav" >g(4)</span>
+<div id="mathAns0-192" ></div>
+</div>
+
+
+
+
+<div class="verbatim"><br />
+&nbsp;&nbsp;&nbsp;Compiling&nbsp;function&nbsp;g&nbsp;with&nbsp;type&nbsp;Integer&nbsp;-&gt;&nbsp;List&nbsp;Integer&nbsp;<br />
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>4</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List Integer
+</div>
+
+
+
+
+
+<div id="spadComm0-193" class="spadComm" >
+<form id="formComm0-193" action="javascript:makeRequest('0-193');" >
+<input id="comm0-193" type="text" class="command" style="width: 4em;" value="h(2,9)" />
+</form>
+<span id="commSav0-193" class="commSav" >h(2,9)</span>
+<div id="mathAns0-193" ></div>
+</div>
+
+
+
+
+<div class="verbatim"><br />
+&nbsp;&nbsp;&nbsp;Compiling&nbsp;function&nbsp;h&nbsp;with&nbsp;type&nbsp;(Integer,Integer)&nbsp;-&gt;&nbsp;List&nbsp;Integer&nbsp;<br />
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>2</mn><mo>,</mo><mn>9</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List Integer
+</div>
+
+
+
+
+
+<div id="spadComm0-194" class="spadComm" >
+<form id="formComm0-194" action="javascript:makeRequest('0-194');" >
+<input id="comm0-194" type="text" class="command" style="width: 8em;" value="k(-3,42,100)" />
+</form>
+<span id="commSav0-194" class="commSav" >k(-3,42,100)</span>
+<div id="mathAns0-194" ></div>
+</div>
+
+
+
+
+<div class="verbatim"><br />
+&nbsp;&nbsp;&nbsp;Compiling&nbsp;function&nbsp;k&nbsp;with&nbsp;type&nbsp;(Integer,Integer,Integer)&nbsp;-&gt;&nbsp;List&nbsp;<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Integer&nbsp;<br />
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mo>-</mo><mn>3</mn><mo>,</mo><mn>42</mn><mo>,</mo><mn>100</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List Integer
+</div>
+
+
+
+<p>The value returned by a function is either the value of the last expression
+evaluated or the result of a <span style="font-weight: bold;"> return</span> statement. For example, the
+following are effectively the same:
+</p>
+
+
+
+<div id="spadComm0-195" class="spadComm" >
+<form id="formComm0-195" action="javascript:makeRequest('0-195');" >
+<input id="comm0-195" type="text" class="command" style="width: 15em;" value="p : Integer -> Integer" />
+</form>
+<span id="commSav0-195" class="commSav" >p : Integer -> Integer</span>
+<div id="mathAns0-195" ></div>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Void
+</div>
+
+
+
+
+
+<div id="spadComm0-196" class="spadComm" >
+<form id="formComm0-196" action="javascript:makeRequest('0-196');" >
+<input id="comm0-196" type="text" class="command" style="width: 18em;" value="p x == (a:=1; b:=2; a+b+x)" />
+</form>
+<span id="commSav0-196" class="commSav" >p x == (a:=1; b:=2; a+b+x)</span>
+<div id="mathAns0-196" ></div>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Void
+</div>
+
+
+
+
+
+<div id="spadComm0-197" class="spadComm" >
+<form id="formComm0-197" action="javascript:makeRequest('0-197');" >
+<input id="comm0-197" type="text" class="command" style="width: 23em;" value="p x == (a:=1; b:=2; return(a+b+x))" />
+</form>
+<span id="commSav0-197" class="commSav" >p x == (a:=1; b:=2; return(a+b+x))</span>
+<div id="mathAns0-197" ></div>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Void
+</div>
+
+
+
+<p>Note that a block (pile) is assigned to the function identifier <span style="font-weight: bold;"> p</span> and
+thus all the rules about blocks apply to function definitions. Also there was
+only one argument so the parenthese are not needed.
+</p>
+
+
+<p>This is basically all that one needs to know about defining functions in 
+Axiom -- first specify the complete type and then assign a block to the
+function name. The rest of this section is concerned with defining more 
+complex blocks than those in this section and as a result function definitions
+will crop up continually particularly since they are a good way of testing
+examples. Since the block structure is more complex we will use the <span style="font-weight: bold;"> pile</span>
+notation and thus have to use input files to read the piles.
+</p>
+
+
+
+
+</div>
+
+
+
+<a name="subsec-0.7.4"/>
+<div class="subsection"  id="subsec-0.7.4">
+<h3 class="subsectitle">0.7.4  Choices</h3>
+
+
+<p>Apart from the ``<span class="teletype">=></span>'' operator that allows a block to exit before the end
+Axiom provides the standard <span style="font-weight: bold;"> if-then-else</span> construct. The general
+syntax is:
+</p>
+
+
+
+<div class="center" style="text-align: center;">
+
+
+<p>if <span class="slant">BooleanExpr</span> then <span class="slant">Expr1</span> else <span class="slant">Expr2</span>
+</p>
+
+
+
+</div>
+
+
+<p>where ``else <span class="slant">Expr2</span>'' can be omitted. If the expression <span class="slant">BooleanExpr</span>
+evaluates to <span class="teletype">true</span> then <span class="slant">Expr1</span> is executed otherwise <span class="slant">Expr2</span>
+(if present) will be executed. An example of piles and <span style="font-weight: bold;"> if-then-else</span> is:
+(read from an input file)
+</p>
+
+
+
+<div class="verbatim"><br />
+h&nbsp;:=&nbsp;2.0<br />
+if&nbsp;h&nbsp;&gt;&nbsp;3.1&nbsp;then<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.0<br />
+&nbsp;&nbsp;&nbsp;else<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;z:=&nbsp;cos(h)<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;max(x,0.5)<br />
+</div>
+
+
+
+
+<div class="verbatim"><br />
+h&nbsp;:=&nbsp;2.0<br />
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mn>2</mn><mo>.</mo><mn>0</mn></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Float
+</div>
+
+
+
+
+
+<div class="verbatim"><br />
+if&nbsp;h&nbsp;&gt;&nbsp;3.1&nbsp;then<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.0<br />
+&nbsp;&nbsp;&nbsp;else<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;z:=&nbsp;cos(h)<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;max(x,0.5)<br />
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mi>x</mi></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Polynomial Float
+</div>
+
+
+
+<p>Note the indentation -- the ``else'' must be indented relative to the ``if''
+otherwise it will generate an error (Axiom will think there are two piles,
+the second one beginning with ``else'').
+</p>
+
+
+<p>Any expression that has type <span class="teletype">Boolean</span> can be used as <span class="teletype">BooleanExpr</span>
+and the most common will be those involving the relational operators `` <math xmlns="&mathml;" mathsize="big"><mstyle><mo>&gt;</mo></mstyle></math>'',
+`` <math xmlns="&mathml;" mathsize="big"><mstyle><mo>&lt;</mo></mstyle></math>'', and ``=''. Usually the type of an expression involving the equality
+operator ``='' will be <span style="font-weight: bold;"> Boolean</span> but in those situations when it isn't
+you may need to use the ``@'' operator to ensure that it is.
+</p>
+
+
+
+
+</div>
+
+
+
+<a name="subsec-0.7.5"/>
+<div class="subsection"  id="subsec-0.7.5">
+<h3 class="subsectitle">0.7.5  Loops</h3>
+
+
+<p>Loops in Axiom are regarded as expressions containing another expression 
+called the <span class="slant">loop body</span>. The loop body is executed zero or more times
+depending on the kind of loop. Loops can be nested to any depth.
+</p>
+
+
+
+<a name="subsubsec-0.7.5.1"/>
+<div class="subsubsection"  id="subsubsec-0.7.5.1">
+<h3 class="subsubsectitle">0.7.5.1  The <span class="teletype">repeat</span> loop</h3>
+
+
+<p>The simplest kind of loop provided by Axiom is the <span style="font-weight: bold;"> repeat</span> loop. The 
+general syntax of this is:
+</p>
+<div style="text-align: center">repeat  <span class="slant">loopBody</span></div>
+
+
+<p>This will cause Axiom to execute <span class="slant">loopBody</span> repeatedly until either a
+<span style="font-weight: bold;"> break</span> or <span style="font-weight: bold;"> return</span> statement is encountered. If <span class="slant">loopBody</span>
+contains neither of these statements then it will loop forever. The 
+following piece of code will display the numbers from  <math xmlns="&mathml;" mathsize="big"><mstyle><mn>1</mn></mstyle></math> to  <math xmlns="&mathml;" mathsize="big"><mstyle><mn>4</mn></mstyle></math>:
+</p>
+
+
+
+<div class="verbatim"><br />
+i:=1<br />
+repeat<br />
+&nbsp;&nbsp;if&nbsp;i&nbsp;&gt;&nbsp;4&nbsp;then&nbsp;break<br />
+&nbsp;&nbsp;output(i)<br />
+&nbsp;&nbsp;i:=i+1<br />
+</div>
+
+
+
+
+<div class="verbatim"><br />
+i:=1<br />
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>1</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PositiveInteger
+</div>
+
+
+
+
+
+<div class="verbatim"><br />
+repeat<br />
+&nbsp;&nbsp;if&nbsp;i&nbsp;&gt;&nbsp;4&nbsp;then&nbsp;break<br />
+&nbsp;&nbsp;output(i)<br />
+&nbsp;&nbsp;i:=i+1<br />
+&nbsp;<br />
+&nbsp;&nbsp;&nbsp;1<br />
+&nbsp;&nbsp;&nbsp;2<br />
+&nbsp;&nbsp;&nbsp;3<br />
+&nbsp;&nbsp;&nbsp;4<br />
+</div>
+
+
+
+
+<div class="returnType">
+Type: Void
+</div>
+
+
+
+<p>It was mentioned that loops will only be left when either a <span style="font-weight: bold;"> break</span> or
+<span style="font-weight: bold;"> return</span> statement is encountered so why can't one use the ``<span class="teletype">=></span>'' 
+operator? The reason is that the ``<span class="teletype">=></span>'' operator tells Axiom to leave the
+current block whereas <span style="font-weight: bold;"> break</span> leaves the current loop. The <span style="font-weight: bold;"> return</span>
+statement leave the current function.
+</p>
+
+
+<p>To skip the rest of a loop body and continue the next iteration of the loop
+use the <span style="font-weight: bold;"> iterate</span> statement (the -- starts a comment in Axiom)
+</p>
+
+
+
+<div class="verbatim"><br />
+i&nbsp;:=&nbsp;0<br />
+repeat<br />
+&nbsp;&nbsp;i&nbsp;:=&nbsp;i&nbsp;+&nbsp;1<br />
+&nbsp;&nbsp;if&nbsp;i&nbsp;&gt;&nbsp;6&nbsp;then&nbsp;break<br />
+&nbsp;&nbsp;--&nbsp;Return&nbsp;to&nbsp;start&nbsp;if&nbsp;i&nbsp;is&nbsp;odd<br />
+&nbsp;&nbsp;if&nbsp;odd?(i)&nbsp;then&nbsp;iterate<br />
+&nbsp;&nbsp;output(i)<br />
+</div>
+
+
+
+
+<div class="verbatim"><br />
+i&nbsp;:=&nbsp;0<br />
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>0</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: NonNegativeInteger
+</div>
+
+
+
+
+
+<div class="verbatim"><br />
+repeat<br />
+&nbsp;&nbsp;i&nbsp;:=&nbsp;i&nbsp;+&nbsp;1<br />
+&nbsp;&nbsp;if&nbsp;i&nbsp;&gt;&nbsp;6&nbsp;then&nbsp;break<br />
+&nbsp;&nbsp;--&nbsp;Return&nbsp;to&nbsp;start&nbsp;if&nbsp;i&nbsp;is&nbsp;odd<br />
+&nbsp;&nbsp;if&nbsp;odd?(i)&nbsp;then&nbsp;iterate<br />
+&nbsp;&nbsp;output(i)<br />
+&nbsp;<br />
+&nbsp;&nbsp;&nbsp;2<br />
+&nbsp;&nbsp;&nbsp;4<br />
+&nbsp;&nbsp;&nbsp;6<br />
+</div>
+
+
+
+
+<div class="returnType">
+Type: Void
+</div>
+
+
+
+
+
+</div>
+
+
+
+<a name="subsubsec-0.7.5.2"/>
+<div class="subsubsection"  id="subsubsec-0.7.5.2">
+<h3 class="subsubsectitle">0.7.5.2  The <span class="teletype">while</span> loop</h3>
+
+
+<p>The while statement extends the basic <span style="font-weight: bold;"> repeat</span> loop to place the control
+of leaving the loop at the start rather than have it buried in the middle.
+Since the body of the loop is still part of a <span style="font-weight: bold;"> repeat</span> loop, <span style="font-weight: bold;"> break</span>
+and ``<span class="teletype">=></span>'' work in the same way as in the previous section. The general
+syntax of a <span style="font-weight: bold;"> while</span> loop is:
+</p>
+
+
+
+<div class="center" style="text-align: center;">
+
+
+<p>while <span class="slant">BoolExpr</span> repeat <span class="slant">loopBody</span>
+</p>
+
+
+
+</div>
+
+
+<p>As before, <span class="slant">BoolExpr</span> must be an expression of type <span style="font-weight: bold;"> Boolean</span>. Before
+the body of the loop is executed <span class="slant">BoolExpr</span> is tested. If it evaluates to
+<span class="teletype">true</span> then the loop body is entered otherwise the loop is terminated.
+Multiple conditions can be applied using the logical operators such as 
+<span style="font-weight: bold;"> and</span> or by using several <span style="font-weight: bold;"> while</span> statements before the <span style="font-weight: bold;"> repeat</span>.
+</p>
+
+
+
+<div class="verbatim"><br />
+x:=1<br />
+y:=1<br />
+while&nbsp;x&nbsp;&lt;&nbsp;4&nbsp;and&nbsp;y&nbsp;&lt;&nbsp;10&nbsp;repeat<br />
+&nbsp;&nbsp;output&nbsp;[x,y]<br />
+&nbsp;&nbsp;x&nbsp;:=&nbsp;x&nbsp;+&nbsp;1<br />
+&nbsp;&nbsp;y&nbsp;:=&nbsp;y&nbsp;+&nbsp;2<br />
+</div>
+
+
+
+
+<div class="verbatim"><br />
+x:=1<br />
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>1</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PositiveInteger
+</div>
+
+
+
+
+
+<div class="verbatim"><br />
+y:=1<br />
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>1</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PositiveInteger
+</div>
+
+
+
+
+
+<div class="verbatim"><br />
+while&nbsp;x&nbsp;&lt;&nbsp;4&nbsp;and&nbsp;y&nbsp;&lt;&nbsp;10&nbsp;repeat<br />
+&nbsp;&nbsp;output&nbsp;[x,y]<br />
+&nbsp;&nbsp;x&nbsp;:=&nbsp;x&nbsp;+&nbsp;1<br />
+&nbsp;&nbsp;y&nbsp;:=&nbsp;y&nbsp;+&nbsp;2<br />
+&nbsp;<br />
+&nbsp;&nbsp;&nbsp;[1,1]<br />
+&nbsp;&nbsp;&nbsp;[2,3]<br />
+&nbsp;&nbsp;&nbsp;[3,5]<br />
+</div>
+
+
+
+
+<div class="returnType">
+Type: Void
+</div>
+
+
+
+
+
+<div class="verbatim"><br />
+x:=1<br />
+y:=1<br />
+while&nbsp;x&nbsp;&lt;&nbsp;4&nbsp;while&nbsp;y&nbsp;&lt;&nbsp;10&nbsp;repeat<br />
+&nbsp;&nbsp;output&nbsp;[x,y]<br />
+&nbsp;&nbsp;x&nbsp;:=&nbsp;x&nbsp;+&nbsp;1<br />
+&nbsp;&nbsp;y&nbsp;:=&nbsp;y&nbsp;+&nbsp;2<br />
+</div>
+
+
+
+
+<div class="verbatim"><br />
+x:=1<br />
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>1</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PositiveInteger
+</div>
+
+
+
+
+
+<div class="verbatim"><br />
+y:=1<br />
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>1</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PositiveInteger
+</div>
+
+
+
+
+
+<div class="verbatim"><br />
+while&nbsp;x&nbsp;&lt;&nbsp;4&nbsp;while&nbsp;y&nbsp;&lt;&nbsp;10&nbsp;repeat<br />
+&nbsp;&nbsp;output&nbsp;[x,y]<br />
+&nbsp;&nbsp;x&nbsp;:=&nbsp;x&nbsp;+&nbsp;1<br />
+&nbsp;&nbsp;y&nbsp;:=&nbsp;y&nbsp;+&nbsp;2<br />
+&nbsp;<br />
+&nbsp;&nbsp;&nbsp;[1,1]<br />
+&nbsp;&nbsp;&nbsp;[2,3]<br />
+&nbsp;&nbsp;&nbsp;[3,5]<br />
+</div>
+
+
+
+
+<div class="returnType">
+Type: Void
+</div>
+
+
+
+<p>Note that the last example using two <span style="font-weight: bold;"> while</span> statements is <span class="slant">not</span> a
+nested loop but the following one is:
+</p>
+
+
+
+<div class="verbatim"><br />
+x:=1<br />
+y:=1<br />
+while&nbsp;x&nbsp;&lt;&nbsp;4&nbsp;repeat<br />
+&nbsp;&nbsp;while&nbsp;y&nbsp;&lt;&nbsp;10&nbsp;repeat<br />
+&nbsp;&nbsp;&nbsp;&nbsp;output&nbsp;[x,y]<br />
+&nbsp;&nbsp;&nbsp;&nbsp;x&nbsp;:=&nbsp;x&nbsp;+&nbsp;1<br />
+&nbsp;&nbsp;&nbsp;&nbsp;y&nbsp;:=&nbsp;y&nbsp;+&nbsp;2<br />
+</div>
+
+
+
+
+<div class="verbatim"><br />
+x:=1<br />
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>1</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PositiveInteger
+</div>
+
+
+
+
+
+<div class="verbatim"><br />
+y:=1<br />
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>1</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PositiveInteger
+</div>
+
+
+
+
+
+<div class="verbatim"><br />
+while&nbsp;x&nbsp;&lt;&nbsp;4&nbsp;repeat<br />
+&nbsp;&nbsp;while&nbsp;y&nbsp;&lt;&nbsp;10&nbsp;repeat<br />
+&nbsp;&nbsp;&nbsp;&nbsp;output&nbsp;[x,y]<br />
+&nbsp;&nbsp;&nbsp;&nbsp;x&nbsp;:=&nbsp;x&nbsp;+&nbsp;1<br />
+&nbsp;&nbsp;&nbsp;&nbsp;y&nbsp;:=&nbsp;y&nbsp;+&nbsp;2<br />
+&nbsp;<br />
+&nbsp;&nbsp;&nbsp;[1,1]<br />
+&nbsp;&nbsp;&nbsp;[2,3]<br />
+&nbsp;&nbsp;&nbsp;[3,5]<br />
+&nbsp;&nbsp;&nbsp;[4,7]<br />
+&nbsp;&nbsp;&nbsp;[5,9]<br />
+</div>
+
+
+
+
+<div class="returnType">
+Type: Void
+</div>
+
+
+
+<p>Suppose we that, given a matrix of arbitrary size, find the position and
+value of the first negative element by examining the matrix in row-major 
+order:
+</p>
+
+
+
+<div class="verbatim"><br />
+m&nbsp;:=&nbsp;matrix&nbsp;[&nbsp;[&nbsp;21,&nbsp;37,&nbsp;53,&nbsp;14&nbsp;],_<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&nbsp;&nbsp;8,&nbsp;22,-24,&nbsp;16&nbsp;],_<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&nbsp;&nbsp;2,&nbsp;10,&nbsp;15,&nbsp;14&nbsp;],_<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&nbsp;26,&nbsp;33,&nbsp;55,-13&nbsp;]&nbsp;]<br />
+<br />
+lastrow&nbsp;:=&nbsp;nrows(m)<br />
+lastcol&nbsp;:=&nbsp;ncols(m)<br />
+r&nbsp;:=&nbsp;1<br />
+while&nbsp;r&nbsp;&lt;=&nbsp;lastrow&nbsp;repeat<br />
+&nbsp;&nbsp;c&nbsp;:=&nbsp;1&nbsp;--&nbsp;Index&nbsp;of&nbsp;first&nbsp;column<br />
+&nbsp;&nbsp;while&nbsp;c&nbsp;&lt;=&nbsp;lastcol&nbsp;repeat<br />
+&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;elt(m,r,c)&nbsp;&lt;&nbsp;0&nbsp;then<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;output&nbsp;[r,c,elt(m,r,c)]<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;r&nbsp;:=&nbsp;lastrow<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break&nbsp;--&nbsp;Don't&nbsp;look&nbsp;any&nbsp;further<br />
+&nbsp;&nbsp;&nbsp;&nbsp;c&nbsp;:=&nbsp;c&nbsp;+&nbsp;1<br />
+&nbsp;&nbsp;r&nbsp;:=&nbsp;r&nbsp;+&nbsp;1<br />
+</div>
+
+
+
+
+<div class="verbatim"><br />
+m&nbsp;:=&nbsp;matrix&nbsp;[&nbsp;[&nbsp;21,&nbsp;37,&nbsp;53,&nbsp;14&nbsp;],_<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&nbsp;&nbsp;8,&nbsp;22,-24,&nbsp;16&nbsp;],_<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&nbsp;&nbsp;2,&nbsp;10,&nbsp;15,&nbsp;14&nbsp;],_<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&nbsp;26,&nbsp;33,&nbsp;55,-13&nbsp;]&nbsp;]<br />
+</div>
+
+<p> 
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mtable><mtr><mtd><mn>21</mn></mtd><mtd><mn>37</mn></mtd><mtd><mn>53</mn></mtd><mtd><mn>14</mn></mtd></mtr><mtr><mtd><mn>8</mn></mtd><mtd><mn>22</mn></mtd><mtd><mo>-</mo><mn>24</mn></mtd><mtd><mn>16</mn></mtd></mtr><mtr><mtd><mn>2</mn></mtd><mtd><mn>10</mn></mtd><mtd><mn>15</mn></mtd><mtd><mn>14</mn></mtd></mtr><mtr><mtd><mn>26</mn></mtd><mtd><mn>33</mn></mtd><mtd><mn>55</mn></mtd><mtd><mo>-</mo><mn>13</mn></mtd></mtr></mtable><mo>]</mo></mrow></mstyle></math>
+</p>
+
+
+
+<div class="returnType">
+Type: Matrix Integer
+</div>
+
+
+
+
+
+<div class="verbatim"><br />
+lastrow&nbsp;:=&nbsp;nrows(m)<br />
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>4</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PositiveInteger
+</div>
+
+
+
+
+
+<div class="verbatim"><br />
+lastcol&nbsp;:=&nbsp;ncols(m)<br />
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>4</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PositiveInteger
+</div>
+
+
+
+
+
+<div class="verbatim"><br />
+r&nbsp;:=&nbsp;1<br />
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>1</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PositiveInteger
+</div>
+
+
+
+
+
+<div class="verbatim"><br />
+while&nbsp;r&nbsp;&lt;=&nbsp;lastrow&nbsp;repeat<br />
+&nbsp;&nbsp;c&nbsp;:=&nbsp;1&nbsp;--&nbsp;Index&nbsp;of&nbsp;first&nbsp;column<br />
+&nbsp;&nbsp;while&nbsp;c&nbsp;&lt;=&nbsp;lastcol&nbsp;repeat<br />
+&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;elt(m,r,c)&nbsp;&lt;&nbsp;0&nbsp;then<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;output&nbsp;[r,c,elt(m,r,c)]<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;r&nbsp;:=&nbsp;lastrow<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break&nbsp;--&nbsp;Don't&nbsp;look&nbsp;any&nbsp;further<br />
+&nbsp;&nbsp;&nbsp;&nbsp;c&nbsp;:=&nbsp;c&nbsp;+&nbsp;1<br />
+&nbsp;&nbsp;r&nbsp;:=&nbsp;r&nbsp;+&nbsp;1<br />
+&nbsp;<br />
+&nbsp;&nbsp;&nbsp;[2,3,-&nbsp;24]<br />
+</div>
+
+
+
+
+<div class="returnType">
+Type: Void
+</div>
+
+
+
+
+
+</div>
+
+
+
+<a name="subsubsec-0.7.5.3"/>
+<div class="subsubsection"  id="subsubsec-0.7.5.3">
+<h3 class="subsubsectitle">0.7.5.3  The <span class="teletype">for</span> loop</h3>
+
+
+<p>The last loop statement of interest is the <span style="font-weight: bold;"> for</span> loop. There are two
+ways of creating a <span style="font-weight: bold;"> for</span> loop. The first way uses either a list or
+a segment:
+</p>
+
+
+
+<div class="center" style="text-align: center;">
+
+
+<p>for <span class="slant">var</span> in <span class="slant">seg</span> repeat <span class="slant">loopBody</span><br/>
+for <span class="slant">var</span> in <span class="slant">list</span> repeat <span class="slant">loopBody</span><br/>
+</p>
+
+
+
+</div>
+
+
+<p>where <span class="slant">var</span> is an index variable which is iterated over the values in
+<span class="slant">seg</span> or <span class="slant">list</span>. The value <span class="slant">seg</span> is a segment such as  <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mn>1</mn><mo>&#x2026;</mo><mn>10</mn></mrow></mstyle></math>
+or  <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mn>1</mn><mo>&#x2026;</mo></mrow></mstyle></math> and <span class="slant">list</span> is a list of some type. For example:
+</p>
+
+
+
+
+<div class="verbatim"><br />
+for&nbsp;i&nbsp;in&nbsp;1..10&nbsp;repeat<br />
+&nbsp;&nbsp;~prime?(i)&nbsp;=&gt;&nbsp;iterate<br />
+&nbsp;&nbsp;output(i)<br />
+&nbsp;<br />
+&nbsp;&nbsp;&nbsp;2<br />
+&nbsp;&nbsp;&nbsp;3<br />
+&nbsp;&nbsp;&nbsp;5<br />
+&nbsp;&nbsp;&nbsp;7<br />
+</div>
+
+
+
+
+<div class="returnType">
+Type: Void
+</div>
+
+
+
+
+
+<div class="verbatim"><br />
+for&nbsp;w&nbsp;in&nbsp;["This",&nbsp;"is",&nbsp;"your",&nbsp;"life!"]&nbsp;repeat<br />
+&nbsp;&nbsp;output(w)<br />
+</div>
+
+
+
+
+<div class="verbatim"><br />
+for&nbsp;w&nbsp;in&nbsp;["This",&nbsp;"is",&nbsp;"your",&nbsp;"life!"]&nbsp;repeat<br />
+&nbsp;&nbsp;output(w)<br />
+&nbsp;<br />
+&nbsp;&nbsp;&nbsp;This<br />
+&nbsp;&nbsp;&nbsp;is<br />
+&nbsp;&nbsp;&nbsp;your<br />
+&nbsp;&nbsp;&nbsp;life!<br />
+</div>
+
+
+
+
+<div class="returnType">
+Type: Void
+</div>
+
+
+
+<p>The second form of the <span style="font-weight: bold;"> for</span> loop syntax includes a ``<span style="font-weight: bold;"> such that</span>''
+clause which must be of type <span style="font-weight: bold;"> Boolean</span>:
+</p>
+
+
+
+<div class="center" style="text-align: center;">
+
+
+<p>for <span class="slant">var</span>  in <span class="slant">seg</span> | <span class="slant">BoolExpr</span> repeat <span class="slant">loopBody</span><br />
+for <span class="slant">var</span>  in <span class="slant">list</span> | <span class="slant">BoolExpr</span> repeat <span class="slant">loopBody</span>
+</p>
+
+
+
+</div>
+
+
+<p>Some examples are:
+</p>
+
+
+
+<div class="verbatim"><br />
+for&nbsp;i&nbsp;in&nbsp;1..10&nbsp;|&nbsp;prime?(i)&nbsp;repeat<br />
+&nbsp;&nbsp;output(i)<br />
+&nbsp;<br />
+&nbsp;&nbsp;&nbsp;2<br />
+&nbsp;&nbsp;&nbsp;3<br />
+&nbsp;&nbsp;&nbsp;5<br />
+&nbsp;&nbsp;&nbsp;7<br />
+</div>
+
+
+
+
+<div class="returnType">
+Type: Void
+</div>
+
+
+
+
+<div class="verbatim"><br />
+for&nbsp;i&nbsp;in&nbsp;[1,2,3,4,5,6,7,8,9,10]&nbsp;|&nbsp;prime?(i)&nbsp;repeat<br />
+&nbsp;&nbsp;output(i)<br />
+&nbsp;<br />
+&nbsp;&nbsp;&nbsp;2<br />
+&nbsp;&nbsp;&nbsp;3<br />
+&nbsp;&nbsp;&nbsp;5<br />
+&nbsp;&nbsp;&nbsp;7<br />
+</div>
+
+
+
+
+<div class="returnType">
+Type: Void
+</div>
+
+
+
+<p>You can also use a <span style="font-weight: bold;"> while</span> clause:
+</p>
+
+
+
+<div class="verbatim"><br />
+for&nbsp;i&nbsp;in&nbsp;1..&nbsp;while&nbsp;i&nbsp;&lt;&nbsp;7&nbsp;repeat<br />
+&nbsp;&nbsp;if&nbsp;even?(i)&nbsp;then&nbsp;output(i)<br />
+&nbsp;<br />
+&nbsp;&nbsp;&nbsp;2<br />
+&nbsp;&nbsp;&nbsp;4<br />
+&nbsp;&nbsp;&nbsp;6<br />
+</div>
+
+
+
+
+<div class="returnType">
+Type: Void
+</div>
+
+
+
+<p>Using the ``<span style="font-weight: bold;"> such that</span>'' clause makes this appear simpler:
+</p>
+
+
+
+
+<div class="verbatim"><br />
+for&nbsp;i&nbsp;in&nbsp;1..&nbsp;|&nbsp;even?(i)&nbsp;while&nbsp;i&nbsp;&lt;&nbsp;7&nbsp;repeat<br />
+&nbsp;&nbsp;output(i)<br />
+&nbsp;<br />
+&nbsp;&nbsp;&nbsp;2<br />
+&nbsp;&nbsp;&nbsp;4<br />
+&nbsp;&nbsp;&nbsp;6<br />
+</div>
+
+
+
+
+<div class="returnType">
+Type: Void
+</div>
+
+
+
+<p>You can use multiple <span style="font-weight: bold;"> for</span> clauses to iterate over several sequences
+in parallel:
+</p>
+
+
+
+<div class="verbatim"><br />
+for&nbsp;a&nbsp;in&nbsp;1..4&nbsp;for&nbsp;b&nbsp;in&nbsp;5..8&nbsp;repeat<br />
+&nbsp;&nbsp;output&nbsp;[a,b]<br />
+&nbsp;<br />
+&nbsp;&nbsp;&nbsp;[1,5]<br />
+&nbsp;&nbsp;&nbsp;[2,6]<br />
+&nbsp;&nbsp;&nbsp;[3,7]<br />
+&nbsp;&nbsp;&nbsp;[4,8]<br />
+</div>
+
+
+
+
+<div class="returnType">
+Type: Void
+</div>
+
+
+
+<p>As a general point it should be noted that any symbols referred to in the
+``<span style="font-weight: bold;"> such that</span>'' and <span style="font-weight: bold;"> while</span> clauses must be pre-defined. This 
+either means that the symbols must have been defined in an outer level
+(e.g. in an enclosing loop) or in a <span style="font-weight: bold;"> for</span> clause appearing before the
+``<span style="font-weight: bold;"> such that</span>'' or <span style="font-weight: bold;"> while</span>. For example:
+</p>
+
+
+
+<div class="verbatim"><br />
+for&nbsp;a&nbsp;in&nbsp;1..4&nbsp;repeat<br />
+&nbsp;&nbsp;for&nbsp;b&nbsp;in&nbsp;7..9&nbsp;|&nbsp;prime?(a+b)&nbsp;repeat<br />
+&nbsp;&nbsp;&nbsp;&nbsp;output&nbsp;[a,b,a+b]<br />
+&nbsp;<br />
+&nbsp;&nbsp;&nbsp;[2,9,11]<br />
+&nbsp;&nbsp;&nbsp;[3,8,11]<br />
+&nbsp;&nbsp;&nbsp;[4,7,11]<br />
+&nbsp;&nbsp;&nbsp;[4,9,13]<br />
+</div>
+
+
+
+
+<div class="returnType">
+Type: Void
+</div>
+
+
+
+<p>Finally, the <span style="font-weight: bold;"> for</span> statement has a <span style="font-weight: bold;"> by</span> clause to specify the
+step size. This makes it possible to iterate over the segment in
+reverse order:
+</p>
+
+
+
+
+<div class="verbatim"><br />
+for&nbsp;a&nbsp;in&nbsp;1..4&nbsp;for&nbsp;b&nbsp;in&nbsp;8..5&nbsp;by&nbsp;-1&nbsp;repeat<br />
+&nbsp;&nbsp;output&nbsp;[a,b]<br />
+&nbsp;<br />
+&nbsp;&nbsp;&nbsp;[1,8]<br />
+&nbsp;&nbsp;&nbsp;[2,7]<br />
+&nbsp;&nbsp;&nbsp;[3,6]<br />
+&nbsp;&nbsp;&nbsp;[4,5]<br />
+</div>
+
+
+
+
+<div class="returnType">
+Type: Void
+</div>
+
+
+
+<p>Note that without the ``by -1'' the segment 8..5 is empty so there is
+nothing to iterate over and the loop exits immediately.
+</p>
+
+
+
+
+</div>
+
+
+
+
+</div>
+
+
+
+
+</div><a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a>
+<a href="section-0.6.xhtml" style="margin-right: 10px;">Previous Section 0.6 Data Structures in Axiom</a><a href="section-1.0.xhtml" style="margin-right: 10px;">Next Section 1.0 An Overview of Axiom</a><a href="book-index.xhtml">Book Index</a></body>
+</html>
\ No newline at end of file
diff --git a/src/axiom-website/hyperdoc/axbook/section-1.0.xhtml b/src/axiom-website/hyperdoc/axbook/section-1.0.xhtml
new file mode 100644
index 0000000..434ed92
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/section-1.0.xhtml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
+"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [
+<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
+]>
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:xlink="http://www.w3.org/1999/xlink" >
+
+
+  <head>
+    <title>Section1.0</title>
+    <link rel="stylesheet" type="text/css" href="graphicstyle.css" />
+    <script type="text/javascript" src="bookax1.js" />
+  </head>
+
+  <body>
+<a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a><a href="section-0.7.xhtml" style="margin-right: 10px;">Previous Section 0.7  Functions, Choices, and Loops</a><a href="section-1.1.xhtml" style="margin-right: 10px;">Next Section 1.1 Starting Up and Winding Down</a>
+<a href="book-index.xhtml">Book Index</a><div class="section"  id="sec-1.0">
+<h2 class="sectiontitle">1.0 An Overview of Axiom</h2>
+
+
+<div class="quote" >
+
+
+<p>When we start cataloging the gains in tools sitting on a computer, the 
+benefits of software are amazing. But, if the benefits of software are
+so great, why do we worry about making it easier -- don't the ends pay 
+for the means? We worry becuase making such software is extraordinarily
+hard and almost no one can do it -- the detail is exhausting, the 
+creativity required is extreme, the hours of failure upon failure
+requiring patience and persistence would tax anyone claiming to be
+sane. Yet we require people with such characteristics be found and
+employed and employed cheaply.
+</p>
+
+
+<p>-- Christopher Alexander
+</p>
+
+
+<p>(from Patterns of Software by Richard Gabriel)
+</p>
+
+
+
+
+</div>
+
+
+<a name="ugIntro" class="label"/>
+
+
+<p>Welcome to the Axiom environment for interactive computation and
+problem solving.  Consider this chapter a brief, whirlwind tour of the
+Axiom world.  We introduce you to Axiom's graphics and the
+Axiom language.  Then we give a sampling of the large variety of
+facilities in the Axiom system, ranging from the various kinds
+of numbers, to data types (like lists, arrays, and sets) and
+mathematical objects (like matrices, integrals, and differential
+equations).  We conclude with the discussion of system commands and an
+interactive ``undo.''
+</p>
+
+
+<p>Before embarking on the tour, we need to brief those readers working
+interactively with Axiom on some details. 
+</p>
+
+</div><a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a><a href="section-0.7.xhtml" style="margin-right: 10px;">Previous Section 0.7  Functions, Choices, and Loops</a><a href="section-1.1.xhtml" style="margin-right: 10px;">Next Section 1.1 Starting Up and Winding Down</a>
+<a href="book-index.xhtml">Book Index</a></body>
+</html>
\ No newline at end of file
diff --git a/src/axiom-website/hyperdoc/axbook/section-1.1.xhtml b/src/axiom-website/hyperdoc/axbook/section-1.1.xhtml
new file mode 100644
index 0000000..642b2ea
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/section-1.1.xhtml
@@ -0,0 +1,184 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
+"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [
+<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
+]>
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:xlink="http://www.w3.org/1999/xlink" >
+
+
+  <head>
+    <title>Section1.1</title>
+    <link rel="stylesheet" type="text/css" href="graphicstyle.css" />
+    <script type="text/javascript" src="bookax1.js" />
+  </head>
+
+  <body>
+<a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a><a href="section-1.0.xhtml" style="margin-right: 10px;">Previous Section 1.0 An Overview of Axiom</a><a href="section-1.2.xhtml" style="margin-right: 10px;">Next Section 1.2 Typographic Conventions</a>
+<a href="book-index.xhtml">Book Index</a><div class="section"  id="sec-1.1">
+<h2 class="sectiontitle">1.1  Starting Up and Winding Down</h2>
+
+
+<a name="ugIntroStart" class="label"/>
+
+<p>You need to know how to start the Axiom system and how to stop it.
+We assume that Axiom has been correctly installed on your
+machine (as described in another Axiom document).
+</p>
+
+
+<p>To begin using Axiom, issue the command <span style="font-weight: bold;"> axiom</span> to the
+Axiom operating system shell.
+<span class="index">axiom @<span style="font-weight: bold;"> axiom</span><a name="chapter-1-0"/></span> There is a brief pause, some start-up
+messages, and then one or more windows appear.
+</p>
+
+
+<p>If you are not running Axiom under the X Window System, there is
+only one window (the console).  At the lower left of the screen there
+is a prompt that <span class="index">prompt</span><a name="chapter-1-1"/> looks like
+</p>
+
+
+
+<div class="verbatim"><br />
+(1)&nbsp;-&gt;<br />
+</div>
+
+
+
+<p>When you want to enter input to Axiom, you do so on the same
+line after the prompt.  The ``1'' in ``(1)'', also called the equation
+number, is the computation step number and is incremented 
+<span class="index">step number</span><a name="chapter-1-2"/> after you enter Axiom statements.  
+Note, however, that a system command such as <span class="teletype">)clear all</span> 
+may change the step number in other ways.  We talk about step numbers 
+more when we discuss system commands and the workspace history facility.
+</p>
+
+
+<p>If you are running Axiom under the X Window System, there may be
+two <span class="index">X Window System</span><a name="chapter-1-3"/> windows: the console window (as just
+described) and the HyperDoc main menu.  <span class="index">Hyper@{HyperDoc}</span><a name="chapter-1-4"/> 
+HyperDoc is a multiple-window hypertext system
+that lets you <span class="index">window</span><a name="chapter-1-5"/> view Axiom documentation and
+examples on-line, execute Axiom expressions, and generate
+graphics.  If you are in a graphical windowing environment, it is
+usually started automatically when Axiom begins.  If it is not
+running, issue <span class="teletype">)hd</span> to start it.  We discuss the basics of
+HyperDoc in Chapter <a href="section-3.0.xhtml#ugHyper" class="ref" >ugHyper</a> .  
+</p>
+
+
+<p>To interrupt an Axiom computation, hold down the <span class="index">interrupt</span><a name="chapter-1-6"/> 
+<span style="font-weight: bold;"> Ctrl</span> (control) key and press <span style="font-weight: bold;"> c</span>.  This brings you back to 
+the Axiom prompt.
+</p>
+
+
+
+
+<div class="boxed2">
+
+
+<div class="boxed">
+
+
+
+<p>To exit from Axiom, move to the console window, <span class="index">stopping
+@{stopping Axiom}</span><a name="chapter-1-7"/> type <span class="teletype">)quit</span> <span class="index">exiting @{exiting
+Axiom}</span><a name="chapter-1-8"/> at the input prompt and press the <span style="font-weight: bold;"> Enter</span> key.
+You will probably be prompted with the following
+message:
+</p>
+
+
+
+<div class="center" style="text-align: center;">
+
+
+<p>Please enter <span style="font-weight: bold;"> y</span> or <span style="font-weight: bold;"> yes</span> if you really want to leave the <br/>
+interactive environment and return to the operating system
+</p>
+
+
+
+</div>
+
+
+<p>You should respond <span style="font-weight: bold;"> yes</span>, for example, to exit Axiom.<br/>
+</p>
+
+
+
+</div>
+</div>
+
+
+
+<p>We are purposely vague in describing exactly what your screen looks
+like or what messages Axiom displays.  Axiom runs on a number of
+different machines, operating systems and window environments, and
+these differences all affect the physical look of the system.  You can
+also change the way that Axiom behaves via <span class="italic">system commands</span>
+described later in this chapter and in Appendix A.
+System commands are special commands, like <span class="teletype">)set</span>, that begin with
+a closing parenthesis and are used to change your environment.  For
+example, you can set a system variable so that you are not prompted
+for confirmation when you want to leave Axiom.
+</p>
+
+
+
+<a name="subsec-1.1.1"/>
+<div class="subsection"  id="subsec-1.1.1">
+<h3 class="subsectitle">1.1.1  Clef</h3>
+
+
+<a name="ugAvailCLEF" class="label"/>
+
+<p>If you are using Axiom under the X Window System, the
+<span class="index">Clef</span><a name="chapter-1-9"/> <span class="index">command line editor</span><a name="chapter-1-10"/> Clef command
+line editor is probably available and installed.  With this editor you
+can recall previous lines with the up and down arrow keys.  To move
+forward and backward on a line, use the right and left arrows.  You
+can use the <span style="font-weight: bold;"> Insert</span> key to toggle insert mode on or off.  When
+you are in insert mode, the cursor appears as a large block and if you
+type anything, the characters are inserted into the line without
+deleting the previous ones.
+</p>
+
+
+<p>If you press the <span style="font-weight: bold;"> Home</span> key, the cursor moves to the beginning of
+the line and if you press the <span style="font-weight: bold;"> End</span> key, the cursor moves to the
+end of the line.  Pressing <span style="font-weight: bold;"> Ctrl-End</span> deletes all the text from
+the cursor to the end of the line.
+</p>
+
+
+<p>Clef also provides Axiom operation name completion for
+<span class="index">operation name completion</span><a name="chapter-1-11"/> a limited set of operations.  If you
+enter a few letters and then press the <span style="font-weight: bold;"> Tab</span> key, Clef tries to
+use those letters as the prefix of an Axiom operation name.  If
+a name appears and it is not what you want, press <span style="font-weight: bold;"> Tab</span> again to
+see another name.
+</p>
+
+
+<p>You are ready to begin your journey into the world of Axiom.
+</p>
+
+
+
+
+</div>
+
+
+
+
+</div><a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a>
+<a href="section-1.0.xhtml" style="margin-right: 10px;">Previous Section 1.0 An Overview of Axiom</a><a href="section-1.2.xhtml" style="margin-right: 10px;">Next Section 1.2 Typographic Conventions</a>
+<a href="book-index.xhtml">Book Index</a></body>
+</html>
\ No newline at end of file
diff --git a/src/axiom-website/hyperdoc/axbook/section-1.10.xhtml b/src/axiom-website/hyperdoc/axbook/section-1.10.xhtml
new file mode 100644
index 0000000..ba41af7
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/section-1.10.xhtml
@@ -0,0 +1,379 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
+"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [
+<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
+]>
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:xlink="http://www.w3.org/1999/xlink" >
+
+
+  <head>
+    <title>Section1.10</title>
+    <link rel="stylesheet" type="text/css" href="graphicstyle.css" />
+    <script type="text/javascript" src="bookax1.js" />
+  </head>
+
+  <body>
+<a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a><a href="section-1.9.xhtml" style="margin-right: 10px;">Previous Section 1.9 Limits</a><a href="section-1.11.xhtml" style="margin-right: 10px;">Next Section 1.11 Derivatives</a>
+<a href="book-index.xhtml">Book Index</a><div class="section"  id="sec-1.10">
+<h2 class="sectiontitle">1.10  Series</h2>
+
+
+<a name="ugIntroSeries" class="label"/>
+
+
+<p>Axiom also provides power series.  <span class="index">series:power</span><a name="chapter-1-70"/> By default,
+Axiom tries to compute and display the first ten elements of a series.
+Use <span class="teletype">)set streams calculate</span> to change the default value to
+something else.  For the purposes of this document, we have used this
+system command to display fewer than ten terms.  For more information
+about working with series, see <a href="section-8.9.xhtml#ugProblemSeries" class="ref" >ugProblemSeries</a>.
+</p>
+
+
+<p>You can convert a functional expression to a power series by using the
+operation <span style="font-weight: bold;"> series</span>.  In this example, <span class="teletype">sin(a*x)</span> is
+expanded in powers of <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mo>(</mo><mi>x</mi><mo>-</mo><mn>0</mn><mo>)</mo></mrow></mstyle></math>, that is, in powers of <math xmlns="&mathml;" mathsize="big"><mstyle><mi>x</mi></mstyle></math>.
+</p>
+
+
+
+<div id="spadComm1-140" class="spadComm" >
+<form id="formComm1-140" action="javascript:makeRequest('1-140');" >
+<input id="comm1-140" type="text" class="command" style="width: 15em;" value="series(sin(a*x),x = 0)" />
+</form>
+<span id="commSav1-140" class="commSav" >series(sin(a*x),x = 0)</span>
+<div id="mathAns1-140" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mrow><mi>a</mi><mo></mo><mi>x</mi></mrow><mo>-</mo><mrow><mfrac><mrow><msup><mi>a</mi><mn>3</mn></msup></mrow><mn>6</mn></mfrac><mo></mo><mrow><msup><mi>x</mi><mn>3</mn></msup></mrow></mrow><mo>+</mo><mrow><mfrac><mrow><msup><mi>a</mi><mn>5</mn></msup></mrow><mn>120</mn></mfrac><mo></mo><mrow><msup><mi>x</mi><mn>5</mn></msup></mrow></mrow><mo>-</mo><mrow><mfrac><mrow><msup><mi>a</mi><mn>7</mn></msup></mrow><mn>5040</mn></mfrac><mo></mo><mrow><msup><mi>x</mi><mn>7</mn></msup></mrow></mrow><mo>+</mo><mrow><mfrac><mrow><msup><mi>a</mi><mn>9</mn></msup></mrow><mn>362880</mn></mfrac><mo></mo><mrow><msup><mi>x</mi><mn>9</mn></msup></mrow></mrow><mo>-</mo><mrow><mfrac><mrow><msup><mi>a</mi><mn>11</mn></msup></mrow><mn>39916800</mn></mfrac><mo></mo><mrow><msup><mi>x</mi><mn>11</mn></msup></mrow></mrow><mo>+</mo><mrow><mi>O</mi><mo>(</mo><mrow><msup><mi>x</mi><mn>12</mn></msup></mrow><mo>)</mo></mrow></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: UnivariatePuiseuxSeries(Expression Integer,x,0)
+</div>
+
+
+
+<p>This expression expands <span class="teletype">sin(a*x)</span> in powers of <span class="teletype">(x - %pi/4)</span>.
+</p>
+
+
+
+<div id="spadComm1-141" class="spadComm" >
+<form id="formComm1-141" action="javascript:makeRequest('1-141');" >
+<input id="comm1-141" type="text" class="command" style="width: 18em;" value="series(sin(a*x),x = %pi/4)" />
+</form>
+<span id="commSav1-141" class="commSav" >series(sin(a*x),x = %pi/4)</span>
+<div id="mathAns1-141" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+<p><math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mrow><mfrac><mrow><mrow><msup><mi>a</mi><mn>2</mn></msup></mrow><mo></mo><mrow><mo>sin</mo><mo>(</mo><mfrac><mrow><mi>a</mi><mo></mo><mi>&#x03C0;</mi></mrow><mn>4</mn></mfrac><mo>)</mo></mrow></mrow><mn>2</mn></mfrac><mo></mo><mrow><msup><mrow><mo>(</mo><mi>x</mi><mo>-</mo><mfrac><mi>&#x03C0;</mi><mn>4</mn></mfrac><mo>)</mo></mrow><mn>2</mn></msup></mrow></mrow><mo>-</mo><mrow><mfrac><mrow><mrow><msup><mi>a</mi><mn>3</mn></msup></mrow><mo></mo><mrow><mo>cos</mo><mo>(</mo><mfrac><mrow><mi>a</mi><mo></mo><mi>&#x03C0;</mi></mrow><mn>4</mn></mfrac><mo>)</mo></mrow></mrow><mn>6</mn></mfrac><mo></mo><mrow><msup><mrow><mo>(</mo><mi>x</mi><mo>-</mo><mfrac><mi>&#x03C0;</mi><mn>4</mn></mfrac><mo>)</mo></mrow><mn>3</mn></msup></mrow></mrow><mo>+</mo></mrow></mstyle></math>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mrow><mfrac><mrow><mrow><msup><mi>a</mi><mn>4</mn></msup></mrow><mo></mo><mrow><mo>sin</mo><mo>(</mo><mfrac><mrow><mi>a</mi><mo></mo><mi>&#x03C0;</mi></mrow><mn>4</mn></mfrac><mo>)</mo></mrow></mrow><mn>24</mn></mfrac><mo></mo><mrow><msup><mrow><mo>(</mo><mi>x</mi><mo>-</mo><mfrac><mi>&#x03C0;</mi><mn>4</mn></mfrac><mo>)</mo></mrow><mn>4</mn></msup></mrow></mrow><mo>+</mo><mrow><mfrac><mrow><mrow><msup><mi>a</mi><mn>5</mn></msup></mrow><mo></mo><mrow><mo>cos</mo><mo>(</mo><mfrac><mrow><mi>a</mi><mo></mo><mi>&#x03C0;</mi></mrow><mn>4</mn></mfrac><mo>)</mo></mrow></mrow><mn>120</mn></mfrac><mo></mo><mrow><msup><mrow><mo>(</mo><mi>x</mi><mo>-</mo><mfrac><mi>&#x03C0;</mi><mn>4</mn></mfrac><mo>)</mo></mrow><mn>5</mn></msup></mrow></mrow><mo>-</mo></mrow></mstyle></math>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mrow><mfrac><mrow><mrow><msup><mi>a</mi><mn>6</mn></msup></mrow><mo></mo><mrow><mo>sin</mo><mo>(</mo><mfrac><mrow><mi>a</mi><mo></mo><mi>&#x03C0;</mi></mrow><mn>4</mn></mfrac><mo>)</mo></mrow></mrow><mn>720</mn></mfrac><mo></mo><mrow><msup><mrow><mo>(</mo><mi>x</mi><mo>-</mo><mfrac><mi>&#x03C0;</mi><mn>4</mn></mfrac><mo>)</mo></mrow><mn>6</mn></msup></mrow></mrow><mo>-</mo><mrow><mfrac><mrow><mrow><msup><mi>a</mi><mn>7</mn></msup></mrow><mo></mo><mrow><mo>cos</mo><mo>(</mo><mfrac><mrow><mi>a</mi><mo></mo><mi>&#x03C0;</mi></mrow><mn>4</mn></mfrac><mo>)</mo></mrow></mrow><mn>5040</mn></mfrac><mo></mo><mrow><msup><mrow><mo>(</mo><mi>x</mi><mo>-</mo><mfrac><mi>&#x03C0;</mi><mn>4</mn></mfrac><mo>)</mo></mrow><mn>7</mn></msup></mrow></mrow><mo>+</mo></mrow></mstyle></math>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mrow><mfrac><mrow><mrow><msup><mi>a</mi><mn>8</mn></msup></mrow><mo></mo><mrow><mo>sin</mo><mo>(</mo><mfrac><mrow><mi>a</mi><mo></mo><mi>&#x03C0;</mi></mrow><mn>4</mn></mfrac><mo>)</mo></mrow></mrow><mn>40320</mn></mfrac><mo></mo><mrow><msup><mrow><mo>(</mo><mi>x</mi><mo>-</mo><mfrac><mi>&#x03C0;</mi><mn>4</mn></mfrac><mo>)</mo></mrow><mn>8</mn></msup></mrow></mrow><mo>+</mo><mrow><mfrac><mrow><mrow><msup><mi>a</mi><mn>9</mn></msup></mrow><mo></mo><mrow><mo>cos</mo><mo>(</mo><mfrac><mrow><mi>a</mi><mo></mo><mi>&#x03C0;</mi></mrow><mn>4</mn></mfrac><mo>)</mo></mrow></mrow><mn>362880</mn></mfrac><mo></mo><mrow><msup><mrow><mo>(</mo><mi>x</mi><mo>-</mo><mfrac><mi>&#x03C0;</mi><mn>4</mn></mfrac><mo>)</mo></mrow><mn>9</mn></msup></mrow></mrow><mo>-</mo></mrow></mstyle></math>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mrow><mfrac><mrow><mrow><msup><mi>a</mi><mn>10</mn></msup></mrow><mo></mo><mrow><mo>sin</mo><mo>(</mo><mfrac><mrow><mi>a</mi><mo></mo><mi>&#x03C0;</mi></mrow><mn>4</mn></mfrac><mo>)</mo></mrow></mrow><mn>3628800</mn></mfrac><mo></mo><mrow><msup><mrow><mo>(</mo><mi>x</mi><mo>-</mo><mfrac><mi>&#x03C0;</mi><mn>4</mn></mfrac><mo>)</mo></mrow><mn>10</mn></msup></mrow></mrow><mo>+</mo><mrow><mi>O</mi><mo>(</mo><mrow><msup><mrow><mo>(</mo><mi>x</mi><mo>-</mo><mfrac><mi>&#x03C0;</mi><mn>4</mn></mfrac><mo>)</mo></mrow><mn>11</mn></msup></mrow><mo>)</mo></mrow></mrow></mstyle></math>
+</p>
+
+
+
+<div class="returnType">
+Type: UnivariatePuiseuxSeries(Expression Integer,x,pi/4)
+</div>
+
+
+
+<p>Axiom provides <span class="index">series:Puiseux</span><a name="chapter-1-71"/> <span class="italic">Puiseux series:</span>
+<span class="index">Puiseux series</span><a name="chapter-1-72"/> series with rational number exponents.  The
+first argument to <span style="font-weight: bold;"> series</span> is an in-place function that
+computes the <math xmlns="&mathml;" mathsize="big"><mstyle><mi>n</mi></mstyle></math>-th coefficient.  (Recall that the
+``<span class="teletype">+-></span>'' is an infix operator meaning ``maps to.'')
+</p>
+
+
+
+<div id="spadComm1-142" class="spadComm" >
+<form id="formComm1-142" action="javascript:makeRequest('1-142');" >
+<input id="comm1-142" type="text" class="command" style="width: 43em;" value="series(n +-> (-1)**((3*n - 4)/6)/factorial(n - 1/3),x=0,4/3..,2)" />
+</form>
+<span id="commSav1-142" class="commSav" >series(n +-> (-1)**((3*n - 4)/6)/factorial(n - 1/3),x=0,4/3..,2)</span>
+<div id="mathAns1-142" ></div>
+</div>
+
+
+
+<p><!--NOTE: the paper book shows O(x^4) but Axiom computes O(x^5)-->
+</p>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mrow><msup><mi>x</mi><mfrac><mn>4</mn><mn>3</mn></mfrac></msup></mrow><mo>-</mo><mrow><mfrac><mn>1</mn><mn>6</mn></mfrac><mo></mo><mrow><msup><mi>x</mi><mfrac><mn>10</mn><mn>3</mn></mfrac></msup></mrow></mrow><mo>+</mo><mrow><mi>O</mi><mo>(</mo><mrow><msup><mi>x</mi><mn>5</mn></msup></mrow><mo>)</mo></mrow></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: UnivariatePuiseuxSeries(Expression Integer,x,0)
+</div>
+
+
+
+<p>Once you have created a power series, you can perform arithmetic
+operations on that series.  We compute the Taylor expansion of <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mn>1</mn><mo>/</mo><mo>(</mo><mn>1</mn><mo>-</mo><mi>x</mi><mo>)</mo></mrow></mstyle></math>.
+<span class="index">series:Taylor</span><a name="chapter-1-73"/>
+</p>
+
+
+
+<div id="spadComm1-143" class="spadComm" >
+<form id="formComm1-143" action="javascript:makeRequest('1-143');" >
+<input id="comm1-143" type="text" class="command" style="width: 18em;" value="f := series(1/(1-x),x = 0)" />
+</form>
+<span id="commSav1-143" class="commSav" >f := series(1/(1-x),x = 0)</span>
+<div id="mathAns1-143" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mn>1</mn><mo>+</mo><mi>x</mi><mo>+</mo><mrow><msup><mi>x</mi><mn>2</mn></msup></mrow><mo>+</mo><mrow><msup><mi>x</mi><mn>3</mn></msup></mrow><mo>+</mo><mrow><msup><mi>x</mi><mn>4</mn></msup></mrow><mo>+</mo><mrow><msup><mi>x</mi><mn>5</mn></msup></mrow><mo>+</mo><mrow><msup><mi>x</mi><mn>6</mn></msup></mrow><mo>+</mo><mrow><msup><mi>x</mi><mn>7</mn></msup></mrow><mo>+</mo><mrow><msup><mi>x</mi><mn>8</mn></msup></mrow><mo>+</mo><mrow><msup><mi>x</mi><mn>9</mn></msup></mrow><mo>+</mo><mrow><msup><mi>x</mi><mn>10</mn></msup></mrow><mo>+</mo><mrow><mi>O</mi><mo>(</mo><mrow><msup><mi>x</mi><mn>11</mn></msup></mrow><mo>)</mo></mrow></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: UnivariatePuiseuxSeries(Expression Integer,x,0)
+</div>
+
+
+
+<p>Compute the square of the series.
+</p>
+
+
+
+<div id="spadComm1-144" class="spadComm" >
+<form id="formComm1-144" action="javascript:makeRequest('1-144');" >
+<input id="comm1-144" type="text" class="command" style="width: 4em;" value="f ** 2" />
+</form>
+<span id="commSav1-144" class="commSav" >f ** 2</span>
+<div id="mathAns1-144" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mn>1</mn><mo>+</mo><mrow><mn>2</mn><mo></mo><mi>x</mi></mrow><mo>+</mo><mrow><mn>3</mn><mo></mo><mrow><msup><mi>x</mi><mn>2</mn></msup></mrow></mrow><mo>+</mo><mrow><mn>4</mn><mo></mo><mrow><msup><mi>x</mi><mn>3</mn></msup></mrow></mrow><mo>+</mo><mrow><mn>5</mn><mo></mo><mrow><msup><mi>x</mi><mn>4</mn></msup></mrow></mrow><mo>+</mo><mrow><mn>6</mn><mo></mo><mrow><msup><mi>x</mi><mn>5</mn></msup></mrow></mrow><mo>+</mo><mrow><mn>7</mn><mo></mo><mrow><msup><mi>x</mi><mn>6</mn></msup></mrow></mrow><mo>+</mo><mrow><mn>8</mn><mo></mo><mrow><msup><mi>x</mi><mn>7</mn></msup></mrow></mrow><mo>+</mo><mrow><mn>9</mn><mo></mo><mrow><msup><mi>x</mi><mn>8</mn></msup></mrow></mrow><mo>+</mo><mrow><mn>10</mn><mo></mo><mrow><msup><mi>x</mi><mn>9</mn></msup></mrow></mrow><mo>+</mo><mrow><mn>11</mn><mo></mo><mrow><msup><mi>x</mi><mn>10</mn></msup></mrow></mrow><mo>+</mo><mrow><mi>O</mi><mo>(</mo><mrow><msup><mi>x</mi><mn>11</mn></msup></mrow><mo>)</mo></mrow></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: UnivariatePuiseuxSeries(Expression Integer,x,0)
+</div>
+
+
+
+<p>The usual elementary functions
+(<span style="font-weight: bold;"> log</span>, <span style="font-weight: bold;"> exp</span>, trigonometric functions, and so on)
+are defined for power series.
+</p>
+
+
+
+<div id="spadComm1-145" class="spadComm" >
+<form id="formComm1-145" action="javascript:makeRequest('1-145');" >
+<input id="comm1-145" type="text" class="command" style="width: 18em;" value="f := series(1/(1-x),x = 0)" />
+</form>
+<span id="commSav1-145" class="commSav" >f := series(1/(1-x),x = 0)</span>
+<div id="mathAns1-145" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mn>1</mn><mo>+</mo><mi>x</mi><mo>+</mo><mrow><msup><mi>x</mi><mn>2</mn></msup></mrow><mo>+</mo><mrow><msup><mi>x</mi><mn>3</mn></msup></mrow><mo>+</mo><mrow><msup><mi>x</mi><mn>4</mn></msup></mrow><mo>+</mo><mrow><msup><mi>x</mi><mn>5</mn></msup></mrow><mo>+</mo><mrow><msup><mi>x</mi><mn>6</mn></msup></mrow><mo>+</mo><mrow><msup><mi>x</mi><mn>7</mn></msup></mrow><mo>+</mo><mrow><msup><mi>x</mi><mn>8</mn></msup></mrow><mo>+</mo><mrow><msup><mi>x</mi><mn>9</mn></msup></mrow><mo>+</mo><mrow><msup><mi>x</mi><mn>10</mn></msup></mrow><mo>+</mo><mrow><mi>O</mi><mo>(</mo><mrow><msup><mi>x</mi><mn>11</mn></msup></mrow><mo>)</mo></mrow></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: UnivariatePuiseuxSeries(Expression Integer,x,0)
+</div>
+
+
+
+
+
+<div id="spadComm1-146" class="spadComm" >
+<form id="formComm1-146" action="javascript:makeRequest('1-146');" >
+<input id="comm1-146" type="text" class="command" style="width: 8em;" value="g := log(f)" />
+</form>
+<span id="commSav1-146" class="commSav" >g := log(f)</span>
+<div id="mathAns1-146" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mtable><mtr><mtd><mi>x</mi><mo>+</mo><mrow><mfrac><mn>1</mn><mn>2</mn></mfrac><mo></mo><mrow><msup><mi>x</mi><mn>2</mn></msup></mrow></mrow><mo>+</mo><mrow><mfrac><mn>1</mn><mn>3</mn></mfrac><mo></mo><mrow><msup><mi>x</mi><mn>3</mn></msup></mrow></mrow><mo>+</mo><mrow><mfrac><mn>1</mn><mn>4</mn></mfrac><mo></mo><mrow><msup><mi>x</mi><mn>4</mn></msup></mrow></mrow><mo>+</mo><mrow><mfrac><mn>1</mn><mn>5</mn></mfrac><mo></mo><mrow><msup><mi>x</mi><mn>5</mn></msup></mrow></mrow><mo>+</mo><mrow><mfrac><mn>1</mn><mn>6</mn></mfrac><mo></mo><mrow><msup><mi>x</mi><mn>6</mn></msup></mrow></mrow><mo>+</mo><mrow><mfrac><mn>1</mn><mn>7</mn></mfrac><mo></mo><mrow><msup><mi>x</mi><mn>7</mn></msup></mrow></mrow><mo>+</mo></mtd></mtr><mtr><mtd></mtd></mtr><mtr><mtd><mrow><mfrac><mn>1</mn><mn>8</mn></mfrac><mo></mo><mrow><msup><mi>x</mi><mn>8</mn></msup></mrow></mrow><mo>+</mo><mrow><mfrac><mn>1</mn><mn>9</mn></mfrac><mo></mo><mrow><msup><mi>x</mi><mn>9</mn></msup></mrow></mrow><mo>+</mo><mrow><mfrac><mn>1</mn><mn>10</mn></mfrac><mo></mo><mrow><msup><mi>x</mi><mn>10</mn></msup></mrow></mrow><mo>+</mo><mrow><mfrac><mn>1</mn><mn>11</mn></mfrac><mo></mo><mrow><msup><mi>x</mi><mn>11</mn></msup></mrow></mrow><mo>+</mo><mrow><mi>O</mi><mo>(</mo><mrow><msup><mi>x</mi><mn>12</mn></msup></mrow><mo>)</mo></mrow></mtd></mtr></mtable></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: UnivariatePuiseuxSeries(Expression Integer,x,0)
+</div>
+
+
+
+
+
+<div id="spadComm1-147" class="spadComm" >
+<form id="formComm1-147" action="javascript:makeRequest('1-147');" >
+<input id="comm1-147" type="text" class="command" style="width: 4em;" value="exp(g)" />
+</form>
+<span id="commSav1-147" class="commSav" >exp(g)</span>
+<div id="mathAns1-147" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mn>1</mn><mo>+</mo><mi>x</mi><mo>+</mo><mrow><msup><mi>x</mi><mn>2</mn></msup></mrow><mo>+</mo><mrow><msup><mi>x</mi><mn>3</mn></msup></mrow><mo>+</mo><mrow><msup><mi>x</mi><mn>4</mn></msup></mrow><mo>+</mo><mrow><msup><mi>x</mi><mn>5</mn></msup></mrow><mo>+</mo><mrow><msup><mi>x</mi><mn>6</mn></msup></mrow><mo>+</mo><mrow><msup><mi>x</mi><mn>7</mn></msup></mrow><mo>+</mo><mrow><msup><mi>x</mi><mn>8</mn></msup></mrow><mo>+</mo><mrow><msup><mi>x</mi><mn>9</mn></msup></mrow><mo>+</mo><mrow><msup><mi>x</mi><mn>10</mn></msup></mrow><mo>+</mo><mrow><mi>O</mi><mo>(</mo><mrow><msup><mi>x</mi><mn>11</mn></msup></mrow><mo>)</mo></mrow></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: UnivariatePuiseuxSeries(Expression Integer,x,0)
+</div>
+
+
+
+<p><!-- Warning: currently there are (interpreter) problems with converting
+ rational functions and polynomials to power series.-->
+</p>
+
+
+<p>Here is a way to obtain numerical approximations of
+<math xmlns="&mathml;" mathsize="big"><mstyle><mi>e</mi></mstyle></math> from the Taylor series expansion of <span style="font-weight: bold;"> exp</span>(x).
+First create the desired Taylor expansion.
+</p>
+
+
+
+<div id="spadComm1-148" class="spadComm" >
+<form id="formComm1-148" action="javascript:makeRequest('1-148');" >
+<input id="comm1-148" type="text" class="command" style="width: 13em;" value="f := taylor(exp(x))" />
+</form>
+<span id="commSav1-148" class="commSav" >f := taylor(exp(x))</span>
+<div id="mathAns1-148" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mn>1</mn><mo>+</mo><mi>x</mi><mo>+</mo><mrow><mfrac><mn>1</mn><mn>2</mn></mfrac><mo></mo><mrow><msup><mi>x</mi><mn>2</mn></msup></mrow></mrow><mo>+</mo><mrow><mfrac><mn>1</mn><mn>6</mn></mfrac><mo></mo><mrow><msup><mi>x</mi><mn>3</mn></msup></mrow></mrow><mo>+</mo><mrow><mfrac><mn>1</mn><mn>24</mn></mfrac><mo></mo><mrow><msup><mi>x</mi><mn>4</mn></msup></mrow></mrow><mo>+</mo><mrow><mfrac><mn>1</mn><mn>120</mn></mfrac><mo></mo><mrow><msup><mi>x</mi><mn>5</mn></msup></mrow></mrow><mo>+</mo><mrow><mfrac><mn>1</mn><mn>720</mn></mfrac><mo></mo><mrow><msup><mi>x</mi><mn>6</mn></msup></mrow></mrow><mo>+</mo><mrow><mfrac><mn>1</mn><mn>5040</mn></mfrac><mo></mo><mrow><msup><mi>x</mi><mn>7</mn></msup></mrow></mrow><mo>+</mo><mrow><mfrac><mn>1</mn><mn>40320</mn></mfrac><mo></mo><mrow><msup><mi>x</mi><mn>8</mn></msup></mrow></mrow><mo>+</mo><mrow><mfrac><mn>1</mn><mn>362880</mn></mfrac><mo></mo><mrow><msup><mi>x</mi><mn>9</mn></msup></mrow></mrow><mo>+</mo><mrow><mfrac><mn>1</mn><mn>3628800</mn></mfrac><mo></mo><mrow><msup><mi>x</mi><mn>10</mn></msup></mrow></mrow><mo>+</mo><mrow><mi>O</mi><mo>(</mo><mrow><msup><mi>x</mi><mn>11</mn></msup></mrow><mo>)</mo></mrow></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: UnivariateTaylorSeries(Expression Integer,x,0)
+</div>
+
+
+
+<p>Evaluate the series at the value <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mn>1</mn><mo>.</mo><mn>0</mn></mrow></mstyle></math>.
+<!-- Warning: syntax for evaluating power series may change.-->
+As you see, you get a sequence of partial sums.
+</p>
+
+
+
+
+<div id="spadComm1-149" class="spadComm" >
+<form id="formComm1-149" action="javascript:makeRequest('1-149');" >
+<input id="comm1-149" type="text" class="command" style="width: 8em;" value="eval(f,1.0)" />
+</form>
+<span id="commSav1-149" class="commSav" >eval(f,1.0)</span>
+<div id="mathAns1-149" ></div>
+</div>
+
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mrow><mn>1</mn><mo>.</mo><mn>0</mn></mrow><mo>,</mo><mrow><mn>2</mn><mo>.</mo><mn>0</mn></mrow><mo>,</mo><mrow><mn>2</mn><mo>.</mo><mn>5</mn></mrow><mo>,</mo><mrow><mn>2</mn><mo>.</mo><mn>6666666666</mn><mn>666666667</mn></mrow><mo>,</mo><mrow><mn>2</mn><mo>.</mo><mn>7083333333</mn><mn>333333333</mn></mrow><mo>,</mo><mrow><mn>2</mn><mo>.</mo><mn>7166666666</mn><mn>666666667</mn></mrow><mo>,</mo><mrow><mn>2</mn><mo>.</mo><mn>7180555555</mn><mn>555555556</mn></mrow><mo>,</mo><mrow><mn>2</mn><mo>.</mo><mn>7182539682</mn><mn>53968254</mn></mrow><mo>,</mo><mrow><mn>2</mn><mo>.</mo><mn>7182787698</mn><mn>412698413</mn></mrow><mo>,</mo><mrow><mn>2</mn><mo>.</mo><mn>7182815255</mn><mn>731922399</mn></mrow><mo>,</mo><mo>&#x2026;</mo><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+
+<div class="returnType">
+Type: Stream Expression Float
+</div>
+
+
+
+
+
+</div><a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a>
+<a href="section-1.9.xhtml" style="margin-right: 10px;">Previous Section 1.9 Limits</a><a href="section-1.11.xhtml" style="margin-right: 10px;">Next Section 1.11 Derivatives</a>
+<a href="book-index.xhtml">Book Index</a></body>
+</html>
\ No newline at end of file
diff --git a/src/axiom-website/hyperdoc/axbook/section-1.11.xhtml b/src/axiom-website/hyperdoc/axbook/section-1.11.xhtml
new file mode 100644
index 0000000..335ec9e
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/section-1.11.xhtml
@@ -0,0 +1,460 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
+"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [
+<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
+]>
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:xlink="http://www.w3.org/1999/xlink" >
+
+
+  <head>
+    <title>Section1.11</title>
+    <link rel="stylesheet" type="text/css" href="graphicstyle.css" />
+    <script type="text/javascript" src="bookax1.js" />
+  </head>
+
+  <body>
+<a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a><a href="section-1.10.xhtml" style="margin-right: 10px;">Previous Section 1.10 Series</a><a href="section-1.12.xhtml" style="margin-right: 10px;">Next Section 1.12 Integration</a>
+<a href="book-index.xhtml">Book Index</a><div class="section"  id="sec-1.11">
+<h2 class="sectiontitle">1.11  Derivatives</h2>
+
+
+<a name="ugIntroCalcDeriv" class="label"/>
+
+
+<p>Use the Axiom function <span style="font-weight: bold;"> D</span> to differentiate an
+<span class="index">derivative</span><a name="chapter-1-74"/> expression.  <span class="index">differentiation</span><a name="chapter-1-75"/>
+</p>
+
+
+<p>To find the derivative of an expression <math xmlns="&mathml;" mathsize="big"><mstyle><mi>f</mi></mstyle></math> with respect to a
+variable <math xmlns="&mathml;" mathsize="big"><mstyle><mi>x</mi></mstyle></math>, enter <span style="font-weight: bold;"> D</span>(f, x).
+</p>
+
+
+
+
+<div id="spadComm1-150" class="spadComm" >
+<form id="formComm1-150" action="javascript:makeRequest('1-150');" >
+<input id="comm1-150" type="text" class="command" style="width: 10em;" value="f := exp exp x" />
+</form>
+<span id="commSav1-150" class="commSav" >f := exp exp x</span>
+<div id="mathAns1-150" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><msup><mi>e</mi><mrow><msup><mi>e</mi><mi>x</mi></msup></mrow></msup></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Expression Integer
+</div>
+
+
+
+
+
+<div id="spadComm1-151" class="spadComm" >
+<form id="formComm1-151" action="javascript:makeRequest('1-151');" >
+<input id="comm1-151" type="text" class="command" style="width: 5em;" value="D(f, x)" />
+</form>
+<span id="commSav1-151" class="commSav" >D(f, x)</span>
+<div id="mathAns1-151" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mrow><msup><mi>e</mi><mi>x</mi></msup></mrow><mo></mo><mrow><msup><mi>e</mi><mrow><msup><mi>e</mi><mi>x</mi></msup></mrow></msup></mrow></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Expression Integer
+</div>
+
+
+
+<p>An optional third argument <math xmlns="&mathml;" mathsize="big"><mstyle><mi>n</mi></mstyle></math> in <span style="font-weight: bold;"> D</span> asks Axiom for the <math xmlns="&mathml;" mathsize="big"><mstyle><mi>n</mi></mstyle></math>-th
+derivative of <math xmlns="&mathml;" mathsize="big"><mstyle><mi>f</mi></mstyle></math>.  This finds the fourth derivative of <math xmlns="&mathml;" mathsize="big"><mstyle><mi>f</mi></mstyle></math> with
+respect to <math xmlns="&mathml;" mathsize="big"><mstyle><mi>x</mi></mstyle></math>.
+</p>
+
+
+
+
+<div id="spadComm1-152" class="spadComm" >
+<form id="formComm1-152" action="javascript:makeRequest('1-152');" >
+<input id="comm1-152" type="text" class="command" style="width: 7em;" value="D(f, x, 4)" />
+</form>
+<span id="commSav1-152" class="commSav" >D(f, x, 4)</span>
+<div id="mathAns1-152" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mrow><mo>(</mo><mrow><msup><mrow><msup><mi>e</mi><mi>x</mi></msup></mrow><mn>4</mn></msup></mrow><mo>+</mo><mrow><mn>6</mn><mo></mo><mrow><msup><mrow><msup><mi>e</mi><mi>x</mi></msup></mrow><mn>3</mn></msup></mrow></mrow><mo>+</mo><mrow><mn>7</mn><mo></mo><mrow><msup><mrow><msup><mi>e</mi><mi>x</mi></msup></mrow><mn>2</mn></msup></mrow></mrow><mo>+</mo><mrow><msup><mi>e</mi><mi>x</mi></msup></mrow><mo>)</mo></mrow><mo></mo><mrow><msup><mi>e</mi><mrow><msup><mi>e</mi><mi>x</mi></msup></mrow></msup></mrow></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Expression Integer
+</div>
+
+
+
+<p>You can also compute partial derivatives by specifying the order of
+<span class="index">differentiation:partial</span><a name="chapter-1-76"/>
+differentiation.
+</p>
+
+
+
+<div id="spadComm1-153" class="spadComm" >
+<form id="formComm1-153" action="javascript:makeRequest('1-153');" >
+<input id="comm1-153" type="text" class="command" style="width: 12em;" value="g := sin(x**2 + y)" />
+</form>
+<span id="commSav1-153" class="commSav" >g := sin(x**2 + y)</span>
+<div id="mathAns1-153" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>sin</mo><mo>(</mo><mrow><mi>y</mi><mo>+</mo><mrow><msup><mi>x</mi><mn>2</mn></msup></mrow></mrow><mo>)</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Expression Integer
+</div>
+
+
+
+
+
+<div id="spadComm1-154" class="spadComm" >
+<form id="formComm1-154" action="javascript:makeRequest('1-154');" >
+<input id="comm1-154" type="text" class="command" style="width: 5em;" value="D(g, y)" />
+</form>
+<span id="commSav1-154" class="commSav" >D(g, y)</span>
+<div id="mathAns1-154" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>cos</mo><mo>(</mo><mrow><mi>y</mi><mo>+</mo><mrow><msup><mi>x</mi><mn>2</mn></msup></mrow></mrow><mo>)</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Expression Integer
+</div>
+
+
+
+
+
+<div id="spadComm1-155" class="spadComm" >
+<form id="formComm1-155" action="javascript:makeRequest('1-155');" >
+<input id="comm1-155" type="text" class="command" style="width: 12em;" value="D(g, [y, y, x, x])" />
+</form>
+<span id="commSav1-155" class="commSav" >D(g, [y, y, x, x])</span>
+<div id="mathAns1-155" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mrow><mn>4</mn><mo></mo><mrow><msup><mi>x</mi><mn>2</mn></msup></mrow><mo></mo><mrow><mo>sin</mo><mo>(</mo><mrow><mi>y</mi><mo>+</mo><mrow><msup><mi>x</mi><mn>2</mn></msup></mrow></mrow><mo>)</mo></mrow></mrow><mo>-</mo><mrow><mn>2</mn><mo></mo><mrow><mo>cos</mo><mo>(</mo><mrow><mi>y</mi><mo>+</mo><mrow><msup><mi>x</mi><mn>2</mn></msup></mrow></mrow><mo>)</mo></mrow></mrow></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Expression Integer
+</div>
+
+
+
+<p>Axiom can manipulate the derivatives (partial and iterated) of
+<span class="index">differentiation:formal</span><a name="chapter-1-77"/> expressions involving formal operators.
+All the dependencies must be explicit.
+</p>
+
+
+<p>This returns <math xmlns="&mathml;" mathsize="big"><mstyle><mn>0</mn></mstyle></math> since F (so far) does not explicitly depend on <math xmlns="&mathml;" mathsize="big"><mstyle><mi>x</mi></mstyle></math>.
+</p>
+
+
+
+
+<div id="spadComm1-156" class="spadComm" >
+<form id="formComm1-156" action="javascript:makeRequest('1-156');" >
+<input id="comm1-156" type="text" class="command" style="width: 4em;" value="D(F,x)" />
+</form>
+<span id="commSav1-156" class="commSav" >D(F,x)</span>
+<div id="mathAns1-156" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>0</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Polynomial Integer
+</div>
+
+
+
+<p>Suppose that we have F a function of <math xmlns="&mathml;" mathsize="big"><mstyle><mi>x</mi></mstyle></math>, <math xmlns="&mathml;" mathsize="big"><mstyle><mi>y</mi></mstyle></math>, and <math xmlns="&mathml;" mathsize="big"><mstyle><mi>z</mi></mstyle></math>,
+where <math xmlns="&mathml;" mathsize="big"><mstyle><mi>x</mi></mstyle></math> and <math xmlns="&mathml;" mathsize="big"><mstyle><mi>y</mi></mstyle></math> are themselves functions of <math xmlns="&mathml;" mathsize="big"><mstyle><mi>z</mi></mstyle></math>.
+</p>
+
+
+<p>Start by declaring that <math xmlns="&mathml;" mathsize="big"><mstyle><mi>F</mi></mstyle></math>, <math xmlns="&mathml;" mathsize="big"><mstyle><mi>x</mi></mstyle></math>, and <math xmlns="&mathml;" mathsize="big"><mstyle><mi>y</mi></mstyle></math> are operators.
+<span class="index">operator</span><a name="chapter-1-78"/>
+</p>
+
+
+
+
+<div id="spadComm1-157" class="spadComm" >
+<form id="formComm1-157" action="javascript:makeRequest('1-157');" >
+<input id="comm1-157" type="text" class="command" style="width: 35em;" value="F := operator 'F; x := operator 'x; y := operator 'y" />
+</form>
+<span id="commSav1-157" class="commSav" >F := operator 'F; x := operator 'x; y := operator 'y</span>
+<div id="mathAns1-157" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mi>y</mi></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: BasicOperator
+</div>
+
+
+
+<p>You can use F, <math xmlns="&mathml;" mathsize="big"><mstyle><mi>x</mi></mstyle></math>, and <math xmlns="&mathml;" mathsize="big"><mstyle><mi>y</mi></mstyle></math> in expressions.
+</p>
+
+
+
+
+<div id="spadComm1-158" class="spadComm" >
+<form id="formComm1-158" action="javascript:makeRequest('1-158');" >
+<input id="comm1-158" type="text" class="command" style="width: 22em;" value="a := F(x z, y z, z**2) + x y(z+1)" />
+</form>
+<span id="commSav1-158" class="commSav" >a := F(x z, y z, z**2) + x y(z+1)</span>
+<div id="mathAns1-158" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mrow><mi>x</mi><mo>(</mo><mrow><mi>y</mi><mo>(</mo><mrow><mi>z</mi><mo>+</mo><mn>1</mn></mrow><mo>)</mo></mrow><mo>)</mo></mrow><mo>+</mo><mrow><mi>F</mi><mo>(</mo><mrow><mrow><mi>x</mi><mo>(</mo><mi>z</mi><mo>)</mo></mrow><mo>,</mo><mrow><mi>y</mi><mo>(</mo><mi>z</mi><mo>)</mo></mrow><mo>,</mo><mrow><msup><mi>z</mi><mn>2</mn></msup></mrow></mrow><mo>)</mo></mrow></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Expression Integer
+</div>
+
+
+
+<p>Differentiate formally with respect to <math xmlns="&mathml;" mathsize="big"><mstyle><mi>z</mi></mstyle></math>.
+The formal derivatives appearing in <math xmlns="&mathml;" mathsize="big"><mstyle><mi>dadz</mi></mstyle></math> are not just formal symbols,
+but do represent the derivatives of <math xmlns="&mathml;" mathsize="big"><mstyle><mi>x</mi></mstyle></math>, <math xmlns="&mathml;" mathsize="big"><mstyle><mi>y</mi></mstyle></math>, and F.
+</p>
+
+
+
+
+<div id="spadComm1-159" class="spadComm" >
+<form id="formComm1-159" action="javascript:makeRequest('1-159');" >
+<input id="comm1-159" type="text" class="command" style="width: 10em;" value="dadz := D(a, z)" />
+</form>
+<span id="commSav1-159" class="commSav" >dadz := D(a, z)</span>
+<div id="mathAns1-159" ></div>
+</div>
+
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mtable><mtr><mtd><mrow><mn>2</mn><mo></mo><mi>z</mi><mo></mo><mrow><mrow><msub><mi>F</mi><mrow><mo>,</mo><mn>3</mn></mrow></msub></mrow><mo>(</mo><mrow><mrow><mi>x</mi><mo>(</mo><mi>z</mi><mo>)</mo></mrow><mo>,</mo><mrow><mi>y</mi><mo>(</mo><mi>z</mi><mo>)</mo></mrow><mo>,</mo><mrow><msup><mi>z</mi><mn>2</mn></msup></mrow></mrow><mo>)</mo></mrow></mrow><mo>+</mo><mrow><mrow><mrow><msubsup><mi>y</mi><mrow><mo></mo></mrow><mrow><mo>&prime;</mo></mrow></msubsup></mrow><mo>(</mo><mi>z</mi><mo>)</mo></mrow><mo></mo><mrow><mrow><msub><mi>F</mi><mrow><mo>,</mo><mn>2</mn></mrow></msub></mrow><mo>(</mo><mrow><mrow><mi>x</mi><mo>(</mo><mi>z</mi><mo>)</mo></mrow><mo>,</mo><mrow><mi>y</mi><mo>(</mo><mi>z</mi><mo>)</mo></mrow><mo>,</mo><mrow><msup><mi>z</mi><mn>2</mn></msup></mrow></mrow><mo>)</mo></mrow></mrow><mo>+</mo></mtd></mtr><mtr><mtd></mtd></mtr><mtr><mtd><mrow><mrow><mrow><msubsup><mi>x</mi><mrow><mo></mo></mrow><mrow><mo>&prime;</mo></mrow></msubsup></mrow><mo>(</mo><mi>z</mi><mo>)</mo></mrow><mo></mo><mrow><mrow><msub><mi>F</mi><mrow><mo>,</mo><mn>1</mn></mrow></msub></mrow><mo>(</mo><mrow><mrow><mi>x</mi><mo>(</mo><mi>z</mi><mo>)</mo></mrow><mo>,</mo><mrow><mi>y</mi><mo>(</mo><mi>z</mi><mo>)</mo></mrow><mo>,</mo><mrow><msup><mi>z</mi><mn>2</mn></msup></mrow></mrow><mo>)</mo></mrow></mrow><mo>+</mo><mrow><mrow><mrow><msubsup><mi>x</mi><mrow><mo></mo></mrow><mrow><mo>&prime;</mo></mrow></msubsup></mrow><mo>(</mo><mrow><mi>y</mi><mo>(</mo><mrow><mi>z</mi><mo>+</mo><mn>1</mn></mrow><mo>)</mo></mrow><mo>)</mo></mrow><mo></mo><mrow><mrow><msubsup><mi>y</mi><mrow><mo></mo></mrow><mrow><mo>&prime;</mo></mrow></msubsup></mrow><mo>(</mo><mrow><mi>z</mi><mo>+</mo><mn>1</mn></mrow><mo>)</mo></mrow></mrow></mtd></mtr></mtable></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Expression Integer
+</div>
+
+
+
+
+<p>You can evaluate the above for particular functional values of
+F, <math xmlns="&mathml;" mathsize="big"><mstyle><mi>x</mi></mstyle></math>, and <math xmlns="&mathml;" mathsize="big"><mstyle><mi>y</mi></mstyle></math>.  If <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mi>x</mi><mo>(</mo><mi>z</mi><mo>)</mo></mrow></mstyle></math> is <span style="font-weight: bold;"> exp</span>(z) and <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mi>y</mi><mo>(</mo><mi>z</mi><mo>)</mo></mrow></mstyle></math> is <span style="font-weight: bold;"> log</span>(z+1), 
+then evaluates <span class="teletype">dadz</span>.
+</p>
+
+
+
+
+<div id="spadComm1-160" class="spadComm" >
+<form id="formComm1-160" action="javascript:makeRequest('1-160');" >
+<input id="comm1-160" type="text" class="command" style="width: 36em;" value="eval(eval(dadz, 'x, z +-> exp z), 'y, z +-> log(z+1))" />
+</form>
+<span id="commSav1-160" class="commSav" >eval(eval(dadz, 'x, z +-> exp z), 'y, z +-> log(z+1))</span>
+<div id="mathAns1-160" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mfrac><mrow><mo>(</mo><mtable><mtr><mtd><mrow><mrow><mo>(</mo><mrow><mn>2</mn><mo></mo><mrow><msup><mi>z</mi><mn>2</mn></msup></mrow></mrow><mo>+</mo><mrow><mn>2</mn><mo></mo><mi>z</mi></mrow><mo>)</mo></mrow><mo></mo><mrow><mrow><msub><mi>F</mi><mrow><mo>,</mo><mn>3</mn></mrow></msub></mrow><mo>(</mo><mrow><mrow><msup><mi>e</mi><mi>z</mi></msup></mrow><mo>,</mo><mrow><mo>log</mo><mo>(</mo><mrow><mi>z</mi><mo>+</mo><mn>1</mn></mrow><mo>)</mo></mrow><mo>,</mo><mrow><msup><mi>z</mi><mn>2</mn></msup></mrow></mrow><mo>)</mo></mrow></mrow><mo>+</mo></mtd></mtr><mtr><mtd></mtd></mtr><mtr><mtd><mrow><mrow><msub><mi>F</mi><mrow><mo>,</mo><mn>2</mn></mrow></msub></mrow><mo>(</mo><mrow><mrow><msup><mi>e</mi><mi>z</mi></msup></mrow><mo>,</mo><mrow><mo>log</mo><mo>(</mo><mrow><mi>z</mi><mo>+</mo><mn>1</mn></mrow><mo>)</mo></mrow><mo>,</mo><mrow><msup><mi>z</mi><mn>2</mn></msup></mrow></mrow><mo>)</mo></mrow><mo>+</mo></mtd></mtr><mtr><mtd></mtd></mtr><mtr><mtd><mrow><mrow><mo>(</mo><mi>z</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo></mo><mrow><msup><mi>e</mi><mi>z</mi></msup></mrow><mo></mo><mrow><mrow><msub><mi>F</mi><mrow><mo>,</mo><mn>1</mn></mrow></msub></mrow><mo>(</mo><mrow><mrow><msup><mi>e</mi><mi>z</mi></msup></mrow><mo>,</mo><mrow><mo>log</mo><mo>(</mo><mrow><mi>z</mi><mo>+</mo><mn>1</mn></mrow><mo>)</mo></mrow><mo>,</mo><mrow><msup><mi>z</mi><mn>2</mn></msup></mrow></mrow><mo>)</mo></mrow></mrow><mo>+</mo><mi>z</mi><mo>+</mo><mn>1</mn></mtd></mtr></mtable><mo>)</mo></mrow><mrow><mi>z</mi><mo>+</mo><mn>1</mn></mrow></mfrac></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Expression Integer
+</div>
+
+
+
+<p>You obtain the same result by first evaluating <math xmlns="&mathml;" mathsize="big"><mstyle><mi>a</mi></mstyle></math> and
+then differentiating.
+</p>
+
+
+
+
+<div id="spadComm1-161" class="spadComm" >
+<form id="formComm1-161" action="javascript:makeRequest('1-161');" >
+<input id="comm1-161" type="text" class="command" style="width: 34em;" value="eval(eval(a, 'x, z +-> exp z), 'y, z +-> log(z+1))" />
+</form>
+<span id="commSav1-161" class="commSav" >eval(eval(a, 'x, z +-> exp z), 'y, z +-> log(z+1))</span>
+<div id="mathAns1-161" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mrow><mi>F</mi><mo>(</mo><mrow><mrow><msup><mi>e</mi><mi>z</mi></msup></mrow><mo>,</mo><mrow><mo>log</mo><mo>(</mo><mrow><mi>z</mi><mo>+</mo><mn>1</mn></mrow><mo>)</mo></mrow><mo>,</mo><mrow><msup><mi>z</mi><mn>2</mn></msup></mrow></mrow><mo>)</mo></mrow><mo>+</mo><mi>z</mi><mo>+</mo><mn>2</mn></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Expression Integer
+</div>
+
+
+
+
+
+<div id="spadComm1-162" class="spadComm" >
+<form id="formComm1-162" action="javascript:makeRequest('1-162');" >
+<input id="comm1-162" type="text" class="command" style="width: 6em;" value="D(%, z)" />
+</form>
+<span id="commSav1-162" class="commSav" >D(%, z)</span>
+<div id="mathAns1-162" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mfrac><mrow><mo>(</mo><mtable><mtr><mtd><mrow><mrow><mo>(</mo><mrow><mn>2</mn><mo></mo><mrow><msup><mi>z</mi><mn>2</mn></msup></mrow></mrow><mo>+</mo><mrow><mn>2</mn><mo></mo><mi>z</mi></mrow><mo>)</mo></mrow><mo></mo><mrow><mrow><msub><mi>F</mi><mrow><mo>,</mo><mn>3</mn></mrow></msub></mrow><mo>(</mo><mrow><mrow><msup><mi>e</mi><mi>z</mi></msup></mrow><mo>,</mo><mrow><mo>log</mo><mo>(</mo><mrow><mi>z</mi><mo>+</mo><mn>1</mn></mrow><mo>)</mo></mrow><mo>,</mo><mrow><msup><mi>z</mi><mn>2</mn></msup></mrow></mrow><mo>)</mo></mrow></mrow><mo>+</mo></mtd></mtr><mtr><mtd></mtd></mtr><mtr><mtd><mrow><mrow><msub><mi>F</mi><mrow><mo>,</mo><mn>2</mn></mrow></msub></mrow><mo>(</mo><mrow><mrow><msup><mi>e</mi><mi>z</mi></msup></mrow><mo>,</mo><mrow><mo>log</mo><mo>(</mo><mrow><mi>z</mi><mo>+</mo><mn>1</mn></mrow><mo>)</mo></mrow><mo>,</mo><mrow><msup><mi>z</mi><mn>2</mn></msup></mrow></mrow><mo>)</mo></mrow><mo>+</mo></mtd></mtr><mtr><mtd></mtd></mtr><mtr><mtd><mrow><mrow><mo>(</mo><mi>z</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo></mo><mrow><msup><mi>e</mi><mi>z</mi></msup></mrow><mo></mo><mrow><mrow><msub><mi>F</mi><mrow><mo>,</mo><mn>1</mn></mrow></msub></mrow><mo>(</mo><mrow><mrow><msup><mi>e</mi><mi>z</mi></msup></mrow><mo>,</mo><mrow><mo>log</mo><mo>(</mo><mrow><mi>z</mi><mo>+</mo><mn>1</mn></mrow><mo>)</mo></mrow><mo>,</mo><mrow><msup><mi>z</mi><mn>2</mn></msup></mrow></mrow><mo>)</mo></mrow></mrow><mo>+</mo><mi>z</mi><mo>+</mo><mn>1</mn></mtd></mtr></mtable><mo>)</mo></mrow><mrow><mi>z</mi><mo>+</mo><mn>1</mn></mrow></mfrac></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Expression Integer
+</div>
+
+
+
+
+
+</div><a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a>
+<a href="section-1.10.xhtml" style="margin-right: 10px;">Previous Section 1.10 Series</a><a href="section-1.12.xhtml" style="margin-right: 10px;">Next Section 1.12 Integration</a>
+<a href="book-index.xhtml">Book Index</a></body>
+</html>
\ No newline at end of file
diff --git a/src/axiom-website/hyperdoc/axbook/section-1.12.xhtml b/src/axiom-website/hyperdoc/axbook/section-1.12.xhtml
new file mode 100644
index 0000000..6a54ceb
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/section-1.12.xhtml
@@ -0,0 +1,445 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
+"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [
+<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
+]>
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:xlink="http://www.w3.org/1999/xlink" >
+
+
+  <head>
+    <title>Section1.12</title>
+    <link rel="stylesheet" type="text/css" href="graphicstyle.css" />
+    <script type="text/javascript" src="bookax1.js" />
+  </head>
+
+  <body>
+<a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a><a href="section-1.11.xhtml" style="margin-right: 10px;">Previous Section 1.11 Derivatives</a><a href="section-1.13.xhtml" style="margin-right: 10px;">Next Section 1.13 Differential Equations</a>
+<a href="book-index.xhtml">Book Index</a><div class="section"  id="sec-1.12">
+<h2 class="sectiontitle">1.12  Integration</h2>
+
+
+<a name="ugIntroIntegrate" class="label"/>
+
+
+<p>Axiom has extensive library facilities for integration.
+<span class="index">integration</span><a name="chapter-1-79"/>
+</p>
+
+
+<p>The first example is the integration of a fraction with denominator
+that factors into a quadratic and a quartic irreducible polynomial.
+The usual partial fraction approach used by most other computer
+algebra systems either fails or introduces expensive unneeded
+algebraic numbers.
+</p>
+
+
+<p>We use a factorization-free algorithm.
+</p>
+
+
+
+<div id="spadComm1-163" class="spadComm" >
+<form id="formComm1-163" action="javascript:makeRequest('1-163');" >
+<input id="comm1-163" type="text" class="command" style="width: 26em;" value="integrate((x**2+2*x+1)/((x+1)**6+1),x)" />
+</form>
+<span id="commSav1-163" class="commSav" >integrate((x**2+2*x+1)/((x+1)**6+1),x)</span>
+<div id="mathAns1-163" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mfrac><mrow><mo>arctan</mo><mo>(</mo><mrow><mrow><msup><mi>x</mi><mn>3</mn></msup></mrow><mo>+</mo><mrow><mn>3</mn><mo></mo><mrow><msup><mi>x</mi><mn>2</mn></msup></mrow></mrow><mo>+</mo><mrow><mn>3</mn><mo></mo><mi>x</mi></mrow><mo>+</mo><mn>1</mn></mrow><mo>)</mo></mrow><mn>3</mn></mfrac></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Union(Expression Integer,...)
+</div>
+
+
+
+<p>When real parameters are present, the form of the integral can depend on
+the signs of some expressions.
+</p>
+
+
+<p>Rather than query the user or make sign assumptions, Axiom returns
+all possible answers.
+</p>
+
+
+
+<div id="spadComm1-164" class="spadComm" >
+<form id="formComm1-164" action="javascript:makeRequest('1-164');" >
+<input id="comm1-164" type="text" class="command" style="width: 17em;" value="integrate(1/(x**2 + a),x)" />
+</form>
+<span id="commSav1-164" class="commSav" >integrate(1/(x**2 + a),x)</span>
+<div id="mathAns1-164" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mfrac><mrow><mo>log</mo><mo>(</mo><mfrac><mrow><mrow><mrow><mo>(</mo><mrow><msup><mi>x</mi><mn>2</mn></msup></mrow><mo>-</mo><mi>a</mi><mo>)</mo></mrow><mo></mo><mrow><msqrt><mrow><mo>-</mo><mi>a</mi></mrow></msqrt></mrow></mrow><mo>+</mo><mrow><mn>2</mn><mo></mo><mi>a</mi><mo></mo><mi>x</mi></mrow></mrow><mrow><mrow><msup><mi>x</mi><mn>2</mn></msup></mrow><mo>+</mo><mi>a</mi></mrow></mfrac><mo>)</mo></mrow><mrow><mn>2</mn><mo></mo><mrow><msqrt><mrow><mo>-</mo><mi>a</mi></mrow></msqrt></mrow></mrow></mfrac><mo>,</mo><mfrac><mrow><mo>arctan</mo><mo>(</mo><mfrac><mrow><mi>x</mi><mo></mo><mrow><msqrt><mi>a</mi></msqrt></mrow></mrow><mi>a</mi></mfrac><mo>)</mo></mrow><mrow><msqrt><mi>a</mi></msqrt></mrow></mfrac><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Union(List Expression Integer,...)
+</div>
+
+
+
+<p>The <span style="font-weight: bold;"> integrate</span> operation generally assumes that all
+parameters are real.  The only exception is when the integrand has
+complex valued quantities.
+</p>
+
+
+<p>If the parameter is complex instead of real, then the notion of sign
+is undefined and there is a unique answer.  You can request this
+answer by ``prepending'' the word ``complex'' to the command name:
+</p>
+
+
+
+
+<div id="spadComm1-165" class="spadComm" >
+<form id="formComm1-165" action="javascript:makeRequest('1-165');" >
+<input id="comm1-165" type="text" class="command" style="width: 22em;" value="complexIntegrate(1/(x**2 + a),x)" />
+</form>
+<span id="commSav1-165" class="commSav" >complexIntegrate(1/(x**2 + a),x)</span>
+<div id="mathAns1-165" ></div>
+</div>
+
+
+
+<p><!-- NOTE: the expression in the book is different but they differentiate
+to exactly the same answer. -->
+</p>
+
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mfrac><mrow><mrow><mo>log</mo><mo>(</mo><mfrac><mrow><mrow><mi>x</mi><mo></mo><mrow><msqrt><mrow><mo>-</mo><mi>a</mi></mrow></msqrt></mrow></mrow><mo>+</mo><mi>a</mi></mrow><mrow><msqrt><mrow><mo>-</mo><mi>a</mi></mrow></msqrt></mrow></mfrac><mo>)</mo></mrow><mo>-</mo><mrow><mo>log</mo><mo>(</mo><mfrac><mrow><mrow><mi>x</mi><mo></mo><mrow><msqrt><mrow><mo>-</mo><mi>a</mi></mrow></msqrt></mrow></mrow><mo>-</mo><mi>a</mi></mrow><mrow><msqrt><mrow><mo>-</mo><mi>a</mi></mrow></msqrt></mrow></mfrac><mo>)</mo></mrow></mrow><mrow><mn>2</mn><mo></mo><mrow><msqrt><mrow><mo>-</mo><mi>a</mi></mrow></msqrt></mrow></mrow></mfrac></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Expression Integer
+</div>
+
+
+
+<p>The following two examples illustrate the limitations of table-based
+approaches.  The two integrands are very similar, but the answer to
+one of them requires the addition of two new algebraic numbers.
+</p>
+
+
+<p>This one is the easy one.
+The next one looks very similar
+but the answer is much more complicated.
+</p>
+
+
+
+<div id="spadComm1-166" class="spadComm" >
+<form id="formComm1-166" action="javascript:makeRequest('1-166');" >
+<input id="comm1-166" type="text" class="command" style="width: 23em;" value="integrate(x**3 / (a+b*x)**(1/3),x)" />
+</form>
+<span id="commSav1-166" class="commSav" >integrate(x**3 / (a+b*x)**(1/3),x)</span>
+<div id="mathAns1-166" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mfrac><mrow><mrow><mo>(</mo><mrow><mn>120</mn><mo></mo><mrow><msup><mi>b</mi><mn>3</mn></msup></mrow><mo></mo><mrow><msup><mi>x</mi><mn>3</mn></msup></mrow></mrow><mo>-</mo><mrow><mn>135</mn><mo></mo><mi>a</mi><mo></mo><mrow><msup><mi>b</mi><mn>2</mn></msup></mrow><mo></mo><mrow><msup><mi>x</mi><mn>2</mn></msup></mrow></mrow><mo>+</mo><mrow><mn>162</mn><mo></mo><mrow><msup><mi>a</mi><mn>2</mn></msup></mrow><mo></mo><mi>b</mi><mo></mo><mi>x</mi></mrow><mo>-</mo><mrow><mn>243</mn><mo></mo><mrow><msup><mi>a</mi><mn>3</mn></msup></mrow></mrow><mo>)</mo></mrow><mo></mo><mrow><msup><mrow><mroot><mrow><mrow><mi>b</mi><mo></mo><mi>x</mi></mrow><mo>+</mo><mi>a</mi></mrow><mn>3</mn></mroot></mrow><mn>2</mn></msup></mrow></mrow><mrow><mn>440</mn><mo></mo><mrow><msup><mi>b</mi><mn>4</mn></msup></mrow></mrow></mfrac></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Union(Expression Integer,...)
+</div>
+
+
+
+<p>Only an algorithmic approach is guaranteed to find what new constants
+must be added in order to find a solution.
+</p>
+
+
+
+
+<div id="spadComm1-167" class="spadComm" >
+<form id="formComm1-167" action="javascript:makeRequest('1-167');" >
+<input id="comm1-167" type="text" class="command" style="width: 27em;" value="integrate(1 / (x**3 * (a+b*x)**(1/3)),x)" />
+</form>
+<span id="commSav1-167" class="commSav" >integrate(1 / (x**3 * (a+b*x)**(1/3)),x)</span>
+<div id="mathAns1-167" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mfrac><mrow><mo>(</mo><mtable><mtr><mtd><mo>-</mo><mrow><mn>2</mn><mo></mo><mrow><msup><mi>b</mi><mn>2</mn></msup></mrow><mo></mo><mrow><msup><mi>x</mi><mn>2</mn></msup></mrow><mo></mo><mrow><msqrt><mn>3</mn></msqrt></mrow><mo></mo><mrow><mo>log</mo><mo>(</mo><mrow><mrow><mrow><mroot><mi>a</mi><mn>3</mn></mroot></mrow><mo></mo><mrow><msup><mrow><mroot><mrow><mrow><mi>b</mi><mo></mo><mi>x</mi></mrow><mo>+</mo><mi>a</mi></mrow><mn>3</mn></mroot></mrow><mn>2</mn></msup></mrow></mrow><mo>+</mo><mrow><mrow><msup><mrow><mroot><mi>a</mi><mn>3</mn></mroot></mrow><mn>2</mn></msup></mrow><mo></mo><mrow><mroot><mrow><mrow><mi>b</mi><mo></mo><mi>x</mi></mrow><mo>+</mo><mi>a</mi></mrow><mn>3</mn></mroot></mrow></mrow><mo>+</mo><mi>a</mi></mrow><mo>)</mo></mrow></mrow><mo>+</mo></mtd></mtr><mtr><mtd></mtd></mtr><mtr><mtd><mrow><mn>4</mn><mo></mo><mrow><msup><mi>b</mi><mn>2</mn></msup></mrow><mo></mo><mrow><msup><mi>x</mi><mn>2</mn></msup></mrow><mo></mo><mrow><msqrt><mn>3</mn></msqrt></mrow><mo></mo><mrow><mo>log</mo><mo>(</mo><mrow><mrow><mrow><msup><mrow><mroot><mi>a</mi><mn>3</mn></mroot></mrow><mn>2</mn></msup></mrow><mo></mo><mrow><mroot><mrow><mrow><mi>b</mi><mo></mo><mi>x</mi></mrow><mo>+</mo><mi>a</mi></mrow><mn>3</mn></mroot></mrow></mrow><mo>-</mo><mi>a</mi></mrow><mo>)</mo></mrow></mrow><mo>+</mo></mtd></mtr><mtr><mtd></mtd></mtr><mtr><mtd><mrow><mn>12</mn><mo></mo><mrow><msup><mi>b</mi><mn>2</mn></msup></mrow><mo></mo><mrow><msup><mi>x</mi><mn>2</mn></msup></mrow><mo></mo><mrow><mo>arctan</mo><mo>(</mo><mfrac><mrow><mrow><mn>2</mn><mo></mo><mrow><msqrt><mn>3</mn></msqrt></mrow><mo></mo><mrow><msup><mrow><mroot><mi>a</mi><mn>3</mn></mroot></mrow><mn>2</mn></msup></mrow><mo></mo><mrow><mroot><mrow><mrow><mi>b</mi><mo></mo><mi>x</mi></mrow><mo>+</mo><mi>a</mi></mrow><mn>3</mn></mroot></mrow></mrow><mo>+</mo><mrow><mi>a</mi><mo></mo><mrow><msqrt><mn>3</mn></msqrt></mrow></mrow></mrow><mrow><mn>3</mn><mo></mo><mi>a</mi></mrow></mfrac><mo>)</mo></mrow></mrow><mo>+</mo></mtd></mtr><mtr><mtd></mtd></mtr><mtr><mtd><mrow><mrow><mo>(</mo><mrow><mn>12</mn><mo></mo><mi>b</mi><mo></mo><mi>x</mi></mrow><mo>-</mo><mrow><mn>9</mn><mo></mo><mi>a</mi></mrow><mo>)</mo></mrow><mo></mo><mrow><msqrt><mn>3</mn></msqrt></mrow><mo></mo><mrow><mroot><mi>a</mi><mn>3</mn></mroot></mrow><mo></mo><mrow><msup><mrow><mroot><mrow><mrow><mi>b</mi><mo></mo><mi>x</mi></mrow><mo>+</mo><mi>a</mi></mrow><mn>3</mn></mroot></mrow><mn>2</mn></msup></mrow></mrow></mtd></mtr></mtable><mo>)</mo></mrow><mrow><mn>18</mn><mo></mo><mrow><msup><mi>a</mi><mn>2</mn></msup></mrow><mo></mo><mrow><msup><mi>x</mi><mn>2</mn></msup></mrow><mo></mo><mrow><msqrt><mn>3</mn></msqrt></mrow><mo></mo><mrow><mroot><mi>a</mi><mn>3</mn></mroot></mrow></mrow></mfrac></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Union(Expression Integer,...)
+</div>
+
+
+
+<p>Some computer algebra systems use heuristics or table-driven
+approaches to integration.  When these systems cannot determine the
+answer to an integration problem, they reply ``I don't know.''  Axiom
+uses an algorithm which is a <span style="font-style: italic;"> decision procedure</span> for integration.
+If Axiom returns the original integral that conclusively proves that
+an integral cannot be expressed in terms of elementary functions.
+</p>
+
+
+<p>When Axiom returns an integral sign, it has proved that no answer
+exists as an elementary function.
+</p>
+
+
+
+
+<div id="spadComm1-168" class="spadComm" >
+<form id="formComm1-168" action="javascript:makeRequest('1-168');" >
+<input id="comm1-168" type="text" class="command" style="width: 26em;" value="integrate(log(1 + sqrt(a*x + b)) / x,x)" />
+</form>
+<span id="commSav1-168" class="commSav" >integrate(log(1 + sqrt(a*x + b)) / x,x)</span>
+<div id="mathAns1-168" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><msup><mo>&#x222B;</mo><mrow><mi>x</mi></mrow></msup><mrow><mfrac><mrow><mo>log</mo><mo>(</mo><mrow><mrow><msqrt><mrow><mi>b</mi><mo>+</mo><mrow><mo>%</mo><mi>Q</mi><mo></mo><mi>a</mi></mrow></mrow></msqrt></mrow><mo>+</mo><mn>1</mn></mrow><mo>)</mo></mrow><mrow><mo>%</mo><mi>Q</mi></mrow></mfrac><mo></mo><mrow><mi>d</mi><mo>%</mo><mi>Q</mi></mrow></mrow></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Union(Expression Integer,...)
+</div>
+
+
+
+<p>Axiom can handle complicated mixed functions much beyond what you
+can find in tables.
+</p>
+
+
+<p>Whenever possible, Axiom tries to express the answer using the
+functions present in the integrand.
+</p>
+
+
+
+
+<div id="spadComm1-169" class="spadComm" >
+<form id="formComm1-169" action="javascript:makeRequest('1-169');" >
+<input id="comm1-169" type="text" class="command" style="width: 58em;" value="integrate((sinh(1+sqrt(x+b))+2*sqrt(x+b)) / (sqrt(x+b) * (x + cosh(1+sqrt(x + b)))), x)" />
+</form>
+<span id="commSav1-169" class="commSav" >integrate((sinh(1+sqrt(x+b))+2*sqrt(x+b)) / (sqrt(x+b) * (x + cosh(1+sqrt(x + b)))), x)</span>
+<div id="mathAns1-169" ></div>
+</div>
+
+
+
+<p><!-- NOTE: the book has the same answer with a trailing ``+4'' term.
+This term is not generated by Axiom. -->
+</p>
+
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mrow><mn>2</mn><mo></mo><mrow><mo>log</mo><mo>(</mo><mfrac><mrow><mo>-</mo><mrow><mn>2</mn><mo></mo><mrow><mo>cosh</mo><mo>(</mo><mrow><mrow><msqrt><mrow><mi>x</mi><mo>+</mo><mi>b</mi></mrow></msqrt></mrow><mo>+</mo><mn>1</mn></mrow><mo>)</mo></mrow></mrow><mo>-</mo><mrow><mn>2</mn><mo></mo><mi>x</mi></mrow></mrow><mrow><mrow><mo>sinh</mo><mo>(</mo><mrow><mrow><msqrt><mrow><mi>x</mi><mo>+</mo><mi>b</mi></mrow></msqrt></mrow><mo>+</mo><mn>1</mn></mrow><mo>)</mo></mrow><mo>-</mo><mrow><mo>cosh</mo><mo>(</mo><mrow><mrow><msqrt><mrow><mi>x</mi><mo>+</mo><mi>b</mi></mrow></msqrt></mrow><mo>+</mo><mn>1</mn></mrow><mo>)</mo></mrow></mrow></mfrac><mo>)</mo></mrow></mrow><mo>-</mo><mrow><mn>2</mn><mo></mo><mrow><msqrt><mrow><mi>x</mi><mo>+</mo><mi>b</mi></mrow></msqrt></mrow></mrow></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Union(Expression Integer,...)
+</div>
+
+
+
+<p>A strong structure-checking algorithm in Axiom finds hidden algebraic
+relationships between functions.
+</p>
+
+
+
+
+<div id="spadComm1-170" class="spadComm" >
+<form id="formComm1-170" action="javascript:makeRequest('1-170');" >
+<input id="comm1-170" type="text" class="command" style="width: 18em;" value="integrate(tan(atan(x)/3),x)" />
+</form>
+<span id="commSav1-170" class="commSav" >integrate(tan(atan(x)/3),x)</span>
+<div id="mathAns1-170" ></div>
+</div>
+
+
+<p><!-- NOTE: the book has a trailing ``+16'' term in the numerator
+This is not generated by Axiom. -->
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mfrac><mrow><mo>(</mo><mtable><mtr><mtd><mrow><mn>8</mn><mo></mo><mrow><mo>log</mo><mo>(</mo><mrow><mrow><mn>3</mn><mo></mo><mrow><msup><mrow><mo>tan</mo><mo>(</mo><mfrac><mrow><mo>arctan</mo><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mn>3</mn></mfrac><mo>)</mo></mrow><mn>2</mn></msup></mrow></mrow><mo>-</mo><mn>1</mn></mrow><mo>)</mo></mrow></mrow><mo>-</mo><mrow><mn>3</mn><mo></mo><mrow><msup><mrow><mo>tan</mo><mo>(</mo><mfrac><mrow><mo>arctan</mo><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mn>3</mn></mfrac><mo>)</mo></mrow><mn>2</mn></msup></mrow></mrow><mo>+</mo></mtd></mtr><mtr><mtd></mtd></mtr><mtr><mtd><mrow><mn>18</mn><mo></mo><mi>x</mi><mo></mo><mrow><mo>tan</mo><mo>(</mo><mfrac><mrow><mo>arctan</mo><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mn>3</mn></mfrac><mo>)</mo></mrow></mrow></mtd></mtr></mtable><mo>)</mo></mrow><mn>18</mn></mfrac></mstyle></math>
+</p>
+
+
+
+<div class="returnType">
+Type: Union(Expression Integer,...)
+</div>
+
+
+
+<p>The discovery of this algebraic relationship is necessary for correct
+integration of this function.
+Here are the details:
+</p>
+
+
+
+<ol>
+<li>
+
+If <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mi>x</mi><mo>=</mo><mo>tan</mo><mi>t</mi></mrow></mstyle></math> and <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mi>g</mi><mo>=</mo><mo>tan</mo><mo>(</mo><mi>t</mi><mo>/</mo><mn>3</mn><mo>)</mo></mrow></mstyle></math> then the following 
+algebraic relation is true: <math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><msup><mi>g</mi><mn>3</mn></msup><mo>-</mo><mn>3</mn><msup><mi>xg</mi><mn>2</mn></msup><mo>-</mo><mn>3</mn><mi>g</mi><mo>+</mo><mi>x</mi><mo>=</mo><mn>0</mn></mrow></mstyle></math>
+</li>
+<li>
+Integrate <math xmlns="&mathml;" mathsize="big"><mstyle><mi>g</mi></mstyle></math> using this algebraic relation; this produces:
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mfrac><mrow><mo>(</mo><mn>24</mn><msup><mi>g</mi><mn>2</mn></msup><mo>-</mo><mn>8</mn><mo>)</mo><mo>log</mo><mo>(</mo><mn>3</mn><msup><mi>g</mi><mn>2</mn></msup><mo>-</mo><mn>1</mn><mo>)</mo><mo>+</mo><mo>(</mo><mn>81</mn><msup><mi>x</mi><mn>2</mn></msup><mo>+</mo><mn>24</mn><mo>)</mo><msup><mi>g</mi><mn>2</mn></msup><mo>+</mo><mn>72</mn><mi>xg</mi><mo>-</mo><mn>27</mn><msup><mi>x</mi><mn>2</mn></msup><mo>-</mo><mn>16</mn></mrow><mrow><mn>54</mn><msup><mi>g</mi><mn>2</mn></msup><mo>-</mo><mn>18</mn></mrow></mfrac></mstyle></math>
+</li>
+<li>
+Rationalize the denominator, producing:
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mfrac><mrow><mn>8</mn><mo>log</mo><mo>(</mo><mn>3</mn><msup><mi>g</mi><mn>2</mn></msup><mo>-</mo><mn>1</mn><mo>)</mo><mo>-</mo><mn>3</mn><msup><mi>g</mi><mn>2</mn></msup><mo>+</mo><mn>18</mn><mi>xg</mi><mo>+</mo><mn>16</mn></mrow><mn>18</mn></mfrac></mstyle></math>
+Replace <math xmlns="&mathml;" mathsize="big"><mstyle><mi>g</mi></mstyle></math> by the initial definition
+<math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mi>g</mi><mo>=</mo><mo>tan</mo><mo>(</mo><mo>arctan</mo><mo>(</mo><mi>x</mi><mo>)</mo><mo>/</mo><mn>3</mn><mo>)</mo></mrow></mstyle></math>
+to produce the final result.
+</li>
+</ol>
+
+
+
+<p>This is an example of a mixed function where
+the algebraic layer is over the transcendental one.
+</p>
+
+
+
+<div id="spadComm1-171" class="spadComm" >
+<form id="formComm1-171" action="javascript:makeRequest('1-171');" >
+<input id="comm1-171" type="text" class="command" style="width: 32em;" value="integrate((x + 1) / (x*(x + log x) ** (3/2)), x)" />
+</form>
+<span id="commSav1-171" class="commSav" >integrate((x + 1) / (x*(x + log x) ** (3/2)), x)</span>
+<div id="mathAns1-171" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>-</mo><mfrac><mrow><mn>2</mn><mo></mo><mrow><msqrt><mrow><mrow><mo>log</mo><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>+</mo><mi>x</mi></mrow></msqrt></mrow></mrow><mrow><mrow><mo>log</mo><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>+</mo><mi>x</mi></mrow></mfrac></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Union(Expression Integer,...)
+</div>
+
+
+
+<p>While incomplete for non-elementary functions, Axiom can
+handle some of them.
+</p>
+
+
+
+<div id="spadComm1-172" class="spadComm" >
+<form id="formComm1-172" action="javascript:makeRequest('1-172');" >
+<input id="comm1-172" type="text" class="command" style="width: 48em;" value="integrate(exp(-x**2) * erf(x) / (erf(x)**3 - erf(x)**2 - erf(x) + 1),x)" />
+</form>
+<span id="commSav1-172" class="commSav" >integrate(exp(-x**2) * erf(x) / (erf(x)**3 - erf(x)**2 - erf(x) + 1),x)</span>
+<div id="mathAns1-172" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mfrac><mrow><mrow><mrow><mo>(</mo><mrow><mi>erf</mi><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo></mo><mrow><msqrt><mi>&#x03C0;</mi></msqrt></mrow><mo></mo><mrow><mo>log</mo><mo>(</mo><mfrac><mrow><mrow><mi>erf</mi><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>-</mo><mn>1</mn></mrow><mrow><mrow><mi>erf</mi><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>+</mo><mn>1</mn></mrow></mfrac><mo>)</mo></mrow></mrow><mo>-</mo><mrow><mn>2</mn><mo></mo><mrow><msqrt><mi>&#x03C0;</mi></msqrt></mrow></mrow></mrow><mrow><mrow><mn>8</mn><mo></mo><mrow><mi>erf</mi><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow><mo>-</mo><mn>8</mn></mrow></mfrac></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Union(Expression Integer,...)
+</div>
+
+
+
+<p>More examples of Axiom's integration capabilities are discussed in
+Section <a href="section-8.8.xhtml#ugProblemIntegration" class="ref" >ugProblemIntegration</a> .
+</p>
+
+
+
+
+</div><a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a>
+<a href="section-1.11.xhtml" style="margin-right: 10px;">Previous Section 1.11 Derivatives</a><a href="section-1.13.xhtml" style="margin-right: 10px;">Next Section 1.13 Differential Equations</a>
+<a href="book-index.xhtml">Book Index</a></body>
+</html>
\ No newline at end of file
diff --git a/src/axiom-website/hyperdoc/axbook/section-1.13.xhtml b/src/axiom-website/hyperdoc/axbook/section-1.13.xhtml
new file mode 100644
index 0000000..3d897b7
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/section-1.13.xhtml
@@ -0,0 +1,445 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
+"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [
+<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
+]>
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:xlink="http://www.w3.org/1999/xlink" >
+
+
+  <head>
+    <title>Section1.13</title>
+    <link rel="stylesheet" type="text/css" href="graphicstyle.css" />
+    <script type="text/javascript" src="bookax1.js" />
+  </head>
+
+  <body>
+<a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a><a href="section-1.12.xhtml" style="margin-right: 10px;">Previous Section 1.12 Integration</a><a href="section-1.14.xhtml" style="margin-right: 10px;">Next Section 1.14 Solution of Equations</a>
+<a href="book-index.xhtml">Book Index</a><div class="section"  id="sec-1.13">
+<h2 class="sectiontitle">1.13  Differential Equations</h2>
+
+
+<a name="ugIntroDiffEqns" class="label"/>
+
+<p>The general approach used in integration also carries over to the
+solution of linear differential equations.
+</p>
+
+
+<p>Let's solve some differential equations.
+Let <math xmlns="&mathml;" mathsize="big"><mstyle><mi>y</mi></mstyle></math> be the unknown function in terms of <math xmlns="&mathml;" mathsize="big"><mstyle><mi>x</mi></mstyle></math>.
+</p>
+
+
+
+<div id="spadComm1-173" class="spadComm" >
+<form id="formComm1-173" action="javascript:makeRequest('1-173');" >
+<input id="comm1-173" type="text" class="command" style="width: 11em;" value="y := operator 'y" />
+</form>
+<span id="commSav1-173" class="commSav" >y := operator 'y</span>
+<div id="mathAns1-173" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mi>y</mi></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: BasicOperator
+</div>
+
+
+
+<p>Here we solve a third order equation with polynomial coefficients.
+</p>
+
+
+
+<div id="spadComm1-174" class="spadComm" >
+<form id="formComm1-174" action="javascript:makeRequest('1-174');" >
+<input id="comm1-174" type="text" class="command" style="width: 60em;" value="deq := x**3 * D(y x, x, 3) + x**2 * D(y x, x, 2) - 2 * x * D(y x, x) + 2 * y x = 2 * x**4" />
+</form>
+<span id="commSav1-174" class="commSav" >deq := x**3 * D(y x, x, 3) + x**2 * D(y x, x, 2) - 2 * x * D(y x, x) + 2 * y x = 2 * x**4</span>
+<div id="mathAns1-174" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mrow><mrow><mrow><msup><mi>x</mi><mn>3</mn></msup></mrow><mo></mo><mrow><mrow><msubsup><mi>y</mi><mrow><mo></mo></mrow><mrow><mrow><mo>&prime;</mo><mo>&prime;</mo><mo>&prime;</mo></mrow></mrow></msubsup></mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow><mo>+</mo><mrow><mrow><msup><mi>x</mi><mn>2</mn></msup></mrow><mo></mo><mrow><mrow><msubsup><mi>y</mi><mrow><mo></mo></mrow><mrow><mrow><mo>&prime;</mo><mo>&prime;</mo></mrow></mrow></msubsup></mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow><mo>-</mo><mrow><mn>2</mn><mo></mo><mi>x</mi><mo></mo><mrow><mrow><msubsup><mi>y</mi><mrow><mo></mo></mrow><mrow><mo>&prime;</mo></mrow></msubsup></mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow><mo>+</mo><mrow><mn>2</mn><mo></mo><mrow><mi>y</mi><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow></mrow><mo>=</mo><mrow><mn>2</mn><mo></mo><mrow><msup><mi>x</mi><mn>4</mn></msup></mrow></mrow></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Equation Expression Integer
+</div>
+
+
+
+
+
+<div id="spadComm1-175" class="spadComm" >
+<form id="formComm1-175" action="javascript:makeRequest('1-175');" >
+<input id="comm1-175" type="text" class="command" style="width: 11em;" value="solve(deq, y, x)" />
+</form>
+<span id="commSav1-175" class="commSav" >solve(deq, y, x)</span>
+<div id="mathAns1-175" ></div>
+</div>
+
+
+
+<p><!-- NOTE: the book has a different solution and it appears to be 
+less complicated than this one. -->
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mtable><mtr><mtd><mo>[</mo><mrow><mi>particular</mi><mo>=</mo><mfrac><mrow><mrow><msup><mi>x</mi><mn>5</mn></msup></mrow><mo>-</mo><mrow><mn>10</mn><mo></mo><mrow><msup><mi>x</mi><mn>3</mn></msup></mrow></mrow><mo>+</mo><mrow><mn>20</mn><mo></mo><mrow><msup><mi>x</mi><mn>2</mn></msup></mrow></mrow><mo>+</mo><mn>4</mn></mrow><mrow><mn>15</mn><mo></mo><mi>x</mi></mrow></mfrac></mrow><mo>,</mo></mtd></mtr><mtr><mtd></mtd></mtr><mtr><mtd><mrow><mi>basis</mi><mo>=</mo><mrow><mo>[</mo><mfrac><mrow><mrow><mn>2</mn><mo></mo><mrow><msup><mi>x</mi><mn>3</mn></msup></mrow></mrow><mo>-</mo><mrow><mn>3</mn><mo></mo><mrow><msup><mi>x</mi><mn>2</mn></msup></mrow></mrow><mo>+</mo><mn>1</mn></mrow><mi>x</mi></mfrac><mo>,</mo><mfrac><mrow><mrow><msup><mi>x</mi><mn>3</mn></msup></mrow><mo>-</mo><mn>1</mn></mrow><mi>x</mi></mfrac><mo>,</mo><mfrac><mrow><mrow><msup><mi>x</mi><mn>3</mn></msup></mrow><mo>-</mo><mrow><mn>3</mn><mo></mo><mrow><msup><mi>x</mi><mn>2</mn></msup></mrow></mrow><mo>-</mo><mn>1</mn></mrow><mi>x</mi></mfrac><mo>]</mo></mrow></mrow><mo>]</mo></mtd></mtr></mtable></mrow></mstyle></math>
+</p>
+
+
+
+<div class="returnType">
+Type: Union(Record(particular: Expression Integer,basis: List Expression Integer),...)
+</div>
+
+
+
+
+<p>Here we find all the algebraic function solutions of the equation.
+</p>
+
+
+
+<div id="spadComm1-176" class="spadComm" >
+<form id="formComm1-176" action="javascript:makeRequest('1-176');" >
+<input id="comm1-176" type="text" class="command" style="width: 42em;" value="deq := (x**2 + 1) * D(y x, x, 2) + 3 * x * D(y x, x) + y x = 0" />
+</form>
+<span id="commSav1-176" class="commSav" >deq := (x**2 + 1) * D(y x, x, 2) + 3 * x * D(y x, x) + y x = 0</span>
+<div id="mathAns1-176" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mrow><mrow><mrow><mo>(</mo><mrow><msup><mi>x</mi><mn>2</mn></msup></mrow><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo></mo><mrow><mrow><msubsup><mi>y</mi><mrow><mo></mo></mrow><mrow><mrow><mo>&prime;</mo><mo>&prime;</mo></mrow></mrow></msubsup></mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow><mo>+</mo><mrow><mn>3</mn><mo></mo><mi>x</mi><mo></mo><mrow><mrow><msubsup><mi>y</mi><mrow><mo></mo></mrow><mrow><mo>&prime;</mo></mrow></msubsup></mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow><mo>+</mo><mrow><mi>y</mi><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow><mo>=</mo><mn>0</mn></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Equation Expression Integer
+</div>
+
+
+
+
+
+<div id="spadComm1-177" class="spadComm" >
+<form id="formComm1-177" action="javascript:makeRequest('1-177');" >
+<input id="comm1-177" type="text" class="command" style="width: 11em;" value="solve(deq, y, x)" />
+</form>
+<span id="commSav1-177" class="commSav" >solve(deq, y, x)</span>
+<div id="mathAns1-177" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mrow><mi>particular</mi><mo>=</mo><mn>0</mn></mrow><mo>,</mo><mrow><mi>basis</mi><mo>=</mo><mrow><mo>[</mo><mfrac><mn>1</mn><mrow><msqrt><mrow><mrow><msup><mi>x</mi><mn>2</mn></msup></mrow><mo>+</mo><mn>1</mn></mrow></msqrt></mrow></mfrac><mo>,</mo><mfrac><mrow><mo>log</mo><mo>(</mo><mrow><mrow><msqrt><mrow><mrow><msup><mi>x</mi><mn>2</mn></msup></mrow><mo>+</mo><mn>1</mn></mrow></msqrt></mrow><mo>-</mo><mi>x</mi></mrow><mo>)</mo></mrow><mrow><msqrt><mrow><mrow><msup><mi>x</mi><mn>2</mn></msup></mrow><mo>+</mo><mn>1</mn></mrow></msqrt></mrow></mfrac><mo>]</mo></mrow></mrow><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Union(Record(particular: Expression Integer,basis: List Expression Integer),...)
+</div>
+
+
+
+<p>Coefficients of differential equations can come from arbitrary
+constant fields.  For example, coefficients can contain algebraic
+numbers.
+</p>
+
+
+<p>This example has solutions whose logarithmic derivative is an
+algebraic function of degree two.
+</p>
+
+
+
+
+<div id="spadComm1-178" class="spadComm" >
+<form id="formComm1-178" action="javascript:makeRequest('1-178');" >
+<input id="comm1-178" type="text" class="command" style="width: 37em;" value="eq := 2*x**3 * D(y x,x,2) + 3*x**2 * D(y x,x) - 2 * y x" />
+</form>
+<span id="commSav1-178" class="commSav" >eq := 2*x**3 * D(y x,x,2) + 3*x**2 * D(y x,x) - 2 * y x</span>
+<div id="mathAns1-178" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mrow><mn>2</mn><mo></mo><mrow><msup><mi>x</mi><mn>3</mn></msup></mrow><mo></mo><mrow><mrow><msubsup><mi>y</mi><mrow><mo></mo></mrow><mrow><mrow><mo>&prime;</mo><mo>&prime;</mo></mrow></mrow></msubsup></mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow><mo>+</mo><mrow><mn>3</mn><mo></mo><mrow><msup><mi>x</mi><mn>2</mn></msup></mrow><mo></mo><mrow><mrow><msubsup><mi>y</mi><mrow><mo></mo></mrow><mrow><mo>&prime;</mo></mrow></msubsup></mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow><mo>-</mo><mrow><mn>2</mn><mo></mo><mrow><mi>y</mi><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Expression Integer
+</div>
+
+
+
+
+
+<div id="spadComm1-179" class="spadComm" >
+<form id="formComm1-179" action="javascript:makeRequest('1-179');" >
+<input id="comm1-179" type="text" class="command" style="width: 13em;" value="solve(eq,y,x).basis" />
+</form>
+<span id="commSav1-179" class="commSav" >solve(eq,y,x).basis</span>
+<div id="mathAns1-179" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mrow><msup><mi>e</mi><mrow><mo>(</mo><mo>-</mo><mfrac><mn>2</mn><mrow><msqrt><mi>x</mi></msqrt></mrow></mfrac><mo>)</mo></mrow></msup></mrow><mo>,</mo><mrow><msup><mi>e</mi><mfrac><mn>2</mn><mrow><msqrt><mi>x</mi></msqrt></mrow></mfrac></msup></mrow><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List Expression Integer
+</div>
+
+
+
+<p>Here's another differential equation to solve.
+</p>
+
+
+
+<div id="spadComm1-180" class="spadComm" >
+<form id="formComm1-180" action="javascript:makeRequest('1-180');" >
+<input id="comm1-180" type="text" class="command" style="width: 31em;" value="deq := D(y x, x) = y(x) / (x + y(x) * log y x)" />
+</form>
+<span id="commSav1-180" class="commSav" >deq := D(y x, x) = y(x) / (x + y(x) * log y x)</span>
+<div id="mathAns1-180" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mrow><mrow><msubsup><mi>y</mi><mrow><mo></mo></mrow><mrow><mo>&prime;</mo></mrow></msubsup></mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><mi>y</mi><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mrow><mrow><mrow><mi>y</mi><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo></mo><mrow><mo>log</mo><mo>(</mo><mrow><mi>y</mi><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>)</mo></mrow></mrow><mo>+</mo><mi>x</mi></mrow></mfrac></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Equation Expression Integer
+</div>
+
+
+
+
+
+<div id="spadComm1-181" class="spadComm" >
+<form id="formComm1-181" action="javascript:makeRequest('1-181');" >
+<input id="comm1-181" type="text" class="command" style="width: 11em;" value="solve(deq, y, x)" />
+</form>
+<span id="commSav1-181" class="commSav" >solve(deq, y, x)</span>
+<div id="mathAns1-181" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mfrac><mrow><mrow><mrow><mi>y</mi><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo></mo><mrow><msup><mrow><mo>log</mo><mo>(</mo><mrow><mi>y</mi><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>)</mo></mrow><mn>2</mn></msup></mrow></mrow><mo>-</mo><mrow><mn>2</mn><mo></mo><mi>x</mi></mrow></mrow><mrow><mn>2</mn><mo></mo><mrow><mi>y</mi><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow></mfrac></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Union(Expression Integer,...)
+</div>
+
+
+
+<p>Rather than attempting to get a closed form solution of
+a differential equation, you instead might want to find an
+approximate solution in the form of a series.
+</p>
+
+
+<p>Let's solve a system of nonlinear first order equations and get a
+solution in power series.  Tell Axiom that <math xmlns="&mathml;" mathsize="big"><mstyle><mi>x</mi></mstyle></math> is also an
+operator.
+</p>
+
+
+
+
+<div id="spadComm1-182" class="spadComm" >
+<form id="formComm1-182" action="javascript:makeRequest('1-182');" >
+<input id="comm1-182" type="text" class="command" style="width: 11em;" value="x := operator 'x" />
+</form>
+<span id="commSav1-182" class="commSav" >x := operator 'x</span>
+<div id="mathAns1-182" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mi>x</mi></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: BasicOperator
+</div>
+
+
+
+<p>Here are the two equations forming our system.
+</p>
+
+
+
+<div id="spadComm1-183" class="spadComm" >
+<form id="formComm1-183" action="javascript:makeRequest('1-183');" >
+<input id="comm1-183" type="text" class="command" style="width: 21em;" value="eq1 := D(x(t), t) = 1 + x(t)**2" />
+</form>
+<span id="commSav1-183" class="commSav" >eq1 := D(x(t), t) = 1 + x(t)**2</span>
+<div id="mathAns1-183" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mrow><mrow><msubsup><mi>x</mi><mrow><mo></mo></mrow><mrow><mo>&prime;</mo></mrow></msubsup></mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><mrow><mrow><msup><mrow><mi>x</mi><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mn>2</mn></msup></mrow><mo>+</mo><mn>1</mn></mrow></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Equation Expression Integer
+</div>
+
+
+
+
+
+<div id="spadComm1-184" class="spadComm" >
+<form id="formComm1-184" action="javascript:makeRequest('1-184');" >
+<input id="comm1-184" type="text" class="command" style="width: 21em;" value="eq2 := D(y(t), t) = x(t) * y(t)" />
+</form>
+<span id="commSav1-184" class="commSav" >eq2 := D(y(t), t) = x(t) * y(t)</span>
+<div id="mathAns1-184" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mrow><mrow><msubsup><mi>y</mi><mrow><mo></mo></mrow><mrow><mo>&prime;</mo></mrow></msubsup></mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><mrow><mrow><mi>x</mi><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo></mo><mrow><mi>y</mi><mo>(</mo><mi>t</mi><mo>)</mo></mrow></mrow></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Equation Expression Integer
+</div>
+
+
+
+<p>We can solve the system around <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mi>t</mi><mo>=</mo><mn>0</mn></mrow></mstyle></math> with the initial
+conditions <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mi>x</mi><mo>(</mo><mn>0</mn><mo>)</mo><mo>=</mo><mn>0</mn></mrow></mstyle></math> and <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mi>y</mi><mo>(</mo><mn>0</mn><mo>)</mo><mo>=</mo><mn>1</mn></mrow></mstyle></math>.  Notice that since
+we give the unknowns in the order <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mo>[</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>]</mo></mrow></mstyle></math>, the answer is a list
+of two series in the order 
+<math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mo>[</mo><mrow><mtext>series&nbsp;for&nbsp;</mtext></mrow><mi>x</mi><mo>(</mo><mi>t</mi><mo>)</mo><mo>,</mo><mrow><mtext>series&nbsp;for&nbsp;</mtext></mrow><mi>y</mi><mo>(</mo><mi>t</mi><mo>)</mo><mo>]</mo></mrow></mstyle></math>.
+</p>
+
+
+
+
+<div id="spadComm1-185" class="spadComm" >
+<form id="formComm1-185" action="javascript:makeRequest('1-185');" >
+<input id="comm1-185" type="text" class="command" style="width: 40em;" value="seriesSolve([eq2, eq1], [x, y], t = 0, [y(0) = 1, x(0) = 0])" />
+</form>
+<span id="commSav1-185" class="commSav" >seriesSolve([eq2, eq1], [x, y], t = 0, [y(0) = 1, x(0) = 0])</span>
+<div id="mathAns1-185" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mrow><mo></mo><mi>t</mi><mo>+</mo><mrow><mfrac><mn>1</mn><mn>3</mn></mfrac><mo></mo><mrow><msup><mi>t</mi><mn>3</mn></msup></mrow></mrow><mo>+</mo><mrow><mfrac><mn>2</mn><mn>15</mn></mfrac><mo></mo><mrow><msup><mi>t</mi><mn>5</mn></msup></mrow></mrow><mo>+</mo><mrow><mfrac><mn>17</mn><mn>315</mn></mfrac><mo></mo><mrow><msup><mi>t</mi><mn>7</mn></msup></mrow></mrow><mo>+</mo><mrow><mfrac><mn>62</mn><mn>2835</mn></mfrac><mo></mo><mrow><msup><mi>t</mi><mn>9</mn></msup></mrow></mrow><mo>+</mo><mrow><mi>O</mi><mo>(</mo><mrow><msup><mi>t</mi><mn>11</mn></msup></mrow><mo>)</mo></mrow></mrow><mo>,</mo><mrow><mn>1</mn><mo>+</mo><mrow><mfrac><mn>1</mn><mn>2</mn></mfrac><mo></mo><mrow><msup><mi>t</mi><mn>2</mn></msup></mrow></mrow><mo>+</mo><mrow><mfrac><mn>5</mn><mn>24</mn></mfrac><mo></mo><mrow><msup><mi>t</mi><mn>4</mn></msup></mrow></mrow><mo>+</mo><mrow><mfrac><mn>61</mn><mn>720</mn></mfrac><mo></mo><mrow><msup><mi>t</mi><mn>6</mn></msup></mrow></mrow><mo>+</mo><mrow><mfrac><mn>277</mn><mn>8064</mn></mfrac><mo></mo><mrow><msup><mi>t</mi><mn>8</mn></msup></mrow></mrow><mo>+</mo><mrow><mfrac><mn>50521</mn><mn>3628800</mn></mfrac><mo></mo><mrow><msup><mi>t</mi><mn>10</mn></msup></mrow></mrow><mo>+</mo><mrow><mi>O</mi><mo>(</mo><mrow><msup><mi>t</mi><mn>11</mn></msup></mrow><mo>)</mo></mrow></mrow><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List UnivariateTaylorSeries(Expression Integer,t,0)
+</div>
+
+
+
+
+
+</div><a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a>
+<a href="section-1.12.xhtml" style="margin-right: 10px;">Previous Section 1.12 Integration</a><a href="section-1.14.xhtml" style="margin-right: 10px;">Next Section 1.14 Solution of Equations</a>
+<a href="book-index.xhtml">Book Index</a></body>
+</html>
\ No newline at end of file
diff --git a/src/axiom-website/hyperdoc/axbook/section-1.14.xhtml b/src/axiom-website/hyperdoc/axbook/section-1.14.xhtml
new file mode 100644
index 0000000..6a955a8
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/section-1.14.xhtml
@@ -0,0 +1,235 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
+"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [
+<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
+]>
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:xlink="http://www.w3.org/1999/xlink" >
+
+
+  <head>
+    <title>Section1.14</title>
+    <link rel="stylesheet" type="text/css" href="graphicstyle.css" />
+    <script type="text/javascript" src="bookax1.js" />
+  </head>
+
+  <body>
+<a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a><a href="section-1.13.xhtml" style="margin-right: 10px;">Previous Section 1.13 Differential Equations</a><a href="section-1.15.xhtml" style="margin-right: 10px;">Next Section 1.15 System Commands</a>
+<a href="book-index.xhtml">Book Index</a><div class="section"  id="sec-1.14">
+<h2 class="sectiontitle">1.14  Solution of Equations</h2>
+
+
+<a name="ugIntroSolution" class="label"/>
+
+<p>Axiom also has state-of-the-art algorithms for the solution of
+systems of polynomial equations.  When the number of equations and
+unknowns is the same, and you have no symbolic coefficients, you can
+use <span style="font-weight: bold;"> solve</span> for real roots and <span style="font-weight: bold;"> complexSolve</span> for
+complex roots.  In each case, you tell Axiom how accurate you
+want your result to be.  All operations in the <span class="italic">solve</span> family
+return answers in the form of a list of solution sets, where each
+solution set is a list of equations.
+</p>
+
+
+<p>A system of two equations involving a symbolic parameter <math xmlns="&mathml;" mathsize="big"><mstyle><mi>t</mi></mstyle></math>.
+</p>
+
+
+
+<div id="spadComm1-186" class="spadComm" >
+<form id="formComm1-186" action="javascript:makeRequest('1-186');" >
+<input id="comm1-186" type="text" class="command" style="width: 26em;" value="S(t) == [x**2-2*y**2 - t,x*y-y-5*x + 5]" />
+</form>
+<span id="commSav1-186" class="commSav" >S(t) == [x**2-2*y**2 - t,x*y-y-5*x + 5]</span>
+<div id="mathAns1-186" ></div>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Void
+</div>
+
+
+
+<p>Find the real roots of <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mi>S</mi><mo>(</mo><mn>19</mn><mo>)</mo></mrow></mstyle></math> with
+rational arithmetic, correct to within <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mn>1</mn><mo>/</mo><msup><mn>10</mn><mn>20</mn></msup></mrow></mstyle></math>.
+</p>
+
+
+
+<div id="spadComm1-187" class="spadComm" >
+<form id="formComm1-187" action="javascript:makeRequest('1-187');" >
+<input id="comm1-187" type="text" class="command" style="width: 14em;" value="solve(S(19),1/10**20)" />
+</form>
+<span id="commSav1-187" class="commSav" >solve(S(19),1/10**20)</span>
+<div id="mathAns1-187" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mrow><mo>[</mo><mrow><mi>y</mi><mo>=</mo><mn>5</mn></mrow><mo>,</mo><mrow><mi>x</mi><mo>=</mo><mo>-</mo><mfrac><mn>2451682632253093442511</mn><mn>295147905179352825856</mn></mfrac></mrow><mo>]</mo></mrow><mo>,</mo><mrow><mo>[</mo><mrow><mi>y</mi><mo>=</mo><mn>5</mn></mrow><mo>,</mo><mrow><mi>x</mi><mo>=</mo><mfrac><mn>2451682632253093442511</mn><mn>295147905179352825856</mn></mfrac></mrow><mo>]</mo></mrow><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List List Equation Polynomial Fraction Integer
+</div>
+
+
+
+<p>Find the complex roots of <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mi>S</mi><mo>(</mo><mn>19</mn><mo>)</mo></mrow></mstyle></math> with floating
+point coefficients to <math xmlns="&mathml;" mathsize="big"><mstyle><mn>20</mn></mstyle></math> digits accuracy in the mantissa.
+</p>
+
+
+
+
+<div id="spadComm1-188" class="spadComm" >
+<form id="formComm1-188" action="javascript:makeRequest('1-188');" >
+<input id="comm1-188" type="text" class="command" style="width: 18em;" value="complexSolve(S(19),10.e-20)" />
+</form>
+<span id="commSav1-188" class="commSav" >complexSolve(S(19),10.e-20)</span>
+<div id="mathAns1-188" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mrow><mo>[</mo><mrow><mi>y</mi><mo>=</mo><mrow><mn>5</mn><mo>.</mo><mn>0</mn></mrow></mrow><mo>,</mo><mrow><mi>x</mi><mo>=</mo><mrow><mn>8</mn><mo>.</mo><mn>3066238629</mn><mn>180748526</mn></mrow></mrow><mo>]</mo></mrow><mo>,</mo><mrow><mo>[</mo><mrow><mi>y</mi><mo>=</mo><mrow><mn>5</mn><mo>.</mo><mn>0</mn></mrow></mrow><mo>,</mo><mrow><mi>x</mi><mo>=</mo><mo>-</mo><mrow><mn>8</mn><mo>.</mo><mn>3066238629</mn><mn>180748526</mn></mrow></mrow><mo>]</mo></mrow><mo>,</mo><mrow><mo>[</mo><mrow><mi>y</mi><mo>=</mo><mo>-</mo><mrow><mrow><mn>3</mn><mo>.</mo><mn>0</mn></mrow><mo></mo><mi>i</mi></mrow></mrow><mo>,</mo><mrow><mi>x</mi><mo>=</mo><mrow><mn>1</mn><mo>.</mo><mn>0</mn></mrow></mrow><mo>]</mo></mrow><mo>,</mo><mrow><mo>[</mo><mrow><mi>y</mi><mo>=</mo><mrow><mrow><mn>3</mn><mo>.</mo><mn>0</mn></mrow><mo></mo><mi>i</mi></mrow></mrow><mo>,</mo><mrow><mi>x</mi><mo>=</mo><mrow><mn>1</mn><mo>.</mo><mn>0</mn></mrow></mrow><mo>]</mo></mrow><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List List Equation Polynomial Complex Float
+</div>
+
+
+
+<p>If a system of equations has symbolic coefficients and you want
+a solution in radicals, try <span style="font-weight: bold;"> radicalSolve</span>.
+</p>
+
+
+
+<div id="spadComm1-189" class="spadComm" >
+<form id="formComm1-189" action="javascript:makeRequest('1-189');" >
+<input id="comm1-189" type="text" class="command" style="width: 16em;" value="radicalSolve(S(a),[x,y])" />
+</form>
+<span id="commSav1-189" class="commSav" >radicalSolve(S(a),[x,y])</span>
+<div id="mathAns1-189" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mrow><mo>[</mo><mrow><mi>x</mi><mo>=</mo><mo>-</mo><mrow><msqrt><mrow><mi>a</mi><mo>+</mo><mn>50</mn></mrow></msqrt></mrow></mrow><mo>,</mo><mrow><mi>y</mi><mo>=</mo><mn>5</mn></mrow><mo>]</mo></mrow><mo>,</mo><mrow><mo>[</mo><mrow><mi>x</mi><mo>=</mo><mrow><msqrt><mrow><mi>a</mi><mo>+</mo><mn>50</mn></mrow></msqrt></mrow></mrow><mo>,</mo><mrow><mi>y</mi><mo>=</mo><mn>5</mn></mrow><mo>]</mo></mrow><mo>,</mo><mrow><mo>[</mo><mrow><mi>x</mi><mo>=</mo><mn>1</mn></mrow><mo>,</mo><mrow><mi>y</mi><mo>=</mo><mrow><msqrt><mfrac><mrow><mo>-</mo><mi>a</mi><mo>+</mo><mn>1</mn></mrow><mn>2</mn></mfrac></msqrt></mrow></mrow><mo>]</mo></mrow><mo>,</mo><mrow><mo>[</mo><mrow><mi>x</mi><mo>=</mo><mn>1</mn></mrow><mo>,</mo><mrow><mi>y</mi><mo>=</mo><mo>-</mo><mrow><msqrt><mfrac><mrow><mo>-</mo><mi>a</mi><mo>+</mo><mn>1</mn></mrow><mn>2</mn></mfrac></msqrt></mrow></mrow><mo>]</mo></mrow><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List List Equation Expression Integer
+</div>
+
+
+
+<p>For systems of equations with symbolic coefficients, you can apply
+<span style="font-weight: bold;"> solve</span>, listing the variables that you want Axiom to
+solve for.  For polynomial equations, a solution cannot usually be
+expressed solely in terms of the other variables.  Instead, the
+solution is presented as a ``triangular'' system of equations, where
+each polynomial has coefficients involving only the succeeding
+variables. This is analogous to converting a linear system of
+equations to ``triangular form''.
+</p>
+
+
+<p>A system of three equations in five variables.
+</p>
+
+
+
+<div id="spadComm1-190" class="spadComm" >
+<form id="formComm1-190" action="javascript:makeRequest('1-190');" >
+<input id="comm1-190" type="text" class="command" style="width: 41em;" value="eqns := [x**2 - y + z,x**2*z + x**4 - b*y, y**2 *z - a - b*x]" />
+</form>
+<span id="commSav1-190" class="commSav" >eqns := [x**2 - y + z,x**2*z + x**4 - b*y, y**2 *z - a - b*x]</span>
+<div id="mathAns1-190" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mrow><mi>z</mi><mo>-</mo><mi>y</mi><mo>+</mo><mrow><msup><mi>x</mi><mn>2</mn></msup></mrow></mrow><mo>,</mo><mrow><mrow><mrow><msup><mi>x</mi><mn>2</mn></msup></mrow><mo></mo><mi>z</mi></mrow><mo>-</mo><mrow><mi>b</mi><mo></mo><mi>y</mi></mrow><mo>+</mo><mrow><msup><mi>x</mi><mn>4</mn></msup></mrow></mrow><mo>,</mo><mrow><mrow><mrow><msup><mi>y</mi><mn>2</mn></msup></mrow><mo></mo><mi>z</mi></mrow><mo>-</mo><mrow><mi>b</mi><mo></mo><mi>x</mi></mrow><mo>-</mo><mi>a</mi></mrow><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List Polynomial Integer
+</div>
+
+
+
+<p>Solve the system for unknowns <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mo>[</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>,</mo><mi>z</mi><mo>]</mo></mrow></mstyle></math>,
+reducing the solution to triangular form.
+</p>
+
+
+
+<div id="spadComm1-191" class="spadComm" >
+<form id="formComm1-191" action="javascript:makeRequest('1-191');" >
+<input id="comm1-191" type="text" class="command" style="width: 13em;" value="solve(eqns,[x,y,z])" />
+</form>
+<span id="commSav1-191" class="commSav" >solve(eqns,[x,y,z])</span>
+<div id="mathAns1-191" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mrow><mo>[</mo><mrow><mi>x</mi><mo>=</mo><mo>-</mo><mfrac><mi>a</mi><mi>b</mi></mfrac></mrow><mo>,</mo><mrow><mi>y</mi><mo>=</mo><mn>0</mn></mrow><mo>,</mo><mrow><mi>z</mi><mo>=</mo><mo>-</mo><mfrac><mrow><msup><mi>a</mi><mn>2</mn></msup></mrow><mrow><msup><mi>b</mi><mn>2</mn></msup></mrow></mfrac></mrow><mo>]</mo></mrow><mo>,</mo><mtable><mtr><mtd><mo>[</mo><mrow><mi>x</mi><mo>=</mo><mfrac><mrow><mrow><msup><mi>z</mi><mn>3</mn></msup></mrow><mo>+</mo><mrow><mn>2</mn><mo></mo><mi>b</mi><mo></mo><mrow><msup><mi>z</mi><mn>2</mn></msup></mrow></mrow><mo>+</mo><mrow><mrow><msup><mi>b</mi><mn>2</mn></msup></mrow><mo></mo><mi>z</mi></mrow><mo>-</mo><mi>a</mi></mrow><mi>b</mi></mfrac></mrow><mo>,</mo><mrow><mi>y</mi><mo>=</mo><mrow><mi>z</mi><mo>+</mo><mi>b</mi></mrow></mrow><mo>,</mo></mtd></mtr><mtr><mtd></mtd></mtr><mtr><mtd><mrow><msup><mi>z</mi><mn>6</mn></msup></mrow><mo>+</mo><mrow><mn>4</mn><mo></mo><mi>b</mi><mo></mo><mrow><msup><mi>z</mi><mn>5</mn></msup></mrow></mrow><mo>+</mo><mrow><mn>6</mn><mo></mo><mrow><msup><mi>b</mi><mn>2</mn></msup></mrow><mo></mo><mrow><msup><mi>z</mi><mn>4</mn></msup></mrow></mrow><mo>+</mo><mrow><mrow><mo>(</mo><mrow><mn>4</mn><mo></mo><mrow><msup><mi>b</mi><mn>3</mn></msup></mrow></mrow><mo>-</mo><mrow><mn>2</mn><mo></mo><mi>a</mi></mrow><mo>)</mo></mrow><mo></mo><mrow><msup><mi>z</mi><mn>3</mn></msup></mrow></mrow><mo>+</mo><mrow><mrow><mo>(</mo><mrow><msup><mi>b</mi><mn>4</mn></msup></mrow><mo>-</mo><mrow><mn>4</mn><mo></mo><mi>a</mi><mo></mo><mi>b</mi></mrow><mo>)</mo></mrow><mo></mo><mrow><msup><mi>z</mi><mn>2</mn></msup></mrow></mrow><mo>-</mo></mtd></mtr><mtr><mtd></mtd></mtr><mtr><mtd><mo>.</mo><mrow><mn>2</mn><mo></mo><mi>a</mi><mo></mo><mrow><msup><mi>b</mi><mn>2</mn></msup></mrow><mo></mo><mi>z</mi></mrow><mo>-</mo><mrow><msup><mi>b</mi><mn>3</mn></msup></mrow><mo>+</mo><mrow><msup><mi>a</mi><mn>2</mn></msup></mrow><mo>=</mo><mn>0</mn><mo>]</mo></mtd></mtr></mtable><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List List Equation Fraction Polynomial Integer
+</div>
+
+
+
+
+
+</div><a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a>
+<a href="section-1.13.xhtml" style="margin-right: 10px;">Previous Section 1.13 Differential Equations</a><a href="section-1.15.xhtml" style="margin-right: 10px;">Next Section 1.15 System Commands</a>
+<a href="book-index.xhtml">Book Index</a></body>
+</html>
\ No newline at end of file
diff --git a/src/axiom-website/hyperdoc/axbook/section-1.15.xhtml b/src/axiom-website/hyperdoc/axbook/section-1.15.xhtml
new file mode 100644
index 0000000..b99d138
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/section-1.15.xhtml
@@ -0,0 +1,484 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
+"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [
+<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
+]>
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:xlink="http://www.w3.org/1999/xlink" >
+
+
+  <head>
+    <title>Section1.15</title>
+    <link rel="stylesheet" type="text/css" href="graphicstyle.css" />
+    <script type="text/javascript" src="bookax1.js" />
+  </head>
+
+  <body>
+<a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a><a href="section-1.14.xhtml" style="margin-right: 10px;">Previous Section 1.14 Solution of Equations</a><a href="section-1.16.xhtml" style="margin-right: 10px;">Next Section 1.16 Graphics</a>
+<a href="book-index.xhtml">Book Index</a><div class="section"  id="sec-1.15">
+<h2 class="sectiontitle">1.15  System Commands</h2>
+
+
+<a name="ugIntroSysCmmands" class="label"/>
+
+
+
+<p>We conclude our tour of Axiom with a brief discussion of
+<span class="italic">system commands</span>.  System commands are special statements
+that start with a closing parenthesis (<span class="teletype">)</span>). They are used
+to control or display your Axiom environment, start the
+HyperDoc system, issue operating system commands and leave
+Axiom.  For example, <span class="teletype">)system</span> is used to issue commands
+to the operating system from Axiom.  Here
+is a brief description of some of these commands.  For more
+information on specific commands, see Appendix A .
+</p>
+
+
+
+<p>Perhaps the most important user command is the <span class="teletype">)clear all</span>
+command that initializes your environment.  Every section and
+subsection in this document has an invisible <span class="teletype">)clear all</span> that is
+read prior to the examples given in the section.  <span class="teletype">)clear all</span>
+gives you a fresh, empty environment with no user variables defined
+and the step number reset to <math xmlns="&mathml;" mathsize="big"><mstyle><mn>1</mn></mstyle></math>.  The <span class="teletype">)clear</span> command
+can also be used to selectively clear values and properties of system
+variables.
+</p>
+
+
+
+<p>Another useful system command is <span class="teletype">)read</span>.  A preferred way to
+develop an application in Axiom is to put your interactive
+commands into a file, say <span style="font-weight: bold;"> my.input</span> file.  To get Axiom to
+read this file, you use the system command <span class="teletype">)read my.input</span>.
+If you need to make changes to your approach or definitions, go into
+your favorite editor, change <span style="font-weight: bold;"> my.input</span>, then <span class="teletype">)read
+my.input</span> again.
+</p>
+
+
+
+<p>Other system commands include: <span class="teletype">)history</span>, to display
+previous input and/or output lines; <span class="teletype">)display</span>, to display
+properties and values of workspace variables; and <span class="teletype">)what</span>.
+</p>
+
+
+
+<p>Issue <span class="teletype">)what</span> to get a list of Axiom objects that
+contain a given substring in their name.
+</p>
+
+
+
+
+
+<div id="spadComm1-192" class="spadComm" >
+<form id="formComm1-192" action="javascript:makeRequest('1-192');" >
+<input id="comm1-192" type="text" class="command" style="width: 18em;" value=")what operations integrate" />
+</form>
+<span id="commSav1-192" class="commSav" >)what operations integrate</span>
+<div id="mathAns1-192" ></div>
+</div>
+
+
+
+
+
+<div class="verbatim"><br />
+Operations&nbsp;whose&nbsp;names&nbsp;satisfy&nbsp;the&nbsp;above&nbsp;pattern(s):<br />
+<br />
+HermiteIntegrate&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;algintegrate&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;complexIntegrate&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
+expintegrate&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;extendedIntegrate&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fintegrate&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
+infieldIntegrate&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;integrate&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;internalIntegrate&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
+internalIntegrate0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lazyGintegrate&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lazyIntegrate&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
+lfintegrate&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;limitedIntegrate&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;monomialIntegrate&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
+nagPolygonIntegrate&nbsp;&nbsp;&nbsp;&nbsp;palgintegrate&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pmComplexintegrate&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
+pmintegrate&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;primintegrate&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tanintegrate&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
+&nbsp;&nbsp;&nbsp;<br />
+To&nbsp;get&nbsp;more&nbsp;information&nbsp;about&nbsp;an&nbsp;operation&nbsp;such&nbsp;as&nbsp;<br />
+limitedIntegrate&nbsp;,&nbsp;issue&nbsp;the&nbsp;command&nbsp;)display&nbsp;op&nbsp;limitedIntegrate<br />
+</div>
+
+
+
+
+<a name="subsec-1.15.1"/>
+<div class="subsection"  id="subsec-1.15.1">
+<h3 class="subsectitle">1.15.1  Undo</h3>
+
+
+<a name="ugIntroUndo" class="label"/>
+
+
+
+<p>A useful system command is <span class="teletype">)undo</span>.  Sometimes while computing
+interactively with Axiom, you make a mistake and enter an
+incorrect definition or assignment.  Or perhaps you need to try one of
+several alternative approaches, one after another, to find the best
+way to approach an application.  For this, you will find the
+<span class="italic">undo</span> facility of Axiom helpful.
+</p>
+
+
+
+<p>System command <span class="teletype">)undo n</span> means ``undo back to step
+<math xmlns="&mathml;" mathsize="big"><mstyle><mi>n</mi></mstyle></math>''; it restores the values of user variables to those that
+existed immediately after input expression <math xmlns="&mathml;" mathsize="big"><mstyle><mi>n</mi></mstyle></math> was evaluated.
+Similarly, <span class="teletype">)undo -n</span> undoes changes caused by the last
+<math xmlns="&mathml;" mathsize="big"><mstyle><mi>n</mi></mstyle></math> input expressions.  Once you have done an <span class="teletype">)undo</span>,
+you can continue on from there, or make a change and <span style="font-weight: bold;"> redo</span> all
+your input expressions from the point of the <span class="teletype">)undo</span> forward.
+The <span class="teletype">)undo</span> is completely general: it changes the environment
+like any user expression.  Thus you can <span class="teletype">)undo</span> any previous
+undo.
+</p>
+
+
+
+<p>Here is a sample dialogue between user and Axiom.
+</p>
+
+
+
+<p>``Let me define
+two mutually dependent functions <math xmlns="&mathml;" mathsize="big"><mstyle><mi>f</mi></mstyle></math> and <math xmlns="&mathml;" mathsize="big"><mstyle><mi>g</mi></mstyle></math> piece-wise.''
+</p>
+
+
+
+
+
+<div id="spadComm1-193" class="spadComm" >
+<form id="formComm1-193" action="javascript:makeRequest('1-193');" >
+<input id="comm1-193" type="text" class="command" style="width: 14em;" value="f(0) == 1; g(0) == 1" />
+</form>
+<span id="commSav1-193" class="commSav" >f(0) == 1; g(0) == 1</span>
+<div id="mathAns1-193" ></div>
+</div>
+
+
+
+
+
+<div class="returnType">
+Type: Void
+</div>
+
+
+
+<p>``Here is the general term for <math xmlns="&mathml;" mathsize="big"><mstyle><mi>f</mi></mstyle></math>.''
+</p>
+
+
+
+
+
+<div id="spadComm1-194" class="spadComm" >
+<form id="formComm1-194" action="javascript:makeRequest('1-194');" >
+<input id="comm1-194" type="text" class="command" style="width: 20em;" value="f(n) == e/2*f(n-1) - x*g(n-1)" />
+</form>
+<span id="commSav1-194" class="commSav" >f(n) == e/2*f(n-1) - x*g(n-1)</span>
+<div id="mathAns1-194" ></div>
+</div>
+
+
+
+
+
+<div class="returnType">
+Type: Void
+</div>
+
+
+
+
+<p>``And here is the general term for <math xmlns="&mathml;" mathsize="big"><mstyle><mi>g</mi></mstyle></math>.''
+</p>
+
+
+
+
+
+<div id="spadComm1-195" class="spadComm" >
+<form id="formComm1-195" action="javascript:makeRequest('1-195');" >
+<input id="comm1-195" type="text" class="command" style="width: 20em;" value="g(n) == -x*f(n-1) + d/3*g(n-1)" />
+</form>
+<span id="commSav1-195" class="commSav" >g(n) == -x*f(n-1) + d/3*g(n-1)</span>
+<div id="mathAns1-195" ></div>
+</div>
+
+
+
+
+
+<div class="returnType">
+Type: Void
+</div>
+
+
+
+
+<p>``What is value of <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mi>f</mi><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mstyle></math>?''
+</p>
+
+
+
+
+
+<div id="spadComm1-196" class="spadComm" >
+<form id="formComm1-196" action="javascript:makeRequest('1-196');" >
+<input id="comm1-196" type="text" class="command" style="width: 3em;" value="f(3)" />
+</form>
+<span id="commSav1-196" class="commSav" >f(3)</span>
+<div id="mathAns1-196" ></div>
+</div>
+
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>-</mo><mrow><msup><mi>x</mi><mn>3</mn></msup></mrow><mo>+</mo><mrow><mrow><mo>(</mo><mi>e</mi><mo>+</mo><mrow><mfrac><mn>1</mn><mn>3</mn></mfrac><mo></mo><mi>d</mi></mrow><mo>)</mo></mrow><mo></mo><mrow><msup><mi>x</mi><mn>2</mn></msup></mrow></mrow><mo>+</mo><mrow><mrow><mo>(</mo><mo>-</mo><mrow><mfrac><mn>1</mn><mn>4</mn></mfrac><mo></mo><mrow><msup><mi>e</mi><mn>2</mn></msup></mrow></mrow><mo>-</mo><mrow><mfrac><mn>1</mn><mn>6</mn></mfrac><mo></mo><mi>d</mi><mo></mo><mi>e</mi></mrow><mo>-</mo><mrow><mfrac><mn>1</mn><mn>9</mn></mfrac><mo></mo><mrow><msup><mi>d</mi><mn>2</mn></msup></mrow></mrow><mo>)</mo></mrow><mo></mo><mi>x</mi></mrow><mo>+</mo><mrow><mfrac><mn>1</mn><mn>8</mn></mfrac><mo></mo><mrow><msup><mi>e</mi><mn>3</mn></msup></mrow></mrow></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+
+<div class="returnType">
+Type: Polynomial Fraction Integer
+</div>
+
+
+
+
+<p>``Hmm, I think I want to define <math xmlns="&mathml;" mathsize="big"><mstyle><mi>f</mi></mstyle></math> differently.
+Undo to the environment right after I defined <math xmlns="&mathml;" mathsize="big"><mstyle><mi>f</mi></mstyle></math>.''
+</p>
+
+
+
+<div id="spadComm1-197" class="spadComm" >
+<form id="formComm1-197" action="javascript:makeRequest('1-197');" >
+<input id="comm1-197" type="text" class="command" style="width: 5em;" value=")undo 2" />
+</form>
+<span id="commSav1-197" class="commSav" >)undo 2</span>
+<div id="mathAns1-197" ></div>
+</div>
+
+
+
+
+<p>``Here is how I think I want <math xmlns="&mathml;" mathsize="big"><mstyle><mi>f</mi></mstyle></math> to be defined instead.''
+</p>
+
+
+
+
+<div id="spadComm1-198" class="spadComm" >
+<form id="formComm1-198" action="javascript:makeRequest('1-198');" >
+<input id="comm1-198" type="text" class="command" style="width: 20em;" value="f(n) == d/3*f(n-1) - x*g(n-1)" />
+</form>
+<span id="commSav1-198" class="commSav" >f(n) == d/3*f(n-1) - x*g(n-1)</span>
+<div id="mathAns1-198" ></div>
+</div>
+
+
+
+
+
+<div class="verbatim"><br />
+&nbsp;&nbsp;&nbsp;1&nbsp;old&nbsp;definition(s)&nbsp;deleted&nbsp;for&nbsp;function&nbsp;or&nbsp;rule&nbsp;f&nbsp;<br />
+</div>
+
+
+
+
+
+<div class="returnType">
+Type: Void
+</div>
+
+
+
+
+<p>Redo the computation from expression <math xmlns="&mathml;" mathsize="big"><mstyle><mn>3</mn></mstyle></math> forward.
+</p>
+
+
+
+
+
+<div id="spadComm1-199" class="spadComm" >
+<form id="formComm1-199" action="javascript:makeRequest('1-199');" >
+<input id="comm1-199" type="text" class="command" style="width: 8em;" value=")undo )redo" />
+</form>
+<span id="commSav1-199" class="commSav" >)undo )redo</span>
+<div id="mathAns1-199" ></div>
+</div>
+
+
+
+
+
+<div class="verbatim"><br />
+g(n)&nbsp;==&nbsp;-x*f(n-1)&nbsp;+&nbsp;d/3*g(n-1)<br />
+&nbsp;<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Type:&nbsp;Void<br />
+f(3)<br />
+&nbsp;<br />
+&nbsp;&nbsp;&nbsp;Compiling&nbsp;function&nbsp;g&nbsp;with&nbsp;type&nbsp;Integer&nbsp;-&gt;&nbsp;Polynomial&nbsp;Fraction&nbsp;<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Integer&nbsp;<br />
+&nbsp;&nbsp;&nbsp;Compiling&nbsp;function&nbsp;g&nbsp;as&nbsp;a&nbsp;recurrence&nbsp;relation.<br />
+<br />
++++&nbsp;|*1;g;1;G82322;AUX|&nbsp;redefined<br />
+<br />
++++&nbsp;|*1;g;1;G82322|&nbsp;redefined<br />
+&nbsp;&nbsp;&nbsp;Compiling&nbsp;function&nbsp;g&nbsp;with&nbsp;type&nbsp;Integer&nbsp;-&gt;&nbsp;Polynomial&nbsp;Fraction&nbsp;<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Integer&nbsp;<br />
+&nbsp;&nbsp;&nbsp;Compiling&nbsp;function&nbsp;g&nbsp;as&nbsp;a&nbsp;recurrence&nbsp;relation.<br />
+<br />
++++&nbsp;|*1;g;1;G82322;AUX|&nbsp;redefined<br />
+<br />
++++&nbsp;|*1;g;1;G82322|&nbsp;redefined<br />
+&nbsp;&nbsp;&nbsp;Compiling&nbsp;function&nbsp;f&nbsp;with&nbsp;type&nbsp;Integer&nbsp;-&gt;&nbsp;Polynomial&nbsp;Fraction&nbsp;<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Integer&nbsp;<br />
+&nbsp;&nbsp;&nbsp;Compiling&nbsp;function&nbsp;f&nbsp;as&nbsp;a&nbsp;recurrence&nbsp;relation.<br />
+<br />
++++&nbsp;|*1;f;1;G82322;AUX|&nbsp;redefined<br />
+<br />
++++&nbsp;|*1;f;1;G82322|&nbsp;redefined<br />
+</div>
+
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>-</mo><mrow><msup><mi>x</mi><mn>3</mn></msup></mrow><mo>+</mo><mrow><mi>d</mi><mo></mo><mrow><msup><mi>x</mi><mn>2</mn></msup></mrow></mrow><mo>-</mo><mrow><mfrac><mn>1</mn><mn>3</mn></mfrac><mo></mo><mrow><msup><mi>d</mi><mn>2</mn></msup></mrow><mo></mo><mi>x</mi></mrow><mo>+</mo><mrow><mfrac><mn>1</mn><mn>27</mn></mfrac><mo></mo><mrow><msup><mi>d</mi><mn>3</mn></msup></mrow></mrow></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+
+<div class="returnType">
+Type: Polynomial Fraction Integer
+</div>
+
+
+
+
+<p>``I want my old definition of
+<math xmlns="&mathml;" mathsize="big"><mstyle><mi>f</mi></mstyle></math> after all. Undo the undo and restore
+the environment to that immediately after <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mstyle></math>.''
+</p>
+
+
+
+
+
+<div id="spadComm1-200" class="spadComm" >
+<form id="formComm1-200" action="javascript:makeRequest('1-200');" >
+<input id="comm1-200" type="text" class="command" style="width: 5em;" value=")undo 4" />
+</form>
+<span id="commSav1-200" class="commSav" >)undo 4</span>
+<div id="mathAns1-200" ></div>
+</div>
+
+
+
+
+<p>``Check that the value of <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mi>f</mi><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mstyle></math> is restored.''
+</p>
+
+
+
+
+
+<div id="spadComm1-201" class="spadComm" >
+<form id="formComm1-201" action="javascript:makeRequest('1-201');" >
+<input id="comm1-201" type="text" class="command" style="width: 3em;" value="f(3)" />
+</form>
+<span id="commSav1-201" class="commSav" >f(3)</span>
+<div id="mathAns1-201" ></div>
+</div>
+
+
+
+
+
+<div class="verbatim"><br />
+&nbsp;&nbsp;&nbsp;Compiling&nbsp;function&nbsp;g&nbsp;with&nbsp;type&nbsp;Integer&nbsp;-&gt;&nbsp;Polynomial&nbsp;Fraction&nbsp;<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Integer&nbsp;<br />
+&nbsp;&nbsp;&nbsp;Compiling&nbsp;function&nbsp;g&nbsp;as&nbsp;a&nbsp;recurrence&nbsp;relation.<br />
+<br />
++++&nbsp;|*1;g;1;G82322;AUX|&nbsp;redefined<br />
+<br />
++++&nbsp;|*1;g;1;G82322|&nbsp;redefined<br />
+&nbsp;&nbsp;&nbsp;Compiling&nbsp;function&nbsp;g&nbsp;with&nbsp;type&nbsp;Integer&nbsp;-&gt;&nbsp;Polynomial&nbsp;Fraction&nbsp;<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Integer&nbsp;<br />
+&nbsp;&nbsp;&nbsp;Compiling&nbsp;function&nbsp;g&nbsp;as&nbsp;a&nbsp;recurrence&nbsp;relation.<br />
+<br />
++++&nbsp;|*1;g;1;G82322;AUX|&nbsp;redefined<br />
+<br />
++++&nbsp;|*1;g;1;G82322|&nbsp;redefined<br />
+&nbsp;&nbsp;&nbsp;Compiling&nbsp;function&nbsp;f&nbsp;with&nbsp;type&nbsp;Integer&nbsp;-&gt;&nbsp;Polynomial&nbsp;Fraction&nbsp;<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Integer&nbsp;<br />
+&nbsp;&nbsp;&nbsp;Compiling&nbsp;function&nbsp;f&nbsp;as&nbsp;a&nbsp;recurrence&nbsp;relation.<br />
+<br />
++++&nbsp;|*1;f;1;G82322;AUX|&nbsp;redefined<br />
+<br />
++++&nbsp;|*1;f;1;G82322|&nbsp;redefined<br />
+</div>
+
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>-</mo><mrow><msup><mi>x</mi><mn>3</mn></msup></mrow><mo>+</mo><mrow><mrow><mo>(</mo><mi>e</mi><mo>+</mo><mrow><mfrac><mn>1</mn><mn>3</mn></mfrac><mo></mo><mi>d</mi></mrow><mo>)</mo></mrow><mo></mo><mrow><msup><mi>x</mi><mn>2</mn></msup></mrow></mrow><mo>+</mo><mrow><mrow><mo>(</mo><mo>-</mo><mrow><mfrac><mn>1</mn><mn>4</mn></mfrac><mo></mo><mrow><msup><mi>e</mi><mn>2</mn></msup></mrow></mrow><mo>-</mo><mrow><mfrac><mn>1</mn><mn>6</mn></mfrac><mo></mo><mi>d</mi><mo></mo><mi>e</mi></mrow><mo>-</mo><mrow><mfrac><mn>1</mn><mn>9</mn></mfrac><mo></mo><mrow><msup><mi>d</mi><mn>2</mn></msup></mrow></mrow><mo>)</mo></mrow><mo></mo><mi>x</mi></mrow><mo>+</mo><mrow><mfrac><mn>1</mn><mn>8</mn></mfrac><mo></mo><mrow><msup><mi>e</mi><mn>3</mn></msup></mrow></mrow></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+
+<div class="returnType">
+Type: Polynomial Fraction Integer
+</div>
+
+
+
+
+<p>After you have gone off on several tangents, then backtracked to
+previous points in your conversation using <span class="teletype">)undo</span>, you might
+want to save all the ``correct'' input commands you issued,
+disregarding those undone.  The system command <span class="teletype">)history
+)write mynew.input</span> writes a clean straight-line program onto the file
+<span style="font-weight: bold;"> mynew.input</span> on your disk.
+</p>
+
+
+
+
+
+</div>
+
+
+
+
+</div><a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a>
+<a href="section-1.14.xhtml" style="margin-right: 10px;">Previous Section 1.14 Solution of Equations</a><a href="section-1.16.xhtml" style="margin-right: 10px;">Next Section 1.16 Graphics</a>
+<a href="book-index.xhtml">Book Index</a></body>
+</html>
\ No newline at end of file
diff --git a/src/axiom-website/hyperdoc/axbook/section-1.16.xhtml b/src/axiom-website/hyperdoc/axbook/section-1.16.xhtml
new file mode 100644
index 0000000..a961e45
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/section-1.16.xhtml
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
+"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [
+<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
+]>
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:xlink="http://www.w3.org/1999/xlink" >
+
+
+  <head>
+    <title>Section1.16</title>
+    <link rel="stylesheet" type="text/css" href="graphicstyle.css" />
+    <script type="text/javascript" src="bookax1.js" />
+  </head>
+
+  <body>
+<a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a><a href="section-1.15.xhtml" style="margin-right: 10px;">Previous Section 1.15 System Commands</a><a href="section-2.0.xhtml" style="margin-right: 10px;">Next Section 2.0 Using Types and Modes</a><a href="book-index.xhtml">Book Index</a><div class="section"  id="sec-1.16">
+<h2 class="sectiontitle">1.16  Graphics</h2>
+
+
+<a name="ugIntroGraphics" class="label"/>
+
+
+
+<p>Axiom has a two- and three-dimensional drawing and rendering
+<span class="index">graphics</span><a name="chapter-1-80"/> package that allows you to draw, shade, color,
+rotate, translate, map, clip, scale and combine graphic output of
+Axiom computations.  The graphics interface is capable of
+plotting functions of one or more variables and plotting parametric
+surfaces.  Once the graphics figure appears in a window, move your
+mouse to the window and click.  A control panel appears immediately
+and allows you to interactively transform the object.
+</p>
+
+
+
+<p>This is an example of Axiom's two-dimensional plotting.
+From the 2D Control Panel you can rescale the plot, turn axes and units
+on and off and save the image, among other things.
+This PostScript image was produced by clicking on the
+<span style="font-weight: bold;"> PS</span> 2D Control Panel button.
+</p>
+
+
+
+
+
+<div class="spadgraph" style="width: 25em">
+draw(cos(5*t/8), t=0..16*%pi, coordinates==polar)
+</div>
+
+
+
+<table class="image">
+<tr><td>
+<img src="ps/P28a.png" alt=""/>
+</td></tr>
+<tr><td>
+<div class="figcaption">
+<math xmlns="&mathml;" mathsize="big"><mstyle><mrow><msub><mi>J</mi><mn>0</mn></msub><mo>(</mo><msqrt><mrow><msup><mi>x</mi><mn>2</mn></msup><mo>+</mo><msup><mi>y</mi><mn>2</mn></msup></mrow></msqrt><mo>)</mo></mrow></mstyle></math> for <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mo>-</mo><mn>20</mn><mo>&#x2264;</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>&#x2264;</mo><mn>20</mn></mrow></mstyle></math>
+</div>
+</td></tr>
+</table>
+
+<p>This is an example of Axiom's three-dimensional plotting.
+It is a monochrome graph of the complex arctangent
+function.
+The image displayed was rotated and had the ``shade'' and ``outline''
+display options set from the 3D Control Panel.
+The PostScript output was produced by clicking on the
+<span style="font-weight: bold;"> save</span> 3D Control Panel button and then
+clicking on the <span style="font-weight: bold;"> PS</span> button.
+See Section <a href="section-8.1.xhtml#ugProblemNumeric" class="ref" >ugProblemNumeric</a> 
+for more details and examples of Axiom's numeric and graphics capabilities.
+</p>
+
+
+
+
+
+<div class="spadgraph" style="width: 60em">
+draw((x,y) +-> real atan complex(x,y), -%pi..%pi, -%pi..%pi, colorFunction == (x,y) +-> argument atan complex(x,y))
+</div>
+
+
+<table class="image">
+<tr><td>
+<img src="ps/P28b.png" alt=""/>
+</td></tr>
+<tr><td>
+<div class="figcaption">atan</div>
+</td></tr>
+</table>
+
+<p>An exhibit of Axiom images is given later.  For a description of the
+commands and programs that produced these figures, see
+<a href="section-21.0.xhtml#ugAppGraphics" class="ref" >ugAppGraphics</a> .  PostScript
+<span class="index">PostScript</span><a name="chapter-1-81"/> output is available so that Axiom images can be
+printed.<span class="footnote">PostScript is a trademark of Adobe Systems
+Incorporated, registered in the United States.</span>  See <a href="section-7.0.xhtml#ugGraph" class="ref" >ugGraph</a> for more examples and details about using
+Axiom's graphics facilities.
+</p>
+
+
+
+<p>This concludes your tour of Axiom.
+To disembark, issue the system command <span class="teletype">)quit</span> to leave Axiom
+and return to the operating system.
+</p>
+
+
+
+
+</div><a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a>
+<a href="section-1.15.xhtml" style="margin-right: 10px;">Previous Section 1.15 System Commands</a><a href="section-2.0.xhtml" style="margin-right: 10px;">Next Section 2.0 Using Types and Modes</a><a href="book-index.xhtml">Book Index</a></body>
+</html>
\ No newline at end of file
diff --git a/src/axiom-website/hyperdoc/axbook/section-1.2.xhtml b/src/axiom-website/hyperdoc/axbook/section-1.2.xhtml
new file mode 100644
index 0000000..bc8c088
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/section-1.2.xhtml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
+"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [
+<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
+]>
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:xlink="http://www.w3.org/1999/xlink" >
+
+
+  <head>
+    <title>Section1.2</title>
+    <link rel="stylesheet" type="text/css" href="graphicstyle.css" />
+    <script type="text/javascript" src="bookax1.js" />
+  </head>
+
+  <body>
+<a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a><a href="section-1.1.xhtml" style="margin-right: 10px;">Previous Section 1.1 Starting Up and Winding Down</a><a href="section-1.3.xhtml" style="margin-right: 10px;">Next Section 1.3 The Axiom Language</a>
+<a href="book-index.xhtml">Book Index</a><div class="section"  id="sec-1.2">
+<h2 class="sectiontitle">1.2  Typographic Conventions</h2>
+
+
+<a name="ugIntroTypo" class="label"/>
+
+<p>In this document we have followed these typographical conventions:
+</p>
+
+
+
+<ul>
+<li>
+ Categories, domains and packages are displayed in this font:
+<span class="teletype">Ring</span>, <span class="teletype">Integer</span>, <span class="teletype">DiophantineSolutionPackage</span>.
+</li>
+<li> Prefix operators, infix operators, and punctuation symbols in 
+the Axiom language are displayed in the text like this:
+<span class="teletype">+</span>, <span class="teletype"> $</span>, <span class="teletype">+-></span>.
+</li>
+<li> Axiom expressions or expression fragments are displayed in this font:<br/>
+<span class="teletype">inc(x) == x + 1</span>.
+</li>
+<li> For clarity of presentation, <span class="texlogo">TeX</span> is often used to format expressions<br/>
+<math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mi>g</mi><mo>(</mo><mi>x</mi><mo>)</mo><mo>=</mo><msup><mi>x</mi><mn>2</mn></msup><mo>+</mo><mn>1</mn></mrow></mstyle></math>.
+</li>
+<li> Function names and HyperDoc button names are displayed in the text in
+this font:
+<span style="font-weight: bold;"> factor</span>, <span style="font-weight: bold;"> integrate</span>,  <span style="font-weight: bold;"> Lighting</span>.
+</li>
+<li> Italics are used for emphasis and for words defined in the glossary: <br/>
+<span class="italic">category</span>.
+</li>
+</ul>
+
+
+
+<p>This document contains over 2500 examples of Axiom input and output.  All
+examples were run though Axiom and their output was created in <span class="texlogo">TeX</span>
+form by the Axiom <span class="teletype">TexFormat</span> package.  We have deleted system
+messages from the example output if those messages are not important
+for the discussions in which the examples appear.
+</p>
+
+
+
+
+</div><a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a>
+<a href="section-1.1.xhtml" style="margin-right: 10px;">Previous Section 1.1 Starting Up and Winding Down</a><a href="section-1.3.xhtml" style="margin-right: 10px;">Next Section 1.3 The Axiom Language</a>
+<a href="book-index.xhtml">Book Index</a></body>
+</html>
\ No newline at end of file
diff --git a/src/axiom-website/hyperdoc/axbook/section-1.3.xhtml b/src/axiom-website/hyperdoc/axbook/section-1.3.xhtml
new file mode 100644
index 0000000..ac340ca
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/section-1.3.xhtml
@@ -0,0 +1,1342 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
+"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [
+<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
+]>
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:xlink="http://www.w3.org/1999/xlink" >
+
+
+  <head>
+    <title>Section1.3</title>
+    <link rel="stylesheet" type="text/css" href="graphicstyle.css" />
+    <script type="text/javascript" src="bookax1.js" />
+  </head>
+
+  <body>
+<a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a><a href="section-1.2.xhtml" style="margin-right: 10px;">Previous Section 1.2 Typographic Conventions</a><a href="section-1.4.xhtml" style="margin-right: 10px;">Next Section 1.4 Numbers</a>
+<a href="book-index.xhtml">Book Index</a><div class="section"  id="sec-1.3">
+<h2 class="sectiontitle">1.3  The Axiom Language</h2>
+
+
+<a name="ugIntroExpressions" class="label"/>
+
+<p>The Axiom language is a rich language for performing interactive
+computations and for building components of the Axiom library.
+Here we present only some basic aspects of the language that you need
+to know for the rest of this chapter.  Our discussion here is
+intentionally informal, with details unveiled on an ``as needed''
+basis.  For more information on a particular construct, we suggest you
+consult the index.
+</p>
+
+
+
+<a name="subsec-1.3.1"/>
+<div class="subsection"  id="subsec-1.3.1">
+<h3 class="subsectitle">1.3.1  Arithmetic Expressions</h3>
+
+
+<a name="ugIntroArithmetic" class="label"/>
+
+<p>For arithmetic expressions, use the ``<span class="teletype">+</span>'' and ``<span class="teletype">-</span>'' operator
+as in mathematics.  Use ``<span class="teletype">*</span>'' for multiplication, and ``<span class="teletype">**</span>''
+for exponentiation.  To create a fraction, use ``<span class="teletype">/</span>''.  When an
+expression contains several operators, those of highest
+<span class="italic">precedence</span> are evaluated first.  For arithmetic operators,
+``<span class="teletype">**</span>'' has highest precedence, ``<span class="teletype">*</span>'' and ``<span class="teletype">/</span>'' have the
+next highest precedence, and ``<span class="teletype">+</span>'' and ``<span class="teletype">-</span>'' have the lowest
+precedence.
+</p>
+
+
+<p>Axiom puts implicit parentheses around operations of higher
+precedence, and groups those of equal precedence from left to right.
+</p>
+
+
+
+<div id="spadComm1-1" class="spadComm" >
+<form id="formComm1-1" action="javascript:makeRequest('1-1');" >
+<input id="comm1-1" type="text" class="command" style="width: 18em;" value="1 + 2 - 3 / 4 * 3 ** 2 - 1" />
+</form>
+<span id="commSav1-1" class="commSav" >1 + 2 - 3 / 4 * 3 ** 2 - 1</span>
+<div id="mathAns1-1" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>-</mo><mfrac><mn>19</mn><mn>4</mn></mfrac></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Fraction Integer
+</div>
+
+
+
+<p>The above expression is equivalent to this.
+</p>
+
+
+
+<div id="spadComm1-2" class="spadComm" >
+<form id="formComm1-2" action="javascript:makeRequest('1-2');" >
+<input id="comm1-2" type="text" class="command" style="width: 24em;" value="((1 + 2) - ((3 / 4) * (3 ** 2))) - 1" />
+</form>
+<span id="commSav1-2" class="commSav" >((1 + 2) - ((3 / 4) * (3 ** 2))) - 1</span>
+<div id="mathAns1-2" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>-</mo><mfrac><mn>19</mn><mn>4</mn></mfrac></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Fraction Integer
+</div>
+
+
+
+<p>If an expression contains subexpressions enclosed in parentheses,
+the parenthesized subexpressions are evaluated first (from left to
+right, from inside out).
+</p>
+
+
+
+<div id="spadComm1-3" class="spadComm" >
+<form id="formComm1-3" action="javascript:makeRequest('1-3');" >
+<input id="comm1-3" type="text" class="command" style="width: 20em;" value="1 + 2 - 3/ (4 * 3 ** (2 - 1))" />
+</form>
+<span id="commSav1-3" class="commSav" >1 + 2 - 3/ (4 * 3 ** (2 - 1))</span>
+<div id="mathAns1-3" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mfrac><mn>11</mn><mn>4</mn></mfrac></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Fraction Integer
+</div>
+
+
+
+
+
+</div>
+
+
+
+<a name="subsec-1.3.2"/>
+<div class="subsection"  id="subsec-1.3.2">
+<h3 class="subsectitle">1.3.2  Previous Results</h3>
+
+
+<a name="ugIntroPrevious" class="label"/>
+
+<p>Use the percent sign ``<span class="teletype">%</span>'' to refer to the last result.
+<span class="index">result:previous</span><a name="chapter-1-12"/> Also, use ``<span class="teletype">%%</span>" to refer to
+previous results.  <span class="index">percentpercent@{%%}</span><a name="chapter-1-13"/> ``<span class="teletype">%%(-1)</span>'' is
+equivalent to ``<span class="teletype">%</span>'', ``<span class="teletype">%%(-2)</span>'' returns the next to
+the last result, and so on.  ``<span class="teletype">%%(1)</span>'' returns the result from
+step number 1, ``<span class="teletype">%%(2)</span>'' returns the result from step number 2,
+and so on.  ``<span class="teletype">%%(0)</span>'' is not defined.
+</p>
+
+
+<p>This is ten to the tenth power.
+</p>
+
+
+
+<div id="spadComm1-4" class="spadComm" >
+<form id="formComm1-4" action="javascript:makeRequest('1-4');" >
+<input id="comm1-4" type="text" class="command" style="width: 6em;" value="10 ** 10" />
+</form>
+<span id="commSav1-4" class="commSav" >10 ** 10</span>
+<div id="mathAns1-4" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>10000000000</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PositiveInteger
+</div>
+
+
+
+<p>This is the last result minus one.
+</p>
+
+
+
+<div id="spadComm1-5" class="spadComm" >
+<form id="formComm1-5" action="javascript:makeRequest('1-5');" >
+<input id="comm1-5" type="text" class="command" style="width: 4em;" value="% - 1" />
+</form>
+<span id="commSav1-5" class="commSav" >% - 1</span>
+<div id="mathAns1-5" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>9999999999</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PositiveInteger
+</div>
+
+
+
+<p>This is the last result.
+</p>
+
+
+
+<div id="spadComm1-6" class="spadComm" >
+<form id="formComm1-6" action="javascript:makeRequest('1-6');" >
+<input id="comm1-6" type="text" class="command" style="width: 6em;" value="%%(-1)" />
+</form>
+<span id="commSav1-6" class="commSav" >%%(-1)</span>
+<div id="mathAns1-6" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>9999999999</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PositiveInteger
+</div>
+
+
+
+<p>This is the result from step number 1.
+</p>
+
+
+
+<div id="spadComm1-7" class="spadComm" >
+<form id="formComm1-7" action="javascript:makeRequest('1-7');" >
+<input id="comm1-7" type="text" class="command" style="width: 5em;" value="%%(1)" />
+</form>
+<span id="commSav1-7" class="commSav" >%%(1)</span>
+<div id="mathAns1-7" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>10000000000</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PositiveInteger
+</div>
+
+
+
+
+
+</div>
+
+
+
+<a name="subsec-1.3.3"/>
+<div class="subsection"  id="subsec-1.3.3">
+<h3 class="subsectitle">1.3.3  Some Types</h3>
+
+
+<a name="ugIntroTypes" class="label"/>
+
+<p>Everything in Axiom has a type.  The type determines what operations
+you can perform on an object and how the object can be used.
+Chapter~<a href="section-2.0.xhtml#ugTypes" class="ref" >ugTypes</a>  is dedicated to the
+interactive use of types.  Several of the final chapters discuss how
+types are built and how they are organized in the Axiom library.
+</p>
+
+
+<p>Positive integers are given type <span style="font-weight: bold;"> PositiveInteger</span>.
+</p>
+
+
+
+<div id="spadComm1-8" class="spadComm" >
+<form id="formComm1-8" action="javascript:makeRequest('1-8');" >
+<input id="comm1-8" type="text" class="command" style="width: 1em;" value="8" />
+</form>
+<span id="commSav1-8" class="commSav" >8</span>
+<div id="mathAns1-8" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>8</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PositiveInteger
+</div>
+
+
+
+<p>Negative ones are given type <span style="font-weight: bold;"> Integer</span>.  This fine
+distinction is helpful to the Axiom interpreter.
+</p>
+
+
+
+
+<div id="spadComm1-9" class="spadComm" >
+<form id="formComm1-9" action="javascript:makeRequest('1-9');" >
+<input id="comm1-9" type="text" class="command" style="width: 2em;" value="-8" />
+</form>
+<span id="commSav1-9" class="commSav" >-8</span>
+<div id="mathAns1-9" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>-</mo><mn>8</mn></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Integer
+</div>
+
+
+
+<p>Here a positive integer exponent gives a polynomial result.
+</p>
+
+
+
+<div id="spadComm1-10" class="spadComm" >
+<form id="formComm1-10" action="javascript:makeRequest('1-10');" >
+<input id="comm1-10" type="text" class="command" style="width: 3em;" value="x**8" />
+</form>
+<span id="commSav1-10" class="commSav" >x**8</span>
+<div id="mathAns1-10" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><msup><mi>x</mi><mn>8</mn></msup></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Polynomial Integer
+</div>
+
+
+
+<p>Here a negative integer exponent produces a fraction.
+</p>
+
+
+
+<div id="spadComm1-11" class="spadComm" >
+<form id="formComm1-11" action="javascript:makeRequest('1-11');" >
+<input id="comm1-11" type="text" class="command" style="width: 5em;" value="x**(-8)" />
+</form>
+<span id="commSav1-11" class="commSav" >x**(-8)</span>
+<div id="mathAns1-11" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mfrac><mn>1</mn><mrow><msup><mi>x</mi><mn>8</mn></msup></mrow></mfrac></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Fraction Polynomial Integer
+</div>
+
+
+
+
+
+</div>
+
+
+
+<a name="subsec-1.3.4"/>
+<div class="subsection"  id="subsec-1.3.4">
+<h3 class="subsectitle">1.3.4  Symbols, Variables, Assignments, and Declarations</h3>
+
+
+<a name="ugIntroAssign" class="label"/>
+
+<p>A <span class="italic">symbol</span> is a literal used for the input of things like
+the ``variables'' in polynomials and power series.
+</p>
+
+
+<p>We use the three symbols <math xmlns="&mathml;" mathsize="big"><mstyle><mi>x</mi></mstyle></math>, <math xmlns="&mathml;" mathsize="big"><mstyle><mi>y</mi></mstyle></math>, and <math xmlns="&mathml;" mathsize="big"><mstyle><mi>z</mi></mstyle></math> in
+entering this polynomial.
+</p>
+
+
+
+<div id="spadComm1-12" class="spadComm" >
+<form id="formComm1-12" action="javascript:makeRequest('1-12');" >
+<input id="comm1-12" type="text" class="command" style="width: 8em;" value="(x - y*z)**2" />
+</form>
+<span id="commSav1-12" class="commSav" >(x - y*z)**2</span>
+<div id="mathAns1-12" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mrow><mrow><msup><mi>y</mi><mn>2</mn></msup></mrow><mo></mo><mrow><msup><mi>z</mi><mn>2</mn></msup></mrow></mrow><mo>-</mo><mrow><mn>2</mn><mo></mo><mi>x</mi><mo></mo><mi>y</mi><mo></mo><mi>z</mi></mrow><mo>+</mo><mrow><msup><mi>x</mi><mn>2</mn></msup></mrow></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Polynomial Integer
+</div>
+
+
+
+<p>A symbol has a name beginning with an uppercase or lowercase
+alphabetic <span class="index">symbol:naming</span><a name="chapter-1-14"/> character, ``<span class="teletype">%</span>'', or
+``<span class="teletype">!</span>''.  Successive characters (if any) can be any of the
+above, digits, or ``<span class="teletype">?</span>''.  Case is distinguished: the symbol
+<span class="teletype">points</span> is different from the symbol <span class="teletype">Points</span>.
+</p>
+
+
+<p>A symbol can also be used in Axiom as a <span class="italic">variable</span>.  A variable
+refers to a value.  To <span style="font-style: italic;"> assign</span> a value to a variable,
+<span class="index">variable:naming</span><a name="chapter-1-15"/> the operator ``<span class="teletype">:=</span>'' <span class="index">assignment</span><a name="chapter-1-16"/>
+is used.  <span class="footnote">Axiom actually has two forms of assignment: 
+<span class="italic">immediate</span> assignment, as discussed here, and <span class="italic">delayed
+assignment</span>.  See Section <a href="section-5.1.xhtml#ugLangAssign" class="ref" >ugLangAssign</a> 
+for details.</span>  A variable initially has no restrictions on the kinds
+of <span class="index">declaration</span><a name="chapter-1-17"/> values to which it can refer.
+</p>
+
+
+<p>This assignment gives the value <math xmlns="&mathml;" mathsize="big"><mstyle><mn>4</mn></mstyle></math> (an integer) to
+a variable named <math xmlns="&mathml;" mathsize="big"><mstyle><mi>x</mi></mstyle></math>.
+</p>
+
+
+
+<div id="spadComm1-13" class="spadComm" >
+<form id="formComm1-13" action="javascript:makeRequest('1-13');" >
+<input id="comm1-13" type="text" class="command" style="width: 4em;" value="x := 4" />
+</form>
+<span id="commSav1-13" class="commSav" >x := 4</span>
+<div id="mathAns1-13" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>4</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PositiveInteger
+</div>
+
+
+
+<p>This gives the value <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mi>z</mi><mo>+</mo><mn>3</mn><mo>/</mo><mn>5</mn></mrow></mstyle></math> (a polynomial)  to <math xmlns="&mathml;" mathsize="big"><mstyle><mi>x</mi></mstyle></math>.
+</p>
+
+
+
+<div id="spadComm1-14" class="spadComm" >
+<form id="formComm1-14" action="javascript:makeRequest('1-14');" >
+<input id="comm1-14" type="text" class="command" style="width: 8em;" value="x := z + 3/5" />
+</form>
+<span id="commSav1-14" class="commSav" >x := z + 3/5</span>
+<div id="mathAns1-14" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mi>z</mi><mo>+</mo><mfrac><mn>3</mn><mn>5</mn></mfrac></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Polynomial Fraction Integer
+</div>
+
+
+
+<p>To restrict the types of objects that can be assigned to a variable,
+use a <span class="italic">declaration</span>
+</p>
+
+
+
+<div id="spadComm1-15" class="spadComm" >
+<form id="formComm1-15" action="javascript:makeRequest('1-15');" >
+<input id="comm1-15" type="text" class="command" style="width: 8em;" value="y : Integer" />
+</form>
+<span id="commSav1-15" class="commSav" >y : Integer</span>
+<div id="mathAns1-15" ></div>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Void
+</div>
+
+
+
+<p>After a variable is declared to be of some type, only values
+of that type can be assigned to that variable.
+</p>
+
+
+
+<div id="spadComm1-16" class="spadComm" >
+<form id="formComm1-16" action="javascript:makeRequest('1-16');" >
+<input id="comm1-16" type="text" class="command" style="width: 5em;" value="y := 89" />
+</form>
+<span id="commSav1-16" class="commSav" >y := 89</span>
+<div id="mathAns1-16" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>89</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Integer
+</div>
+
+
+
+<p>The declaration for <math xmlns="&mathml;" mathsize="big"><mstyle><mi>y</mi></mstyle></math> forces values assigned to <math xmlns="&mathml;" mathsize="big"><mstyle><mi>y</mi></mstyle></math> to
+be converted to integer values.
+</p>
+
+
+
+<div id="spadComm1-17" class="spadComm" >
+<form id="formComm1-17" action="javascript:makeRequest('1-17');" >
+<input id="comm1-17" type="text" class="command" style="width: 9em;" value="y := sin %pi" />
+</form>
+<span id="commSav1-17" class="commSav" >y := sin %pi</span>
+<div id="mathAns1-17" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>0</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Integer
+</div>
+
+
+
+<p>If no such conversion is possible,
+Axiom refuses to assign a value to <math xmlns="&mathml;" mathsize="big"><mstyle><mi>y</mi></mstyle></math>.
+</p>
+
+
+
+<div id="spadComm1-18" class="spadComm" >
+<form id="formComm1-18" action="javascript:makeRequest('1-18');" >
+<input id="comm1-18" type="text" class="command" style="width: 6em;" value="y := 2/3" />
+</form>
+<span id="commSav1-18" class="commSav" >y := 2/3</span>
+<div id="mathAns1-18" ></div>
+</div>
+
+
+
+
+<div class="verbatim"><br />
+&nbsp;&nbsp;&nbsp;Cannot&nbsp;convert&nbsp;right-hand&nbsp;side&nbsp;of&nbsp;assignment<br />
+&nbsp;&nbsp;&nbsp;2<br />
+&nbsp;&nbsp;&nbsp;-<br />
+&nbsp;&nbsp;&nbsp;3<br />
+<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;to&nbsp;an&nbsp;object&nbsp;of&nbsp;the&nbsp;type&nbsp;Integer&nbsp;of&nbsp;the&nbsp;left-hand&nbsp;side.<br />
+</div>
+
+
+
+<p>A type declaration can also be given together with an assignment.
+The declaration can assist Axiom in choosing the correct
+operations to apply.
+</p>
+
+
+
+<div id="spadComm1-19" class="spadComm" >
+<form id="formComm1-19" action="javascript:makeRequest('1-19');" >
+<input id="comm1-19" type="text" class="command" style="width: 11em;" value="f : Float := 2/3" />
+</form>
+<span id="commSav1-19" class="commSav" >f : Float := 2/3</span>
+<div id="mathAns1-19" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mn>0</mn><mo>.</mo><mn>6666666666</mn><mo></mo><mn>6666666667</mn></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Float
+</div>
+
+
+
+<p>Any number of expressions can be given on input line.
+Just separate them by semicolons.
+Only the result of evaluating the last expression is displayed.
+</p>
+
+
+<p>These two expressions have the same effect as
+the previous single expression.
+</p>
+
+
+
+
+<div id="spadComm1-20" class="spadComm" >
+<form id="formComm1-20" action="javascript:makeRequest('1-20');" >
+<input id="comm1-20" type="text" class="command" style="width: 13em;" value="f : Float; f := 2/3" />
+</form>
+<span id="commSav1-20" class="commSav" >f : Float; f := 2/3</span>
+<div id="mathAns1-20" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mn>0</mn><mo>.</mo><mn>6666666666</mn><mo></mo><mn>6666666667</mn></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Float
+</div>
+
+
+
+<p>The type of a symbol is either <span class="teletype">Symbol</span>
+or <span class="teletype">Variable(<span class="italic">name</span>)</span> where <span class="italic">name</span> is the name
+of the symbol.
+</p>
+
+
+<p>By default, the interpreter
+gives this symbol the type <span class="teletype">Variable(q)</span>.
+</p>
+
+
+
+
+<div id="spadComm1-21" class="spadComm" >
+<form id="formComm1-21" action="javascript:makeRequest('1-21');" >
+<input id="comm1-21" type="text" class="command" style="width: 1em;" value="q" />
+</form>
+<span id="commSav1-21" class="commSav" >q</span>
+<div id="mathAns1-21" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mi>q</mi></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Variable q
+</div>
+
+
+
+<p>When multiple symbols are involved, <span class="teletype">Symbol</span> is used.
+</p>
+
+
+
+<div id="spadComm1-22" class="spadComm" >
+<form id="formComm1-22" action="javascript:makeRequest('1-22');" >
+<input id="comm1-22" type="text" class="command" style="width: 4em;" value="[q, r]" />
+</form>
+<span id="commSav1-22" class="commSav" >[q, r]</span>
+<div id="mathAns1-22" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mi>q</mi><mo>,</mo><mi>r</mi><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List OrderedVariableList [q,r]
+</div>
+
+
+
+<p>What happens when you try to use a symbol that is the name of a variable?
+</p>
+
+
+
+<div id="spadComm1-23" class="spadComm" >
+<form id="formComm1-23" action="javascript:makeRequest('1-23');" >
+<input id="comm1-23" type="text" class="command" style="width: 1em;" value="f" />
+</form>
+<span id="commSav1-23" class="commSav" >f</span>
+<div id="mathAns1-23" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mn>0</mn><mo>.</mo><mn>6666666666</mn><mo></mo><mn>6666666667</mn></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Float
+</div>
+
+
+
+<p>Use a single quote ``<span class="teletype">'</span>'' before <span class="index">quote</span><a name="chapter-1-18"/> the name to get the symbol.
+</p>
+
+
+
+
+<div id="spadComm1-24" class="spadComm" >
+<form id="formComm1-24" action="javascript:makeRequest('1-24');" >
+<input id="comm1-24" type="text" class="command" style="width: 2em;" value="'f" />
+</form>
+<span id="commSav1-24" class="commSav" >'f</span>
+<div id="mathAns1-24" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mi>f</mi></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Variable f
+</div>
+
+
+
+<p>Quoting a name creates a symbol by preventing evaluation of the name
+as a variable.  Experience will teach you when you are most likely
+going to need to use a quote.  We try to point out the location of
+such trouble spots.
+</p>
+
+
+
+
+</div>
+
+
+
+<a name="subsec-1.3.5"/>
+<div class="subsection"  id="subsec-1.3.5">
+<h3 class="subsectitle">1.3.5  Conversion</h3>
+
+
+<a name="ugIntroConversion" class="label"/>
+
+<p>Objects of one type can usually be ``converted'' to objects of several
+other types.  To <span style="font-style: italic;"> convert</span> an object to a new type, use the ``<span class="teletype">::</span>'' 
+infix operator.  <span class="footnote">Conversion is discussed in detail in
+<a href="section-2.7.xhtml#ugTypesConvert" class="ref" >ugTypesConvert</a>.</span>  For example,
+to display an object, it is necessary to convert the object to type
+<span class="teletype">OutputForm</span>.
+</p>
+
+
+<p>This produces a polynomial with rational number coefficients.
+</p>
+
+
+
+
+<div id="spadComm1-25" class="spadComm" >
+<form id="formComm1-25" action="javascript:makeRequest('1-25');" >
+<input id="comm1-25" type="text" class="command" style="width: 10em;" value="p := r**2 + 2/3" />
+</form>
+<span id="commSav1-25" class="commSav" >p := r**2 + 2/3</span>
+<div id="mathAns1-25" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mrow><msup><mi>r</mi><mn>2</mn></msup></mrow><mo>+</mo><mfrac><mn>2</mn><mn>3</mn></mfrac></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Polynomial Fraction Integer
+</div>
+
+
+
+<p>Create a quotient of polynomials with integer coefficients
+by using ``<span class="teletype">::</span>''.
+</p>
+
+
+
+
+<div id="spadComm1-26" class="spadComm" >
+<form id="formComm1-26" action="javascript:makeRequest('1-26');" >
+<input id="comm1-26" type="text" class="command" style="width: 22em;" value="p :: Fraction Polynomial Integer " />
+</form>
+<span id="commSav1-26" class="commSav" >p :: Fraction Polynomial Integer </span>
+<div id="mathAns1-26" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mfrac><mrow><mrow><mn>3</mn><mo></mo><mrow><msup><mi>r</mi><mn>2</mn></msup></mrow></mrow><mo>+</mo><mn>2</mn></mrow><mn>3</mn></mfrac></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Fraction Polynomial Integer
+</div>
+
+
+
+<p>Some conversions can be performed automatically when Axiom tries
+to evaluate your input.  Others conversions must be explicitly
+requested.
+</p>
+
+
+
+
+</div>
+
+
+
+<a name="subsec-1.3.6"/>
+<div class="subsection"  id="subsec-1.3.6">
+<h3 class="subsectitle">1.3.6  Calling Functions</h3>
+
+
+<a name="ugIntroCallFun" class="label"/>
+
+<p>As we saw earlier, when you want to add or subtract two values, you
+place the arithmetic operator ``<span class="teletype">+</span>'' or ``<span class="teletype">-</span>'' between the two
+arguments denoting the values.  To use most other Axiom
+operations, however, you use another syntax: <span class="index">function:calling</span><a name="chapter-1-19"/>
+write the name of the operation first, then an open parenthesis, then
+each of the arguments separated by commas, and, finally, a closing
+parenthesis.  If the operation takes only one argument and the
+argument is a number or a symbol, you can omit the parentheses.
+</p>
+
+
+<p>This calls the operation <span style="font-weight: bold;"> factor</span> with the single integer argument <math xmlns="&mathml;" mathsize="big"><mstyle><mn>120</mn></mstyle></math>.
+</p>
+
+
+
+
+<div id="spadComm1-27" class="spadComm" >
+<form id="formComm1-27" action="javascript:makeRequest('1-27');" >
+<input id="comm1-27" type="text" class="command" style="width: 8em;" value="factor(120)" />
+</form>
+<span id="commSav1-27" class="commSav" >factor(120)</span>
+<div id="mathAns1-27" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mrow><msup><mn>2</mn><mn>3</mn></msup></mrow><mo></mo><mn>3</mn><mo></mo><mn>5</mn></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Factored Integer
+</div>
+
+
+
+<p>This is a call to <span style="font-weight: bold;"> divide</span> with the two integer arguments
+<math xmlns="&mathml;" mathsize="big"><mstyle><mn>125</mn></mstyle></math> and <math xmlns="&mathml;" mathsize="big"><mstyle><mn>7</mn></mstyle></math>.
+</p>
+
+
+
+<div id="spadComm1-28" class="spadComm" >
+<form id="formComm1-28" action="javascript:makeRequest('1-28');" >
+<input id="comm1-28" type="text" class="command" style="width: 9em;" value="divide(125,7)" />
+</form>
+<span id="commSav1-28" class="commSav" >divide(125,7)</span>
+<div id="mathAns1-28" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mrow><mi>quotient</mi><mo>=</mo><mn>17</mn></mrow><mo>,</mo><mrow><mi>remainder</mi><mo>=</mo><mn>6</mn></mrow><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Record(quotient: Integer, remainder: Integer)
+</div>
+
+
+
+<p>This calls <span style="font-weight: bold;"> quatern</span> with four floating-point arguments.
+</p>
+
+
+
+<div id="spadComm1-29" class="spadComm" >
+<form id="formComm1-29" action="javascript:makeRequest('1-29');" >
+<input id="comm1-29" type="text" class="command" style="width: 16em;" value="quatern(3.4,5.6,2.9,0.1)" />
+</form>
+<span id="commSav1-29" class="commSav" >quatern(3.4,5.6,2.9,0.1)</span>
+<div id="mathAns1-29" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mrow><mn>3</mn><mo>.</mo><mn>4</mn></mrow><mo>+</mo><mrow><mrow><mn>5</mn><mo>.</mo><mn>6</mn></mrow><mo></mo><mi>i</mi></mrow><mo>+</mo><mrow><mrow><mn>2</mn><mo>.</mo><mn>9</mn></mrow><mo></mo><mi>j</mi></mrow><mo>+</mo><mrow><mrow><mn>0</mn><mo>.</mo><mn>1</mn></mrow><mo></mo><mi>k</mi></mrow></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Quaternion Float
+</div>
+
+
+
+<p>This is the same as <span style="font-weight: bold;"> factorial</span>(10).
+</p>
+
+
+
+<div id="spadComm1-30" class="spadComm" >
+<form id="formComm1-30" action="javascript:makeRequest('1-30');" >
+<input id="comm1-30" type="text" class="command" style="width: 8em;" value="factorial 10" />
+</form>
+<span id="commSav1-30" class="commSav" >factorial 10</span>
+<div id="mathAns1-30" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>3628800</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PositiveInteger
+</div>
+
+
+
+<p>An operation that returns a <span class="teletype">Boolean</span> value (that is,
+<span class="teletype">true</span> or <span class="teletype">false</span>) frequently has a name suffixed with
+a question mark (``?'').  For example, the <span style="font-weight: bold;"> even?</span>
+operation returns <span class="teletype">true</span> if its integer argument is an even
+number, <span class="teletype">false</span> otherwise.
+</p>
+
+
+<p>An operation that can be destructive on one or more arguments
+usually has a name ending in a exclamation point (``!'').
+This actually means that it is <span class="italic">allowed</span> to update its
+arguments but it is not <span class="italic">required</span> to do so. For example,
+the underlying representation of a collection type may not allow
+the very last element to be removed and so an empty object may be
+returned instead. Therefore it is important that you use the
+object returned by the operation and not rely on a physical
+change having occurred within the object. Usually destructive
+operations are provided for efficiency reasons.
+</p>
+
+
+
+
+</div>
+
+
+
+<a name="subsec-1.3.7"/>
+<div class="subsection"  id="subsec-1.3.7">
+<h3 class="subsectitle">1.3.7  Some Predefined Macros</h3>
+
+
+<a name="ugIntroMacros" class="label"/>
+
+<p>Axiom provides several macros for your convenience.<span class="footnote">See
+<a href="section-6.2.xhtml#ugUserMacros" class="ref" >ugUserMacros</a>  for a discussion on
+how to write your own macros.</span>  Macros are names
+<span class="index">macro:predefined</span><a name="chapter-1-20"/> (or forms) that expand to larger expressions
+for commonly used values.
+</p>
+
+
+
+
+<div class="center" style="text-align: center;">
+
+
+<p><table class="begintabular">
+<tr><td><span class="italic">%i</span>             </td><td>  The square root of -1. </td></tr>
+<tr><td><span class="italic">%e</span>             </td><td>  The base of the natural logarithm. </td></tr>
+<tr><td><span class="italic">%pi</span>            </td><td>  <math xmlns="&mathml;" mathsize="big"><mstyle><mi>&#x03C0;</mi></mstyle></math>. </td></tr>
+<tr><td><span class="italic">%infinity</span>      </td><td>  <math xmlns="&mathml;" mathsize="big"><mstyle><mo>&#x221E;</mo></mstyle></math>. </td></tr>
+<tr><td><span class="italic">%plusInfinity</span>  </td><td>  <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mo>+</mo><mo>&#x221E;</mo></mrow></mstyle></math>. </td></tr>
+<tr><td><span class="italic">%minusInfinity</span> </td><td>  <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mo>-</mo><mo>&#x221E;</mo></mrow></mstyle></math>. </td></tr>
+</table>
+</p>
+
+
+
+</div>
+
+
+<p><span class="index">%i</span><a name="chapter-1-21"/>
+<span class="index">%e</span><a name="chapter-1-22"/>
+<span class="index">%pi</span><a name="chapter-1-23"/>
+<span class="index">pi@{<math xmlns="&mathml;" mathsize="big"><mstyle><mi>&#x03C0;</mi></mstyle></math> (= %pi)}</span><a name="chapter-1-24"/>
+<span class="index">%infinity</span><a name="chapter-1-25"/>
+<span class="index">infinity@{<math xmlns="&mathml;" mathsize="big"><mstyle><mo>&#x221E;</mo></mstyle></math> (= %infinity)}</span><a name="chapter-1-26"/>
+<span class="index">%plusInfinity</span><a name="chapter-1-27"/>
+<span class="index">%minusInfinity</span><a name="chapter-1-28"/>
+</p>
+
+
+<p>To display all the macros (along with anything you have
+defined in the workspace), issue the system command <span class="teletype">)display all</span>.
+</p>
+
+
+
+
+</div>
+
+
+
+<a name="subsec-1.3.8"/>
+<div class="subsection"  id="subsec-1.3.8">
+<h3 class="subsectitle">1.3.8  Long Lines</h3>
+
+
+<a name="ugIntroLong" class="label"/>
+
+<p>When you enter Axiom expressions from your keyboard, there will
+be times when they are too long to fit on one line.  Axiom does
+not care how long your lines are, so you can let them continue from
+the right margin to the left side of the next line.
+</p>
+
+
+<p>Alternatively, you may want to enter several shorter lines and have
+Axiom glue them together.  To get this glue, put an underscore
+(_) at the end of each line you wish to continue.
+</p>
+
+
+
+
+<div class="verbatim"><br />
+2_<br />
++_<br />
+3<br />
+</div>
+
+
+<p>is the same as if you had entered
+</p>
+
+
+
+<div class="verbatim"><br />
+2+3<br />
+</div>
+
+
+
+<p>Axiom statements in an input file
+(see Section <a href="section-4.1.xhtml#ugInOutIn" class="ref" >ugInOutIn</a> ),
+can use indentation to indicate the program structure .
+(see Section <a href="section-5.2.xhtml#ugLangBlocks" class="ref" >ugLangBlocks</a> ).
+</p>
+
+
+
+
+</div>
+
+
+
+<a name="subsec-1.3.9"/>
+<div class="subsection"  id="subsec-1.3.9">
+<h3 class="subsectitle">1.3.9  Comments</h3>
+
+
+<a name="ugIntroComments" class="label"/>
+
+<p>Comment statements begin with two consecutive hyphens or two
+consecutive plus signs and continue until the end of the line.
+</p>
+
+
+<p>The comment beginning with ``<span class="teletype">--</span>'' is ignored by Axiom.
+</p>
+
+
+
+<div id="spadComm1-31" class="spadComm" >
+<form id="formComm1-31" action="javascript:makeRequest('1-31');" >
+<input id="comm1-31" type="text" class="command" style="width: 25em;" value="2 + 3   -- this is rather simple, no?" />
+</form>
+<span id="commSav1-31" class="commSav" >2 + 3   -- this is rather simple, no?</span>
+<div id="mathAns1-31" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>5</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PositiveInteger
+</div>
+
+
+
+<p>There is no way to write long multi-line comments other than starting
+each line with ``<span class="teletype">--</span>'' or ``<span class="teletype">++</span>''.
+</p>
+
+
+
+
+</div>
+
+
+
+
+</div><a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a>
+<a href="section-1.2.xhtml" style="margin-right: 10px;">Previous Section 1.2 Typographic Conventions</a><a href="section-1.4.xhtml" style="margin-right: 10px;">Next Section 1.4 Numbers</a>
+<a href="book-index.xhtml">Book Index</a></body>
+</html>
\ No newline at end of file
diff --git a/src/axiom-website/hyperdoc/axbook/section-1.4.xhtml b/src/axiom-website/hyperdoc/axbook/section-1.4.xhtml
new file mode 100644
index 0000000..332e58c
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/section-1.4.xhtml
@@ -0,0 +1,1329 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
+"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [
+<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
+]>
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:xlink="http://www.w3.org/1999/xlink" >
+
+
+  <head>
+    <title>Section1.4</title>
+    <link rel="stylesheet" type="text/css" href="graphicstyle.css" />
+    <script type="text/javascript" src="bookax1.js" />
+  </head>
+
+  <body>
+<a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a><a href="section-1.3.xhtml" style="margin-right: 10px;">Previous Section 1.3 The Axiom Language</a><a href="section-1.5.xhtml" style="margin-right: 10px;">Next Section 1.5 Data Structures</a>
+<a href="book-index.xhtml">Book Index</a><div class="section"  id="sec-1.4">
+<h2 class="sectiontitle">1.4  Numbers</h2>
+
+
+<a name="ugIntroNumbers" class="label"/>
+
+<p>Axiom distinguishes very carefully between different kinds of
+numbers, how they are represented and what their properties are.  Here
+are a sampling of some of these kinds of numbers and some things you
+can do with them.
+</p>
+
+
+<p>Integer arithmetic is always exact.
+</p>
+
+
+
+<div id="spadComm1-32" class="spadComm" >
+<form id="formComm1-32" action="javascript:makeRequest('1-32');" >
+<input id="comm1-32" type="text" class="command" style="width: 26em;" value="11**13 * 13**11 * 17**7 - 19**5 * 23**3" />
+</form>
+<span id="commSav1-32" class="commSav" >11**13 * 13**11 * 17**7 - 19**5 * 23**3</span>
+<div id="mathAns1-32" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>25387751112538918594666224484237298</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PositiveInteger
+</div>
+
+
+
+<p>Integers can be represented in factored form.
+</p>
+
+
+
+<div id="spadComm1-33" class="spadComm" >
+<form id="formComm1-33" action="javascript:makeRequest('1-33');" >
+<input id="comm1-33" type="text" class="command" style="width: 37em;" value="factor 643238070748569023720594412551704344145570763243" />
+</form>
+<span id="commSav1-33" class="commSav" >factor 643238070748569023720594412551704344145570763243</span>
+<div id="mathAns1-33" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mrow><msup><mn>11</mn><mn>13</mn></msup></mrow><mo></mo><mrow><msup><mn>13</mn><mn>11</mn></msup></mrow><mo></mo><mrow><msup><mn>17</mn><mn>7</mn></msup></mrow><mo></mo><mrow><msup><mn>19</mn><mn>5</mn></msup></mrow><mo></mo><mrow><msup><mn>23</mn><mn>3</mn></msup></mrow><mo></mo><mrow><msup><mn>29</mn><mn>2</mn></msup></mrow></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Factored Integer
+</div>
+
+
+
+<p>Results stay factored when you do arithmetic.
+Note that the <math xmlns="&mathml;" mathsize="big"><mstyle><mn>12</mn></mstyle></math> is automatically factored for you.
+</p>
+
+
+
+<div id="spadComm1-34" class="spadComm" >
+<form id="formComm1-34" action="javascript:makeRequest('1-34');" >
+<input id="comm1-34" type="text" class="command" style="width: 5em;" value="% * 12" />
+</form>
+<span id="commSav1-34" class="commSav" >% * 12</span>
+<div id="mathAns1-34" ></div>
+</div>
+
+
+<p><span class="index">radix</span><a name="chapter-1-29"/>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mrow><msup><mn>2</mn><mn>2</mn></msup></mrow><mo></mo><mn>3</mn><mo></mo><mrow><msup><mn>11</mn><mn>13</mn></msup></mrow><mo></mo><mrow><msup><mn>13</mn><mn>11</mn></msup></mrow><mo></mo><mrow><msup><mn>17</mn><mn>7</mn></msup></mrow><mo></mo><mrow><msup><mn>19</mn><mn>5</mn></msup></mrow><mo></mo><mrow><msup><mn>23</mn><mn>3</mn></msup></mrow><mo></mo><mrow><msup><mn>29</mn><mn>2</mn></msup></mrow></mrow></mstyle></math>
+</p>
+
+
+
+<div class="returnType">
+Type: Factored Integer
+</div>
+
+
+
+<p>Integers can also be displayed to bases other than 10.
+This is an integer in base 11.
+</p>
+
+
+
+<div id="spadComm1-35" class="spadComm" >
+<form id="formComm1-35" action="javascript:makeRequest('1-35');" >
+<input id="comm1-35" type="text" class="command" style="width: 14em;" value="radix(25937424601,11)" />
+</form>
+<span id="commSav1-35" class="commSav" >radix(25937424601,11)</span>
+<div id="mathAns1-35" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>10000000000</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: RadixExpansion 11
+</div>
+
+
+
+<p>Roman numerals are also available for those special occasions.
+<span class="index">Roman numerals</span><a name="chapter-1-30"/>
+</p>
+
+
+
+
+<div id="spadComm1-36" class="spadComm" >
+<form id="formComm1-36" action="javascript:makeRequest('1-36');" >
+<input id="comm1-36" type="text" class="command" style="width: 8em;" value="roman(1992)" />
+</form>
+<span id="commSav1-36" class="commSav" >roman(1992)</span>
+<div id="mathAns1-36" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mtext>MCMXCII</mtext></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: RomanNumeral
+</div>
+
+
+
+<p>Rational number arithmetic is also exact.
+</p>
+
+
+
+
+<div id="spadComm1-37" class="spadComm" >
+<form id="formComm1-37" action="javascript:makeRequest('1-37');" >
+<input id="comm1-37" type="text" class="command" style="width: 37em;" value="r := 10 + 9/2 + 8/3 + 7/4 + 6/5 + 5/6 + 4/7 + 3/8 + 2/9" />
+</form>
+<span id="commSav1-37" class="commSav" >r := 10 + 9/2 + 8/3 + 7/4 + 6/5 + 5/6 + 4/7 + 3/8 + 2/9</span>
+<div id="mathAns1-37" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mfrac><mn>55739</mn><mn>2520</mn></mfrac></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Fraction Integer
+</div>
+
+
+
+<p>To factor fractions, you have to pmap <span style="font-weight: bold;"> factor</span> onto the numerator
+and denominator.
+</p>
+
+
+
+
+<div id="spadComm1-38" class="spadComm" >
+<form id="formComm1-38" action="javascript:makeRequest('1-38');" >
+<input id="comm1-38" type="text" class="command" style="width: 9em;" value="map(factor,r)" />
+</form>
+<span id="commSav1-38" class="commSav" >map(factor,r)</span>
+<div id="mathAns1-38" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mfrac><mrow><mn>139</mn><mo></mo><mn>401</mn></mrow><mrow><mrow><msup><mn>2</mn><mn>3</mn></msup></mrow><mo></mo><mrow><msup><mn>3</mn><mn>2</mn></msup></mrow><mo></mo><mn>5</mn><mo></mo><mn>7</mn></mrow></mfrac></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Fraction Factored Integer
+</div>
+
+
+
+<p><span class="teletype">SingleInteger</span> refers to machine word-length integers.
+</p>
+
+
+<p>In English, this expression means ``<math xmlns="&mathml;" mathsize="big"><mstyle><mn>11</mn></mstyle></math> as a small integer''.
+</p>
+
+
+
+<div id="spadComm1-39" class="spadComm" >
+<form id="formComm1-39" action="javascript:makeRequest('1-39');" >
+<input id="comm1-39" type="text" class="command" style="width: 11em;" value="11@SingleInteger" />
+</form>
+<span id="commSav1-39" class="commSav" >11@SingleInteger</span>
+<div id="mathAns1-39" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>11</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: SingleInteger
+</div>
+
+
+
+<p>Machine double-precision floating-point numbers are also available for
+numeric and graphical applications.
+</p>
+
+
+
+<div id="spadComm1-40" class="spadComm" >
+<form id="formComm1-40" action="javascript:makeRequest('1-40');" >
+<input id="comm1-40" type="text" class="command" style="width: 12em;" value="123.21@DoubleFloat" />
+</form>
+<span id="commSav1-40" class="commSav" >123.21@DoubleFloat</span>
+<div id="mathAns1-40" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mn>123</mn><mo>.</mo><mn>21000000000001</mn></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: DoubleFloat
+</div>
+
+
+
+<p>The normal floating-point type in Axiom, <span class="teletype">Float</span>, is a
+software implementation of floating-point numbers in which the
+exponent and the mantissa may have any number of digits.
+The types <span class="teletype">Complex(Float)</span> and
+<span class="teletype">Complex(DoubleFloat)</span> are the corresponding software
+implementations of complex floating-point numbers.
+</p>
+
+
+<p>This is a floating-point approximation to about twenty digits.
+<span class="index">floating point</span><a name="chapter-1-31"/> The ``<span class="teletype">::</span>'' is used here to change from
+one kind of object (here, a rational number) to another (a
+floating-point number).
+</p>
+
+
+
+
+<div id="spadComm1-41" class="spadComm" >
+<form id="formComm1-41" action="javascript:makeRequest('1-41');" >
+<input id="comm1-41" type="text" class="command" style="width: 7em;" value="r :: Float" />
+</form>
+<span id="commSav1-41" class="commSav" >r :: Float</span>
+<div id="mathAns1-41" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mn>22</mn><mo>.</mo><mn>1186507936</mn><mn>50793651</mn></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Float
+</div>
+
+
+
+<p>Use <span class="spadfunFrom" style="font-weight: bold;">digits</span><span class="index">digits</span><a name="chapter-1-32"/><span class="index">Float</span><a name="chapter-1-33"/> to change the number of digits in
+the representation.
+This operation returns the previous value so you can reset it
+later.
+</p>
+
+
+
+<div id="spadComm1-42" class="spadComm" >
+<form id="formComm1-42" action="javascript:makeRequest('1-42');" >
+<input id="comm1-42" type="text" class="command" style="width: 7em;" value="digits(22)" />
+</form>
+<span id="commSav1-42" class="commSav" >digits(22)</span>
+<div id="mathAns1-42" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>20</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PositiveInteger
+</div>
+
+
+
+<p>To <math xmlns="&mathml;" mathsize="big"><mstyle><mn>22</mn></mstyle></math> digits of precision, the number
+<math xmlns="&mathml;" mathsize="big"><mstyle><mrow><msup><mi>e</mi><mrow><mi>&#x03C0;</mi><mrow><msqrt><mrow><mn>163</mn><mo>.</mo><mn>0</mn></mrow></msqrt></mrow></mrow></msup></mrow></mstyle></math> appears to be an integer.
+</p>
+
+
+
+<div id="spadComm1-43" class="spadComm" >
+<form id="formComm1-43" action="javascript:makeRequest('1-43');" >
+<input id="comm1-43" type="text" class="command" style="width: 15em;" value="exp(%pi * sqrt 163.0)" />
+</form>
+<span id="commSav1-43" class="commSav" >exp(%pi * sqrt 163.0)</span>
+<div id="mathAns1-43" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mn>26253741</mn><mn>2640768744</mn><mo>.</mo><mn>0</mn></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Float
+</div>
+
+
+
+<p>Increase the precision to forty digits and try again.
+</p>
+
+
+
+<div id="spadComm1-44" class="spadComm" >
+<form id="formComm1-44" action="javascript:makeRequest('1-44');" >
+<input id="comm1-44" type="text" class="command" style="width: 24em;" value="digits(40);  exp(%pi * sqrt 163.0)" />
+</form>
+<span id="commSav1-44" class="commSav" >digits(40);  exp(%pi * sqrt 163.0)</span>
+<div id="mathAns1-44" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mn>26253741</mn><mo></mo><mn>2640768743</mn><mo>.</mo><mn>9999999999</mn><mo></mo><mn>9925007259</mn><mo></mo><mn>76</mn></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Float
+</div>
+
+
+
+<p>Here are complex numbers with rational numbers as real and
+<span class="index">complex numbers</span><a name="chapter-1-34"/> imaginary parts.
+</p>
+
+
+
+<div id="spadComm1-45" class="spadComm" >
+<form id="formComm1-45" action="javascript:makeRequest('1-45');" >
+<input id="comm1-45" type="text" class="command" style="width: 10em;" value="(2/3 + %i)**3" />
+</form>
+<span id="commSav1-45" class="commSav" >(2/3 + %i)**3</span>
+<div id="mathAns1-45" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>-</mo><mfrac><mn>46</mn><mn>27</mn></mfrac><mo>+</mo><mrow><mfrac><mn>1</mn><mn>3</mn></mfrac><mo></mo><mi>i</mi></mrow></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Complex Fraction Integer
+</div>
+
+
+
+<p>The standard operations on complex numbers are available.
+</p>
+
+
+
+<div id="spadComm1-46" class="spadComm" >
+<form id="formComm1-46" action="javascript:makeRequest('1-46');" >
+<input id="comm1-46" type="text" class="command" style="width: 9em;" value="conjugate % " />
+</form>
+<span id="commSav1-46" class="commSav" >conjugate % </span>
+<div id="mathAns1-46" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>-</mo><mfrac><mn>46</mn><mn>27</mn></mfrac><mo>-</mo><mrow><mfrac><mn>1</mn><mn>3</mn></mfrac><mo></mo><mi>i</mi></mrow></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Complex Fraction Integer
+</div>
+
+
+
+<p>You can factor complex integers.
+</p>
+
+
+
+<div id="spadComm1-47" class="spadComm" >
+<form id="formComm1-47" action="javascript:makeRequest('1-47');" >
+<input id="comm1-47" type="text" class="command" style="width: 14em;" value="factor(89 - 23 * %i)" />
+</form>
+<span id="commSav1-47" class="commSav" >factor(89 - 23 * %i)</span>
+<div id="mathAns1-47" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>-</mo><mrow><mrow><mo>(</mo><mn>1</mn><mo>+</mo><mi>i</mi><mo>)</mo></mrow><mo></mo><mrow><msup><mrow><mo>(</mo><mn>2</mn><mo>+</mo><mi>i</mi><mo>)</mo></mrow><mn>2</mn></msup></mrow><mo></mo><mrow><msup><mrow><mo>(</mo><mn>3</mn><mo>+</mo><mrow><mn>2</mn><mo></mo><mi>i</mi></mrow><mo>)</mo></mrow><mn>2</mn></msup></mrow></mrow></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Factored Complex Integer
+</div>
+
+
+
+<p>Complex numbers with floating point parts are also available.
+</p>
+
+
+
+<div id="spadComm1-48" class="spadComm" >
+<form id="formComm1-48" action="javascript:makeRequest('1-48');" >
+<input id="comm1-48" type="text" class="command" style="width: 13em;" value="exp(%pi/4.0 * %i)" />
+</form>
+<span id="commSav1-48" class="commSav" >exp(%pi/4.0 * %i)</span>
+<div id="mathAns1-48" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mrow><mn>0</mn><mo>.</mo><mn>7071067811</mn><mo></mo><mn>8654752440</mn><mo></mo><mn>0844362104</mn><mo></mo><mn>8490392849</mn></mrow><mo>+</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+<p><math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mrow><mn>0</mn><mo>.</mo><mn>7071067811</mn><mo></mo><mn>8654752440</mn><mo></mo><mn>0844362104</mn><mo></mo><mn>8490392848</mn></mrow><mo></mo><mi>i</mi></mrow></mstyle></math>
+</p>
+
+
+
+<div class="returnType">
+Type: Complex Float
+</div>
+
+
+
+<p>The real and imaginary parts can be symbolic.
+</p>
+
+
+
+<div id="spadComm1-49" class="spadComm" >
+<form id="formComm1-49" action="javascript:makeRequest('1-49');" >
+<input id="comm1-49" type="text" class="command" style="width: 8em;" value="complex(u,v)" />
+</form>
+<span id="commSav1-49" class="commSav" >complex(u,v)</span>
+<div id="mathAns1-49" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mi>u</mi><mo>+</mo><mrow><mi>v</mi><mo></mo><mi>i</mi></mrow></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Complex Polynomial Integer
+</div>
+
+
+
+<p>Of course, you can do complex arithmetic with these also.
+</p>
+
+
+
+<div id="spadComm1-50" class="spadComm" >
+<form id="formComm1-50" action="javascript:makeRequest('1-50');" >
+<input id="comm1-50" type="text" class="command" style="width: 5em;" value="% ** 2" />
+</form>
+<span id="commSav1-50" class="commSav" >% ** 2</span>
+<div id="mathAns1-50" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>-</mo><mrow><msup><mi>v</mi><mn>2</mn></msup></mrow><mo>+</mo><mrow><msup><mi>u</mi><mn>2</mn></msup></mrow><mo>+</mo><mrow><mn>2</mn><mo></mo><mi>u</mi><mo></mo><mi>v</mi><mo></mo><mi>i</mi></mrow></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Complex Polynomial Integer
+</div>
+
+
+
+<p>Every rational number has an exact representation as a
+repeating decimal expansion
+</p>
+
+
+
+<div id="spadComm1-51" class="spadComm" >
+<form id="formComm1-51" action="javascript:makeRequest('1-51');" >
+<input id="comm1-51" type="text" class="command" style="width: 10em;" value="decimal(1/352)" />
+</form>
+<span id="commSav1-51" class="commSav" >decimal(1/352)</span>
+<div id="mathAns1-51" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mn>0</mn><mo>.</mo><mn>00284</mn><mrow></mrow></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: DecimalExpansion
+</div>
+
+
+
+<p>A rational number can also be expressed as a continued fraction.
+</p>
+
+
+
+
+<div id="spadComm1-52" class="spadComm" >
+<form id="formComm1-52" action="javascript:makeRequest('1-52');" >
+<input id="comm1-52" type="text" class="command" style="width: 18em;" value="continuedFraction(6543/210)" />
+</form>
+<span id="commSav1-52" class="commSav" >continuedFraction(6543/210)</span>
+<div id="mathAns1-52" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mn>31</mn></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: ContinuedFraction Integer
+</div>
+
+
+
+<p>Also, partial fractions can be used and can be displayed in a
+<span class="index">partial fraction</span><a name="chapter-1-35"/>
+compact format
+<span class="index">fraction:partial</span><a name="chapter-1-36"/>
+</p>
+
+
+
+<div id="spadComm1-53" class="spadComm" >
+<form id="formComm1-53" action="javascript:makeRequest('1-53');" >
+<input id="comm1-53" type="text" class="command" style="width: 22em;" value="partialFraction(1,factorial(10))" />
+</form>
+<span id="commSav1-53" class="commSav" >partialFraction(1,factorial(10))</span>
+<div id="mathAns1-53" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mfrac><mn>159</mn><mrow><msup><mn>2</mn><mn>8</mn></msup></mrow></mfrac><mo>-</mo><mfrac><mn>23</mn><mrow><msup><mn>3</mn><mn>4</mn></msup></mrow></mfrac><mo>-</mo><mfrac><mn>12</mn><mrow><msup><mn>5</mn><mn>2</mn></msup></mrow></mfrac><mo>+</mo><mfrac><mn>1</mn><mn>7</mn></mfrac></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PartialFraction Integer
+</div>
+
+
+
+<p>or expanded format.
+</p>
+
+
+
+<div id="spadComm1-54" class="spadComm" >
+<form id="formComm1-54" action="javascript:makeRequest('1-54');" >
+<input id="comm1-54" type="text" class="command" style="width: 12em;" value="padicFraction(%)" />
+</form>
+<span id="commSav1-54" class="commSav" >padicFraction(%)</span>
+<div id="mathAns1-54" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mfrac><mn>1</mn><mn>2</mn></mfrac><mo>+</mo><mfrac><mn>1</mn><mrow><msup><mn>2</mn><mn>4</mn></msup></mrow></mfrac><mo>+</mo><mfrac><mn>1</mn><mrow><msup><mn>2</mn><mn>5</mn></msup></mrow></mfrac><mo>+</mo><mfrac><mn>1</mn><mrow><msup><mn>2</mn><mn>6</mn></msup></mrow></mfrac><mo>+</mo><mfrac><mn>1</mn><mrow><msup><mn>2</mn><mn>7</mn></msup></mrow></mfrac><mo>+</mo><mfrac><mn>1</mn><mrow><msup><mn>2</mn><mn>8</mn></msup></mrow></mfrac><mo>-</mo><mfrac><mn>2</mn><mrow><msup><mn>3</mn><mn>2</mn></msup></mrow></mfrac><mo>-</mo><mfrac><mn>1</mn><mrow><msup><mn>3</mn><mn>3</mn></msup></mrow></mfrac><mo>-</mo><mfrac><mn>2</mn><mrow><msup><mn>3</mn><mn>4</mn></msup></mrow></mfrac><mo>-</mo><mfrac><mn>2</mn><mn>5</mn></mfrac><mo>-</mo><mfrac><mn>2</mn><mrow><msup><mn>5</mn><mn>2</mn></msup></mrow></mfrac><mo>+</mo><mfrac><mn>1</mn><mn>7</mn></mfrac></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PartialFraction Integer
+</div>
+
+
+
+<p>Like integers, bases (radices) other than ten can be used for rational
+numbers.
+Here we use base eight.
+</p>
+
+
+
+<div id="spadComm1-55" class="spadComm" >
+<form id="formComm1-55" action="javascript:makeRequest('1-55');" >
+<input id="comm1-55" type="text" class="command" style="width: 9em;" value="radix(4/7, 8)" />
+</form>
+<span id="commSav1-55" class="commSav" >radix(4/7, 8)</span>
+<div id="mathAns1-55" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mn>0</mn><mo>.</mo><mrow></mrow></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: RadixExpansion 8
+</div>
+
+
+
+<p>Of course, there are complex versions of these as well.
+Axiom decides to make the result a complex rational number.
+</p>
+
+
+
+<div id="spadComm1-56" class="spadComm" >
+<form id="formComm1-56" action="javascript:makeRequest('1-56');" >
+<input id="comm1-56" type="text" class="command" style="width: 8em;" value="% + 2/3*%i" />
+</form>
+<span id="commSav1-56" class="commSav" >% + 2/3*%i</span>
+<div id="mathAns1-56" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mfrac><mn>4</mn><mn>7</mn></mfrac><mo>+</mo><mrow><mfrac><mn>2</mn><mn>3</mn></mfrac><mo></mo><mi>i</mi></mrow></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Complex Fraction Integer
+</div>
+
+
+
+<p>You can also use Axiom to manipulate fractional powers.
+<span class="index">radical</span><a name="chapter-1-37"/>
+</p>
+
+
+
+<div id="spadComm1-57" class="spadComm" >
+<form id="formComm1-57" action="javascript:makeRequest('1-57');" >
+<input id="comm1-57" type="text" class="command" style="width: 21em;" value="(5 + sqrt 63 + sqrt 847)**(1/3)" />
+</form>
+<span id="commSav1-57" class="commSav" >(5 + sqrt 63 + sqrt 847)**(1/3)</span>
+<div id="mathAns1-57" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mroot><mrow><mrow><mn>14</mn><mo></mo><mrow><msqrt><mn>7</mn></msqrt></mrow></mrow><mo>+</mo><mn>5</mn></mrow><mn>3</mn></mroot></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: AlgebraicNumber
+</div>
+
+
+
+<p>You can also compute with integers modulo a prime.
+</p>
+
+
+
+<div id="spadComm1-58" class="spadComm" >
+<form id="formComm1-58" action="javascript:makeRequest('1-58');" >
+<input id="comm1-58" type="text" class="command" style="width: 14em;" value="x : PrimeField 7 := 5" />
+</form>
+<span id="commSav1-58" class="commSav" >x : PrimeField 7 := 5</span>
+<div id="mathAns1-58" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>5</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PrimeField 7
+</div>
+
+
+
+<p>Arithmetic is then done modulo <math xmlns="&mathml;" mathsize="big"><mstyle><mn>7</mn></mstyle></math>.
+</p>
+
+
+
+<div id="spadComm1-59" class="spadComm" >
+<form id="formComm1-59" action="javascript:makeRequest('1-59');" >
+<input id="comm1-59" type="text" class="command" style="width: 3em;" value="x**3" />
+</form>
+<span id="commSav1-59" class="commSav" >x**3</span>
+<div id="mathAns1-59" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>6</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PrimeField 7
+</div>
+
+
+
+<p>Since <math xmlns="&mathml;" mathsize="big"><mstyle><mn>7</mn></mstyle></math> is prime, you can invert nonzero values.
+</p>
+
+
+
+<div id="spadComm1-60" class="spadComm" >
+<form id="formComm1-60" action="javascript:makeRequest('1-60');" >
+<input id="comm1-60" type="text" class="command" style="width: 2em;" value="1/x" />
+</form>
+<span id="commSav1-60" class="commSav" >1/x</span>
+<div id="mathAns1-60" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>3</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PrimeField 7
+</div>
+
+
+
+<p>You can also compute modulo an integer that is not a prime.
+</p>
+
+
+
+<div id="spadComm1-61" class="spadComm" >
+<form id="formComm1-61" action="javascript:makeRequest('1-61');" >
+<input id="comm1-61" type="text" class="command" style="width: 14em;" value="y : IntegerMod 6 := 5" />
+</form>
+<span id="commSav1-61" class="commSav" >y : IntegerMod 6 := 5</span>
+<div id="mathAns1-61" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>5</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: IntegerMod 6
+</div>
+
+
+
+<p>All of the usual arithmetic operations are available.
+</p>
+
+
+
+<div id="spadComm1-62" class="spadComm" >
+<form id="formComm1-62" action="javascript:makeRequest('1-62');" >
+<input id="comm1-62" type="text" class="command" style="width: 3em;" value="y**3" />
+</form>
+<span id="commSav1-62" class="commSav" >y**3</span>
+<div id="mathAns1-62" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>5</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: IntegerMod 6
+</div>
+
+
+
+<p>Inversion is not available if the modulus is not a prime number.
+Modular arithmetic and prime fields are discussed in Section
+<a href="section-8.11.xhtml#ugxProblemFinitePrime" class="ref" >ugxProblemFinitePrime</a> .
+</p>
+
+
+
+
+<div id="spadComm1-63" class="spadComm" >
+<form id="formComm1-63" action="javascript:makeRequest('1-63');" >
+<input id="comm1-63" type="text" class="command" style="width: 2em;" value="1/y" />
+</form>
+<span id="commSav1-63" class="commSav" >1/y</span>
+<div id="mathAns1-63" ></div>
+</div>
+
+
+
+
+<div class="verbatim"><br />
+&nbsp;&nbsp;&nbsp;There&nbsp;are&nbsp;12&nbsp;exposed&nbsp;and&nbsp;13&nbsp;unexposed&nbsp;library&nbsp;operations&nbsp;named&nbsp;/&nbsp;<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;having&nbsp;2&nbsp;argument(s)&nbsp;but&nbsp;none&nbsp;was&nbsp;determined&nbsp;to&nbsp;be&nbsp;applicable.&nbsp;<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Use&nbsp;HyperDoc&nbsp;Browse,&nbsp;or&nbsp;issue<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)display&nbsp;op&nbsp;/<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;to&nbsp;learn&nbsp;more&nbsp;about&nbsp;the&nbsp;available&nbsp;operations.&nbsp;Perhaps&nbsp;<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;package-calling&nbsp;the&nbsp;operation&nbsp;or&nbsp;using&nbsp;coercions&nbsp;on&nbsp;the&nbsp;arguments<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;will&nbsp;allow&nbsp;you&nbsp;to&nbsp;apply&nbsp;the&nbsp;operation.<br />
+&nbsp;<br />
+&nbsp;&nbsp;&nbsp;Cannot&nbsp;find&nbsp;a&nbsp;definition&nbsp;or&nbsp;applicable&nbsp;library&nbsp;operation&nbsp;named&nbsp;/&nbsp;<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;with&nbsp;argument&nbsp;type(s)&nbsp;<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PositiveInteger<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IntegerMod&nbsp;6<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Perhaps&nbsp;you&nbsp;should&nbsp;use&nbsp;"@"&nbsp;to&nbsp;indicate&nbsp;the&nbsp;required&nbsp;return&nbsp;type,&nbsp;<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or&nbsp;"$"&nbsp;to&nbsp;specify&nbsp;which&nbsp;version&nbsp;of&nbsp;the&nbsp;function&nbsp;you&nbsp;need.<br />
+</div>
+
+
+
+<p>This defines <math xmlns="&mathml;" mathsize="big"><mstyle><mi>a</mi></mstyle></math> to be an algebraic number, that is,
+a root of a polynomial equation.
+</p>
+
+
+
+<div id="spadComm1-64" class="spadComm" >
+<form id="formComm1-64" action="javascript:makeRequest('1-64');" >
+<input id="comm1-64" type="text" class="command" style="width: 25em;" value="a := rootOf(a**5 + a**3 + a**2 + 3,a)" />
+</form>
+<span id="commSav1-64" class="commSav" >a := rootOf(a**5 + a**3 + a**2 + 3,a)</span>
+<div id="mathAns1-64" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mi>a</mi></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Expression Integer
+</div>
+
+
+
+<p>Computations with <math xmlns="&mathml;" mathsize="big"><mstyle><mi>a</mi></mstyle></math> are reduced according to the polynomial equation.
+</p>
+
+
+
+<div id="spadComm1-65" class="spadComm" >
+<form id="formComm1-65" action="javascript:makeRequest('1-65');" >
+<input id="comm1-65" type="text" class="command" style="width: 8em;" value="(a + 1)**10" />
+</form>
+<span id="commSav1-65" class="commSav" >(a + 1)**10</span>
+<div id="mathAns1-65" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>-</mo><mrow><mn>85</mn><mo></mo><mrow><msup><mi>a</mi><mn>4</mn></msup></mrow></mrow><mo>-</mo><mrow><mn>264</mn><mo></mo><mrow><msup><mi>a</mi><mn>3</mn></msup></mrow></mrow><mo>-</mo><mrow><mn>378</mn><mo></mo><mrow><msup><mi>a</mi><mn>2</mn></msup></mrow></mrow><mo>-</mo><mrow><mn>458</mn><mo></mo><mi>a</mi></mrow><mo>-</mo><mn>287</mn></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Expression Integer
+</div>
+
+
+
+<p>Define <math xmlns="&mathml;" mathsize="big"><mstyle><mi>b</mi></mstyle></math> to be an algebraic number involving <math xmlns="&mathml;" mathsize="big"><mstyle><mi>a</mi></mstyle></math>.
+</p>
+
+
+
+<div id="spadComm1-66" class="spadComm" >
+<form id="formComm1-66" action="javascript:makeRequest('1-66');" >
+<input id="comm1-66" type="text" class="command" style="width: 16em;" value="b := rootOf(b**4 + a,b)" />
+</form>
+<span id="commSav1-66" class="commSav" >b := rootOf(b**4 + a,b)</span>
+<div id="mathAns1-66" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mi>b</mi></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Expression Integer
+</div>
+
+
+
+<p>Do some arithmetic.
+</p>
+
+
+
+<div id="spadComm1-67" class="spadComm" >
+<form id="formComm1-67" action="javascript:makeRequest('1-67');" >
+<input id="comm1-67" type="text" class="command" style="width: 6em;" value="2/(b - 1)" />
+</form>
+<span id="commSav1-67" class="commSav" >2/(b - 1)</span>
+<div id="mathAns1-67" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mfrac><mn>2</mn><mrow><mi>b</mi><mo>-</mo><mn>1</mn></mrow></mfrac></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Expression Integer
+</div>
+
+
+
+<p>To expand and simplify this, call <span class="italic">ratDenom</span>
+to rationalize the denominator.
+</p>
+
+
+
+<div id="spadComm1-68" class="spadComm" >
+<form id="formComm1-68" action="javascript:makeRequest('1-68');" >
+<input id="comm1-68" type="text" class="command" style="width: 8em;" value="ratDenom(%)" />
+</form>
+<span id="commSav1-68" class="commSav" >ratDenom(%)</span>
+<div id="mathAns1-68" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mtable><mtr><mtd><mrow><mrow><mo>(</mo><mrow><msup><mi>a</mi><mn>4</mn></msup></mrow><mo>-</mo><mrow><msup><mi>a</mi><mn>3</mn></msup></mrow><mo>+</mo><mrow><mn>2</mn><mo></mo><mrow><msup><mi>a</mi><mn>2</mn></msup></mrow></mrow><mo>-</mo><mi>a</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo></mo><mrow><msup><mi>b</mi><mn>3</mn></msup></mrow></mrow><mo>+</mo><mrow><mrow><mo>(</mo><mrow><msup><mi>a</mi><mn>4</mn></msup></mrow><mo>-</mo><mrow><msup><mi>a</mi><mn>3</mn></msup></mrow><mo>+</mo><mrow><mn>2</mn><mo></mo><mrow><msup><mi>a</mi><mn>2</mn></msup></mrow></mrow><mo>-</mo><mi>a</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo></mo><mrow><msup><mi>b</mi><mn>2</mn></msup></mrow></mrow><mo>+</mo></mtd></mtr><mtr><mtd></mtd></mtr><mtr><mtd><mrow><mrow><mo>(</mo><mrow><msup><mi>a</mi><mn>4</mn></msup></mrow><mo>-</mo><mrow><msup><mi>a</mi><mn>3</mn></msup></mrow><mo>+</mo><mrow><mn>2</mn><mo></mo><mrow><msup><mi>a</mi><mn>2</mn></msup></mrow></mrow><mo>-</mo><mi>a</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo></mo><mi>b</mi></mrow><mo>+</mo><mrow><msup><mi>a</mi><mn>4</mn></msup></mrow><mo>-</mo><mrow><msup><mi>a</mi><mn>3</mn></msup></mrow><mo>+</mo><mrow><mn>2</mn><mo></mo><mrow><msup><mi>a</mi><mn>2</mn></msup></mrow></mrow><mo>-</mo><mi>a</mi><mo>+</mo><mn>1</mn></mtd></mtr></mtable></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+
+<div class="returnType">
+Type: Expression Integer
+</div>
+
+
+
+<p>If we do this, we should get <math xmlns="&mathml;" mathsize="big"><mstyle><mi>b</mi></mstyle></math>.
+</p>
+
+
+
+<div id="spadComm1-69" class="spadComm" >
+<form id="formComm1-69" action="javascript:makeRequest('1-69');" >
+<input id="comm1-69" type="text" class="command" style="width: 4em;" value="2/%+1" />
+</form>
+<span id="commSav1-69" class="commSav" >2/%+1</span>
+<div id="mathAns1-69" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mfrac><mrow><mo>(</mo><mtable><mtr><mtd><mrow><mrow><mo>(</mo><mrow><msup><mi>a</mi><mn>4</mn></msup></mrow><mo>-</mo><mrow><msup><mi>a</mi><mn>3</mn></msup></mrow><mo>+</mo><mrow><mn>2</mn><mo></mo><mrow><msup><mi>a</mi><mn>2</mn></msup></mrow></mrow><mo>-</mo><mi>a</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo></mo><mrow><msup><mi>b</mi><mn>3</mn></msup></mrow></mrow><mo>+</mo><mrow><mrow><mo>(</mo><mrow><msup><mi>a</mi><mn>4</mn></msup></mrow><mo>-</mo><mrow><msup><mi>a</mi><mn>3</mn></msup></mrow><mo>+</mo><mrow><mn>2</mn><mo></mo><mrow><msup><mi>a</mi><mn>2</mn></msup></mrow></mrow><mo>-</mo><mi>a</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo></mo><mrow><msup><mi>b</mi><mn>2</mn></msup></mrow></mrow><mo>+</mo></mtd></mtr><mtr><mtd></mtd></mtr><mtr><mtd><mrow><mrow><mo>(</mo><mrow><msup><mi>a</mi><mn>4</mn></msup></mrow><mo>-</mo><mrow><msup><mi>a</mi><mn>3</mn></msup></mrow><mo>+</mo><mrow><mn>2</mn><mo></mo><mrow><msup><mi>a</mi><mn>2</mn></msup></mrow></mrow><mo>-</mo><mi>a</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo></mo><mi>b</mi></mrow><mo>+</mo><mrow><msup><mi>a</mi><mn>4</mn></msup></mrow><mo>-</mo><mrow><msup><mi>a</mi><mn>3</mn></msup></mrow><mo>+</mo><mrow><mn>2</mn><mo></mo><mrow><msup><mi>a</mi><mn>2</mn></msup></mrow></mrow><mo>-</mo><mi>a</mi><mo>+</mo><mn>3</mn></mtd></mtr></mtable><mo>)</mo></mrow><mrow><mo>(</mo><mtable><mtr><mtd><mrow><mrow><mo>(</mo><mrow><msup><mi>a</mi><mn>4</mn></msup></mrow><mo>-</mo><mrow><msup><mi>a</mi><mn>3</mn></msup></mrow><mo>+</mo><mrow><mn>2</mn><mo></mo><mrow><msup><mi>a</mi><mn>2</mn></msup></mrow></mrow><mo>-</mo><mi>a</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo></mo><mrow><msup><mi>b</mi><mn>3</mn></msup></mrow></mrow><mo>+</mo><mrow><mrow><mo>(</mo><mrow><msup><mi>a</mi><mn>4</mn></msup></mrow><mo>-</mo><mrow><msup><mi>a</mi><mn>3</mn></msup></mrow><mo>+</mo><mrow><mn>2</mn><mo></mo><mrow><msup><mi>a</mi><mn>2</mn></msup></mrow></mrow><mo>-</mo><mi>a</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo></mo><mrow><msup><mi>b</mi><mn>2</mn></msup></mrow></mrow><mo>+</mo></mtd></mtr><mtr><mtd></mtd></mtr><mtr><mtd><mrow><mrow><mo>(</mo><mrow><msup><mi>a</mi><mn>4</mn></msup></mrow><mo>-</mo><mrow><msup><mi>a</mi><mn>3</mn></msup></mrow><mo>+</mo><mrow><mn>2</mn><mo></mo><mrow><msup><mi>a</mi><mn>2</mn></msup></mrow></mrow><mo>-</mo><mi>a</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo></mo><mi>b</mi></mrow><mo>+</mo><mrow><msup><mi>a</mi><mn>4</mn></msup></mrow><mo>-</mo><mrow><msup><mi>a</mi><mn>3</mn></msup></mrow><mo>+</mo><mrow><mn>2</mn><mo></mo><mrow><msup><mi>a</mi><mn>2</mn></msup></mrow></mrow><mo>-</mo><mi>a</mi><mo>+</mo><mn>1</mn></mtd></mtr></mtable><mo>)</mo></mrow></mfrac></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Expression Integer
+</div>
+
+
+
+<p>But we need to rationalize the denominator again.
+</p>
+
+
+
+
+<div id="spadComm1-70" class="spadComm" >
+<form id="formComm1-70" action="javascript:makeRequest('1-70');" >
+<input id="comm1-70" type="text" class="command" style="width: 8em;" value="ratDenom(%)" />
+</form>
+<span id="commSav1-70" class="commSav" >ratDenom(%)</span>
+<div id="mathAns1-70" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mi>b</mi></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Expression Integer
+</div>
+
+
+
+<p>Types <span class="teletype">Quaternion</span> and <span class="teletype">Octonion</span> are also available.
+Multiplication of quaternions is non-commutative, as expected.
+</p>
+
+
+
+
+<div id="spadComm1-71" class="spadComm" >
+<form id="formComm1-71" action="javascript:makeRequest('1-71');" >
+<input id="comm1-71" type="text" class="command" style="width: 48em;" value="q:=quatern(1,2,3,4)*quatern(5,6,7,8) - quatern(5,6,7,8)*quatern(1,2,3,4)" />
+</form>
+<span id="commSav1-71" class="commSav" >q:=quatern(1,2,3,4)*quatern(5,6,7,8) - quatern(5,6,7,8)*quatern(1,2,3,4)</span>
+<div id="mathAns1-71" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>-</mo><mrow><mn>8</mn><mo></mo><mi>i</mi></mrow><mo>+</mo><mrow><mn>16</mn><mo></mo><mi>j</mi></mrow><mo>-</mo><mrow><mn>8</mn><mo></mo><mi>k</mi></mrow></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Quaternion Integer
+</div>
+
+
+
+
+
+</div><a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a>
+<a href="section-1.3.xhtml" style="margin-right: 10px;">Previous Section 1.3 The Axiom Language</a><a href="section-1.5.xhtml" style="margin-right: 10px;">Next Section 1.5 Data Structures</a>
+<a href="book-index.xhtml">Book Index</a></body>
+</html>
\ No newline at end of file
diff --git a/src/axiom-website/hyperdoc/axbook/section-1.5.xhtml b/src/axiom-website/hyperdoc/axbook/section-1.5.xhtml
new file mode 100644
index 0000000..729c74e
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/section-1.5.xhtml
@@ -0,0 +1,1036 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
+"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [
+<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
+]>
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:xlink="http://www.w3.org/1999/xlink" >
+
+
+  <head>
+    <title>Section1.5</title>
+    <link rel="stylesheet" type="text/css" href="graphicstyle.css" />
+    <script type="text/javascript" src="bookax1.js" />
+  </head>
+
+  <body>
+<a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a><a href="section-1.4.xhtml" style="margin-right: 10px;">Previous Section 1.4 Numbers</a><a href="section-1.6.xhtml" style="margin-right: 10px;">Next Section 1.6 Expanding to Higher Dimensions</a>
+<a href="book-index.xhtml">Book Index</a><div class="section"  id="sec-1.5">
+<h2 class="sectiontitle">1.5  Data Structures</h2>
+
+
+<a name="ugIntroCollect" class="label"/>
+
+<p>Axiom has a large variety of data structures available.  Many
+data structures are particularly useful for interactive computation
+and others are useful for building applications.  The data structures
+of Axiom are organized into <span style="font-style: italic;"> category hierarchies</span>.
+</p>
+
+
+<p>A <span class="italic">list</span>, <span class="footnote">Lists are discussed in Section <a href="section-9.1.xhtml#AssociationListXmpPage" class="ref" >ListXmpPage</a></span>, is the most commonly used data structure in
+Axiom for holding objects all of the same type. The name <span class="italic">list</span> is
+short for ``linked-list of nodes.'' Each node consists of a value
+(<span class="spadfunFrom" style="font-weight: bold;">first</span><span class="index">first</span><a name="chapter-1-38"/><span class="index">List</span><a name="chapter-1-39"/>) and a link (<span class="spadfunFrom" style="font-weight: bold;">rest</span><span class="index">rest</span><a name="chapter-1-40"/><span class="index">List</span><a name="chapter-1-41"/>) that
+points to the next node, or to a distinguished value denoting the
+empty list.  To get to, say, the third element, Axiom starts at the
+front of the list, then traverses across two links to the third node.
+</p>
+
+
+<p>Write a list of elements using square brackets with commas separating
+the elements.
+</p>
+
+
+
+<div id="spadComm1-72" class="spadComm" >
+<form id="formComm1-72" action="javascript:makeRequest('1-72');" >
+<input id="comm1-72" type="text" class="command" style="width: 10em;" value="u := [1,-7,11]" />
+</form>
+<span id="commSav1-72" class="commSav" >u := [1,-7,11]</span>
+<div id="mathAns1-72" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>1</mn><mo>,</mo><mo>-</mo><mn>7</mn><mo>,</mo><mn>11</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List Integer
+</div>
+
+
+
+<p>This is the value at the third node.  Alternatively, you can say <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mi>u</mi><mo>.</mo><mn>3</mn></mrow></mstyle></math>.
+</p>
+
+
+
+<div id="spadComm1-73" class="spadComm" >
+<form id="formComm1-73" action="javascript:makeRequest('1-73');" >
+<input id="comm1-73" type="text" class="command" style="width: 12em;" value="first rest rest u" />
+</form>
+<span id="commSav1-73" class="commSav" >first rest rest u</span>
+<div id="mathAns1-73" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mn>11</mn></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: PositiveInteger
+</div>
+
+
+
+<p>Many operations are defined on lists, such as: <span style="font-weight: bold;"> empty?</span>, to test
+that a list has no elements; <span style="font-weight: bold;"> cons</span><math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>l</mi><mo>)</mo></mrow></mstyle></math>, to create a new list
+with <span style="font-weight: bold;"> first</span> element <math xmlns="&mathml;" mathsize="big"><mstyle><mi>x</mi></mstyle></math> and <span style="font-weight: bold;"> rest</span> <math xmlns="&mathml;" mathsize="big"><mstyle><mi>l</mi></mstyle></math>; <span style="font-weight: bold;"> reverse</span>, to
+create a new list with elements in reverse order; and <span style="font-weight: bold;"> sort</span>, to
+arrange elements in order.
+</p>
+
+
+<p>An important point about lists is that they are ``mutable'': their
+constituent elements and links can be changed ``in place.''
+To do this, use any of the operations whose names end with the
+character ``<span class="teletype">!</span>''.
+</p>
+
+
+<p>The operation <span class="spadfunFrom" style="font-weight: bold;">concat!</span><span class="index">concat!</span><a name="chapter-1-42"/><span class="index">List</span><a name="chapter-1-43"/><math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mo>(</mo><mi>u</mi><mo>,</mo><mi>v</mi><mo>)</mo></mrow></mstyle></math> replaces the
+last link of the list <math xmlns="&mathml;" mathsize="big"><mstyle><mi>u</mi></mstyle></math> to point to some other list <math xmlns="&mathml;" mathsize="big"><mstyle><mi>v</mi></mstyle></math>.
+Since <math xmlns="&mathml;" mathsize="big"><mstyle><mi>u</mi></mstyle></math> refers to the original list, this change is seen by <math xmlns="&mathml;" mathsize="big"><mstyle><mi>u</mi></mstyle></math>.
+</p>
+
+
+
+<div id="spadComm1-74" class="spadComm" >
+<form id="formComm1-74" action="javascript:makeRequest('1-74');" >
+<input id="comm1-74" type="text" class="command" style="width: 16em;" value="concat!(u,[9,1,3,-4]); u" />
+</form>
+<span id="commSav1-74" class="commSav" >concat!(u,[9,1,3,-4]); u</span>
+<div id="mathAns1-74" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>1</mn><mo>,</mo><mo>-</mo><mn>7</mn><mo>,</mo><mn>11</mn><mo>,</mo><mn>9</mn><mo>,</mo><mn>1</mn><mo>,</mo><mn>3</mn><mo>,</mo><mo>-</mo><mn>4</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List Integer
+</div>
+
+
+
+<p>A <span class="italic">cyclic list</span> is a list with a ``cycle'': <span class="index">list:cyclic</span><a name="chapter-1-44"/> a
+link pointing back to an earlier node of the list.  <span class="index">cyclic
+list</span><a name="chapter-1-45"/> To create a cycle, first get a node somewhere down the list.
+</p>
+
+
+
+<div id="spadComm1-75" class="spadComm" >
+<form id="formComm1-75" action="javascript:makeRequest('1-75');" >
+<input id="comm1-75" type="text" class="command" style="width: 14em;" value="lastnode := rest(u,3)" />
+</form>
+<span id="commSav1-75" class="commSav" >lastnode := rest(u,3)</span>
+<div id="mathAns1-75" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>9</mn><mo>,</mo><mn>1</mn><mo>,</mo><mn>3</mn><mo>,</mo><mo>-</mo><mn>4</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List Integer
+</div>
+
+
+
+<p>Use <span class="spadfunFrom" style="font-weight: bold;">setrest!</span><span class="index">setrest!</span><a name="chapter-1-46"/><span class="index">List</span><a name="chapter-1-47"/> to change the link emanating from
+that node to point back to an earlier part of the list.
+</p>
+
+
+
+
+<div id="spadComm1-76" class="spadComm" >
+<form id="formComm1-76" action="javascript:makeRequest('1-76');" >
+<input id="comm1-76" type="text" class="command" style="width: 21em;" value="setrest!(lastnode,rest(u,2)); u" />
+</form>
+<span id="commSav1-76" class="commSav" >setrest!(lastnode,rest(u,2)); u</span>
+<div id="mathAns1-76" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>1</mn><mo>,</mo><mo>-</mo><mn>7</mn><mo>,</mo><mrow></mrow><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List Integer
+</div>
+
+
+
+<p>A <span class="italic">stream</span> is a structure that (potentially) has an infinite
+number of distinct elements. Think of a stream as an
+``infinite list'' where elements are computed successively.
+<span class="footnote">Streams are discussed in Section{StreamXmpPage}.</span>
+</p>
+
+
+<p>Create an infinite stream of factored integers.  Only a certain number
+of initial elements are computed and displayed.
+</p>
+
+
+
+
+<div id="spadComm1-77" class="spadComm" >
+<form id="formComm1-77" action="javascript:makeRequest('1-77');" >
+<input id="comm1-77" type="text" class="command" style="width: 20em;" value="[factor(i) for i in 2.. by 2]" />
+</form>
+<span id="commSav1-77" class="commSav" >[factor(i) for i in 2.. by 2]</span>
+<div id="mathAns1-77" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>2</mn><mo>,</mo><mrow><msup><mn>2</mn><mn>2</mn></msup></mrow><mo>,</mo><mrow><mn>2</mn><mo></mo><mn>3</mn></mrow><mo>,</mo><mrow><msup><mn>2</mn><mn>3</mn></msup></mrow><mo>,</mo><mrow><mn>2</mn><mo></mo><mn>5</mn></mrow><mo>,</mo><mrow><mrow><msup><mn>2</mn><mn>2</mn></msup></mrow><mo></mo><mn>3</mn></mrow><mo>,</mo><mrow><mn>2</mn><mo></mo><mn>7</mn></mrow><mo>,</mo><mrow><msup><mn>2</mn><mn>4</mn></msup></mrow><mo>,</mo><mrow><mn>2</mn><mo></mo><mrow><msup><mn>3</mn><mn>2</mn></msup></mrow></mrow><mo>,</mo><mrow><mrow><msup><mn>2</mn><mn>2</mn></msup></mrow><mo></mo><mn>5</mn></mrow><mo>,</mo><mo>&#x2026;</mo><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Stream Factored Integer
+</div>
+
+
+
+<p>Axiom represents streams by a collection of already-computed
+elements together with a function to compute the next element ``on
+demand.''  Asking for the <math xmlns="&mathml;" mathsize="big"><mstyle><mi>n</mi></mstyle></math>-th element causes elements
+<math xmlns="&mathml;" mathsize="big"><mstyle><mn>1</mn></mstyle></math> through <math xmlns="&mathml;" mathsize="big"><mstyle><mi>n</mi></mstyle></math> to be evaluated.
+</p>
+
+
+
+<div id="spadComm1-78" class="spadComm" >
+<form id="formComm1-78" action="javascript:makeRequest('1-78');" >
+<input id="comm1-78" type="text" class="command" style="width: 4em;" value="%.36" />
+</form>
+<span id="commSav1-78" class="commSav" >%.36</span>
+<div id="mathAns1-78" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mrow><msup><mn>2</mn><mn>3</mn></msup></mrow><mo></mo><mrow><msup><mn>3</mn><mn>2</mn></msup></mrow></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Factored Integer
+</div>
+
+
+
+<p>Streams can also be finite or cyclic.
+They are implemented by a linked list structure similar to lists
+and have many of the same operations.
+For example, <span style="font-weight: bold;"> first</span> and <span style="font-weight: bold;"> rest</span> are used to access
+elements and successive nodes of a stream.
+</p>
+
+
+<p>A <span class="italic">one-dimensional array</span> is another data structure used to hold
+objects of the same type <span class="footnote">OnedimensionalArray is discussed in
+Section <a href="section-9.57.xhtml#OneDimensionalArrayXmpPage" class="ref" >OneDimensionalArrayXmpPage</a></span>. Unlike lists,
+one-dimensional arrays are inflexible---they are
+<span class="index">array:one-dimensional</span><a name="chapter-1-48"/> implemented using a fixed block of
+storage.  Their advantage is that they give quick and equal access
+time to any element.
+</p>
+
+
+<p>A simple way to create a one-dimensional array is to apply the
+operation <span style="font-weight: bold;"> oneDimensionalArray</span> to a list of elements.
+</p>
+
+
+
+<div id="spadComm1-79" class="spadComm" >
+<form id="formComm1-79" action="javascript:makeRequest('1-79');" >
+<input id="comm1-79" type="text" class="command" style="width: 27em;" value="a := oneDimensionalArray [1, -7, 3, 3/2]" />
+</form>
+<span id="commSav1-79" class="commSav" >a := oneDimensionalArray [1, -7, 3, 3/2]</span>
+<div id="mathAns1-79" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>1</mn><mo>,</mo><mo>-</mo><mn>7</mn><mo>,</mo><mn>3</mn><mo>,</mo><mfrac><mn>3</mn><mn>2</mn></mfrac><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: OneDimensionalArray Fraction Integer
+</div>
+
+
+
+<p>One-dimensional arrays are also mutable: you can change their
+constituent elements ``in place.''
+</p>
+
+
+
+<div id="spadComm1-80" class="spadComm" >
+<form id="formComm1-80" action="javascript:makeRequest('1-80');" >
+<input id="comm1-80" type="text" class="command" style="width: 8em;" value="a.3 := 11; a" />
+</form>
+<span id="commSav1-80" class="commSav" >a.3 := 11; a</span>
+<div id="mathAns1-80" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>1</mn><mo>,</mo><mo>-</mo><mn>7</mn><mo>,</mo><mn>11</mn><mo>,</mo><mfrac><mn>3</mn><mn>2</mn></mfrac><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: OneDimensionalArray Fraction Integer
+</div>
+
+
+
+<p>However, one-dimensional arrays are not flexible structures.
+You cannot destructively <span style="font-weight: bold;"> concat!</span> them together.
+</p>
+
+
+
+<div id="spadComm1-81" class="spadComm" >
+<form id="formComm1-81" action="javascript:makeRequest('1-81');" >
+<input id="comm1-81" type="text" class="command" style="width: 25em;" value="concat!(a,oneDimensionalArray [1,-2])" />
+</form>
+<span id="commSav1-81" class="commSav" >concat!(a,oneDimensionalArray [1,-2])</span>
+<div id="mathAns1-81" ></div>
+</div>
+
+
+
+
+<div class="verbatim"><br />
+&nbsp;&nbsp;&nbsp;There&nbsp;are&nbsp;5&nbsp;exposed&nbsp;and&nbsp;0&nbsp;unexposed&nbsp;library&nbsp;operations&nbsp;named&nbsp;concat!<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;having&nbsp;2&nbsp;argument(s)&nbsp;but&nbsp;none&nbsp;was&nbsp;determined&nbsp;to&nbsp;be&nbsp;applicable.&nbsp;<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Use&nbsp;HyperDoc&nbsp;Browse,&nbsp;or&nbsp;issue<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)display&nbsp;op&nbsp;concat!<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;to&nbsp;learn&nbsp;more&nbsp;about&nbsp;the&nbsp;available&nbsp;operations.&nbsp;Perhaps&nbsp;<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;package-calling&nbsp;the&nbsp;operation&nbsp;or&nbsp;using&nbsp;coercions&nbsp;on&nbsp;the&nbsp;arguments<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;will&nbsp;allow&nbsp;you&nbsp;to&nbsp;apply&nbsp;the&nbsp;operation.<br />
+&nbsp;<br />
+&nbsp;&nbsp;&nbsp;Cannot&nbsp;find&nbsp;a&nbsp;definition&nbsp;or&nbsp;applicable&nbsp;library&nbsp;operation&nbsp;named&nbsp;<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;concat!&nbsp;with&nbsp;argument&nbsp;type(s)&nbsp;<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OneDimensionalArray&nbsp;Fraction&nbsp;Integer<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OneDimensionalArray&nbsp;Integer<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Perhaps&nbsp;you&nbsp;should&nbsp;use&nbsp;"@"&nbsp;to&nbsp;indicate&nbsp;the&nbsp;required&nbsp;return&nbsp;type,&nbsp;<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or&nbsp;"$"&nbsp;to&nbsp;specify&nbsp;which&nbsp;version&nbsp;of&nbsp;the&nbsp;function&nbsp;you&nbsp;need.<br />
+</div>
+
+
+
+<p>Examples of datatypes similar to <span class="teletype">OneDimensionalArray</span>
+are: <span class="teletype">Vector</span> (vectors are mathematical structures
+implemented by one-dimensional arrays), <span class="teletype">String</span> (arrays
+of ``characters,'' represented by byte vectors), and
+<span class="teletype">Bits</span> (represented by ``bit vectors'').
+</p>
+
+
+<p>A vector of 32 bits, each representing the <span style="font-weight: bold;"> Boolean</span> value
+<math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mtext mathvariant='monospace'>true</mtext></mrow></mstyle></math>.
+</p>
+
+
+
+<div id="spadComm1-82" class="spadComm" >
+<form id="formComm1-82" action="javascript:makeRequest('1-82');" >
+<input id="comm1-82" type="text" class="command" style="width: 9em;" value="bits(32,true)" />
+</form>
+<span id="commSav1-82" class="commSav" >bits(32,true)</span>
+<div id="mathAns1-82" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mtext><mrow><mtext mathvariant='monospace'>"11111111111111111111111111111111"</mtext></mrow></mtext></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Bits
+</div>
+
+
+
+<p>A <span class="italic">flexible array</span> (<span class="footnote">FlexibleArray is discussed in Section
+<a href="section-9.26.xhtml#FlexibleArrayXmpPage" class="ref" >FlexibleArrayXmpPage</a> </span>) is
+a cross between a list <span class="index">array:flexible</span><a name="chapter-1-49"/> and a one-dimensional
+array. Like a one-dimensional array, a flexible array occupies a fixed
+block of storage.  Its block of storage, however, has room to expand.
+When it gets full, it grows (a new, larger block of storage is
+allocated); when it has too much room, it contracts.
+</p>
+
+
+<p>Create a flexible array of three elements.
+</p>
+
+
+
+<div id="spadComm1-83" class="spadComm" >
+<form id="formComm1-83" action="javascript:makeRequest('1-83');" >
+<input id="comm1-83" type="text" class="command" style="width: 20em;" value="f := flexibleArray [2, 7, -5]" />
+</form>
+<span id="commSav1-83" class="commSav" >f := flexibleArray [2, 7, -5]</span>
+<div id="mathAns1-83" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>2</mn><mo>,</mo><mn>7</mn><mo>,</mo><mo>-</mo><mn>5</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: FlexibleArray Integer
+</div>
+
+
+
+<p>Insert some elements between the second and third elements.
+</p>
+
+
+
+<div id="spadComm1-84" class="spadComm" >
+<form id="formComm1-84" action="javascript:makeRequest('1-84');" >
+<input id="comm1-84" type="text" class="command" style="width: 24em;" value="insert!(flexibleArray [11, -3],f,2)" />
+</form>
+<span id="commSav1-84" class="commSav" >insert!(flexibleArray [11, -3],f,2)</span>
+<div id="mathAns1-84" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>2</mn><mo>,</mo><mn>11</mn><mo>,</mo><mo>-</mo><mn>3</mn><mo>,</mo><mn>7</mn><mo>,</mo><mo>-</mo><mn>5</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: FlexibleArray Integer
+</div>
+
+
+
+<p>Flexible arrays are used to implement ``heaps.'' A <span class="italic">heap</span> is an
+example of a data structure called a <span class="italic">priority queue</span>, where
+elements are ordered with respect to one another. A heap
+(<span class="footnote">Heap is discussed in Section <a href="section-9.32.xhtml#HeapXmpPage" class="ref" >HeapXmpPage</a> </span>) is organized so as to optimize insertion
+and extraction of maximum elements.  The <span style="font-weight: bold;"> extract!</span> operation
+returns the maximum element of the heap, after destructively removing
+that element and reorganizing the heap so that the next maximum
+element is ready to be delivered.
+</p>
+
+
+<p>An easy way to create a heap is to apply the operation <span class="italic">heap</span>
+to a list of values.
+</p>
+
+
+
+<div id="spadComm1-85" class="spadComm" >
+<form id="formComm1-85" action="javascript:makeRequest('1-85');" >
+<input id="comm1-85" type="text" class="command" style="width: 18em;" value="h := heap [-4,7,11,3,4,-7]" />
+</form>
+<span id="commSav1-85" class="commSav" >h := heap [-4,7,11,3,4,-7]</span>
+<div id="mathAns1-85" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>11</mn><mo>,</mo><mn>4</mn><mo>,</mo><mn>7</mn><mo>,</mo><mo>-</mo><mn>4</mn><mo>,</mo><mn>3</mn><mo>,</mo><mo>-</mo><mn>7</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Heap Integer
+</div>
+
+
+
+<p>This loop extracts elements one-at-a-time from <math xmlns="&mathml;" mathsize="big"><mstyle><mi>h</mi></mstyle></math> until the heap
+is exhausted, returning the elements as a list in the order they were
+extracted.
+</p>
+
+
+
+<div id="spadComm1-86" class="spadComm" >
+<form id="formComm1-86" action="javascript:makeRequest('1-86');" >
+<input id="comm1-86" type="text" class="command" style="width: 22em;" value="[extract!(h) while not empty?(h)]" />
+</form>
+<span id="commSav1-86" class="commSav" >[extract!(h) while not empty?(h)]</span>
+<div id="mathAns1-86" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>11</mn><mo>,</mo><mn>7</mn><mo>,</mo><mn>4</mn><mo>,</mo><mn>3</mn><mo>,</mo><mo>-</mo><mn>4</mn><mo>,</mo><mo>-</mo><mn>7</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List Integer
+</div>
+
+
+
+<p>A <span class="italic">binary tree</span> is a ``tree'' with at most two branches
+<span class="index">tree</span><a name="chapter-1-50"/> per node: it is either empty, or else is a node
+consisting of a value, and a left and right subtree (again, binary
+trees). (<span class="footnote">BinarySearchTrees are discussed in Section 
+<a href="section-9.5.xhtml#BinarySearchTreeXmpPage" class="ref" >BinarySearchTreeXmpPage</a> </span>)
+Examples of binary tree types are <span class="teletype">BinarySearchTree</span>, 
+<span class="teletype">PendantTree</span>, <span class="teletype">TournamentTree</span>, and <span class="teletype">BalancedBinaryTree</span>.
+</p>
+
+
+<p>A <span class="italic">binary search tree</span> is a binary tree such that,
+<span class="index">tree:binary search</span><a name="chapter-1-51"/> for each node, the value of the node is
+<span class="index">binary search tree</span><a name="chapter-1-52"/> greater than all values (if any) in the
+left subtree, and less than or equal all values (if any) in the right
+subtree.
+</p>
+
+
+
+<div id="spadComm1-87" class="spadComm" >
+<form id="formComm1-87" action="javascript:makeRequest('1-87');" >
+<input id="comm1-87" type="text" class="command" style="width: 22em;" value="binarySearchTree [5,3,2,9,4,7,11]" />
+</form>
+<span id="commSav1-87" class="commSav" >binarySearchTree [5,3,2,9,4,7,11]</span>
+<div id="mathAns1-87" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mrow><mo>[</mo><mn>2</mn><mo>,</mo><mn>3</mn><mo>,</mo><mn>4</mn><mo>]</mo></mrow><mo>,</mo><mn>5</mn><mo>,</mo><mrow><mo>[</mo><mn>7</mn><mo>,</mo><mn>9</mn><mo>,</mo><mn>11</mn><mo>]</mo></mrow><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: BinarySearchTree PositiveInteger
+</div>
+
+
+
+<p>A <span class="italic">balanced binary tree</span> is useful for doing modular computations.
+<span class="index">balanced binary tree</span><a name="chapter-1-53"/> Given a list <math xmlns="&mathml;" mathsize="big"><mstyle><mi>lm</mi></mstyle></math> of moduli,
+<span class="index">tree:balanced binary</span><a name="chapter-1-54"/> <span style="font-weight: bold;"> modTree</span><math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mo>(</mo><mi>a</mi><mo>,</mo><mi>lm</mi><mo>)</mo></mrow></mstyle></math> produces
+a balanced binary tree with the values <math xmlns="&mathml;" mathsize="big"><mstyle></mstyle></math> at its leaves.
+</p>
+
+
+
+<div id="spadComm1-88" class="spadComm" >
+<form id="formComm1-88" action="javascript:makeRequest('1-88');" >
+<input id="comm1-88" type="text" class="command" style="width: 14em;" value="modTree(8,[2,3,5,7])" />
+</form>
+<span id="commSav1-88" class="commSav" >modTree(8,[2,3,5,7])</span>
+<div id="mathAns1-88" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>0</mn><mo>,</mo><mn>2</mn><mo>,</mo><mn>3</mn><mo>,</mo><mn>1</mn><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: List Integer
+</div>
+
+
+
+<p>A <span class="italic">set</span> is a collection of elements where duplication and order is
+irrelevant. <span class="footnote">Sets are discussed in Section <a href="section-9.53.xhtml#MultiSetXmpPage" class="ref" >SetXmpPage</a>
+</span> Sets are always finite and have no
+corresponding structure like streams for infinite collections.
+</p>
+
+
+<p>Create sets using braces ``{`` and ``}'' rather than brackets.
+</p>
+
+
+
+
+<div id="spadComm1-89" class="spadComm" >
+<form id="formComm1-89" action="javascript:makeRequest('1-89');" >
+<input id="comm1-89" type="text" class="command" style="width: 18em;" value="fs := set[1/3,4/5,-1/3,4/5]" />
+</form>
+<span id="commSav1-89" class="commSav" >fs := set[1/3,4/5,-1/3,4/5]</span>
+<div id="mathAns1-89" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>{</mo><mo>-</mo><mfrac><mn>1</mn><mn>3</mn></mfrac><mo>,</mo><mfrac><mn>1</mn><mn>3</mn></mfrac><mo>,</mo><mfrac><mn>4</mn><mn>5</mn></mfrac><mo>}</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Set Fraction Integer
+</div>
+
+
+
+<p>A <span class="italic">multiset</span> is a set that keeps track of the number of duplicate
+values. <span class="footnote">Multisets are discussed in Section
+<a href="section-9.53.xhtml#MultiSetXmpPage" class="ref" >MultiSetXmpPage</a> </span>
+</p>
+
+
+<p>For all the primes <math xmlns="&mathml;" mathsize="big"><mstyle><mi>p</mi></mstyle></math> between 2 and 1000, find the
+distribution of <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mi>p</mi><mi>mod</mi><mn>5</mn></mrow></mstyle></math>.
+</p>
+
+
+
+<div id="spadComm1-90" class="spadComm" >
+<form id="formComm1-90" action="javascript:makeRequest('1-90');" >
+<input id="comm1-90" type="text" class="command" style="width: 28em;" value="multiset [x rem 5 for x in primes(2,1000)]" />
+</form>
+<span id="commSav1-90" class="commSav" >multiset [x rem 5 for x in primes(2,1000)]</span>
+<div id="mathAns1-90" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>{</mo><mn>0</mn><mo>,</mo><mrow><mn>42</mn><mtext><mrow><mtext>:</mtext></mrow></mtext><mn>3</mn></mrow><mo>,</mo><mrow><mn>40</mn><mtext><mrow><mtext>:</mtext></mrow></mtext><mn>1</mn></mrow><mo>,</mo><mrow><mn>38</mn><mtext><mrow><mtext>:</mtext></mrow></mtext><mn>4</mn></mrow><mo>,</mo><mrow><mn>47</mn><mtext><mrow><mtext>:</mtext></mrow></mtext><mn>2</mn></mrow><mo>}</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Multiset Integer
+</div>
+
+
+
+<p>A <span class="italic">table</span> is conceptually a set of ``key--value'' pairs and is a
+generalization of a multiset. For examples of tables, see 
+<span class="teletype">AssociationList</span>, <span class="teletype">HashTable</span>, <span class="teletype">KeyedAccessFile</span>, 
+<span class="teletype">Library</span>, <span class="teletype">SparseTable</span>, <span class="teletype">StringTable</span>, and <span class="teletype">Table</span>.  The
+domain <span class="teletype">Table(Key, Entry)</span> provides a general-purpose type for
+tables with <span class="italic">values</span> of type <math xmlns="&mathml;" mathsize="big"><mstyle><mi>Entry</mi></mstyle></math> indexed by <span class="italic">keys</span> of type
+<math xmlns="&mathml;" mathsize="big"><mstyle><mi>Key</mi></mstyle></math>.
+</p>
+
+
+<p>Compute the above distribution of primes using tables.  First, let
+<math xmlns="&mathml;" mathsize="big"><mstyle><mi>t</mi></mstyle></math> denote an empty table of keys and values, each of type <span class="teletype">Integer</span>.
+</p>
+
+
+
+<div id="spadComm1-91" class="spadComm" >
+<form id="formComm1-91" action="javascript:makeRequest('1-91');" >
+<input id="comm1-91" type="text" class="command" style="width: 25em;" value="t : Table(Integer,Integer) := empty()" />
+</form>
+<span id="commSav1-91" class="commSav" >t : Table(Integer,Integer) := empty()</span>
+<div id="mathAns1-91" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mrow><mtext>table</mtext></mrow><mo>(</mo><mo>)</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Table(Integer,Integer)
+</div>
+
+
+
+<p>We define a function <span style="font-weight: bold;"> howMany</span> to return the number of values
+of a given modulus <math xmlns="&mathml;" mathsize="big"><mstyle><mi>k</mi></mstyle></math> seen so far.  It calls
+<span style="font-weight: bold;"> search</span><math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mi>t</mi><mo>)</mo></mrow></mstyle></math> which returns the number of values
+stored under the key <math xmlns="&mathml;" mathsize="big"><mstyle><mi>k</mi></mstyle></math> in table <math xmlns="&mathml;" mathsize="big"><mstyle><mi>t</mi></mstyle></math>, or <span class="teletype">``failed''</span>
+if no such value is yet stored in <math xmlns="&mathml;" mathsize="big"><mstyle><mi>t</mi></mstyle></math> under <math xmlns="&mathml;" mathsize="big"><mstyle><mi>k</mi></mstyle></math>.
+</p>
+
+
+<p>In English, this says ``Define <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mi>howMany</mi><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mstyle></math> as follows.
+First, let <math xmlns="&mathml;" mathsize="big"><mstyle><mi>n</mi></mstyle></math> be the value of <span class="italic">search</span><math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mo>(</mo><mi>k</mi><mo>,</mo><mi>t</mi><mo>)</mo></mrow></mstyle></math>.
+Then, if <math xmlns="&mathml;" mathsize="big"><mstyle><mi>n</mi></mstyle></math> has the value <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mo>"</mo><mi>failed</mi><mo>"</mo></mrow></mstyle></math>, return the value
+<math xmlns="&mathml;" mathsize="big"><mstyle><mn>1</mn></mstyle></math>; otherwise return <math xmlns="&mathml;" mathsize="big"><mstyle><mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></mstyle></math>.''
+</p>
+
+
+
+<div id="spadComm1-92" class="spadComm" >
+<form id="formComm1-92" action="javascript:makeRequest('1-92');" >
+<input id="comm1-92" type="text" class="command" style="width: 38em;" value='howMany(k) == (n:=search(k,t); n case "failed" => 1; n+1)' />
+</form>
+<span id="commSav1-92" class="commSav" >howMany(k) == (n:=search(k,t); n case "failed" => 1; n+1)</span>
+<div id="mathAns1-92" ></div>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Void
+</div>
+
+
+
+<p>Run through the primes to create the table, then print the table.
+The expression <span class="teletype">t.m := howMany(m)</span> updates the value in table <math xmlns="&mathml;" mathsize="big"><mstyle><mi>t</mi></mstyle></math>
+stored under key <math xmlns="&mathml;" mathsize="big"><mstyle><mi>m</mi></mstyle></math>.
+</p>
+
+
+
+<div id="spadComm1-93" class="spadComm" >
+<form id="formComm1-93" action="javascript:makeRequest('1-93');" >
+<input id="comm1-93" type="text" class="command" style="width: 44em;" value="for p in primes(2,1000) repeat (m:= p rem 5; t.m:= howMany(m)); t" />
+</form>
+<span id="commSav1-93" class="commSav" >for p in primes(2,1000) repeat (m:= p rem 5; t.m:= howMany(m)); t</span>
+<div id="mathAns1-93" ></div>
+</div>
+
+
+
+
+<div class="verbatim"><br />
+&nbsp;&nbsp;&nbsp;Compiling&nbsp;function&nbsp;howMany&nbsp;with&nbsp;type&nbsp;Integer&nbsp;-&gt;&nbsp;Integer&nbsp;<br />
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mrow><mtext>table</mtext></mrow><mo>(</mo><mrow><mrow><mn>2</mn><mo>=</mo><mn>47</mn></mrow><mo>,</mo><mrow><mn>4</mn><mo>=</mo><mn>38</mn></mrow><mo>,</mo><mrow><mn>1</mn><mo>=</mo><mn>40</mn></mrow><mo>,</mo><mrow><mn>3</mn><mo>=</mo><mn>42</mn></mrow><mo>,</mo><mrow><mn>0</mn><mo>=</mo><mn>1</mn></mrow></mrow><mo>)</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Table(Integer,Integer)
+</div>
+
+
+
+
+<p>A <span class="italic">record</span> is an example of an inhomogeneous collection of
+objects.<span class="footnote">See <a href="section-2.4.xhtml#ugTypesRecords" class="ref" >ugTypesRecords</a> for details.</span>  A record consists of a
+set of named <span class="italic">selectors</span> that can be used to access its
+components.  <span class="index">Record@{\sf Record}</span><a name="chapter-1-55"/>
+</p>
+
+
+<p>Declare that <math xmlns="&mathml;" mathsize="big"><mstyle><mi>daniel</mi></mstyle></math> can only be
+assigned a record with two prescribed fields.
+</p>
+
+
+
+<div id="spadComm1-94" class="spadComm" >
+<form id="formComm1-94" action="javascript:makeRequest('1-94');" >
+<input id="comm1-94" type="text" class="command" style="width: 31em;" value="daniel : Record(age : Integer, salary : Float)" />
+</form>
+<span id="commSav1-94" class="commSav" >daniel : Record(age : Integer, salary : Float)</span>
+<div id="mathAns1-94" ></div>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Void
+</div>
+
+
+
+<p>Give <math xmlns="&mathml;" mathsize="big"><mstyle><mi>daniel</mi></mstyle></math> a value, using square brackets to enclose the values of
+the fields.
+</p>
+
+
+
+<div id="spadComm1-95" class="spadComm" >
+<form id="formComm1-95" action="javascript:makeRequest('1-95');" >
+<input id="comm1-95" type="text" class="command" style="width: 16em;" value="daniel := [28, 32005.12]" />
+</form>
+<span id="commSav1-95" class="commSav" >daniel := [28, 32005.12]</span>
+<div id="mathAns1-95" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mrow><mi>age</mi><mo>=</mo><mn>28</mn></mrow><mo>,</mo><mrow><mi>salary</mi><mo>=</mo><mrow><mn>32005</mn><mo>.</mo><mn>12</mn></mrow></mrow><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Record(age: Integer,salary: Float)
+</div>
+
+
+
+<p>Give <math xmlns="&mathml;" mathsize="big"><mstyle><mi>daniel</mi></mstyle></math> a raise.
+</p>
+
+
+
+<div id="spadComm1-96" class="spadComm" >
+<form id="formComm1-96" action="javascript:makeRequest('1-96');" >
+<input id="comm1-96" type="text" class="command" style="width: 20em;" value="daniel.salary := 35000; daniel" />
+</form>
+<span id="commSav1-96" class="commSav" >daniel.salary := 35000; daniel</span>
+<div id="mathAns1-96" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mrow><mi>age</mi><mo>=</mo><mn>28</mn></mrow><mo>,</mo><mrow><mi>salary</mi><mo>=</mo><mrow><mn>35000</mn><mo>.</mo><mn>0</mn></mrow></mrow><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Record(age: Integer,salary: Float)
+</div>
+
+
+
+<p>A <span class="italic">union</span> is a data structure used when objects have multiple
+types.<span class="footnote">See <a href="section-2.5.xhtml#ugTypesUnions" class="ref" >ugTypesUnions</a> for details.</span>  <span class="index">Union@{\sf Union}</span><a name="chapter-1-56"/>
+</p>
+
+
+<p>Let <math xmlns="&mathml;" mathsize="big"><mstyle><mi>dog</mi></mstyle></math> be either an integer or a string value.
+</p>
+
+
+
+<div id="spadComm1-97" class="spadComm" >
+<form id="formComm1-97" action="javascript:makeRequest('1-97');" >
+<input id="comm1-97" type="text" class="command" style="width: 32em;" value="dog: Union(licenseNumber: Integer, name: String)" />
+</form>
+<span id="commSav1-97" class="commSav" >dog: Union(licenseNumber: Integer, name: String)</span>
+<div id="mathAns1-97" ></div>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Void
+</div>
+
+
+
+<p>Give <math xmlns="&mathml;" mathsize="big"><mstyle><mi>dog</mi></mstyle></math> a name.
+</p>
+
+
+
+<div id="spadComm1-98" class="spadComm" >
+<form id="formComm1-98" action="javascript:makeRequest('1-98');" >
+<input id="comm1-98" type="text" class="command" style="width: 11em;" value='dog := "Whisper"' />
+</form>
+<span id="commSav1-98" class="commSav" >dog := "Whisper"</span>
+<div id="mathAns1-98" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mtext><mrow><mtext mathvariant='monospace'>"Whisper"</mtext></mrow></mtext></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Union(name: String,...)
+</div>
+
+
+
+<p>All told, there are over forty different data structures in Axiom.
+Using the domain constructors described in Chapter <a href="section-13.0.xhtml#ugDomains" class="ref" >ugDomains</a> you can add your own data structure or
+extend an existing one.  Choosing the right data structure for your
+application may be the key to obtaining good performance.
+</p>
+
+
+
+
+</div><a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a>
+<a href="section-1.4.xhtml" style="margin-right: 10px;">Previous Section 1.4 Numbers</a><a href="section-1.6.xhtml" style="margin-right: 10px;">Next Section 1.6 Expanding to Higher Dimensions</a>
+<a href="book-index.xhtml">Book Index</a></body>
+</html>
\ No newline at end of file
diff --git a/src/axiom-website/hyperdoc/axbook/section-1.6.xhtml b/src/axiom-website/hyperdoc/axbook/section-1.6.xhtml
new file mode 100644
index 0000000..c4e4c02
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/section-1.6.xhtml
@@ -0,0 +1,280 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
+"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [
+<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
+]>
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:xlink="http://www.w3.org/1999/xlink" >
+
+
+  <head>
+    <title>Section1.6</title>
+    <link rel="stylesheet" type="text/css" href="graphicstyle.css" />
+    <script type="text/javascript" src="bookax1.js" />
+  </head>
+
+  <body>
+<a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a><a href="section-1.5.xhtml" style="margin-right: 10px;">Previous Section 1.5 Data Structures</a><a href="section-1.7.xhtml" style="margin-right: 10px;">Next Section 1.7 Writing Your Own Functions</a>
+<a href="book-index.xhtml">Book Index</a><div class="section"  id="sec-1.6">
+<h2 class="sectiontitle">1.6  Expanding to Higher Dimensions</h2>
+
+
+<a name="ugIntroTwoDim" class="label"/>
+
+<p>To get higher dimensional aggregates, you can create one-dimensional
+aggregates with elements that are themselves aggregates, for example,
+lists of lists, one-dimensional arrays of lists of multisets, and so
+on.  For applications requiring two-dimensional homogeneous
+aggregates, you will likely find <span class="italic">two-dimensional arrays</span>
+<span class="index">matrix</span><a name="chapter-1-57"/> and <span class="italic">matrices</span> most useful.
+<span class="index">array:two-dimensional</span><a name="chapter-1-58"/>
+</p>
+
+
+<p>The entries in <span class="teletype">TwoDimensionalArray</span> and <span class="teletype">Matrix</span> objects are
+all the same type, except that those for <span class="teletype">Matrix</span> must belong to a
+<span class="teletype">Ring</span>.  You create and access elements in roughly the same way.
+Since matrices have an understood algebraic structure, certain
+algebraic operations are available for matrices but not for arrays.
+Because of this, we limit our discussion here to <span class="teletype">Matrix</span>, that
+can be regarded as an extension of <span class="teletype">TwoDimensionalArray</span>. See 
+<span class="teletype">TwoDimensionalArray</span> for more information about arrays.  For more
+information about Axiom's linear algebra facilities, see <span class="teletype">Matrix</span>,
+<span class="teletype">Permanent</span>, <span class="teletype">SquareMatrix</span>, <span class="teletype">Vector</span>, see Section
+<a href="section-8.4.xhtml#ugProblemEigen" class="ref" >ugProblemEigen</a>  (computation of
+eigenvalues and eigenvectors), and Section <a href="section-8.5.xhtml#ugProblemLinPolEqn" class="ref" >ugProblemLinPolEqn</a> (solution of linear and polynomial
+equations).
+</p>
+
+
+<p>You can create a matrix from a list of lists, <span class="index">matrix:creating</span><a name="chapter-1-59"/>
+where each of the inner lists represents a row of the matrix.
+</p>
+
+
+
+<div id="spadComm1-99" class="spadComm" >
+<form id="formComm1-99" action="javascript:makeRequest('1-99');" >
+<input id="comm1-99" type="text" class="command" style="width: 20em;" value="m := matrix([ [1,2], [3,4] ])" />
+</form>
+<span id="commSav1-99" class="commSav" >m := matrix([ [1,2], [3,4] ])</span>
+<div id="mathAns1-99" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mn>2</mn></mtd></mtr><mtr><mtd><mn>3</mn></mtd><mtd><mn>4</mn></mtd></mtr></mtable><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Matrix Integer
+</div>
+
+
+
+<p>The ``collections'' construct (see <a href="section-5.5.xhtml#ugLangIts" class="ref" >ugLangIts</a>) is useful for creating matrices whose
+entries are given by formulas.  <span class="index">matrix:Hilbert</span><a name="chapter-1-60"/>
+</p>
+
+
+
+<div id="spadComm1-100" class="spadComm" >
+<form id="formComm1-100" action="javascript:makeRequest('1-100');" >
+<input id="comm1-100" type="text" class="command" style="width: 36em;" value="matrix([ [1/(i + j - x) for i in 1..4] for j in 1..4])" />
+</form>
+<span id="commSav1-100" class="commSav" >matrix([ [1/(i + j - x) for i in 1..4] for j in 1..4])</span>
+<div id="mathAns1-100" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mtable><mtr><mtd><mo>-</mo><mfrac><mn>1</mn><mrow><mi>x</mi><mo>-</mo><mn>2</mn></mrow></mfrac></mtd><mtd><mo>-</mo><mfrac><mn>1</mn><mrow><mi>x</mi><mo>-</mo><mn>3</mn></mrow></mfrac></mtd><mtd><mo>-</mo><mfrac><mn>1</mn><mrow><mi>x</mi><mo>-</mo><mn>4</mn></mrow></mfrac></mtd><mtd><mo>-</mo><mfrac><mn>1</mn><mrow><mi>x</mi><mo>-</mo><mn>5</mn></mrow></mfrac></mtd></mtr><mtr><mtd><mo>-</mo><mfrac><mn>1</mn><mrow><mi>x</mi><mo>-</mo><mn>3</mn></mrow></mfrac></mtd><mtd><mo>-</mo><mfrac><mn>1</mn><mrow><mi>x</mi><mo>-</mo><mn>4</mn></mrow></mfrac></mtd><mtd><mo>-</mo><mfrac><mn>1</mn><mrow><mi>x</mi><mo>-</mo><mn>5</mn></mrow></mfrac></mtd><mtd><mo>-</mo><mfrac><mn>1</mn><mrow><mi>x</mi><mo>-</mo><mn>6</mn></mrow></mfrac></mtd></mtr><mtr><mtd><mo>-</mo><mfrac><mn>1</mn><mrow><mi>x</mi><mo>-</mo><mn>4</mn></mrow></mfrac></mtd><mtd><mo>-</mo><mfrac><mn>1</mn><mrow><mi>x</mi><mo>-</mo><mn>5</mn></mrow></mfrac></mtd><mtd><mo>-</mo><mfrac><mn>1</mn><mrow><mi>x</mi><mo>-</mo><mn>6</mn></mrow></mfrac></mtd><mtd><mo>-</mo><mfrac><mn>1</mn><mrow><mi>x</mi><mo>-</mo><mn>7</mn></mrow></mfrac></mtd></mtr><mtr><mtd><mo>-</mo><mfrac><mn>1</mn><mrow><mi>x</mi><mo>-</mo><mn>5</mn></mrow></mfrac></mtd><mtd><mo>-</mo><mfrac><mn>1</mn><mrow><mi>x</mi><mo>-</mo><mn>6</mn></mrow></mfrac></mtd><mtd><mo>-</mo><mfrac><mn>1</mn><mrow><mi>x</mi><mo>-</mo><mn>7</mn></mrow></mfrac></mtd><mtd><mo>-</mo><mfrac><mn>1</mn><mrow><mi>x</mi><mo>-</mo><mn>8</mn></mrow></mfrac></mtd></mtr></mtable><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Matrix Fraction Polynomial Integer
+</div>
+
+
+
+<p>Let <math xmlns="&mathml;" mathsize="big"><mstyle><mi>vm</mi></mstyle></math> denote the three by three Vandermonde matrix.
+</p>
+
+
+
+<div id="spadComm1-101" class="spadComm" >
+<form id="formComm1-101" action="javascript:makeRequest('1-101');" >
+<input id="comm1-101" type="text" class="command" style="width: 32em;" value="vm := matrix [ [1,1,1], [x,y,z], [x*x,y*y,z*z] ]" />
+</form>
+<span id="commSav1-101" class="commSav" >vm := matrix [ [1,1,1], [x,y,z], [x*x,y*y,z*z] ]</span>
+<div id="mathAns1-101" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mi>x</mi></mtd><mtd><mi>y</mi></mtd><mtd><mi>z</mi></mtd></mtr><mtr><mtd><mrow><msup><mi>x</mi><mn>2</mn></msup></mrow></mtd><mtd><mrow><msup><mi>y</mi><mn>2</mn></msup></mrow></mtd><mtd><mrow><msup><mi>z</mi><mn>2</mn></msup></mrow></mtd></mtr></mtable><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Matrix Polynomial Integer
+</div>
+
+
+
+<p>Use this syntax to extract an entry in the matrix.
+</p>
+
+
+
+
+<div id="spadComm1-102" class="spadComm" >
+<form id="formComm1-102" action="javascript:makeRequest('1-102');" >
+<input id="comm1-102" type="text" class="command" style="width: 5em;" value="vm(3,3)" />
+</form>
+<span id="commSav1-102" class="commSav" >vm(3,3)</span>
+<div id="mathAns1-102" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><msup><mi>z</mi><mn>2</mn></msup></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Polynomial Integer
+</div>
+
+
+
+<p>You can also pull out a <span style="font-weight: bold;"> row</span> or a <span style="font-weight: bold;"> column</span>.
+</p>
+
+
+
+
+<div id="spadComm1-103" class="spadComm" >
+<form id="formComm1-103" action="javascript:makeRequest('1-103');" >
+<input id="comm1-103" type="text" class="command" style="width: 8em;" value="column(vm,2)" />
+</form>
+<span id="commSav1-103" class="commSav" >column(vm,2)</span>
+<div id="mathAns1-103" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mn>1</mn><mo>,</mo><mi>y</mi><mo>,</mo><mrow><msup><mi>y</mi><mn>2</mn></msup></mrow><mo>]</mo></mrow></mstyle></math>
+</td></tr>
+</table>
+</div>
+
+
+
+
+<div class="returnType">
+Type: Vector Polynomial Integer
+</div>
+
+
+
+<p>You can do arithmetic.
+</p>
+
+
+
+
+<div id="spadComm1-104" class="spadComm" >
+<form id="formComm1-104" action="javascript:makeRequest('1-104');" >
+<input id="comm1-104" type="text" class="command" style="width: 5em;" value="vm * vm" />
+</form>
+<span id="commSav1-104" class="commSav" >vm * vm</span>
+<div id="mathAns1-104" ></div>
+</div>
+
+
+<div class="math">
+<table>
+<tr><td>
+<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mtable><mtr><mtd><mrow><mrow><msup><mi>x</mi><mn>2</mn></msup></mrow><mo>+</mo><mi>x</mi><mo>+</mo><mn>1</mn></mrow></mtd><mtd><mrow><mrow><msup><mi>y</mi><mn>2</mn></msup></mrow><mo>+</mo><mi>y</mi><mo>+</mo><mn>1</mn></mrow></mtd><mtd><mrow><mrow><msup><mi>z</mi><mn>2</mn></msup></mrow><mo>+</mo><mi>z</mi><mo>+</mo><mn>1</mn></mrow></mtd></mtr><mtr><mtd><mrow><mrow><mrow><msup><mi>x</mi><mn>2</mn></msup></mrow><mo></mo><mi>z</mi></mrow><mo>+</mo><mrow><mi>x</mi><mo></mo><mi>y</mi></mrow><mo>+</mo><mi>x</mi></mrow></mtd><mtd><mrow><mrow><mrow><msup><mi>y</mi><mn>2</mn></msup></mrow><mo></mo><mi>z</mi></mrow><mo>+</mo><mrow><msup><mi>y</mi><mn>2</mn></msup></mrow><mo>+</mo><mi>x</mi></mrow></mtd><mtd><mrow><mrow><msup><mi>z</mi><mn>3</mn></msup></mrow><mo>+</mo><mrow><mi>y</mi><mo></mo><mi>z</mi></mrow><mo>+</mo><mi>x</mi></mrow></mtd></mtr><mtr><mtd><mrow><mrow><mrow><msup><mi>x</mi><mn>2</mn></msup></mrow><mo></mo><mrow><msup><mi>z</mi><mn>2</mn></msup></mrow></mrow><mo>+</mo><mrow><mi>x</mi><mo></mo><mrow><msup><mi>y</mi><mn>2</mn></msup></mrow></mrow><mo>+</mo><mrow><msup><mi>x</mi><mn>2</mn></msup></mrow></mrow></mtd><