diff --git a/changelog b/changelog
index 68812af..47d2393 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,9 @@
+20141216 tpd src/axiom-website/patches.html 20141216.01.tpd.patch
+20141216 tpd src/axiom-website/CATS/westerboolean.input.pdf add CATS test suite
+20141216 tpd src/axiom-website/CATS/westerboolean.input add CATS test suite
+20141216 tpd src/axiom-website/CATS/index.html add new CATS test suite
+20141216 tpd src/input/Makefile add westerboolean.input
+20141216 tpd src/input/westerboolean add westerboolean.input
 20141215 tpd src/axiom-website/patches.html 20141215.05.tpd.patch
 20141215 tpd src/axiom-website/CATS/westeralgebra.input.pdf add CATS test suite
 20141215 tpd src/axiom-website/CATS/westeralgebra.input add CATS test suite
diff --git a/patch b/patch
index a3d04d4..ca6c4ae 100644
--- a/patch
+++ b/patch
@@ -1 +1 @@
-src/input/westeralgebra.input add new CATS test suite
+src/input/westerboolean.input add new CATS test suite
diff --git a/src/axiom-website/CATS/index.html b/src/axiom-website/CATS/index.html
index d6d87eb..25ec3d7 100644
--- a/src/axiom-website/CATS/index.html
+++ b/src/axiom-website/CATS/index.html
@@ -782,6 +782,10 @@ This portion of the CATS suite involves Michael Wester Test Suite.
   Algebra
   <a href="westeralgebra.input.pamphlet">source</a>
   <a href="westeralgebra.input.pdf">pdf</a><br/>
+<br/>
+  Boolean
+  <a href="westerboolean.input.pamphlet">source</a>
+  <a href="westerboolean.input.pdf">pdf</a><br/>
 
  </body>
 </html>
diff --git a/src/axiom-website/CATS/westerboolean.input.pamphlet b/src/axiom-website/CATS/westerboolean.input.pamphlet
new file mode 100644
index 0000000..2bc7dbb
--- /dev/null
+++ b/src/axiom-website/CATS/westerboolean.input.pamphlet
@@ -0,0 +1,168 @@
+\documentclass{article}
+\usepackage{axiom}
+\setlength{\textwidth}{400pt}
+\begin{document}
+\title{\$SPAD/src/input westerboolean.input}
+\author{Michael Wester}
+\maketitle
+\begin{abstract}
+These problems come from the web page
+\begin{verbatim}
+http://math.unm.edu/~wester/cas_review.html
+\end{verbatim}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\begin{chunk}{*}
+)set break resume
+)set messages autoload off
+)set streams calculate 7
+)sys rm -f westerboolean.output
+)spool westerboolean.output
+)clear all
+
+\end{chunk}
+\section{Boolean}
+Simplify logical expressions => false
+
+\begin{chunk}{*}
+--S 1 of 11
+true and false
+--R 
+--R
+--R   (1)  false
+--R                                                                Type: Boolean
+--E 1
+
+\end{chunk}
+Argument number 1 to ``or'' must be a Boolean.
+\begin{chunk}{*}
+--S 2 of 11
+x : Boolean
+--R 
+--R                                                                   Type: Void
+--E 2
+
+--S 3 of 11
+x or (not x)
+--R 
+--R 
+--R   x is declared as being in Boolean but has not been given a value.
+--E 3
+
+\end{chunk}
+$=> x or y$
+\begin{chunk}{*}
+--S 4 of 11
+y : Boolean
+--R 
+--R                                                                   Type: Void
+--E 4
+
+--S 5 of 11
+x or y or (x and y)
+--R 
+--R 
+--R   x is declared as being in Boolean but has not been given a value.
+--E 5
+
+\end{chunk}
+$x$
+\begin{chunk}{*}
+--S 6 of 11
+xor(xor(x, y), y)
+--R 
+--R 
+--R   x is declared as being in Boolean but has not been given a value.
+--E 6
+
+\end{chunk}
+=> [not (w and x)] or (y and z)
+\begin{chunk}{*}
+--S 7 of 11
+w : Boolean
+--R 
+--R                                                                   Type: Void
+--E 7
+
+--S 8 of 11
+z : Boolean
+--R 
+--R                                                                   Type: Void
+--E 8
+
+--S 9 of 11
+implies(w and x, y and z)
+--R 
+--R 
+--R   w is declared as being in Boolean but has not been given a value.
+--E 9
+
+\end{chunk}
+\begin{verbatim}
+=> (x and y) or [not (x or y)]
+x iff y
+=> false
+\end{verbatim}
+\begin{chunk}{*}
+--S 10 of 11
+x and 1 > 2
+--R 
+--R 
+--R   x is declared as being in Boolean but has not been given a value.
+--E 10
+
+)clear properties w x y z
+
+\end{chunk}
+Quantifier elimination: See Richard Liska and Stanly Steinberg, ``Using
+Computer Algebra to Test Stability'', draft of September 25, 1995, and
+Hoon Hong, Richard Liska and Stanly Steinberg, ``Testing Stability by
+Quantifier Elimination'', ``Journal of Symbolic Computation'', Volume 24,
+1997, 161--187.
+\begin{verbatim}
+=> (a > 0 and b > 0 and c > 0) or (a < 0 and b < 0 and c < 0)
+    [Hong, Liska and Steinberg, p. 169]
+forAll y in C {implies(a*y**2 + b*y + c = 0, real(y) < 0)}
+ => v > 1   [Liska and Steinberg, p. 24]
+thereExists w in R suchThat _
+{v > 0 and w > 0 and -5*v**2 - 13*v + v*w - w > 0}
+ => a^2 <= 1/2   [Hoon, Liska and Steinberg, p. 174]
+forAll c in R _
+{implies(-1 <= c <= 1, a**2*(-c**4 - 2*c**3 + 2*c + 1) + c**2 + 2*c + 1 <= 4)}
+ => v > 0 and w > |W|   [Liska and Steinberg, p. 22]
+forAll y in C _
+{implies(v > 0 and y**4 + 4*v*w*y**3 + 2*(2*v**2*w**2 + w**2 + W**2)*y**2 _
+   + 4*v*w*(w**2 - W**2) _
+   + (w**2 - W**2)**2 = 0, real(y) < 0)}
+ This quantifier free problem was derived from the above example by QEPCAD
+ => v > 0 and w > |W|   [Liska and Steinberg, p. 22]
+\end{verbatim}
+
+\begin{chunk}{*}
+--S 11 of 11
+v > 0 and 4*w*v > 0 and 4*w*(4*w**2*v**2 + 3*W**2 + w**2) > 0 _
+   and 64*w**2*v**2*(w**2 - W**2)*(w**2*v**2 + W**2) > 0 _
+   and 64*w**2*v**2*(w**2 - W**2)**3*(w**2*v**2 + W**2) > 0
+--R 
+--R
+--R   (6)  true
+--R                                                                Type: Boolean
+--E 11
+
+\end{chunk} 
+\begin{verbatim}
+=> B < 0 and a b > 0   [Liska and Steinberg, p. 49 (equation 86)]
+hereExists y in C, thereExists n in C, thereExists e in R suchThat _
+{real(y) > 0 and real(n) < 0 and y + A*%i*e - B*n = 0 and a*n + b = 0}
+\end{verbatim}
+\begin{chunk}{*}
+)spool
+)lisp (bye)
+\end{chunk}
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
diff --git a/src/axiom-website/CATS/westerboolean.input.pdf b/src/axiom-website/CATS/westerboolean.input.pdf
new file mode 100644
index 0000000..b050130
Binary files /dev/null and b/src/axiom-website/CATS/westerboolean.input.pdf differ
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index 65c7105..bb4ccc8 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -4820,6 +4820,8 @@ books/bookheader update the credits list in the books<br/>
 buglist: bug 7273: wester algebra radicalSolve bug<br/>
 <a href="patches/20141215.05.tpd.patch">20141215.05.tpd.patch</a>
 src/axiom-website/CATS/westeralgebra.input add CATS test suite
+<a href="patches/20141216.01.tpd.patch">20141216.01.tpd.patch</a>
+src/axiom-website/CATS/westerboolean.input add CATS test suite
  </body>
 </html>
 
diff --git a/src/input/Makefile.pamphlet b/src/input/Makefile.pamphlet
index b7dfcbe..ac2bbfc 100644
--- a/src/input/Makefile.pamphlet
+++ b/src/input/Makefile.pamphlet
@@ -360,7 +360,7 @@ REGRESSTESTS= ackermann.regress \
     typetower.regress void.regress      uniseg.regress \
     unittest1.regress unittest2.regress unittest3.regress unittest4.regress \
     unit-macro.regress wangeez.regress westeralgebra.regress \
-    zimmbron.regress zimmer.regress
+    westerboolean.regress zimmbron.regress zimmer.regress
 
 \end{chunk}
 \begin{chunk}{regression tests}
@@ -376,7 +376,7 @@ CATSTESTS= \
     schaum25.regress  schaum26.regress schaum27.regress schaum28.regress \
     schaum29.regress  schaum30.regress schaum31.regress schaum32.regress \
     schaum33.regress  schaum34.regress \
-    westeralgebra.regress
+    westeralgebra.regress westerboolean.regress
 
 \end{chunk}
 These long-running tests have been split into a different group
@@ -1277,6 +1277,7 @@ DOCFILES= \
   ${DOC}/vector.input.dvi      ${DOC}/vectors.input.dvi    \
   ${DOC}/viewdef.input.dvi     ${DOC}/void.input.dvi       \
   ${DOC}/wester.input.dvi      ${DOC}/westeralgebra.input.dvi \
+  ${DOC}/westerboolean.input.dvi \
   ${DOC}/wiggle.input.dvi     \
   ${DOC}/wutset.input.dvi      \
   ${DOC}/xpoly.input.dvi       ${DOC}/xpr.input.dvi        \
diff --git a/src/input/westerboolean.input.pamphlet b/src/input/westerboolean.input.pamphlet
new file mode 100644
index 0000000..2bc7dbb
--- /dev/null
+++ b/src/input/westerboolean.input.pamphlet
@@ -0,0 +1,168 @@
+\documentclass{article}
+\usepackage{axiom}
+\setlength{\textwidth}{400pt}
+\begin{document}
+\title{\$SPAD/src/input westerboolean.input}
+\author{Michael Wester}
+\maketitle
+\begin{abstract}
+These problems come from the web page
+\begin{verbatim}
+http://math.unm.edu/~wester/cas_review.html
+\end{verbatim}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\begin{chunk}{*}
+)set break resume
+)set messages autoload off
+)set streams calculate 7
+)sys rm -f westerboolean.output
+)spool westerboolean.output
+)clear all
+
+\end{chunk}
+\section{Boolean}
+Simplify logical expressions => false
+
+\begin{chunk}{*}
+--S 1 of 11
+true and false
+--R 
+--R
+--R   (1)  false
+--R                                                                Type: Boolean
+--E 1
+
+\end{chunk}
+Argument number 1 to ``or'' must be a Boolean.
+\begin{chunk}{*}
+--S 2 of 11
+x : Boolean
+--R 
+--R                                                                   Type: Void
+--E 2
+
+--S 3 of 11
+x or (not x)
+--R 
+--R 
+--R   x is declared as being in Boolean but has not been given a value.
+--E 3
+
+\end{chunk}
+$=> x or y$
+\begin{chunk}{*}
+--S 4 of 11
+y : Boolean
+--R 
+--R                                                                   Type: Void
+--E 4
+
+--S 5 of 11
+x or y or (x and y)
+--R 
+--R 
+--R   x is declared as being in Boolean but has not been given a value.
+--E 5
+
+\end{chunk}
+$x$
+\begin{chunk}{*}
+--S 6 of 11
+xor(xor(x, y), y)
+--R 
+--R 
+--R   x is declared as being in Boolean but has not been given a value.
+--E 6
+
+\end{chunk}
+=> [not (w and x)] or (y and z)
+\begin{chunk}{*}
+--S 7 of 11
+w : Boolean
+--R 
+--R                                                                   Type: Void
+--E 7
+
+--S 8 of 11
+z : Boolean
+--R 
+--R                                                                   Type: Void
+--E 8
+
+--S 9 of 11
+implies(w and x, y and z)
+--R 
+--R 
+--R   w is declared as being in Boolean but has not been given a value.
+--E 9
+
+\end{chunk}
+\begin{verbatim}
+=> (x and y) or [not (x or y)]
+x iff y
+=> false
+\end{verbatim}
+\begin{chunk}{*}
+--S 10 of 11
+x and 1 > 2
+--R 
+--R 
+--R   x is declared as being in Boolean but has not been given a value.
+--E 10
+
+)clear properties w x y z
+
+\end{chunk}
+Quantifier elimination: See Richard Liska and Stanly Steinberg, ``Using
+Computer Algebra to Test Stability'', draft of September 25, 1995, and
+Hoon Hong, Richard Liska and Stanly Steinberg, ``Testing Stability by
+Quantifier Elimination'', ``Journal of Symbolic Computation'', Volume 24,
+1997, 161--187.
+\begin{verbatim}
+=> (a > 0 and b > 0 and c > 0) or (a < 0 and b < 0 and c < 0)
+    [Hong, Liska and Steinberg, p. 169]
+forAll y in C {implies(a*y**2 + b*y + c = 0, real(y) < 0)}
+ => v > 1   [Liska and Steinberg, p. 24]
+thereExists w in R suchThat _
+{v > 0 and w > 0 and -5*v**2 - 13*v + v*w - w > 0}
+ => a^2 <= 1/2   [Hoon, Liska and Steinberg, p. 174]
+forAll c in R _
+{implies(-1 <= c <= 1, a**2*(-c**4 - 2*c**3 + 2*c + 1) + c**2 + 2*c + 1 <= 4)}
+ => v > 0 and w > |W|   [Liska and Steinberg, p. 22]
+forAll y in C _
+{implies(v > 0 and y**4 + 4*v*w*y**3 + 2*(2*v**2*w**2 + w**2 + W**2)*y**2 _
+   + 4*v*w*(w**2 - W**2) _
+   + (w**2 - W**2)**2 = 0, real(y) < 0)}
+ This quantifier free problem was derived from the above example by QEPCAD
+ => v > 0 and w > |W|   [Liska and Steinberg, p. 22]
+\end{verbatim}
+
+\begin{chunk}{*}
+--S 11 of 11
+v > 0 and 4*w*v > 0 and 4*w*(4*w**2*v**2 + 3*W**2 + w**2) > 0 _
+   and 64*w**2*v**2*(w**2 - W**2)*(w**2*v**2 + W**2) > 0 _
+   and 64*w**2*v**2*(w**2 - W**2)**3*(w**2*v**2 + W**2) > 0
+--R 
+--R
+--R   (6)  true
+--R                                                                Type: Boolean
+--E 11
+
+\end{chunk} 
+\begin{verbatim}
+=> B < 0 and a b > 0   [Liska and Steinberg, p. 49 (equation 86)]
+hereExists y in C, thereExists n in C, thereExists e in R suchThat _
+{real(y) > 0 and real(n) < 0 and y + A*%i*e - B*n = 0 and a*n + b = 0}
+\end{verbatim}
+\begin{chunk}{*}
+)spool
+)lisp (bye)
+\end{chunk}
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}
