diff --git a/books/bookvol0.pamphlet b/books/bookvol0.pamphlet
index 9b4baa7..ddcb2a1 100644
--- a/books/bookvol0.pamphlet
+++ b/books/bookvol0.pamphlet
@@ -6899,7 +6899,7 @@ Any domain can be refined to a {\it subdomain} by a membership
 object of the domain, returns either {\tt true} or {\tt false}.  For
 example, the domain {\tt Integer} can be refined to the subdomain 
 {\tt PositiveInteger}, the set of integers $x$ such that $x > 0$, by giving
-the Axiom predicate $x +-> x > 0$.  Similarly, Axiom can define
+the Axiom predicate {\tt x +-> x > 0}.  Similarly, Axiom can define
 subdomains such as ``the subdomain of diagonal matrices,'' ``the
 subdomain of lists of length two,'' ``the subdomain of monic
 irreducible polynomials in $x$,'' and so on.  Trivially, any domain is
@@ -7803,7 +7803,7 @@ of type {\tt Integer}.
 The syntax for writing a {\tt Union} type without selectors is
 \begin{center}
 {\tt Union($\hbox{\it type}_{1}$, $\hbox{\it type}_{2}$, 
-\ldots, $\hbox{\it type}+{N}$)}
+\ldots, $\hbox{\it type}_{N}$)}
 \end{center}
 The types in a union without selectors must be distinct.\\
 }
@@ -8517,7 +8517,7 @@ Perhaps we actually wanted a fraction of complex integers.
 $$
 \frac{2}{3}
 $$
-\returnType{Type: Float}
+\returnType{Type: Fraction Complex Integer}
 
 In each case, AXIOM used the indicated operations, sometimes first
 needing to convert the two integers into objects of the appropriate type.
@@ -10143,7 +10143,7 @@ they appear, except as modified by control expressions such as
 \index{iterate} {\tt if-then-else} constructions.  The value of a block is
 the value of the expression last evaluated in the block.
 
-To leave a block early, use ``{\tt =>}''.  For example, $i < 0 => x$.  The
+To leave a block early, use ``{\tt =>}''.  For example, {\tt i < 0 => x}.  The
 expression before the ``{\tt =>}'' must evaluate to {\tt true} or {\tt false}.
 The expression following the ``{\tt =>}'' is the return value for the block.
 
@@ -10505,7 +10505,7 @@ this is impossible.  So Axiom has this simple rule: the type of the
 function is determined by the type of its body, in this case a block.
 The normal value of a block is the value of its last expression, in
 this case, a loop.  And the value of every loop is the unique value of
-{\tt Void}.!  So the return type of {\bf f} is {\tt Void}.
+{\tt Void}!  So the return type of {\bf f} is {\tt Void}.
 
 There are two ways to fix this.  The best way is for you to tell Axiom
 what the return type of $f$ is.  You do this by giving $f$ a
@@ -10544,7 +10544,7 @@ $$
 The {\tt break} keyword is often more useful \index{break} in terminating
 \index{loop!leaving via break} a loop.  A {\tt break} causes control to
 transfer to the expression immediately following the loop.  As loops
-always return the unique value of {\tt Void}., you cannot return a
+always return the unique value of {\tt Void}, you cannot return a
 value with {\tt break}.  That is, {\tt break} takes no argument.
 
 This example is a modification of the last example in the previous
@@ -10917,7 +10917,7 @@ while r <= lastrow repeat
 \subsection{for Loops}
 \label{ugLangLoopsForIn}
 
-Axiom provides the {\tt for} \index{for} and {\tt in\ } \index{in} keywords in
+Axiom provides the {\tt for} \index{for} and {\tt in} \index{in} keywords in
 {\tt repeat} loops, allowing you to iterate across all \index{iteration}
 elements of a list, or to have a variable take on integral values from
 a lower bound to an upper bound.  We shall refer to these modifying
@@ -10943,7 +10943,7 @@ of {\tt Void}.\\ }
 \subsection{for i in n..m repeat}
 \label{ugLangLoopsForInNM}
 
-If {\tt for} \index{for} is followed by a variable name, the {\tt in\ }
+If {\tt for} \index{for} is followed by a variable name, the {\tt in}
 \index{in} keyword and then an integer segment of the form $n..m$,
 \index{segment} the end test for this loop is the predicate $i > m$.
 The body of the loop is evaluated $m-n+1$ times if this number is
@@ -11032,7 +11032,7 @@ See \domainref{Segment}.
 By default, the difference between values taken on by a variable in
 loops such as {\tt for i in n..m repeat ...} is $1$.  It is possible to
 supply another, possibly negative, step value by using the {\tt by}
-\index{by} keyword along with {\tt for} and {\tt in\ }.  Like the upper and
+\index{by} keyword along with {\tt for} and {\tt in}.  Like the upper and
 lower bounds, the step value following the {\tt by} keyword must be an
 integer.  Note that the loop {\tt for i in 1..2 by 0 repeat output(i)}
 will not terminate by itself, as the step value does not change the
@@ -11080,7 +11080,7 @@ and less than the first prime greater than $15$.
 
 Another variant of the {\tt for} loop has the form:
 \begin{center}
-{\it {\tt for} x {\tt in\ } list {\tt repeat} loopBody}
+{\it {\tt for} x {\tt in} list {\tt repeat} loopBody}
 \end{center}
 
 This form is used when you want to iterate directly over the elements
@@ -11269,7 +11269,7 @@ $$
 \returnType{Type: NonNegativeInteger}
 
 Here looping stops when the list $l$ is exhausted, even though
-the $for i in 0..$ specifies no terminating condition.
+the {\tt for i in 0..} specifies no terminating condition.
 
 \spadcommand{for i in 0.. for x in l repeat sum := i * x}
 \returnType{Type: Void}
@@ -11713,7 +11713,7 @@ is a triple prime.  We could do this by a triple {\tt for} iteration.  A
 more economical way is to use {\bf firstOfTwins}.  This time however,
 put a semicolon at the end of the line.
 
-Create the stream of firstTriplets.  Put a semicolon at the end so
+Create the stream of {\bf firstTriplets}.  Put a semicolon at the end so
 that no elements are computed.
 \spadcommand{firstTriplets := [p for p in firstOfTwins for q in rest firstOfTwins | q = p+2];}
 \returnType{Type: Stream Integer}
@@ -11953,10 +11953,10 @@ macro fibStream ==
 
 Use \spadfunFrom{concat}{Stream} to start with the first two
 \index{Fibonacci numbers} Fibonacci numbers.
-\spadcommand{concat([0,1],fibStream)}
+\spadcommand{concat([1,1],fibStream)}
 $$
 \left[
-0, 1, 2, 3, 5, 8, {13}, {21}, {34}, {55}, 
+1, 1, 2, 3, 5, 8, {13}, {21}, {34}, {55}, 
 \ldots 
 \right]
 $$
@@ -12027,7 +12027,7 @@ example of a prefix operator is prefix ``{\tt -}''.  For example, $- 2 +
 5$ converts to $(- 2) + 5$ producing the value $3$.  Any prefix
 function taking two arguments can be written in an infix manner by
 putting an ampersand ``{\tt \&}'' before the name.  Thus ${\tt D}(2*x,x)$ can
-be written as $2*x\ {\tt \&D} x$ returning $2$.
+be written as $2*x\ {\tt \&D}\ x$ returning $2$.
 
 Every function in Axiom is identified by a {\it name} and 
 {\it type}. (An exception is an ``anonymous function'' discussed in
@@ -12618,14 +12618,14 @@ that''. \index{such that}
 \spadcommand{fact(n | n > 0) == n * fact(n - 1)}
 \returnType{Type: Void}
 
-What is the value for $n = 3$?
-\spadcommand{fact(3)}
+What is the value for $n = 7$?
+\spadcommand{fact(7)}
 \begin{verbatim}
    Compiling function fact with type Integer -> Integer 
    Compiling function fact as a recurrence relation.
 \end{verbatim}
 $$
-6 
+5040
 $$
 \returnType{Type: PositiveInteger}
 
@@ -13325,7 +13325,7 @@ back to the main Browse menu, erase {\tt function}, enter
 {\tt Cross Reference} and then on {\tt Domains}.  
 The list you see contains over forty domains that belong to the 
 category {\tt ConvertibleTo InputForm}.  Thus you can use {\bf function} 
-for {\tt Integer}, {\tt Float}, {\tt String}, {\tt Complex}, 
+for {\tt Integer}, {\tt Float}, {\tt Symbol}, {\tt Complex}, 
 {\tt Expression}, and so on.
 
 \section{Functions Defined with Blocks}
@@ -14217,7 +14217,7 @@ Here we have used three output operations.  Operation
 \spadfunFrom{output}{OutputForm} displays the printable form of
 objects on the screen, \spadfunFrom{center}{OutputForm} centers a
 printable form in the width of the screen, and
-\spadfunFrom{blankSeparate}{OutputForm} takes a list of nprintable
+\spadfunFrom{blankSeparate}{OutputForm} takes a list of n printable
 forms and inserts a blank between successive elements.
 
 Look at the result.
@@ -14428,7 +14428,7 @@ issued.  Think of rewrite rules as functions that take one argument.
 When a rewrite rule $A = B$ is applied to an argument $f$, its meaning
 is: ``rewrite every subexpression of $f$ that {\it matches} $A$ by
 $B.$'' The left-hand side of a rewrite rule is called a {\it pattern};
-its right-side side is called its {\it substitution}.
+its right-hand side is called its {\it substitution}.
 
 Create a rewrite rule named {\bf logrule}.  The generated symbol
 beginning with a ``{\tt \%}'' is a place-holder for any other terms that
@@ -14907,7 +14907,7 @@ The general format for drawing a function defined by a formula $f(x)$ is:
 where $a..b$ defines the range of $x$, and where {\it options}
 prescribes zero or more options as described in
 \sectionref{ugGraphTwoDOptions}.  An
-example of an option is $curveColor == bright red().$ An alternative
+example of an option is $curveColor == bright\ red().$ An alternative
 format involving functions $f$ and $g$ is also available.\\
 }
 
@@ -14984,7 +14984,7 @@ parametric formulas $x = f(t)$ and $y = g(t)$ is:
 where $a..b$ defines the range of the independent variable $t$, and
 where {\it options} prescribes zero or more options as described in
 \sectionref{ugGraphThreeDOptions}.  An
-example of an option is $curveColor == bright red().$\\ }
+example of an option is $curveColor == bright\ red().$\\ }
 
 Here's an example:
 
@@ -16198,7 +16198,7 @@ of two variables $x$ and $y$ is:
 where $a..b$ and $c..d$ define the range of $x$
 and $y$, and where {\it options} prescribes zero or more
 options as described in \sectionref{ugGraphThreeDOptions}.
-An example of an option is $title == "Title of Graph".$
+An example of an option is $title == "Title\ of\ Graph".$
 An alternative format involving a function $f$ is also
 available.\\
 }
@@ -16253,7 +16253,7 @@ $z = h(t)$ is:
 where $a..b$ defines the range of the independent variable
 $t$, and where {\it options} prescribes zero or more options
 as described in \sectionref{ugGraphThreeDOptions}.
-An example of an option is $title == "Title of Graph".$
+An example of an option is $title == "Title\ of\ Graph".$
 An alternative format involving functions $f$, $g$ and
 $h$ is also available.\\
 }
@@ -16326,7 +16326,7 @@ where $a..b$ and $c..d$ define the range of the
 independent variables $u$ and $v$, and where
 {\it options} prescribes zero or more options as described in
 \sectionref{ugGraphThreeDOptions}.
-An example of an option is $title == "Title of Graph".$
+An example of an option is $title == "Title\ of\ Graph".$
 An alternative format involving functions $f$, $g$ and
 $h$ is also available.\\
 }
diff --git a/books/bookvol1.pamphlet b/books/bookvol1.pamphlet
index 2962c4e..4d577ea 100644
--- a/books/bookvol1.pamphlet
+++ b/books/bookvol1.pamphlet
@@ -9463,7 +9463,7 @@ Any domain can be refined to a {\it subdomain} by a membership
 object of the domain, returns either {\tt true} or {\tt false}.  For
 example, the domain {\tt Integer} can be refined to the subdomain 
 {\tt PositiveInteger}, the set of integers $x$ such that $x > 0$, by giving
-the Axiom predicate $x +-> x > 0$.  Similarly, Axiom can define
+the Axiom predicate {\tt x +-> x > 0}.  Similarly, Axiom can define
 subdomains such as ``the subdomain of diagonal matrices,'' ``the
 subdomain of lists of length two,'' ``the subdomain of monic
 irreducible polynomials in $x$,'' and so on.  Trivially, any domain is
@@ -10397,7 +10397,7 @@ of type {\tt Integer}.
 The syntax for writing a {\tt Union} type without selectors is
 \begin{center}
 {\tt Union($\hbox{\it type}_{1}$, $\hbox{\it type}_{2}$, 
-\ldots, $\hbox{\it type}+{N}$)}
+\ldots, $\hbox{\it type}_{N}$)}
 \end{center}
 The types in a union without selectors must be distinct.\\
 }
@@ -11107,7 +11107,7 @@ Perhaps we actually wanted a fraction of complex integers.
 $$
 2 \over 3 
 $$
-\returnType{Type: Float}
+\returnType{Type: Fraction Complex Integer}
 
 In each case, Axiom used the indicated operations, sometimes first
 needing to convert the two integers into objects of the appropriate type.
diff --git a/books/bookvol7.1.pamphlet b/books/bookvol7.1.pamphlet
index 50c7d72..882ea53 100644
--- a/books/bookvol7.1.pamphlet
+++ b/books/bookvol7.1.pamphlet
@@ -85394,7 +85394,7 @@ Here is the value otherwise.
 \xtc{
 What is the value for \axiom{n = 7}?
 }{
-\spadpaste{facto(3) \free{facton}}
+\spadpaste{facto(7) \free{facton}}
 }
 \xtc{
 What is the value for \axiom{n = -7}?
@@ -86786,7 +86786,7 @@ InputForm} in the input area following {\bf S =}.  Click on {\bf Cross
 Reference} and then on {\bf Domains}.  The list you see contains over
 forty domains that belong to the category \axiomType{ConvertibleTo
 InputForm}.  Thus you can use \axiomFun{function} for
-\axiomType{Integer}, \axiomType{Float}, \axiomType{String},
+\axiomType{Integer}, \axiomType{Float}, \axiomType{Symbol},
 \axiomType{Complex}, \axiomType{Expression}, and so on.
 
 \endscroll
diff --git a/changelog b/changelog
index 31e66f5..511258a 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,7 @@
+20100112 lxd src/axiom-website/patches.html 20100112.01.lxd.patch
+20100112 lxd books/bookvol7.1 fix typos
+20100112 lxd books/bookvol1 fix typos
+20100112 lxd books/bookvol0 fix typos
 20100101 tpd src/axiom-website/patches.html 20100101.06.tpd.patch
 20100101 tpd src/input/fixed fix typo
 20100101 tpd src/axiom-website/patches.html 20100101.05.tpd.patch
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index 9616b75..2cc7c3e 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -2356,7 +2356,9 @@ src/input/en.input rewrite using machineFraction<br/>
 src/axiom-website/patches.html fix 2009->2010 dates<br/>
 <a href="patches/20100101.05.tpd.patch">20100101.05.tpd.patch</a>
 src/input/e1.input rewrite using machineFraction<br/>
-<a href="patches/20100101.06.tpd.patch">20100101.05.tpd.patch</a>
+<a href="patches/20100101.06.tpd.patch">20100101.06.tpd.patch</a>
 src/input/fixed fix typo<br/>
+<a href="patches/20100112.01.lxd.patch">20100112.01.lxd.patch</a>
+books/bookvol0,vol1,vol7.1 fix typos<br/>
  </body>
 </html>
