diff --git a/books/bookvol0.pamphlet b/books/bookvol0.pamphlet
index be3d288..9b4baa7 100644
--- a/books/bookvol0.pamphlet
+++ b/books/bookvol0.pamphlet
@@ -1642,7 +1642,7 @@ 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 {\bf eval} function which takes an expression as its first argument
 followed by a list of assignments. For example, to evaluate the expressions
-{\bf XDummy} and {\bf xyDummy} resulting from their respective assignments 
+{\bf xDummy} and {\bf xyDummy} resulting from their respective assignments 
 above we type:
 
 \spadcommand{eval(xDummy,x=3)}
diff --git a/books/bookvol1.pamphlet b/books/bookvol1.pamphlet
index 5281098..2962c4e 100644
--- a/books/bookvol1.pamphlet
+++ b/books/bookvol1.pamphlet
@@ -2166,7 +2166,7 @@ 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 {\bf eval} function which takes an expression as its first argument
 followed by a list of assignments. For example, to evaluate the expressions
-{\sl XDummy} and {\sl xyDummy} resulting from their respective 
+{\sl xDummy} and {\sl xyDummy} resulting from their respective 
 assignments above we type:
 
 \index{eval}
diff --git a/changelog b/changelog
index 38e83c3..e2d6329 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,24 @@
+20091219 tpd src/axiom-website/patches.html 20091219.03.lxd.patch
+20091219 lxd src/axiom-website/hyperdoc/axbook/section-1.5.xhtml fix typos
+20091219 lxd src/axiom-website/hyperdoc/axbook/section-1.4.xhtml fix typos
+20091219 lxd src/axiom-website/hyperdoc/axbook/section-1.3.xhtml fix typos
+20091219 lxd src/axiom-website/hyperdoc/axbook/section-0.7.xhtml fix typos
+20091219 lxd src/axiom-website/hyperdoc/axbook/section-0.6.xhtml fix typos
+20091219 lxd src/axiom-website/hyperdoc/axbook/section-0.5.xhtml fix typos
+20091219 lxd src/axiom-website/hyperdoc/axbook/section-0.4.xhtml fix typos
+20091219 lxd src/axiom-website/hyperdoc/axbook/section-0.3.xhtml fix typos
+20091219 lxd books/bookvol1 fix typos
+20091219 lxd books/bookvol0 fix typos
+20091219 tpd src/axiom-website/hyperdoc/axbook/book-index.xhtml Stack, Queue
+20091219 tpd src/axiom-website/hyperdoc/axbook/book-contents.xhtml Stack, Queue
+20091219 tpd src/axiom-website/hyperdoc/axbook/section-9.76.xhtml Stack
+20091219 tpd src/axiom-website/hyperdoc/axbook/section-9.75.xhtml Stack
+20091219 tpd src/axiom-website/hyperdoc/axbook/chapter-contents-9.69-82.xhtml
+20091219 tpd src/axiom-website/hyperdoc/axbook/section-9.75a.xhtml Stack
+20091219 tpd src/axiom-website/hyperdoc/axbook/section-9.65.xhtml Queue
+20091219 tpd src/axiom-website/hyperdoc/axbook/section-9.64.xhtml Queue
+20091219 tpd src/axiom-website/hyperdoc/axbook/chapter-contents-9.58-68.xhtml
+20091219 tpd src/axiom-website/hyperdoc/axbook/section-9.64a.xhtml Queue
 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
diff --git a/src/axiom-website/hyperdoc/axbook/book-contents.xhtml b/src/axiom-website/hyperdoc/axbook/book-contents.xhtml
index a7935f6..40b6d53 100644
--- a/src/axiom-website/hyperdoc/axbook/book-contents.xhtml
+++ b/src/axiom-website/hyperdoc/axbook/book-contents.xhtml
@@ -398,6 +398,7 @@
 <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.64a.xhtml">9.64a Queue</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/>
@@ -410,6 +411,7 @@
 <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.75a.xhtml">9.75a Stack</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/>
diff --git a/src/axiom-website/hyperdoc/axbook/book-index.xhtml b/src/axiom-website/hyperdoc/axbook/book-index.xhtml
index c8942fa..1608293 100644
--- a/src/axiom-website/hyperdoc/axbook/book-index.xhtml
+++ b/src/axiom-website/hyperdoc/axbook/book-index.xhtml
@@ -487,6 +487,7 @@
 <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-9.64a.xhtml#chapter-9-90">Queue</a><span style="padding-left: 10px;">Section 9.64a  Queue</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/>
@@ -542,6 +543,7 @@
 <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-9.75a.xhtml#chapter-9-51">Stack</a><span style="padding-left: 10px;">Section 9.75a Stacks</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/>
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
index 3f1432e..1082a2e 100644
--- a/src/axiom-website/hyperdoc/axbook/chapter-contents-9.58-68.xhtml
+++ b/src/axiom-website/hyperdoc/axbook/chapter-contents-9.58-68.xhtml
@@ -24,6 +24,7 @@
 <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.64a.xhtml">9.64a Queue</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/>
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
index 98915bc..17d8cc2 100644
--- a/src/axiom-website/hyperdoc/axbook/chapter-contents-9.69-82.xhtml
+++ b/src/axiom-website/hyperdoc/axbook/chapter-contents-9.69-82.xhtml
@@ -24,6 +24,7 @@
 <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.75a.xhtml">9.75a Stack</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/>
diff --git a/src/axiom-website/hyperdoc/axbook/section-0.3.xhtml b/src/axiom-website/hyperdoc/axbook/section-0.3.xhtml
index da619c7..c152011 100644
--- a/src/axiom-website/hyperdoc/axbook/section-0.3.xhtml
+++ b/src/axiom-website/hyperdoc/axbook/section-0.3.xhtml
@@ -336,7 +336,7 @@ floating point number to the nearest integer while the other truncates
 <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>:
+fractional part of  <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>
 
 
diff --git a/src/axiom-website/hyperdoc/axbook/section-0.4.xhtml b/src/axiom-website/hyperdoc/axbook/section-0.4.xhtml
index 0dbc2a2..e9a3df8 100644
--- a/src/axiom-website/hyperdoc/axbook/section-0.4.xhtml
+++ b/src/axiom-website/hyperdoc/axbook/section-0.4.xhtml
@@ -192,8 +192,9 @@ Type: Polynomial Integer
 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:
+<span style="font-weight: bold;"> xDummy</span> and 
+<span style="font-weight: bold;">xyDummy</span> 
+resulting from their respective assignments above we type:
 </p>
 
 
@@ -652,7 +653,7 @@ Type: Float
 
 <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
+is displayed. Remember also that the percent symbol ``%'' is used to
 represent the result of a previous calculation.
 </p>
 
@@ -912,7 +913,7 @@ 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>:
+be found using the function <span style="font-weight: bold;"> numberOfFractionalTerms</span>:
 </p>
 
 
diff --git a/src/axiom-website/hyperdoc/axbook/section-0.5.xhtml b/src/axiom-website/hyperdoc/axbook/section-0.5.xhtml
index 06473f1..4cc26c6 100644
--- a/src/axiom-website/hyperdoc/axbook/section-0.5.xhtml
+++ b/src/axiom-website/hyperdoc/axbook/section-0.5.xhtml
@@ -188,9 +188,11 @@ 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
+<p>A description is placed 
+<span style="font-weight: bold;"> before</span> 
+a calculation begins with three "+" signed (i.e. "+++")
+and a description placed after a calculation begins with
+two plus symbols (e.g. "++"). 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.
diff --git a/src/axiom-website/hyperdoc/axbook/section-0.6.xhtml b/src/axiom-website/hyperdoc/axbook/section-0.6.xhtml
index 3dc4e96..c8fbf2d 100644
--- a/src/axiom-website/hyperdoc/axbook/section-0.6.xhtml
+++ b/src/axiom-website/hyperdoc/axbook/section-0.6.xhtml
@@ -2091,9 +2091,13 @@ Type: OneDimensionalArray PositiveInteger
 
 
 
-<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>(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>
 
 
@@ -2719,11 +2723,16 @@ Type: Boolean
 <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
+fact that the modification of element 
+<span class="slant">g.2</span> above did not alter
+<span class="slant">f</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
+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>
diff --git a/src/axiom-website/hyperdoc/axbook/section-0.7.xhtml b/src/axiom-website/hyperdoc/axbook/section-0.7.xhtml
index 84bf255..174e32b 100644
--- a/src/axiom-website/hyperdoc/axbook/section-0.7.xhtml
+++ b/src/axiom-website/hyperdoc/axbook/section-0.7.xhtml
@@ -1055,17 +1055,22 @@ Type: Void
 
 
 
-<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>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>
+<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 <span class="teletype">--</span> 
+starts a comment in Axiom) </p>
 
 
 
@@ -1653,7 +1658,8 @@ Type: Void
 
 
 
-<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>''
+<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>
 
@@ -1662,8 +1668,17 @@ clause which must be of type <span style="font-weight: bold;"> Boolean</span>:
 <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>
+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>
 
 
diff --git a/src/axiom-website/hyperdoc/axbook/section-1.3.xhtml b/src/axiom-website/hyperdoc/axbook/section-1.3.xhtml
index ac340ca..419f508 100644
--- a/src/axiom-website/hyperdoc/axbook/section-1.3.xhtml
+++ b/src/axiom-website/hyperdoc/axbook/section-1.3.xhtml
@@ -1269,9 +1269,11 @@ Axiom glue them together.  To get this glue, put an underscore
 
 
 <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> ).
+(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>
 
 
diff --git a/src/axiom-website/hyperdoc/axbook/section-1.4.xhtml b/src/axiom-website/hyperdoc/axbook/section-1.4.xhtml
index 332e58c..cc98ee7 100644
--- a/src/axiom-website/hyperdoc/axbook/section-1.4.xhtml
+++ b/src/axiom-website/hyperdoc/axbook/section-1.4.xhtml
@@ -216,7 +216,8 @@ Type: Fraction Integer
 
 
 
-<p>To factor fractions, you have to pmap <span style="font-weight: bold;"> factor</span> onto the numerator
+<p>To factor fractions, you have to map 
+<span style="font-weight: bold;"> factor</span> onto the numerator
 and denominator.
 </p>
 
diff --git a/src/axiom-website/hyperdoc/axbook/section-1.5.xhtml b/src/axiom-website/hyperdoc/axbook/section-1.5.xhtml
index 729c74e..761a65b 100644
--- a/src/axiom-website/hyperdoc/axbook/section-1.5.xhtml
+++ b/src/axiom-website/hyperdoc/axbook/section-1.5.xhtml
@@ -522,18 +522,25 @@ Type: FlexibleArray Integer
 
 
 
-<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
+<p>Flexible arrays are used to implement ``heaps.'' A 
+<span class="italic">heap</span>
+(<span class="footnote">Heap is discussed in Section 
+<a href="section-9.32.xhtml#HeapXmpPage" class="ref" >HeapXmpPage</a> </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
+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>
+<p>An easy way to create a heap is to apply the operation 
+<span style="font-weight: bold;">heap</span>
 to a list of values.
 </p>
 
@@ -598,21 +605,28 @@ Type: List Integer
 
 
 
-<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>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). 
+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.
+<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.
+(<span class="footnote">BinarySearchTrees are discussed in Section 
+<a href="section-9.5.xhtml#BinarySearchTreeXmpPage" class="ref" >
+BinarySearchTreeXmpPage</a> </span>)
 </p>
 
 
@@ -643,10 +657,27 @@ Type: BinarySearchTree PositiveInteger
 
 
 
-<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>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>
 
 
@@ -691,11 +722,12 @@ corresponding structure like streams for infinite collections.
 
 
 <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>
+ <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>
 
 
diff --git a/src/axiom-website/hyperdoc/axbook/section-9.64.xhtml b/src/axiom-website/hyperdoc/axbook/section-9.64.xhtml
index f69d6a4..fd35828 100644
--- a/src/axiom-website/hyperdoc/axbook/section-9.64.xhtml
+++ b/src/axiom-website/hyperdoc/axbook/section-9.64.xhtml
@@ -7,381 +7,642 @@
 
 <html xmlns="http://www.w3.org/1999/xhtml"
       xmlns:xlink="http://www.w3.org/1999/xlink" >
+ <head>
+  <title>Section9.64</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-9.63.xhtml" style="margin-right: 10px;">
+ Previous Section 9.63 Polynomial
+</a>
+<a href="section-9.64a.xhtml" style="margin-right: 10px;">
+Next Section 9.64a Queue
+</a>
+
+<a href="book-index.xhtml">
+ Book Index
+</a>
+
+<div class="section"  id="sec-9.64">
 
-
-  <head>
-    <title>Section9.64</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-9.63.xhtml" style="margin-right: 10px;">Previous Section 9.63 Polynomial</a><a href="section-9.65.xhtml" style="margin-right: 10px;">Next Section 9.65 RadixExpansion</a>
-<a href="book-index.xhtml">Book Index</a><div class="section"  id="sec-9.64">
 <h2 class="sectiontitle">9.64  Quaternion</h2>
 
-
 <a name="QuaternionXmpPage" class="label"/>
 
+<p>
+The domain constructor <span class="teletype">Quaternion</span>
+implements quaternions over commutative rings.  For information on
+related topics see
 
-<p>The domain constructor <span class="teletype">Quaternion</span> implements quaternions over
-commutative rings.  For information on related topics see
 <!-- \menuxmpref{CliffordAlgebra} --> 
-<a href="section-9.11.xhtml#ComplexXmpPage" class="ref" >ComplexXmpPage</a>  and
-<a href="section-9.56.xhtml#OctonionXmpPage" class="ref" >OctonionXmpPage</a> .  
-You can also issue the system command
-<span class="teletype">)show Quaternion</span> to display the full list of operations
-defined by <span class="teletype">Quaternion</span>.
-</p>
+<a href="section-9.11.xhtml#ComplexXmpPage" class="ref" >
+ ComplexXmpPage
+</a> and
+<a href="section-9.56.xhtml#OctonionXmpPage" class="ref" >
+ OctonionXmpPage
+</a>.  
+
+You can also issue the system command 
+<span class="teletype">)show Quaternion</span> 
+to display the full list of operations defined by
+<span class="teletype">Quaternion</span>.
 
+</p>
 
-<p>The basic operation for creating quaternions is
-<span class="spadfunFrom" >quatern</span><span class="index">quatern</span><a name="chapter-9-89"/><span class="index">Quaternion</span><a name="chapter-9-90"/>.
+<p>
+The basic operation for creating quaternions is
+<span class="spadfunFrom" >quatern</span>
+<span class="index">quatern</span>
+<a name="chapter-9-89"/>
+<span class="index">Quaternion</span>
+<a name="chapter-9-90"/>.
 This is a quaternion over the rational numbers.
 </p>
 
-
-
-
 <div id="spadComm9-120" class="spadComm" >
-<form id="formComm9-120" action="javascript:makeRequest('9-120');" >
-<input id="comm9-120" type="text" class="command" style="width: 19em;" value="q := quatern(2/11,-8,3/4,1) " />
-</form>
-<span id="commSav9-120" class="commSav" >q := quatern(2/11,-8,3/4,1) </span>
-<div id="mathAns9-120" ></div>
+ <form id="formComm9-120" action="javascript:makeRequest('9-120');" >
+  <input id="comm9-120" type="text" class="command" style="width: 19em;" 
+   value="q := quatern(2/11,-8,3/4,1) " />
+ </form>
+ <span id="commSav9-120" class="commSav" >q := quatern(2/11,-8,3/4,1) </span>
+ <div id="mathAns9-120" ></div>
 </div>
 
-
 <div class="math">
-<table>
-<tr><td>
-<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mfrac><mn>2</mn><mn>11</mn></mfrac><mo>-</mo><mrow><mn>8</mn><mspace width="0.5 em" /><mi>i</mi></mrow><mo>+</mo><mrow><mfrac><mn>3</mn><mn>4</mn></mfrac><mspace width="0.5 em" /><mi>j</mi></mrow><mo>+</mo><mi>k</mi></mrow></mstyle></math>
-</td></tr>
-</table>
+ <table>
+  <tr>
+   <td>
+    <math xmlns="&mathml;" mathsize="big" display="block">
+     <mstyle>
+      <mrow>
+       <mfrac>
+        <mn>2</mn>
+        <mn>11</mn>
+       </mfrac>
+       <mo>-</mo>
+       <mrow>
+        <mn>8</mn>
+        <mspace width="0.5 em"/>
+        <mi>i</mi>
+       </mrow>
+       <mo>+</mo>
+       <mrow>
+        <mfrac>
+         <mn>3</mn>
+         <mn>4</mn>
+        </mfrac>
+        <mspace width="0.5 em"/>
+        <mi>j</mi>
+       </mrow>
+       <mo>+</mo>
+       <mi>k</mi>
+      </mrow>
+     </mstyle>
+    </math>
+   </td>
+  </tr>
+ </table>
 </div>
 
-
-
-
 <div class="returnType">
-Type: Quaternion Fraction Integer
+ Type: Quaternion Fraction Integer
 </div>
 
-
-
-<p>The four arguments are the real part, the <span class="teletype">i</span> imaginary part, the
-<span class="teletype">j</span> imaginary part, and the <span class="teletype">k</span> imaginary part, respectively.
+<p>
+ The four arguments are the real part, the 
+ <span class="teletype">i</span> 
+ imaginary part, the
+ <span class="teletype">j</span> 
+ imaginary part, and the 
+ <span class="teletype">k</span> 
+ imaginary part, respectively.
 </p>
 
-
-
-
 <div id="spadComm9-121" class="spadComm" >
-<form id="formComm9-121" action="javascript:makeRequest('9-121');" >
-<input id="comm9-121" type="text" class="command" style="width: 24em;" value="[real q, imagI q, imagJ q, imagK q] " />
-</form>
-<span id="commSav9-121" class="commSav" >[real q, imagI q, imagJ q, imagK q] </span>
-<div id="mathAns9-121" ></div>
+ <form id="formComm9-121" action="javascript:makeRequest('9-121');" >
+  <input id="comm9-121" type="text" class="command" style="width: 24em;" 
+   value="[real q, imagI q, imagJ q, imagK q] " />
+ </form>
+ <span id="commSav9-121" class="commSav" >
+  [real q, imagI q, imagJ q, imagK q] 
+ </span>
+ <div id="mathAns9-121" ></div>
 </div>
 
-
 <div class="math">
-<table>
-<tr><td>
-<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>[</mo><mfrac><mn>2</mn><mn>11</mn></mfrac><mo>,</mo><mo>-</mo><mn>8</mn><mo>,</mo><mfrac><mn>3</mn><mn>4</mn></mfrac><mo>,</mo><mn>1</mn><mo>]</mo></mrow></mstyle></math>
-</td></tr>
-</table>
+ <table>
+  <tr>
+   <td>
+    <math xmlns="&mathml;" mathsize="big" display="block">
+     <mstyle>
+      <mrow>
+       <mo>[</mo>
+       <mfrac>
+        <mn>2</mn>
+        <mn>11</mn>
+       </mfrac>
+       <mo>,</mo>
+       <mo>-</mo>
+       <mn>8</mn>
+       <mo>,</mo>
+       <mfrac>
+        <mn>3</mn>
+        <mn>4</mn>
+       </mfrac>
+       <mo>,</mo>
+       <mn>1</mn>
+       <mo>]</mo>
+      </mrow>
+     </mstyle>
+    </math>
+   </td>
+  </tr>
+ </table>
 </div>
 
-
-
-
 <div class="returnType">
-Type: List Fraction Integer
+ Type: List Fraction Integer
 </div>
 
-
-
-<p>Because <span class="teletype">q</span> is over the rationals (and nonzero), you can invert it.
+<p>
+ Because 
+ <span class="teletype">q</span> 
+ is over the rationals (and nonzero), you can invert it.
 </p>
 
-
-
-
 <div id="spadComm9-122" class="spadComm" >
-<form id="formComm9-122" action="javascript:makeRequest('9-122');" >
-<input id="comm9-122" type="text" class="command" style="width: 4em;" value="inv q " />
-</form>
-<span id="commSav9-122" class="commSav" >inv q </span>
-<div id="mathAns9-122" ></div>
+ <form id="formComm9-122" action="javascript:makeRequest('9-122');" >
+  <input id="comm9-122" type="text" class="command" style="width: 4em;" 
+   value="inv q " />
+ </form>
+ <span id="commSav9-122" class="commSav" >inv q </span>
+ <div id="mathAns9-122" ></div>
 </div>
 
-
 <div class="math">
-<table>
-<tr><td>
-<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mfrac><mn>352</mn><mn>126993</mn></mfrac><mo>+</mo><mrow><mfrac><mn>15488</mn><mn>126993</mn></mfrac><mspace width="0.5 em" /><mi>i</mi></mrow><mo>-</mo><mrow><mfrac><mn>484</mn><mn>42331</mn></mfrac><mspace width="0.5 em" /><mi>j</mi></mrow><mo>-</mo><mrow><mfrac><mn>1936</mn><mn>126993</mn></mfrac><mspace width="0.5 em" /><mi>k</mi></mrow></mrow></mstyle></math>
-</td></tr>
-</table>
+ <table>
+  <tr>
+   <td>
+    <math xmlns="&mathml;" mathsize="big" display="block">
+     <mstyle>
+      <mrow>
+       <mfrac>
+        <mn>352</mn>
+        <mn>126993</mn>
+       </mfrac>
+       <mo>+</mo>
+       <mrow>
+        <mfrac>
+         <mn>15488</mn>
+         <mn>126993</mn>
+        </mfrac>
+        <mspace width="0.5 em" />
+        <mi>i</mi>
+       </mrow>
+       <mo>-</mo>
+       <mrow>
+        <mfrac>
+         <mn>484</mn>
+         <mn>42331</mn>
+        </mfrac>
+        <mspace width="0.5 em" />
+        <mi>j</mi>
+       </mrow>
+       <mo>-</mo>
+       <mrow>
+        <mfrac>
+         <mn>1936</mn>
+         <mn>126993</mn>
+        </mfrac>
+        <mspace width="0.5 em" />
+        <mi>k</mi>
+       </mrow>
+      </mrow>
+     </mstyle>
+    </math>
+   </td>
+  </tr>
+ </table>
 </div>
 
-
-
-
 <div class="returnType">
-Type: Quaternion Fraction Integer
+ Type: Quaternion Fraction Integer
 </div>
 
-
-
 <p>The usual arithmetic (ring) operations are available
 </p>
 
-
-
-
 <div id="spadComm9-123" class="spadComm" >
-<form id="formComm9-123" action="javascript:makeRequest('9-123');" >
-<input id="comm9-123" type="text" class="command" style="width: 4em;" value="q**6 " />
-</form>
-<span id="commSav9-123" class="commSav" >q**6 </span>
-<div id="mathAns9-123" ></div>
+ <form id="formComm9-123" action="javascript:makeRequest('9-123');" >
+  <input id="comm9-123" type="text" class="command" style="width: 4em;" 
+   value="q**6 " />
+ </form>
+ <span id="commSav9-123" class="commSav" >q**6 </span>
+ <div id="mathAns9-123" ></div>
 </div>
 
-
 <div class="math">
-<table>
-<tr><td>
-<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>-</mo><mfrac><mn>2029490709319345</mn><mn>7256313856</mn></mfrac><mo>-</mo><mrow><mfrac><mn>48251690851</mn><mn>1288408</mn></mfrac><mspace width="0.5 em" /><mi>i</mi></mrow><mo>+</mo><mrow><mfrac><mn>144755072553</mn><mn>41229056</mn></mfrac><mspace width="0.5 em" /><mi>j</mi></mrow><mo>+</mo><mrow><mfrac><mn>48251690851</mn><mn>10307264</mn></mfrac><mspace width="0.5 em" /><mi>k</mi></mrow></mrow></mstyle></math>
-</td></tr>
-</table>
+ <table>
+  <tr>
+   <td>
+    <math xmlns="&mathml;" mathsize="big" display="block">
+     <mstyle>
+      <mrow>
+       <mo>-</mo>
+       <mfrac>
+        <mn>2029490709319345</mn>
+        <mn>7256313856</mn>
+       </mfrac>
+       <mo>-</mo>
+       <mrow>
+        <mfrac>
+         <mn>48251690851</mn>
+         <mn>1288408</mn>
+        </mfrac>
+        <mspace width="0.5 em" />
+        <mi>i</mi>
+       </mrow>
+       <mo>+</mo>
+       <mrow>
+        <mfrac>
+         <mn>144755072553</mn>
+         <mn>41229056</mn>
+        </mfrac>
+        <mspace width="0.5 em" />
+        <mi>j</mi>
+       </mrow>
+       <mo>+</mo>
+       <mrow>
+        <mfrac>
+         <mn>48251690851</mn>
+         <mn>10307264</mn>
+        </mfrac>
+        <mspace width="0.5 em" />
+        <mi>k</mi>
+       </mrow>
+      </mrow>
+     </mstyle>
+    </math>
+   </td>
+  </tr>
+ </table>
 </div>
 
-
-
-
 <div class="returnType">
-Type: Quaternion Fraction Integer
+ Type: Quaternion Fraction Integer
 </div>
 
-
-
-
-
 <div id="spadComm9-124" class="spadComm" >
-<form id="formComm9-124" action="javascript:makeRequest('9-124');" >
-<input id="comm9-124" type="text" class="command" style="width: 24em;" value="r := quatern(-2,3,23/9,-89); q + r " />
-</form>
-<span id="commSav9-124" class="commSav" >r := quatern(-2,3,23/9,-89); q + r </span>
-<div id="mathAns9-124" ></div>
+ <form id="formComm9-124" action="javascript:makeRequest('9-124');" >
+  <input id="comm9-124" type="text" class="command" style="width: 24em;" 
+   value="r := quatern(-2,3,23/9,-89); q + r " />
+ </form>
+ <span id="commSav9-124" class="commSav" >
+  r := quatern(-2,3,23/9,-89); q + r 
+ </span>
+ <div id="mathAns9-124" ></div>
 </div>
 
-
 <div class="math">
-<table>
-<tr><td>
-<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>-</mo><mfrac><mn>20</mn><mn>11</mn></mfrac><mo>-</mo><mrow><mn>5</mn><mspace width="0.5 em" /><mi>i</mi></mrow><mo>+</mo><mrow><mfrac><mn>119</mn><mn>36</mn></mfrac><mspace width="0.5 em" /><mi>j</mi></mrow><mo>-</mo><mrow><mn>88</mn><mspace width="0.5 em" /><mi>k</mi></mrow></mrow></mstyle></math>
-</td></tr>
-</table>
+ <table>
+  <tr>
+   <td>
+    <math xmlns="&mathml;" mathsize="big" display="block">
+     <mstyle>
+      <mrow>
+       <mo>-</mo>
+       <mfrac>
+        <mn>20</mn>
+        <mn>11</mn>
+       </mfrac>
+       <mo>-</mo>
+       <mrow>
+        <mn>5</mn>
+        <mspace width="0.5 em" />
+        <mi>i</mi>
+       </mrow>
+       <mo>+</mo>
+       <mrow>
+        <mfrac>
+         <mn>119</mn>
+         <mn>36</mn>
+        </mfrac>
+        <mspace width="0.5 em" />
+        <mi>j</mi>
+       </mrow>
+       <mo>-</mo>
+       <mrow>
+        <mn>88</mn>
+        <mspace width="0.5 em" />
+        <mi>k</mi>
+       </mrow>
+      </mrow>
+     </mstyle>
+    </math>
+   </td>
+  </tr>
+ </table>
 </div>
 
-
-
-
 <div class="returnType">
-Type: Quaternion Fraction Integer
+ Type: Quaternion Fraction Integer
 </div>
 
-
-
-<p>In general, multiplication is not commutative.
+<p>
+ In general, multiplication is not commutative.
 </p>
 
-
-
-
 <div id="spadComm9-125" class="spadComm" >
-<form id="formComm9-125" action="javascript:makeRequest('9-125');" >
-<input id="comm9-125" type="text" class="command" style="width: 9em;" value="q * r - r * q" />
-</form>
-<span id="commSav9-125" class="commSav" >q * r - r * q</span>
-<div id="mathAns9-125" ></div>
+ <form id="formComm9-125" action="javascript:makeRequest('9-125');" >
+  <input id="comm9-125" type="text" class="command" style="width: 9em;" 
+   value="q * r - r * q" />
+ </form>
+ <span id="commSav9-125" class="commSav" >q * r - r * q</span>
+ <div id="mathAns9-125" ></div>
 </div>
 
-
 <div class="math">
-<table>
-<tr><td>
-<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mo>-</mo><mrow><mfrac><mn>2495</mn><mn>18</mn></mfrac><mspace width="0.5 em" /><mi>i</mi></mrow><mo>-</mo><mrow><mn>1418</mn><mspace width="0.5 em" /><mi>j</mi></mrow><mo>-</mo><mrow><mfrac><mn>817</mn><mn>18</mn></mfrac><mspace width="0.5 em" /><mi>k</mi></mrow></mrow></mstyle></math>
-</td></tr>
-</table>
+ <table>
+  <tr>
+   <td>
+    <math xmlns="&mathml;" mathsize="big" display="block">
+     <mstyle>
+      <mrow>
+       <mo>-</mo>
+       <mrow>
+        <mfrac>
+         <mn>2495</mn>
+         <mn>18</mn>
+        </mfrac>
+        <mspace width="0.5 em" />
+        <mi>i</mi>
+       </mrow>
+       <mo>-</mo>
+       <mrow>
+        <mn>1418</mn>
+        <mspace width="0.5 em" />
+        <mi>j</mi>
+       </mrow>
+       <mo>-</mo>
+       <mrow>
+        <mfrac>
+         <mn>817</mn>
+         <mn>18</mn>
+        </mfrac>
+        <mspace width="0.5 em" />
+        <mi>k</mi>
+       </mrow>
+      </mrow>
+     </mstyle>
+    </math>
+   </td>
+  </tr>
+ </table>
 </div>
 
-
-
-
 <div class="returnType">
-Type: Quaternion Fraction Integer
+ Type: Quaternion Fraction Integer
 </div>
 
-
-
-<p>There are no predefined constants for the imaginary <span class="teletype">i, j</span>,
-and <span class="teletype">k</span> parts, but you can easily define them.
+<p>
+ There are no predefined constants for the imaginary 
+ <span class="teletype">i, j</span>,
+ and 
+ <span class="teletype">k</span> 
+ parts, but you can easily define them.
 </p>
 
-
-
-
 <div id="spadComm9-126" class="spadComm" >
-<form id="formComm9-126" action="javascript:makeRequest('9-126');" >
-<input id="comm9-126" type="text" class="command" style="width: 42em;" value="i:=quatern(0,1,0,0); j:=quatern(0,0,1,0); k:=quatern(0,0,0,1) " />
-</form>
-<span id="commSav9-126" class="commSav" >i:=quatern(0,1,0,0); j:=quatern(0,0,1,0); k:=quatern(0,0,0,1) </span>
-<div id="mathAns9-126" ></div>
+ <form id="formComm9-126" action="javascript:makeRequest('9-126');" >
+  <input id="comm9-126" type="text" class="command" style="width: 42em;" 
+   value="i:=quatern(0,1,0,0); j:=quatern(0,0,1,0); k:=quatern(0,0,0,1) " />
+ </form>
+ <span id="commSav9-126" class="commSav" >
+  i:=quatern(0,1,0,0); j:=quatern(0,0,1,0); k:=quatern(0,0,0,1) 
+ </span>
+ <div id="mathAns9-126" ></div>
 </div>
 
-
 <div class="math">
-<table>
-<tr><td>
-<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mi>k</mi></mstyle></math>
-</td></tr>
-</table>
+ <table>
+  <tr>
+   <td>
+    <math xmlns="&mathml;" mathsize="big" display="block">
+     <mstyle>
+      <mi>k</mi>
+     </mstyle>
+    </math>
+   </td>
+  </tr>
+ </table>
 </div>
 
-
-
-
 <div class="returnType">
-Type: Quaternion Integer
+ Type: Quaternion Integer
 </div>
 
-
-
-<p>These satisfy the normal identities.
+<p>
+ These satisfy the normal identities.
 </p>
 
-
-
-
 <div id="spadComm9-127" class="spadComm" >
-<form id="formComm9-127" action="javascript:makeRequest('9-127');" >
-<input id="comm9-127" type="text" class="command" style="width: 24em;" value="[i*i, j*j, k*k, i*j, j*k, k*i, q*i] " />
-</form>
-<span id="commSav9-127" class="commSav" >[i*i, j*j, k*k, i*j, j*k, k*i, q*i] </span>
-<div id="mathAns9-127" ></div>
+ <form id="formComm9-127" action="javascript:makeRequest('9-127');" >
+  <input id="comm9-127" type="text" class="command" style="width: 24em;" 
+   value="[i*i, j*j, k*k, i*j, j*k, k*i, q*i] " />
+ </form>
+ <span id="commSav9-127" class="commSav" >
+  [i*i, j*j, k*k, i*j, j*k, k*i, q*i] 
+ </span>
+ <div id="mathAns9-127" ></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><mo>-</mo><mn>1</mn><mo>,</mo><mo>-</mo><mn>1</mn><mo>,</mo><mi>k</mi><mo>,</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>,</mo><mrow><mn>8</mn><mo>+</mo><mrow><mfrac><mn>2</mn><mn>11</mn></mfrac><mspace width="0.5 em" /><mi>i</mi></mrow><mo>+</mo><mi>j</mi><mo>-</mo><mrow><mfrac><mn>3</mn><mn>4</mn></mfrac><mspace width="0.5 em" /><mi>k</mi></mrow></mrow><mo>]</mo></mrow></mstyle></math>
-</td></tr>
-</table>
+ <table>
+  <tr>
+   <td>
+    <math xmlns="&mathml;" mathsize="big" display="block">
+     <mstyle>
+      <mrow>
+       <mo>[</mo>
+       <mo>-</mo>
+       <mn>1</mn>
+       <mo>,</mo>
+       <mo>-</mo>
+       <mn>1</mn>
+       <mo>,</mo>
+       <mo>-</mo>
+       <mn>1</mn>
+       <mo>,</mo>
+       <mi>k</mi>
+       <mo>,</mo>
+       <mi>i</mi>
+       <mo>,</mo>
+       <mi>j</mi>
+       <mo>,</mo>
+       <mrow>
+        <mn>8</mn>
+        <mo>+</mo>
+        <mrow>
+         <mfrac>
+          <mn>2</mn>
+          <mn>11</mn>
+         </mfrac>
+         <mspace width="0.5 em" />
+         <mi>i</mi>
+        </mrow>
+        <mo>+</mo>
+        <mi>j</mi>
+        <mo>-</mo>
+        <mrow>
+         <mfrac>
+          <mn>3</mn>
+          <mn>4</mn>
+         </mfrac>
+         <mspace width="0.5 em" />
+         <mi>k</mi>
+        </mrow>
+       </mrow>
+       <mo>]</mo>
+      </mrow>
+     </mstyle>
+    </math>
+   </td>
+  </tr>
+ </table>
 </div>
 
-
-
-
 <div class="returnType">
-Type: List Quaternion Fraction Integer
+ Type: List Quaternion Fraction Integer
 </div>
 
-
-
-<p>The norm is the quaternion times its conjugate.
+<p>
+ The norm is the quaternion times its conjugate.
 </p>
 
-
-
-
 <div id="spadComm9-128" class="spadComm" >
-<form id="formComm9-128" action="javascript:makeRequest('9-128');" >
-<input id="comm9-128" type="text" class="command" style="width: 5em;" value="norm q " />
-</form>
-<span id="commSav9-128" class="commSav" >norm q </span>
-<div id="mathAns9-128" ></div>
+ <form id="formComm9-128" action="javascript:makeRequest('9-128');" >
+ <input id="comm9-128" type="text" class="command" style="width: 5em;" 
+  value="norm q " />
+ </form>
+ <span id="commSav9-128" class="commSav" >norm q </span>
+ <div id="mathAns9-128" ></div>
 </div>
 
-
 <div class="math">
-<table>
-<tr><td>
-<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mfrac><mn>126993</mn><mn>1936</mn></mfrac></mstyle></math>
-</td></tr>
-</table>
+ <table>
+  <tr>
+   <td>
+    <math xmlns="&mathml;" mathsize="big" display="block">
+     <mstyle>
+      <mfrac>
+       <mn>126993</mn>
+       <mn>1936</mn>
+      </mfrac>
+     </mstyle>
+    </math>
+   </td>
+  </tr>
+ </table>
 </div>
 
-
-
-
 <div class="returnType">
-Type: Fraction Integer
+ Type: Fraction Integer
 </div>
 
-
-
-
-
 <div id="spadComm9-129" class="spadComm" >
-<form id="formComm9-129" action="javascript:makeRequest('9-129');" >
-<input id="comm9-129" type="text" class="command" style="width: 9em;" value="conjugate q  " />
-</form>
-<span id="commSav9-129" class="commSav" >conjugate q  </span>
-<div id="mathAns9-129" ></div>
+ <form id="formComm9-129" action="javascript:makeRequest('9-129');" >
+  <input id="comm9-129" type="text" class="command" style="width: 9em;" 
+   value="conjugate q  " />
+ </form>
+ <span id="commSav9-129" class="commSav" >conjugate q  </span>
+ <div id="mathAns9-129" ></div>
 </div>
 
-
 <div class="math">
-<table>
-<tr><td>
-<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mrow><mfrac><mn>2</mn><mn>11</mn></mfrac><mo>+</mo><mrow><mn>8</mn><mspace width="0.5 em" /><mi>i</mi></mrow><mo>-</mo><mrow><mfrac><mn>3</mn><mn>4</mn></mfrac><mspace width="0.5 em" /><mi>j</mi></mrow><mo>-</mo><mi>k</mi></mrow></mstyle></math>
-</td></tr>
-</table>
+ <table>
+  <tr>
+   <td>
+    <math xmlns="&mathml;" mathsize="big" display="block">
+     <mstyle>
+      <mrow>
+       <mfrac>
+        <mn>2</mn>
+        <mn>11</mn>
+       </mfrac>
+       <mo>+</mo>
+       <mrow>
+        <mn>8</mn>
+        <mspace width="0.5 em" />
+        <mi>i</mi>
+       </mrow>
+       <mo>-</mo>
+       <mrow>
+        <mfrac>
+         <mn>3</mn>
+         <mn>4</mn>
+        </mfrac>
+        <mspace width="0.5 em" />
+        <mi>j</mi>
+       </mrow>
+       <mo>-</mo>
+       <mi>k</mi>
+      </mrow>
+     </mstyle>
+    </math>
+   </td>
+  </tr>
+ </table>
 </div>
 
-
-
-
 <div class="returnType">
-Type: Quaternion Fraction Integer
+ Type: Quaternion Fraction Integer
 </div>
 
-
-
-
-
 <div id="spadComm9-130" class="spadComm" >
-<form id="formComm9-130" action="javascript:makeRequest('9-130');" >
-<input id="comm9-130" type="text" class="command" style="width: 5em;" value="q * % " />
-</form>
-<span id="commSav9-130" class="commSav" >q * % </span>
-<div id="mathAns9-130" ></div>
+ <form id="formComm9-130" action="javascript:makeRequest('9-130');" >
+  <input id="comm9-130" type="text" class="command" style="width: 5em;" 
+   value="q * % " />
+ </form>
+ <span id="commSav9-130" class="commSav" >q * % </span>
+ <div id="mathAns9-130" ></div>
 </div>
 
-
 <div class="math">
-<table>
-<tr><td>
-<math xmlns="&mathml;" mathsize="big" display="block"><mstyle><mfrac><mn>126993</mn><mn>1936</mn></mfrac></mstyle></math>
-</td></tr>
-</table>
+ <table>
+  <tr>
+   <td>
+    <math xmlns="&mathml;" mathsize="big" display="block">
+     <mstyle>
+      <mfrac>
+       <mn>126993</mn>
+       <mn>1936</mn>
+      </mfrac>
+     </mstyle>
+    </math>
+   </td>
+  </tr>
+ </table>
 </div>
 
-
-
-
 <div class="returnType">
-Type: Quaternion Fraction Integer
+ Type: Quaternion Fraction Integer
 </div>
 
+</div>
+<a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a>
+<a href="section-9.63.xhtml" style="margin-right: 10px;">
+  Previous Section 9.63 Polynomial
+</a>
+<a href="section-9.64a.xhtml" style="margin-right: 10px;">
+ Next Section 9.64a Queue
+</a>
+<a href="book-index.xhtml">Book Index</a>
 
-
-
-
-</div><a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a>
-<a href="section-9.63.xhtml" style="margin-right: 10px;">Previous Section 9.63 Polynomial</a><a href="section-9.65.xhtml" style="margin-right: 10px;">Next Section 9.65 RadixExpansion</a>
-<a href="book-index.xhtml">Book Index</a></body>
+ </body>
 </html>
\ No newline at end of file
diff --git a/src/axiom-website/hyperdoc/axbook/section-9.64a.xhtml b/src/axiom-website/hyperdoc/axbook/section-9.64a.xhtml
new file mode 100644
index 0000000..ee4b09f
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/section-9.64a.xhtml
@@ -0,0 +1,546 @@
+<?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>Section9.64a</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-9.64.xhtml" style="margin-right: 10px;">
+ Previous Section 9.64 Quaternions
+</a>
+<a href="section-9.65.xhtml" style="margin-right: 10px;">
+ Next Section 9.65 RadixExpansion
+</a>
+<a href="book-index.xhtml">
+ Book Index
+</a>
+<div class="section"  id="sec-9.64a">
+<h2 class="sectiontitle">9.64a Queue</h2>
+
+
+<a name="QueueXmpPage" class="label"/>
+
+<p> A <span class="teletype">queue</span> is an aggregate structure
+which allows insertion at the back of the queue, deletion at the front
+of the queue and inspection of the front element. Queues are similar
+to a line of people where you can join the line at the back, leave the
+line at the front, or see the person in the front of the line.</p>
+
+<p>Queues can be created from a list of elements using the 
+<span class="spadfunFrom">queue</span>
+<span class="index">Queue</span>
+function.</p>
+
+<div id="spadComm9-120a" class="spadComm" >
+ <form id="formComm9-120a" action="javascript:makeRequest('9-120a');" >
+  <input id="comm9-120a" type="text" class="command" style="width: 19em;" 
+  value="a:Queue INT:= queue [1,2,3,4,5]" />
+ </form>
+ <span id="commSav9-120a" class="commSav" >
+  a:Queue INT:= queue [1,2,3,4,5]
+ </span>
+ <div id="mathAns9-120a" ></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>
+      </mrow>
+     </mstyle>
+    </math>
+   </td>
+  </tr>
+ </table>
+</div>
+
+<div class="returnType">
+ Type: Queue Integer
+</div>
+
+<p>
+ An empty queue can be created using the  
+ <span class="spadfunFrom" >empty</span> 
+ function. 
+</p>
+
+<div id="spadComm9-121a" class="spadComm" >
+ <form id="formComm9-121a" action="javascript:makeRequest('9-121a');" >
+  <input id="comm9-121a" type="text" class="command" style="width: 19em;" 
+  value="a:Queue INT:= empty()" />
+ </form>
+ <span id="commSav9-121a" class="commSav" >
+  a:Queue INT:= empty()
+ </span>
+ <div id="mathAns9-121a" ></div>
+</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: Queue Integer
+</div>
+
+<p>
+ The 
+ <span class="spadfunFrom" >empty?</span> 
+ function will return 
+ <span class="teletype">true</span> 
+ if the queue contains no elements.
+</p>
+
+<div id="spadComm9-131a" class="spadComm" >
+ <form id="formComm9-131a" action="javascript:makeRequest('9-131a');" >
+  <input id="comm9-131a" type="text" class="command" style="width: 19em;" 
+  value="empty? a" />
+ </form>
+ <span id="commSav9-131a" class="commSav" >
+  empty? a
+ </span>
+ <div id="mathAns9-131a" ></div>
+</div>
+
+<div class="math">
+ <table>
+  <tr>
+   <td>
+    <math xmlns="&mathml;" mathsize="big" display="block">
+     <mstyle>
+      <mrow>
+       <mtext mathvariant='monospace' mathsize="big">true</mtext>
+      </mrow>
+     </mstyle>
+    </math>
+   </td>
+  </tr>
+ </table>
+</div>
+
+<div class="returnType">
+ Type: Boolean
+</div>
+
+<p>
+Queues modify their arguments so they use the exclamation mark "!"
+as part of the function name.
+</p>
+
+<p>
+ The 
+ <span class="spadfunFrom" >dequeue!</span>
+ operation removes the front element of the queue and
+ returns it.  The queue is one element smaller. The 
+ <span class="spadfunFrom" >extract!</span> does
+ the same thing with a different name.
+</p>
+
+<div id="spadComm9-122a" class="spadComm" >
+ <form id="formComm9-122a" action="javascript:makeRequest('9-122a');" >
+  <input id="comm9-122a" type="text" class="command" style="width: 19em;" 
+  value="a:Queue INT:= queue [1,2,3,4,5]" />
+ </form>
+ <span id="commSav9-122a" class="commSav" >
+  a:Queue INT:= queue [1,2,3,4,5]
+ </span>
+ <div id="mathAns9-122a" ></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>
+      </mrow>
+     </mstyle>
+    </math>
+   </td>
+  </tr>
+ </table>
+</div>
+
+<div class="returnType">
+ Type: Queue Integer
+</div>
+
+<div id="spadComm9-123a" class="spadComm" >
+ <form id="formComm9-123a" action="javascript:makeRequest('9-123a');" >
+  <input id="comm9-123a" type="text" class="command" style="width: 19em;" 
+  value="dequeue! a" />
+ </form>
+ <span id="commSav9-123a" class="commSav" >
+  dequeue! a
+ </span>
+ <div id="mathAns9-123a" ></div>
+</div>
+
+<div class="math">
+ <table>
+  <tr>
+   <td>
+    <math xmlns="&mathml;" mathsize="big" display="block">
+     <mstyle>
+      <mrow>
+       <mn>1</mn>
+      </mrow>
+     </mstyle>
+    </math>
+   </td>
+  </tr>
+ </table>
+</div>
+
+<div class="returnType">
+ Type: PositiveInteger
+</div>
+
+<div id="spadComm9-124a" class="spadComm" >
+ <form id="formComm9-124a" action="javascript:makeRequest('9-124a');" >
+  <input id="comm9-124a" type="text" class="command" style="width: 19em;" 
+  value="a" />
+ </form>
+ <span id="commSav9-124a" class="commSav" >
+  a
+ </span>
+ <div id="mathAns9-124a" ></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>
+      </mrow>
+     </mstyle>
+    </math>
+   </td>
+  </tr>
+ </table>
+</div>
+
+<div class="returnType">
+ Type: Queue Integer
+</div>
+
+<p>
+ The <span class="spadfunFrom" >enqueue!</span> 
+ function adds a new element to the back of the
+ queue and returns the element that was pushed. The queue is one
+ element larger.  The 
+ <span class="spadfunFrom" >insert!</span> 
+ function does the same thing with a different name.
+</p>
+
+<div id="spadComm9-125a" class="spadComm" >
+ <form id="formComm9-125a" action="javascript:makeRequest('9-125a');" >
+  <input id="comm9-125a" type="text" class="command" style="width: 19em;" 
+  value="a:Queue INT:= queue [1,2,3,4,5]" />
+ </form>
+ <span id="commSav9-125a" class="commSav" >
+  a:Queue INT:= queue [1,2,3,4,5]
+ </span>
+ <div id="mathAns9-125a" ></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>
+      </mrow>
+     </mstyle>
+    </math>
+   </td>
+  </tr>
+ </table>
+</div>
+
+<div class="returnType">
+ Type: Queue Integer
+</div>
+
+<div id="spadComm9-126a" class="spadComm" >
+ <form id="formComm9-126a" action="javascript:makeRequest('9-126a');" >
+  <input id="comm9-126a" type="text" class="command" style="width: 19em;" 
+  value="enqueue!(9,a)" />
+ </form>
+ <span id="commSav9-126a" class="commSav" >
+  enqueue!(9,a)
+ </span>
+ <div id="mathAns9-126a" ></div>
+</div>
+
+<div class="math">
+ <table>
+  <tr>
+   <td>
+    <math xmlns="&mathml;" mathsize="big" display="block">
+     <mstyle>
+      <mrow>
+       <mn>9</mn>
+      </mrow>
+     </mstyle>
+    </math>
+   </td>
+  </tr>
+ </table>
+</div>
+
+<div class="returnType">
+ Type: PositiveInteger
+</div>
+
+<div id="spadComm9-127a" class="spadComm" >
+ <form id="formComm9-127a" action="javascript:makeRequest('9-127a');" >
+  <input id="comm9-127a" type="text" class="command" style="width: 19em;" 
+  value="a" />
+ </form>
+ <span id="commSav9-127a" class="commSav" >
+  a
+ </span>
+ <div id="mathAns9-127a" ></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>9</mn>
+       <mo>]</mo>
+      </mrow>
+     </mstyle>
+    </math>
+   </td>
+  </tr>
+ </table>
+</div>
+
+<div class="returnType">
+ Type: Queue Integer
+</div>
+
+<p>
+ To read the top element without changing the queue use the 
+ <span class="spadfunFrom" >front</span>
+ function.
+</p>
+
+<div id="spadComm9-128a" class="spadComm" >
+ <form id="formComm9-128a" action="javascript:makeRequest('9-128a');" >
+  <input id="comm9-128a" type="text" class="command" style="width: 19em;" 
+  value="a:Queue INT:= queue [1,2,3,4,5]" />
+ </form>
+ <span id="commSav9-128a" class="commSav" >
+  a:Queue INT:= queue [1,2,3,4,5]
+ </span>
+ <div id="mathAns9-128a" ></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>
+      </mrow>
+     </mstyle>
+    </math>
+   </td>
+  </tr>
+ </table>
+</div>
+
+<div class="returnType">
+ Type: Queue Integer
+</div>
+
+<div id="spadComm9-129a" class="spadComm" >
+ <form id="formComm9-129a" action="javascript:makeRequest('9-129a');" >
+  <input id="comm9-129a" type="text" class="command" style="width: 19em;" 
+  value="front a" />
+ </form>
+ <span id="commSav9-129a" class="commSav" >
+  front a
+ </span>
+ <div id="mathAns9-129a" ></div>
+</div>
+
+<div class="math">
+ <table>
+  <tr>
+   <td>
+    <math xmlns="&mathml;" mathsize="big" display="block">
+     <mstyle>
+      <mrow>
+       <mn>1</mn>
+      </mrow>
+     </mstyle>
+    </math>
+   </td>
+  </tr>
+ </table>
+</div>
+
+<div class="returnType">
+ Type: PositiveInteger
+</div>
+
+<div id="spadComm9-130a" class="spadComm" >
+ <form id="formComm9-130a" action="javascript:makeRequest('9-130a');" >
+  <input id="comm9-130a" type="text" class="command" style="width: 19em;" 
+  value="a" />
+ </form>
+ <span id="commSav9-130a" class="commSav" >
+  a
+ </span>
+ <div id="mathAns9-130a" ></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>
+      </mrow>
+     </mstyle>
+    </math>
+   </td>
+  </tr>
+ </table>
+</div>
+
+<div class="returnType">
+ Type: Queue Integer
+</div>
+
+</div>
+
+<a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a>
+<a href="section-9.64.xhtml" style="margin-right: 10px;">
+ Previous Section 9.64 Quaternions
+</a>
+<a href="section-9.65.xhtml" style="margin-right: 10px;">
+ Next Section 9.65 RadixExpansion
+</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-9.65.xhtml b/src/axiom-website/hyperdoc/axbook/section-9.65.xhtml
index e015729..cda17fa 100644
--- a/src/axiom-website/hyperdoc/axbook/section-9.65.xhtml
+++ b/src/axiom-website/hyperdoc/axbook/section-9.65.xhtml
@@ -16,7 +16,7 @@
   </head>
 
   <body>
-<a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a><a href="section-9.64.xhtml" style="margin-right: 10px;">Previous Section 9.64 Quaternion</a><a href="section-9.66.xhtml" style="margin-right: 10px;">Next Section 9.66 RealClosure</a>
+<a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a><a href="section-9.64a.xhtml" style="margin-right: 10px;">Previous Section 9.64a Queue</a><a href="section-9.66.xhtml" style="margin-right: 10px;">Next Section 9.66 RealClosure</a>
 <a href="book-index.xhtml">Book Index</a><div class="section"  id="sec-9.65">
 <h2 class="sectiontitle">9.65  RadixExpansion</h2>
 
@@ -568,6 +568,6 @@ Type: Fraction Integer
 
 
 </div><a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a>
-<a href="section-9.64.xhtml" style="margin-right: 10px;">Previous Section 9.64 Quaternion</a><a href="section-9.66.xhtml" style="margin-right: 10px;">Next Section 9.66 RealClosure</a>
+<a href="section-9.64a.xhtml" style="margin-right: 10px;">Previous Section 9.64a Queue</a><a href="section-9.66.xhtml" style="margin-right: 10px;">Next Section 9.66 RealClosure</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-9.75.xhtml b/src/axiom-website/hyperdoc/axbook/section-9.75.xhtml
index c5a35c2..fb07328 100644
--- a/src/axiom-website/hyperdoc/axbook/section-9.75.xhtml
+++ b/src/axiom-website/hyperdoc/axbook/section-9.75.xhtml
@@ -16,9 +16,16 @@
   </head>
 
   <body>
-<a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a><a href="section-9.74.xhtml" style="margin-right: 10px;">Previous Section 9.74 SquareMatrix</a><a href="section-9.76.xhtml" style="margin-right: 10px;">Next Section 9.76 Stream</a>
-<a href="book-index.xhtml">Book Index</a><div class="section"  id="sec-9.75">
-<h2 class="sectiontitle">9.75  SquareFreeRegularTriangularSet</h2>
+<a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a>
+<a href="section-9.74.xhtml" style="margin-right: 10px;">
+ Previous Section 9.74 SquareMatrix
+</a>
+<a href="section-9.75a.xhtml" style="margin-right: 10px;">
+ Next Section 9.75a Stack
+</a>
+<a href="book-index.xhtml">Book Index</a>
+<div class="section"  id="sec-9.75a">
+<h2 class="sectiontitle">9.75a Stack</h2>
 
 
 <a name="SquareFreeRegularTriangularSetXmpPage" class="label"/>
@@ -849,7 +856,13 @@ OrderedVariableList [x,y,z,t])))
 
 
 
-</div><a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a>
-<a href="section-9.74.xhtml" style="margin-right: 10px;">Previous Section 9.74 SquareMatrix</a><a href="section-9.76.xhtml" style="margin-right: 10px;">Next Section 9.76 Stream</a>
+</div>
+<a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a>
+<a href="section-9.74.xhtml" style="margin-right: 10px;">
+ Previous Section 9.74 SquareMatrix
+</a>
+<a href="section-9.75a.xhtml" style="margin-right: 10px;">
+ Next Section 9.75a Stack
+</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-9.75a.xhtml b/src/axiom-website/hyperdoc/axbook/section-9.75a.xhtml
new file mode 100644
index 0000000..97fa2bf
--- /dev/null
+++ b/src/axiom-website/hyperdoc/axbook/section-9.75a.xhtml
@@ -0,0 +1,545 @@
+<?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>Section9.75a</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-9.75.xhtml" style="margin-right: 10px;">
+ Previous Section 9.75 SquareFreeRegularTriangularSet
+</a>
+<a href="section-9.76.xhtml" style="margin-right: 10px;">
+ Next Section 9.76 Stream
+</a>
+<a href="book-index.xhtml">
+ Book Index
+</a>
+<div class="section"  id="sec-9.75a">
+<h2 class="sectiontitle">9.75a Stack</h2>
+
+
+<a name="QueueXmpPage" class="label"/>
+
+<p> A <span class="teletype">stack</span> is an aggregate structure
+which allows insertion, deletion, and inspection of the "top" element.
+Stacks are similar to any pile of paper where you can only add to the
+pile, remove the top paper from the file, or read the top paper.</p>
+
+<p>Stacks can be created from a list of elements using the 
+<span class="spadfunFrom">stack</span>
+<span class="index">Stack</span>
+function.</p>
+
+<div id="spadComm9-120a" class="spadComm" >
+ <form id="formComm9-120a" action="javascript:makeRequest('9-120a');" >
+  <input id="comm9-120a" type="text" class="command" style="width: 19em;" 
+  value="a:Stack INT:= stack [1,2,3,4,5]" />
+ </form>
+ <span id="commSav9-120a" class="commSav" >
+  a:Stack INT:= stack [1,2,3,4,5]
+ </span>
+ <div id="mathAns9-120a" ></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>
+      </mrow>
+     </mstyle>
+    </math>
+   </td>
+  </tr>
+ </table>
+</div>
+
+<div class="returnType">
+ Type: Stack Integer
+</div>
+
+<p>
+ An empty stack can be created using the  
+ <span class="spadfunFrom" >empty</span> 
+ function. 
+</p>
+
+<div id="spadComm9-121a" class="spadComm" >
+ <form id="formComm9-121a" action="javascript:makeRequest('9-121a');" >
+  <input id="comm9-121a" type="text" class="command" style="width: 19em;" 
+  value="a:Stack INT:= empty()" />
+ </form>
+ <span id="commSav9-121a" class="commSav" >
+  a:Stack INT:= empty()
+ </span>
+ <div id="mathAns9-121a" ></div>
+</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: Stack Integer
+</div>
+
+<p>
+ The 
+ <span class="spadfunFrom" >empty?</span> 
+ function will return 
+ <span class="teletype">true</span> 
+ if the stack contains no elements.
+</p>
+
+<div id="spadComm9-131a" class="spadComm" >
+ <form id="formComm9-131a" action="javascript:makeRequest('9-131a');" >
+  <input id="comm9-131a" type="text" class="command" style="width: 19em;" 
+  value="empty? a" />
+ </form>
+ <span id="commSav9-131a" class="commSav" >
+  empty? a
+ </span>
+ <div id="mathAns9-131a" ></div>
+</div>
+
+<div class="math">
+ <table>
+  <tr>
+   <td>
+    <math xmlns="&mathml;" mathsize="big" display="block">
+     <mstyle>
+      <mrow>
+       <mtext mathvariant='monospace' mathsize="big">true</mtext>
+      </mrow>
+     </mstyle>
+    </math>
+   </td>
+  </tr>
+ </table>
+</div>
+
+<div class="returnType">
+ Type: Boolean
+</div>
+
+<p>
+Stacks modify their arguments so they use the exclamation mark "!"
+as part of the function name.
+</p>
+
+<p>
+ The 
+ <span class="spadfunFrom" >pop!</span>
+ function removes the top element of the stack and
+ returns it.  The stack is one element smaller. The 
+ <span class="spadfunFrom" >extract!</span> function does
+ the same thing with a different name.
+</p>
+
+<div id="spadComm9-122a" class="spadComm" >
+ <form id="formComm9-122a" action="javascript:makeRequest('9-122a');" >
+  <input id="comm9-122a" type="text" class="command" style="width: 19em;" 
+  value="a:Stack INT:= stack [1,2,3,4,5]" />
+ </form>
+ <span id="commSav9-122a" class="commSav" >
+  a:Stack INT:= stack [1,2,3,4,5]
+ </span>
+ <div id="mathAns9-122a" ></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>
+      </mrow>
+     </mstyle>
+    </math>
+   </td>
+  </tr>
+ </table>
+</div>
+
+<div class="returnType">
+ Type: Stack Integer
+</div>
+
+<div id="spadComm9-123a" class="spadComm" >
+ <form id="formComm9-123a" action="javascript:makeRequest('9-123a');" >
+  <input id="comm9-123a" type="text" class="command" style="width: 19em;" 
+  value="pop! a" />
+ </form>
+ <span id="commSav9-123a" class="commSav" >
+  pop! a
+ </span>
+ <div id="mathAns9-123a" ></div>
+</div>
+
+<div class="math">
+ <table>
+  <tr>
+   <td>
+    <math xmlns="&mathml;" mathsize="big" display="block">
+     <mstyle>
+      <mrow>
+       <mn>1</mn>
+      </mrow>
+     </mstyle>
+    </math>
+   </td>
+  </tr>
+ </table>
+</div>
+
+<div class="returnType">
+ Type: PositiveInteger
+</div>
+
+<div id="spadComm9-124a" class="spadComm" >
+ <form id="formComm9-124a" action="javascript:makeRequest('9-124a');" >
+  <input id="comm9-124a" type="text" class="command" style="width: 19em;" 
+  value="a" />
+ </form>
+ <span id="commSav9-124a" class="commSav" >
+  a
+ </span>
+ <div id="mathAns9-124a" ></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>
+      </mrow>
+     </mstyle>
+    </math>
+   </td>
+  </tr>
+ </table>
+</div>
+
+<div class="returnType">
+ Type: Stack Integer
+</div>
+
+<p>
+ The <span class="spadfunFrom" >push!</span> 
+ function adds a new top element to the
+ stack and returns the element that was pushed. The stack is one
+ element larger.  The 
+ <span class="spadfunFrom" >insert!</span> 
+ function does the same thing with a different name.
+</p>
+
+<div id="spadComm9-125a" class="spadComm" >
+ <form id="formComm9-125a" action="javascript:makeRequest('9-125a');" >
+  <input id="comm9-125a" type="text" class="command" style="width: 19em;" 
+  value="a:Stack INT:= stack [1,2,3,4,5]" />
+ </form>
+ <span id="commSav9-125a" class="commSav" >
+  a:Stack INT:= stack [1,2,3,4,5]
+ </span>
+ <div id="mathAns9-125a" ></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>
+      </mrow>
+     </mstyle>
+    </math>
+   </td>
+  </tr>
+ </table>
+</div>
+
+<div class="returnType">
+ Type: Stack Integer
+</div>
+
+<div id="spadComm9-126a" class="spadComm" >
+ <form id="formComm9-126a" action="javascript:makeRequest('9-126a');" >
+  <input id="comm9-126a" type="text" class="command" style="width: 19em;" 
+  value="push!(9,a)" />
+ </form>
+ <span id="commSav9-126a" class="commSav" >
+  push!(9,a)
+ </span>
+ <div id="mathAns9-126a" ></div>
+</div>
+
+<div class="math">
+ <table>
+  <tr>
+   <td>
+    <math xmlns="&mathml;" mathsize="big" display="block">
+     <mstyle>
+      <mrow>
+       <mn>9</mn>
+      </mrow>
+     </mstyle>
+    </math>
+   </td>
+  </tr>
+ </table>
+</div>
+
+<div class="returnType">
+ Type: PositiveInteger
+</div>
+
+<div id="spadComm9-127a" class="spadComm" >
+ <form id="formComm9-127a" action="javascript:makeRequest('9-127a');" >
+  <input id="comm9-127a" type="text" class="command" style="width: 19em;" 
+  value="a" />
+ </form>
+ <span id="commSav9-127a" class="commSav" >
+  a
+ </span>
+ <div id="mathAns9-127a" ></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>9</mn>
+       <mo>]</mo>
+      </mrow>
+     </mstyle>
+    </math>
+   </td>
+  </tr>
+ </table>
+</div>
+
+<div class="returnType">
+ Type: Stack Integer
+</div>
+
+<p>
+ To read the top element without changing the stack use the 
+ <span class="spadfunFrom" >top</span>
+ function.
+</p>
+
+<div id="spadComm9-128a" class="spadComm" >
+ <form id="formComm9-128a" action="javascript:makeRequest('9-128a');" >
+  <input id="comm9-128a" type="text" class="command" style="width: 19em;" 
+  value="a:Stack INT:= stack [1,2,3,4,5]" />
+ </form>
+ <span id="commSav9-128a" class="commSav" >
+  a:Stack INT:= stack [1,2,3,4,5]
+ </span>
+ <div id="mathAns9-128a" ></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>
+      </mrow>
+     </mstyle>
+    </math>
+   </td>
+  </tr>
+ </table>
+</div>
+
+<div class="returnType">
+ Type: Stack Integer
+</div>
+
+<div id="spadComm9-129a" class="spadComm" >
+ <form id="formComm9-129a" action="javascript:makeRequest('9-129a');" >
+  <input id="comm9-129a" type="text" class="command" style="width: 19em;" 
+  value="top a" />
+ </form>
+ <span id="commSav9-129a" class="commSav" >
+  top a
+ </span>
+ <div id="mathAns9-129a" ></div>
+</div>
+
+<div class="math">
+ <table>
+  <tr>
+   <td>
+    <math xmlns="&mathml;" mathsize="big" display="block">
+     <mstyle>
+      <mrow>
+       <mn>1</mn>
+      </mrow>
+     </mstyle>
+    </math>
+   </td>
+  </tr>
+ </table>
+</div>
+
+<div class="returnType">
+ Type: PositiveInteger
+</div>
+
+<div id="spadComm9-130a" class="spadComm" >
+ <form id="formComm9-130a" action="javascript:makeRequest('9-130a');" >
+  <input id="comm9-130a" type="text" class="command" style="width: 19em;" 
+  value="a" />
+ </form>
+ <span id="commSav9-130a" class="commSav" >
+  a
+ </span>
+ <div id="mathAns9-130a" ></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>
+      </mrow>
+     </mstyle>
+    </math>
+   </td>
+  </tr>
+ </table>
+</div>
+
+<div class="returnType">
+ Type: Stack Integer
+</div>
+
+</div>
+
+<a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a>
+<a href="section-9.75.xhtml" style="margin-right: 10px;">
+ Previous Section 9.75 SquareFreeRegularTriangularSet
+</a>
+<a href="section-9.76.xhtml" style="margin-right: 10px;">
+ Next Section 9.76 Stream
+</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-9.76.xhtml b/src/axiom-website/hyperdoc/axbook/section-9.76.xhtml
index 26bf3e4..29d8fb1 100644
--- a/src/axiom-website/hyperdoc/axbook/section-9.76.xhtml
+++ b/src/axiom-website/hyperdoc/axbook/section-9.76.xhtml
@@ -16,8 +16,14 @@
   </head>
 
   <body>
-<a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a><a href="section-9.75.xhtml" style="margin-right: 10px;">Previous Section 9.75 SquareFreeRegularTriangularSet</a><a href="section-9.77.xhtml" style="margin-right: 10px;">Next Section 9.77 String</a>
-<a href="book-index.xhtml">Book Index</a><div class="section"  id="sec-9.76">
+<a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a>
+<a href="section-9.75a.xhtml" style="margin-right: 10px;">
+ Previous Section 9.75a Stack</a>
+<a href="section-9.77.xhtml" style="margin-right: 10px;">
+ Next Section 9.77 String
+</a>
+<a href="book-index.xhtml">Book Index</a>
+<div class="section"  id="sec-9.76">
 <h2 class="sectiontitle">9.76  Stream</h2>
 
 
@@ -401,7 +407,13 @@ For more information, see <a href="ugLangItsPage" class="ref" >ugLangItsPage</a>
 
 
 
-</div><a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a>
-<a href="section-9.75.xhtml" style="margin-right: 10px;">Previous Section 9.75 SquareFreeRegularTriangularSet</a><a href="section-9.77.xhtml" style="margin-right: 10px;">Next Section 9.77 String</a>
+</div>
+<a href="book-contents.xhtml" style="margin-right: 10px;">Book Contents</a>
+<a href="section-9.75.xhtml" style="margin-right: 10px;">
+ Previous Section 9.75a Stack
+</a>
+<a href="section-9.77.xhtml" style="margin-right: 10px;">
+Next Section 9.77 String
+</a>
 <a href="book-index.xhtml">Book Index</a></body>
 </html>
\ No newline at end of file
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index a31ede6..14d2f75 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -2322,5 +2322,7 @@ books/bookvol5 tree shake code from cformat, remove cformat.lisp<br/>
 books/bookvol0,1,7.1 Lee Duham fix typos, added to credits<br/>
 <a href="patches/20091219.02.tpd.patch">20091219.02.tpd.patch</a>
 src/axiom-website/hyperdoc brought under git source control<br/>
+<a href="patches/20091219.03.lxd.patch">20091219.03.lxd.patch</a>
+src/hyperdoc/axbook fix Lee Duham typos, add Stack, Queue<br/>
  </body>
 </html>
