This manual describes the REDUCE symbolic mathematics system.  REDUCE has
two modes of operation: the algebraic mode, which deals with polynomials
and mathematical functions in a simple procedural syntax, and the symbolic
mode, which allows Lisp-like syntax and operations.  The commands,
declarations, switches and operators available in algebraic-mode REDUCE
are arranged in this manual in alphabetical order.  Symbols are listed
before the letter A.

Following the general alphabetical reference section is a similar
reference section for the High-Energy Physics operators.  After that, you
can find several cross-reference sections.  The first section contains
lists of reserved words and an Instant Function Cross-Reference.  Next you
will find brief explanations of the common REDUCE error messages.  The
next section is organized by type into Commands, Declarations, Operators,
Switches and Variables, with a brief listing for each operation.

For a general introduction to using algebraic-mode REDUCE, see the {\em
REDUCE User's Guide}, which also contains information on symbolic mode.
The {\em The Standard Lisp Report} is a technical reference on REDUCE's
Lisp language.

The following symbols are used to describe syntax in this manual:

\begin{verbatim}
This font means you must type an item exactly as you see it.
\end{verbatim}

{\em This font indicates a descriptive name for a type of REDUCE expression.
You may choose any REDUCE expression of the appropriate type.}

\begin{description}
\item[\meta{\{\}}]
Braces surround an item or set of items that may be followed by an
asterisk or plus.  Do not type the braces.

\item[\meta{*}]
An italic asterisk indicates that the preceding item may be repeated zero or 
more times. Do not type the asterisk.  It does not indicate multiplication.

\item[\meta{+}]
An italic plus indicates that the preceding item must appear once, and may be 
repeated one or more times.  Do not type the plus.  It does not indicate
addition.

\item[\meta{\&option(...)}]
\meta{\&option} indicates that the parameters that follow are optional.
\meta{\&options} indicates that options are available and explained in the
text below the command line.  \meta{\&option(s)} is not to be typed.
\end{description}

The switch settings for REDUCE in the examples in this manual are assumed to 
be the default settings, unless specifically given otherwise.  See the
cross-reference section \meta{Switches} in the back of this volume.

The examples in this manual should exactly reproduce the results you get
by typing in the statements given.  Any non-default switch settings are 
shown.  Be sure that the variables or operators used have no prior definition
by using the \name{clear} command.  The numbered line prompts have generally
been left out.  You can find executable files of all the examples shown here
in your \name{\$reduce/refex} directory, named alphabetically.  If you are
working your way through this manual, you can run the examples as you go by
starting a new REDUCE session, and entering the command, for example:
\begin{verbatim}
in "$reduce/refex/a-ex";
\end{verbatim}
There are numerous pauses in the files so that you can enter your own
examples and commands.  If you change any switch settings or assign values
to variables in one of the pauses, make sure to restore everything to its
original state before you continue the file  (see the entry under \name{CLEAR}
if you need help in clearing variables and operators).

REDUCE converts all input to upper case, and all its responses are in upper
case.  You can type input in  upper case, lower case, or mixed, as you wish.  
In the examples, the input is lower case, and REDUCE's responses are shown in
upper case.  This protocol makes it easy to distinguish input from results.
You can tell whether you are in algebraic or symbolic mode by looking at the
numbered prompt statement REDUCE gives you:  the algebraic prompt contains
a colon (\name{:}), while the symbolic prompt contains an asterisk (\name{*}).



