% File asldoc.tex, August 20, 2000
% This version describes only endproofeqnarray
% \documentclass[xconference]{asl}
% This version compiles with CMR fonts, but it is necessarily incomplete
\documentclass[conference]{asl}
\usepackage{rotate}

\def\confname{}
\def\copyrightyear{2000}

\title{Document preparation for ASL publications}

\author{Yiannis N. Moschovakis}

\twoaddress{Department of Mathematics\\ University of California\\
Los Angeles, CA 90095-1555, USA} {Department of Mathematics\\
University of Athens\\ Panepistimioupolis, Zografou, 15784 Greece}
{3}

\email{ynm@math.ucla.edu}

\urladdr{http://www.math.ucla.edu/\urltilde ynm}

\thanks{This document and all that is needed to prepare
documents for ASL publications are posted in the ASL Typesetting
Office Website, \texttt{http:\weakslash /www.math\weakdot
ucla\weakdot edu/\urltilde asl/asltex}. August 20, 2000.}

\DeclareMathOperator{\height}{ht}

\def\pkg#1{{\texttt{#1}}}
\let\cn=\pkg
\def\latex{\LaTeX}
\def\amslatex{{\protect\AmS-\protect\LaTeX}}
\def\latextwoe{\LaTeX2\raisebox{-1pt}{$\epsilon$}}
\def\cmit{\fontfamily{cmr}\fontshape{it}\selectfont}
%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{document}

\maketitle

The \textsc{Journal} and the \textsc{Bulletin of Symbolic Logic}
and the proceedings of conferences in the series \textbf{Notes in
Logic} (LNL) are typeset with a version of \amslatex, the
typesetting system used for publications of the American
Mathematical Society. This means that all commands of the familiar
\pkg{article} ``documentclass'' of \latextwoe{} and
essentially\footnote{This is made precise in
Section~\ref{technical}.} all commands of the \amslatex{}
documentclass \pkg{amsart} are recognized by the documentclass
\pkg{asl}, and so manuscripts prepared for those versions of
\TeX{} can be processed by the ASL Typesetting Office practically
as-they-are.\footnote{The two main guides for \amslatex{} are
\pkg{amsldoc} and \pkg{amsthdoc}. They are both posted on the ASL
Typesetting Office site, and it is highly recommended that the
second one of these be read along with this document; it is very
brief, and very useful.} This brief guide is aimed at those
authors who are reasonably proficient in \latextwoe{} and would
like to exercise better control of the final look of their papers
by making the necessary changes themselves. It also offers a brief
description of the \pkg{amsart} commands most useful for logic, as
well as some additional commands available under \pkg{asl}.

For authors of papers which involve little or no mathematics, it
should be pointed out that \LaTeX{} is an extremely easy system
with which to prepare documents which consist mostly of text: a
brief perusal of Chapters 1 and 2 of the \LaTeX{} book\footnote{%
{\bfit \latex}, by Leslie Lamport, Addison-Wesley, 1994.}
and Section 1 and Subsection~\ref{footnotes} of this guide should suffice.

To use the documentclass \pkg{asl}, put the file \pkg{asl.cls}
where your \TeX{} looks for inputs, or in the directory in which 
you are working; and if you plan to use \pkg{bibtex}, you should also put
\pkg{asl.bst} where \pkg{bibtex} looks for \pkg{.bst} 
files, or in your working directory.

\section{The preamble}
\label{preamble}

Each article for publication by the ASL must start with the text in
Section~\ref{sample}, which can be copied from the source file
for this guide and used as a template. Here are some comments on this
material:
\smallskip

\subsection{Options}
At least one option is required for each manuscript, \pkg{jsl},
\pkg{bsl} or \pkg{conference}, specifying the venue of
publication. In addition, one may add any number of \pkg{amsart}
or \pkg{asl} options, which include the following:
\begin{itemize}
\item \pkg{reqno}; this places the equation numbers on the right,
the default being \pkg{leqno} which puts them on the left.
\item \pkg{fleqn}; places the displays at a fixed distance from
the left margin, the default setting them centered.  It can be
combined with either the  default \pkg{leqno} or \pkg{reqno} (not
recommended).
\item \pkg{endnotes}, \pkg{mixednotes}; these change footnotes to 
``endnotes'' or allow both, see Subsection~\ref{footnotes}.
\item \pkg{bibalpha}, \pkg{bibay1}, \pkg{bibay2}; 
different styles for the Bibliography and citations, explained in
Section~\ref{bibtex}.
\end{itemize}

The \pkg{jsl}, \pkg{bsl} and \pkg{conference} options set the
appropriate logo and Copyright information, they set a few
additional publication-specific defaults, and (more
significantly) they set the size of type---10pt for the
\textsc{Journal} and the LNL and 11pt for the \textsc{Bulletin}.
Manuscripts compiled with one of these options will give only an
approximation of the final look of the published paper, because
ASL publications are printed using proprietary Monotype Times
Roman fonts rather than the usual Computer Modern fonts of
\latextwoe; it is a fairly good approximation, however,
especially for formulas and displays, and so it can be very
useful to the author.

Do not worry when the typeset version declares that your paper will
appear in Volume 0, of Year 0, etc., these default values are re-set
(along with the fonts) at the time of production.
\smallskip

\subsection{Other packages}
After the \pkg{documentclass} command, several ``packages'' may be
loaded, for drawings, diagrams, etc. For example, this document
includes in its preamble the command

\begin{verbatim}
   \usepackage{rotate}
\end{verbatim}

\noindent
which loads \pkg{rotate.sty}, needed for the ``game quantifier''
$\game$. All packages which are compatible with \pkg{article}
or \pkg{amsart} are also compatible with \pkg{asl}---and
please let us know of any exceptions you discover.
\smallskip

\subsection{The title}
No commands defined in the paper should be used in the entries to
\verb+\title+ --- if you need some special symbols in them, you
should enter them using standard, \latextwoe\  or
\pkg{asl} commands. The optional short title (within brackets) is
used for the page-top-headings, and it is only needed if the
title of the paper is long or contains line-breaking commands
\verb+\\+; do not include any \verb+\\+ in the short title.

Contrary to a popular practice, \textit{only proper names are set
in uppercase} in ASL publications: so don't enter

\begin{verbatim}
  \title{A New Counterexample to G\"odel's Theorem}
\end{verbatim}

\noindent
but write instead

\begin{verbatim}
  \title{A new counterexample to G\"odel's Theorem}
 \end{verbatim}

\addvspace{-10pt}
Incidentally, the same practice is followed in the titles of
chapters, sections and subsections in ASL publications: only
proper names should be entered in upper case.
\smallskip

\subsection{}
The keywords and subjclass entries (\AmS-style) are optional.
\smallskip

\subsection{Authors' names}
Each author should have two entries of his or her name, in the form
\smallskip

\verb+\author{John J. John}+

\verb+\revauthor{John, John J.}+
\smallskip

\noindent The ``reversed author'' command is used to produce and
alphabetize Tables of Contents and Indices, and it should be
entered exactly as the author writes his/her name
last-name-first, which sometimes requires a period at the end,
e.g., after a middle initial, the appellation ``Jr.'', etc. Use
\smallskip

\verb+\author{\Mac Lane, Saunders}+ to enter MacLane, and

\verb+\author{\Mc Lane, James}+ to enter McLane,
\smallskip

\noindent
but (preferably) the usual ``\texttt{MacLane}'' and
``\texttt{McLane}'' in the \verb+\revauthor+ field.

For entering footnotes to authors' names see Subsection~\ref{thankses}
below.
\smallskip

\subsection{Address, email, etc.}
Each author should have exactly one entry of the form
\smallskip

\verb+\address{...}+ \quad or\quad
\verb+\twoaddress{...}{...}{.}+
\smallskip

\noindent
and any number of optional entries of the form
\smallskip

\verb+\curraddr{...}+

\verb+\genaddr{...}{...}+

\verb+\email{...}+

\verb+\urladdr{...}+

\verb+\thanks{...}+
\smallskip

\noindent
The lines of the address are separated by \verb+\\+, and the
country of the address must be included and put on the last line,
not on a line by itself.

The \verb+\twoaddress+ command is useful for authors with two
affiliations; the third entry must be \textit{the number of
lines} ($1$ plus the number of occurrences of \verb+\\+)
\textit{in the first address}.\footnote{If you have three or more
affiliations, just enter them separately and they will be
hand-set by the ASL typesetters (and, perhaps, you should
re-think your situation).} The address for this guide was entered
in the form

\begin{verbatim}
  \twoaddress{Department of Mathematics\\
  University of California\\
  Los Angeles, CA 90095-1555, USA}
  {Department of Mathematics\\
  University of Athens\\
  Panepistimioupolis, Zografou, 15784 Greece}
  {3}
\end{verbatim}

From the optional commands,

\begin{verbatim}
  \curraddr{Department of Mathematics\\
  University of California\\
  Los Angeles, California, 90095-1555, USA}
\end{verbatim}

\noindent
will produce at the end of the article (right after the address)
the entry
\smallskip

\textit{Current address}: Department of Mathematics,
University of California,
Los Angeles, California, 90095-1555, USA.
\smallskip

\noindent
The command \verb+\genaddr+ takes two arguments and adds an
additional address with the heading specified by the first argument, e.g.,

\begin{verbatim}
  \genaddr{Correspondence address}
  {John J. John\\
   c/o Joe's Happy Hour Place\\
   43 6th Ave.\\
   New York, NY 08890, USA}
\end{verbatim}

\noindent
will produce at the end of the article the entry
\smallskip

\textit{Correspondence address}:
  John J. John,
   c/o Joe's Happy Hour Place,
   43 6th Ave.,
   New York, NY 08890, USA.
\smallskip

\noindent
In the self-explanatory \verb+\email+ and \verb+\urladdr+
commands, the symbol \texttt{\textasciitilde} should be entered as
\verb+\urltilde+ or \verb+\textasciitilde+.
\smallskip

These ``address commands'' are all printed at the end of the
article \textit{in the order in which they occur in the
preamble}; this means that all the address commands of the first
author must be entered before the first address command of the
next author, etc., so that it is clear which address goes with
whom.
\smallskip

\subsection{Thankses}
\label{thankses}
 The ``thankses'' appear as numberless footnotes, on the first page,
in the order in which they occur in the preamble.

If you need a footnote accompanying the name of an author, you
must do it manually, as follows:

\begin{verbatim}
\author[John J. John]{John J. John$^\dag$}

\revauthor{John, John J.}

\thanks{$^\dag$John J. John appreciates the help of his
mother ...}
\end{verbatim}

\noindent Notice that the $^\dag$ is not entered in the optional
so-called ``shortauthor'' entry \verb+[John J. John]+ (which is
used for the page-top headings) or in the \verb+\revauthor+
command.
\smallskip

\subsection{Theorem environments}
The \verb+\newtheorem+ commands are needed because the stylefile
does not have any theorem environments built in. The default
style is ``plain'' which sets the text of theorems in italics,
and it can be changed by the \verb+\theoremstyle+ command. The
most common theoremstyle (other than plain) is \pkg{definition},
which sets theorems in Roman; for more details see \pkg{amsthdoc}.
\smallskip

\subsection{Authors' macros}
If there are many macros, put them in another file, e.g.,
\pkg{john.mac}, and put here \verb+\input{john.mac}+.
\smallskip

\subsection{The abstract}
The abstract (which is optional) should be entered {\it before\/} the
\verb+\maketitle+ command. This is a feature of \pkg{amsart}, its
main difference in form from \pkg{article};
it helps with the layout of the first page of the article.
\smallskip

\section{The main part of the article}

If you are not familiar with \pkg{amsart} and don't feel like
learning it just now, read this guide and the 4-page
\pkg{amsthdoc} and type your article using your new knowledge and
the usual \pkg{article} commands---\pkg{equation}, \pkg{array},
\pkg{eqnarray}, etc. You won't really need to learn the more
esoteric \pkg{amsart} commands, unless your paper involves many,
complex mathematical formulas and displays (especially multiple
subscripts and superscripts) and you want to get it all right by
yourself.
\smallskip

\subsection{Formatting commands}
These are instructions like \verb+\newpage+, \verb+\linebreak+, 
\verb+\allowdisplaybreaks+, \verb+\parindent=2em+, 
\verb+\widowpenalty=0+, etc., and the first rule is \textit{don't 
use any}; they will all be deleted before the final version of 
the article is prepared---and then some of them may be 
re-introduced by the ASL typesetters, as they are needed.
\smallskip

\subsection{Space commands}
\label{spaces}
These are things like \verb+\vspace+,
\verb+\hspace+, \verb+\quad+, \urltilde\urltilde, etc., and the
second rule is \textit{don't use any vertical space
commands}---well, except perhaps for an occasional
\verb+\smallskip+ or \verb+\medskip+; \textit{use horizontal space
commands sparingly}; and \textit{never---ever---insert space
within formulas} to enlarge the natural space that \TeX{} and the
stylefile introduces. For example, authors are often tempted to
enter
\begin{align*}
\texttt{a\urltilde=\urltilde{}b}
\text{ which prints as }a~&=~b\\
\text{rather than }\texttt{a = b} \text{ which prints as }
a&=b
\end{align*}
and the first of these does not look good to the trained eye.
If you want to get the correct spacing around new function or
binary relation symbols, don't enter it by hand, but use the
command

\begin{verbatim}
   \DeclareMathOperator{\height}{ht}
\end{verbatim}

\noindent which introduces the combination `$\height$' as the name of an
operator or relation and lets \latextwoe{} worry about spacing;
with this command in effect,
\smallskip

\verb+\height(a,b)+ will print in math mode as $\height(a,b)$

\noindent
and

\verb+a \height b+ will print in math mode as $a \height b$.
\smallskip

\noindent This is especially useful for binary relations, while a
one-time use of a function can be entered as
\verb+\textup{ht}(a,b)+ which yields $\textup{ht}(a,b)$. For
one-time uses of single binary relation \textit{symbols} (not
words), you can use also use
$$
\verb+x \mathbin{\natural} y+
\text{ which yields } x \mathbin{\natural} y.
$$

ASL publications  have a very ``tight'' layout which is not
compatible with much white space, and all space commands are
removed by our typesetters before the final, production version of
the article is developed. Remember that what may look crowded in a
preprint might look just right in ASL publications.
\smallskip

\subsection{Footnotes and endnotes}
\label{footnotes}
Footnotes are entered with the \pkg{footnote}
command, attached to the footnoted word with no intervening
space; for example\footnote{Sample footnote.} the line which
produced the footnote on this page was entered as follows:
\begin{verbatim}
for example\footnote{Sample footnote.} the line which produced
\end{verbatim}

The option \pkg{endnotes} changes footnotes to endnotes, printed 
when the command \verb+\theendnotes+ is encountered, typically at the end 
of the article just before the bibliography. In more detail: the 
first time when \verb+\theendnotes+ is encountered, all the 
endnotes entered from the beginning of the article are printed, 
and each subsequent occurrence of the command causes the printing 
of all the endnotes entered since the previous occurrence. If you 
want the numbering of endnotes to start over, enter 
\verb+\startoverendnotes+ just after the \verb+\theendnotes+. (This
option treats the command \verb+\endnote{...}+ as synonymous to 
\verb+\footnote{...}+.) 

The option \pkg{mixednotes} makes it possible to enter both
footnotes and endnotes: \verb+\footnote{...}+ produces a
footnote, while \verb+\endnote{...}+ produces an endnote, handled
exactly as in the \pkg{endnotes} option. In this option the
footnotes are numbered using symbols like $\dag$, $\ddag$, etc., and
there should not be more than nine of them in any given page.

When no option is specified, \verb+\endnote{...}+ produces a footnote,
just like \verb+\footnote{..}+. Similarly, all other commands of the
\pkg{endnote} package behave like their footnote equivalents, or do
nothing if there is no such equivalent. This means that 
the following experimentation is possible: produce the
document as if the \verb+mixednotes+ option is going to be used
(thus using both \verb+\footnote+ and \verb+\endnote+), then
try it with either option or with no option at all to see which
looks best.

\subsection{Common errors and bad practices}
Four of these are worth pointing out here, because they
occur very frequently and require a great deal of effort to
correct.
\smallskip

(1) \textit{Don't use math mode to simulate italics}:\\[5pt]
\begin{tabular}{lll}
\verb+$George$+ &prints as& $George$, while\\
\verb+\textit{George}+ &prints as& \textit{George}
\end{tabular}\\[5pt]
which is better spaced. This is often committed when operators
and binary relations with long names are defined in math mode, which
should be done using the \verb+\DeclareMathOperator+ and
\verb+\textup+ commands as explained in Subsection~\ref{spaces}.
To switch between \textit{text} fonts (in either text or math mode) use the
commands\\[5pt]
\begin{tabular}{lll}
\verb+\textit{George}+ &prints as& \textit{George} \\
\verb+\textup{George}+ &prints as& \textup{George} \\
\verb+\textbf{George}+ &prints as& \textbf{George} \\
\verb+\textsc{George}+ &prints as& \textsc{George}
\end{tabular}

\noindent
Especially useful is the \verb+\textup{..}+ command, which can be
used to introduce small phrases in straight-up text (Roman)
within a slanted environment, e.g., within the statement of a
theorem.

For the commands needed to switch fonts in formulas, see 
Subsection~\ref{mathsymbols}. 
\smallskip

(2) \textit{Don't precede or follow displays by blank lines},
unless, of course a display ends a paragraph.
\smallskip

(3) \textit{Do not overuse list environments}. There is a
natural tendency to take too seriously the \LaTeX{}
``philosophy'' of \textit{logical design} and introduce lists
within lists within lists, reflecting the logical structure of the
statement of a theorem or a proof; in the end the article looks
like a \texttt{lisp} program, and this does not help understanding. The
rules are:
\begin{itemize}
\item Do not use a list environment (\pkg{enumerate},
\pkg{itemize}, etc.) if individual items will be more than
two or three lines long.
\item Do not use a nesting of lists of depth more than $2$ (list
within list).
\item Do not nest lists at all if the items of the inner list are more
than one line long.
\end{itemize}
Every rule has exceptions, of course, and perhaps you want part
of your paper to look like a program, but multiply nested lists
will normally be re-set by the ASL typesetters to lessen the
amount of white space on the page.

(4) \textit{Format your \textup{\pkg{.tex}}-file so that it can be easily
read by others}; while the published article should not look like
a program, the \pkg{.tex}-file, really \textit{is} a program,
which will be debugged by the ASL typesetters, and you should try
to make their job easier. Two simple rules:
\begin{itemize}
\item Don't \verb+\input{mymacros}+ if \texttt{mymacros.tex} has
$2000$ commands, only five of them needed for this paper; prune
the macro files you submit.
\item Format displays so they look like displays.
\end{itemize}
For example, don't bury the line

\begin{verbatim}
  ... from which it follows that \[f(x)=0,\] and so ...
\end{verbatim}

\noindent
in the middle of a long paragraph, type instead

\begin{verbatim}
... from which it follows
  \[
   f(x)=0,
  \]
  and so ...
\end{verbatim}

\noindent
which makes it easier to identify it as a display in the source file.
\smallskip

\subsection{Theorems, lemmas, and the like}
For introducing theorem environments, please see \pkg{amsthdoc}
which describes succinctly the many possibilities offered by
\pkg{amsthm}, whose commands are all available under \pkg{asl}.
The only command described there which you should not use is
\verb+\swapnumbers+, which does not fit in well with \pkg{asl}.

Theorems are normally set in italics, but tradition (and taste)
demands that parentheses, brackets, punctuation symbols and
numerals in them are set straight-up. This is a painful problem
when the Computer Modern fonts are used: because if you type

\begin{verbatim}
   (2) ... and so (by Rice's Theorem) $p\sqsubseteq q$;
\end{verbatim}

\noindent
within a theorem environment, you will get the ugly-looking
\smallskip

{\cmit  (2) ... and so (by Rice's Theorem) $p\sqsubseteq q$;}
\smallskip

\noindent and, to correct this, you would need to type the
cumbersome

\begin{verbatim}
  \textup{(2)}... and so \textup{(}by Rice's
   Theorem\textup{)} $p\sqsubseteq q$\textup{;}
  \end{verbatim}

\addvspace{-10pt}
\noindent
There is no need for this when preparing articles for ASL
publications, because theorems are automatically set in a special
font which uses italics for text but straight-up type for
delimiters, punctuation symbols and numerals: so the first entry
above (in a theorem environment) will produce the output
\smallskip

\textth{(2) ... and so (by Rice's Theorem) $p\sqsubseteq q$;}
\smallskip

\noindent
in the font in which this document is typeset.
So, if you can stand the ugly, leaning parentheses in your
preprints, you can omit all the extra \verb+\textup+ commands in
typing theorems.
\smallskip

\subsection{Proofs}
For proofs, use the \pkg{proof} environment described in
\pkg{amsthdoc}. Briefly: proofs are entered in the form

\begin{verbatim}
   \begin{proof}
    The argument is by induction ...
    ...
    completing the argument.
   \end{proof}
\end{verbatim}

\noindent
which will produce the output

   \begin{proof}
    The argument is by induction ...
    ...
    completing the argument.
   \end{proof}
You can change the name ``proof'' with an optional argument:

\begin{verbatim}
   \begin{proof}[Proof of John's Theorem]
    The argument is by induction ...
    ...
    which completes the argument.
   \end{proof}
\end{verbatim}

\noindent
will produce the output
   \begin{proof}[Proof of John's Theorem]
    The argument is by induction ...
    ...
    which completes the argument.
   \end{proof}
Finally, for those who like to start a proof with its name,
\pkg{asl} provides the \pkg{proofplain} environment:
entering

\begin{verbatim}
   \begin{proofplain} is by induction on
    ...
    completing the argument.
   \end{proofplain}
\end{verbatim}

\noindent
will produce the output
   \begin{proofplain} is by induction on
    ...
    completing the argument.
   \end{proofplain}

\noindent
You can change the end-of-proof symbol `$~\qedsymbol~$' customarily
used in ASL publications by entering (in the preamble or,
locally, within a specific proof) the command

\begin{verbatim}
   \renewcommand{\qedsymbol}{...}
\end{verbatim}

\noindent
but, please, don't choose something ugly and gloomy like
$\blacksquare$. You can also have the ``blank'' end-of-proof
symbol by typing (globally or locally, within a proof)
\verb+\noqed+, but even in this case, it is good to encase your
proofs in the \verb+\begin{proof}+ \ldots \verb+\end{proof}+
environment, to insure good spacing.

For proofs which end with a displayed equation, see
Subsection~\ref{eqnarray} below.
\smallskip

\subsection{Diagrams, formal proofs and graphics}
These should always be encased in a \pkg{figure} or \pkg{table}
environment, with the location set to [tb] (top-bottom),
captioned and cited in the text; \textit{do not} use the location
[h] (here), except for very small figures which will not take up
more vertical space than about 10 lines of text. \latextwoe{}
places floats at the end of an article, after the
\textsc{Bibliography}, and this is not allowed in the ASL journals;
this means that if your attempt to control the placement of your
figure is too strict and it ends up as a float, the figure
will need to be re-positioned.

There are many good packages for entering diagrams,
including \pkg{xy-pic} which works well with \pkg{asl} and
produces excellent output---although it is a little hard to
debug, and so the author (rather than the ASL typesetter) has a
greater responsibility to ``do it right''.

For formal proofs, we recommend \pkg{bussproofs.sty}, which is
simple to use (and to debug) and produces very good 
output.\footnote{\pkg{bussproofs.sty} is posted on
\texttt{http\weakcolon\weakslash/www\weakdot math\weakdot ucla\weakdot
edu\weakslash\urltilde asl/asltex} along with this guide.} There are,
however, many other excellent packages which some authors may
prefer.

For figures and drawings, keep in mind that ASL publications are
printed on a high-resolution, 1200 DPI imagesetter; this means
that drawings which look fine when printed on a 300 DPI
laserprinter may end up looking terrible when published. The main
lesson from this are that \textit{you should try to avoid
submitting bitmaps}, unless you can produce them at 1200 DPI, and
\textit{you should not use very thin lines}, because they will
become invisible at high resolution.

If you know some program which suffices for your needs and
produces \latextwoe{} output (like \pkg{xy-pic.sty},
\pkg{bussproofs.sty} or \latextwoe's \pkg{picture} environment),
use it; these have the great advantage that they use the default
fonts of the documents for symbols, and so they fit in well with
the rest of the article. Second best is to submit your drawings
in \textit{encapsulated Postscript} (EPS) files, which are called
by your document using the \pkg{epsfig.sty} package, especially
if you avoid using bitmapped fonts in the drawings and
(if you can) set the resolution of your Postscript-generating
program to 1200 DPI; this produces very good results, and it allows
shading, which often livens up a drawing.
\smallskip

\subsection{Other environments}
There is nothing wrong with introducing your own environments,
but, in practice, there is little need for many of them and you
should not be carried away. In particular, the
\verb+\newtheorem*+, \verb+\section*+ and \verb+\subsection*+
commands can often be used to introduce easily environments with
good spacing. For example, entering

\begin{verbatim}
   \subsection*{Acknowledgement} The author is grateful to
   his brother-in-law who actually proved the main
   theorem of this paper.
\end{verbatim}

\noindent
will produce the output
   \subsection*{Acknowledgement} The author is grateful to
   his brother-in-law who actually proved the main
   theorem of this paper.
\smallskip

In a similar way, Remarks, Notes, Asides, etc. can be entered as
theorem environments with no numbering, or a different numbering
than the theorems of the article.
\smallskip

\subsection{Displayed equations and formulas}
One advantage of \pkg{amsart} is that it allows
for many more forms of displaying and aligning formulas and
equations than \latextwoe's plain \pkg{equation} and
\pkg{eqnarray}, which (when carefully used) can produce much
finer results than the \pkg{article} environments. The following
two are the simplest and the most useful.

First, for definitions \textit{by cases}, enter

\begin{verbatim}
f(x) =
     \begin{cases}
     g(x) &\text{if } R(x) \\
     h(x) &\text{otherwise.}
     \end{cases}
\end{verbatim}

\noindent
which in math mode will produce the output
$$
f(x) =
     \begin{cases}
     g(x) &\text{if } R(x) \\
     h(x) &\text{otherwise.}
     \end{cases}
$$

Second, the \pkg{multline} environment takes care of one-line
displays that are too long to fit in one line: entering

\begin{verbatim}
\begin{multline*}
\sigma_q X_q.\bigvee_{S\subseteq \Sigma\setminus \{p\}}
\Biggl[ \Biggl(
 \bigvee_{D\in Y_q^S} (\alpha^{-p}_S\wedge \neg p\wedge
\beta_{q,D})\vee ( \alpha^{-p}_S\wedge p\wedge
\beta_{q,D} ) \Biggr)
\\
\vee   \bigvee_{D\in Z_q^S}
(\alpha_S^p\wedge \beta_{q,D})\Biggr],
\end{multline*}
\end{verbatim}

\noindent
will produce the output
\begin{multline*}
\sigma_q X_q.\bigvee_{S\subseteq \Sigma\setminus \{p\}}
\Biggl[ \Biggl(
 \bigvee_{D\in Y_q^S} (\alpha^{-p}_S\wedge \neg p\wedge
\beta_{q,D})\vee ( \alpha^{-p}_S\wedge p\wedge
\beta_{q,D} ) \Biggr)\\
\vee   \bigvee_{D\in Z_q^S}
(\alpha_S^p\wedge \beta_{q,D})\Biggr],
\end{multline*}
with the break in the line exactly where the author
indicated it should go with the \verb+\\+ command and well-chosen
margins.

All display environments\footnote{Actually, the \pkg{tag} command does not
work right in the \pkg{align} environment when both the \pkg{reqno}
and \pkg{fleqn} options are in effect---an ugly combination
which you don't really want to use.}
of \pkg{asl} support the
\verb+\tag+ command which allows the author to replace the
equation number by any tag; for example, in the case of a single
equation, entering

\begin{verbatim}
  \begin{equation}
  A = B   \tag{$\ast$}
          \label{george}
  \end{equation}
\end{verbatim}
\label{tagex}

\noindent
will print
\begin{equation}
A = B   \tag{$\ast$}
        \label{george}
\end{equation}
This will not advance the equation counter, and references to this
equation can be made as usual with \verb+\eqref{george}+.
\smallskip

\subsection{The enhanced \texttt{eqnarray} environment}
\label{eqnarray}
The familiar \pkg{eqnarray} environment of \latextwoe{}
and its starred version \pkg{eqnarray*} have been extended
in \pkg{asl} to allow for two, useful refinements and a variation.

First, you can have a third column: entering

\begin{verbatim}
   \begin{eqnarray}
   A &=& B   &\text{by equation~\eqref{george}} \\
   C &=& D
   \end{eqnarray}
\end{verbatim}

\noindent
will produce the output
\begin{eqnarray}
A &=& B   &\text{by equation ~\eqref{george}} \\
C &=& D
\end{eqnarray}
assuming that the equation labeled \pkg{george} is, indeed, the equation
tagged $(\ast)$. This is useful for commented computations and also
works with \pkg{eqnarray*}.

Second, \pkg{eqnarray} and \pkg{eqnarray*} support the \verb+\tag+
command described in the preceding section, albeit with one
restriction: if you assign both a tag and a label to an equation,
\textit{issue the tag command first and the label command after
it}, as illustrated in the example above; if you enter these commands
in the wrong order, \pkg{asl} will stop and warn you of the error.

Finally, the variant environment \verb+endproofeqnarray+
makes it possible to end a proof with a displayed equation and
still have `$~\qedsymbol~$' placed correctly; entering

\begin{verbatim}
   \begin{proof} \dots and, finally, we compute:
   \begin{endproofeqnarray}
   f(x) &=& g(x) &\text{(by \eqref{george})} \\
        &=& h(x) &\text{obviously.}
   \end{endproofeqnarray}
   \end{proof}
\end{verbatim}

\noindent
produces the output:
   \begin{proof} \dots and, finally, we compute:
   \begin{endproofeqnarray}
   f(x) &=& g(x) &\text{(by \eqref{george})} \\
        &=& h(x) &\text{obviously.}
   \end{endproofeqnarray}
   \end{proof}

This also works with \verb+endproofeqnarray*+ (which does not
number the equations).

To end a proof with a single (for example, unnumbered)
equation, enter

\begin{verbatim}
\begin{proof} ... and finally
\begin{endproofeqnarray*}
&   a=b   &
\end{endproofeqnarray*}
\end{proof}
\end{verbatim}

\noindent
which is rendered as

\begin{proof} ... and finally
\begin{endproofeqnarray*}
&   a=b   &
\end{endproofeqnarray*}
\end{proof}

\noindent
(You can omit the \verb+&+ symbols in the case of a single
equation, when alignment is not needed, but surrounding the
equation with them gives a more accurate centering of the display.)
%\enlargethispage*{5pt}

\subsection{Math symbols}
\label{mathsymbols}
To switch fonts in letters which occur within formulas, use the 
\verb+\math..{...}+ command, which is analogous to the 
\verb+\text..{...}+ command:\\
\begin{tabular}{lll}
\verb+\mathrm{R}+ &prints as& $\mathrm{R}$ \\
\verb+\mathit{R}+ &prints as& $\mathit{R}$ (not useful, just type 
\verb+R+)\\
\verb+\mathbf{R}+ &prints as& $\mathbf{R}$ \\
\verb+\mathbb{R}+ &prints as& $\mathbb{R}$, and  \\
\verb+\mathcal{R}+ &prints as& $\oldcal{R}$ or $\truescript{R}$,
\end{tabular}\\
depending on the publication.\footnote{With the Monotype fonts, 
in all publications, 
$\backslash\texttt{oldcal}\{\texttt{R}\}=\oldcal{R}$ 
and $\backslash\texttt{truescript}\{\texttt{R}\}=\truescript{R}$; 
with CMR fonts, 
$\backslash\texttt{truescript}\{\texttt{R}\}=
\backslash\texttt{oldcal}\{\texttt{R}\}=
\backslash\texttt{mathcal}\{\texttt{R}\}=\oldcal{R}$.}
The \verb+\mathbf..{...}+ command works only with letters (not 
symbols), while the \verb+\boldsymbol{...}+ command will give a 
boldface version of every symbol which exists in the current 
font:
\smallskip

\verb+\boldsymbol{\Sigma}+ is rendered as $\boldsymbol{\Sigma}$
\smallskip

\noindent
To cope with the unfortunate notation in Descriptive Set Theory 
where the difficult to see distinction between boldface and 
lightface Greek letters is essential, you may want to use the 
\verb+\tboldsymbol{...}+ command which proclaims explicitly the 
boldness:
\smallskip

\verb+\tboldsymbol{\Sigma}+ is rendered as $\tboldsymbol{\Sigma}$

The files \pkg{aslsyms.tex} and \pkg{aslsyms.ps} in the ASL
Typesetting Office site give a complete list of all symbols which
can be used with \pkg{asl}, including the \LaTeX{} symbols, the
symbols from the AMS fonts, arithmetic subtraction $x\dotminus y$
and the ``correct'' game quantifier $(\game\alpha)$. We welcome
suggestions and contributions of additional symbols useful for
papers in logic.

\section{Bibliography}
\label{bibtex}
A basic characteristic of the style for bibliographies in ASL
publications is that \textit{complete names of journals are entered},
i.e., we do not write \textit{Bull.\ Am.\ Math.\ Soc.} but, in full,
\textit{Bulletin of the American Mathematical Society}. The file
\pkg{journals.lst} posted on the ASL Typesetting site lists the
full names of most journals cited by our authors, and it is 
extremely helpful to the ASL Typesetting Office if complete names 
of the books and journals in the bibliography are sent in by the 
author. 

If you know how to use \pkg{bibtex}, please submit a \pkg{.bib}
file with your article, otherwise one will be made up by our
typesetters. The remainder of this section is aimed at those who know
how to use \pkg{bibtex}, as described in Appendix B of the
\LaTeX{} book.

ASL publications use only one stylefile for bibliographies,
\pkg{asl.bst}, invoked by putting at the end of the paper

\begin{verbatim}
  \bibliographystyle{asl}
  \bibliography{jones}
\end{verbatim}

If you want to use bibtex with some other bibliography style
(like \texttt{plain} or \texttt{amsalpha}, or if you want to
hand-set your bibliography bibtex-style, you must invoke the
option \texttt{otherbib} otherwise compilation will stop and you
will get a warning message the first time the command
\verb+\bibitem+ is encountered. 

On the other hand, there is no reason to use a style other than
\texttt{asl}, because it is a so-called ``generic''
stylefile, which allows the construction of several distinct
``looks'' for the bibliography and the citations to it, invoked
by options. Here are brief examples of how items are listed in
the bibliography under the standard options: 
\smallskip

\textit{The default} -- no option:
\smallskip

[11] {\scshape Bela Bollob{\'a}s},
{\bfseries\itshape Graph theory, an introduction
  course}, Springer-Verlag, 1979.
\smallskip

\pkg{bibalpha} option: uses the main ``key'' in the \pkg{.bib}
file to both list and cite the item:
\smallskip

[Bol79] {\scshape Bela Bollob{\'a}s},
{\bfseries\itshape Graph theory, an introduction
  course}, Springer-Verlag, 1979.
\smallskip

\pkg{bibay1} option: one of two ``author-year" styles available:
\smallskip

[1979] {\scshape Bela Bollob{\'a}s},
{\bfseries\itshape Graph theory, an introduction
  course}, Springer-Verlag, 1979.
\smallskip

\pkg{bibay2} option: the second ``author-year" style:

{\scshape Bela Bollob{\'a}s} [1979],
{\bfseries\itshape Graph theory, an introduction
  course}, Springer-Verlag.
\smallskip

Citations (by the \verb+\cite{key}+ command) are set using the
labels in the bibliography, i.e., for the different styles,
\smallskip

[11], \quad [Bol79], \quad [Bollob{\'a}s, 1979],
or Bollob{\'a}s [1979].
\smallskip

\noindent
In the two ``author-year'' styles, use \verb+\fullcite{key}+ to
produce a citation with the full name of the author, like
\smallskip

[Bela Bollob{\'a}s, 1979], or Bela Bollob{\'a}s [1979].
\smallskip

\noindent
With any style, use \verb+\citeauth{key}+ to produce only the
author name (e.g., Bollob{\'a}s), and \verb+\citeyear{key}+ to
produce only the year label (e.g., [1979]).

As with footnotes and endnotes, the ASL typesetters will be happy
to customize the look of your bibliography and citations;
\pkg{asl.bst} is very flexible and allows many possibilities.


\section{Technicalities and credits}
\label{technical}

The file \pkg{asl.cls} has been constructed by combining all the
packages required of a basic \amslatex{} installation, and then
redefining some of the basic commands and adding some additional
code; the option \pkg{endnotes} is a version of John Lavagnino's
endnotes.sty, customized to fit the style of ASL publications
by Christos Kapoutsis, who also wrote the bibtex file
\pkg{asl.bst}. We want to give here full credit and grateful
thanks to all the AMS programmers and John Lavagnino, whose work
we have so blatantly plagiarized, in the cause of practicality
and ease-of-use for the writers of papers in logic.

One advantage of this (initially suspect) \textit{mix-em-all-up}
approach to tex-pro\-gram\-ming is that the typical user, who has
\latextwoe{} (but not necessarily \amslatex) installed, needs only
four files: \pkg{asl.cls}, \pkg{asl.bst}, \pkg{amsthdoc} and this
document.

Another important reason for the route we have adopted is the
desire to freeze a specific version of \amslatex, known to be
compatible with the changes and additions specific to ASL
publications. Here is a list of the \amslatex{} packages whose
code has been folded in \pkg{asl.cls}:

\begin{itemize}
\raggedright
\item \pkg{amsart.cls}, Version 1.2q, 1996/11/05: This is the
main stylefile for \amslatex.

\item \pkg{amsmath.sty}, Version 1.2c, 1996/11/01:
Defines extra environments for multline displayed
  equations, as well as a number of other enhancements for math.

\item \pkg{amsthm}, Version 1.2d, 1996/10/29.
Provides a \pkg{proof} environment and
  extensions for the \cn{newtheorem} command.

\item \pkg{amstext}, Version 1.2b, 1996/10/28.
 Provides a \cn{text} command for
  typesetting a fragment of text inside a display.

\item \pkg{amsbsy}, Version 1.2b, 1996/10/29.
Defines \cn{boldsymbol} and \cn{pmb} `poor man's
  bold' commands.

\item \pkg{amsopn}, Version 1.2b, 1996/10/28.
 Provides \cn{DeclareMathOperator} for defining new
  `operator names' like \cn{sin} and \cn{lim}.
\end{itemize}
An attempt to load one of these packages (in any version) gives an
error, and a warning that the package will not be loaded.

In addition, \pkg{asl.cls} loads the file \pkg{latexsym.sty}, and
it also loads \pkg{amssymb.sty} and \pkg{amsfonts.sty} if
\pkg{amssymb.sty} is available; if it is not, then a warning is
given, but compilation does not stop unless the file requests
some symbol from AMS fonts, in which case \TeX{} complains of an
``unknown command''.

It follows from its construction that \pkg{asl.cls} will
recognize all commands which are defined in the 1996 version of
\amslatex{} detailed above. New commands are sure to be
introduced in later versions of these packages, and these will be
unknown to \pkg{asl.cls}. We welcome suggestions for useful
enrichments of the class \pkg{asl}, but it is the policy of the
ASL Typesetting Office that (aside from the inevitable
bug-fixing) future versions of \pkg{asl.cls} will be
\textit{conservative extensions} of this one, in the technical
sense of logic: on files which do not use any of the new
commands, the later versions of \pkg{asl.cls} should produce
\textit{exactly the same} output as this version.
\newpage

\section{Preamble sample}
\label{sample}

\begin{verbatim}

%%%%%%%%%%%%%%%% file john.tex February 15, 2000
\documentclass[options]{asl}

\usepackage{...}          % optional
\usepackage{...}

\title[Proper inner submodels of $L$]
{The continuum hypothesis fails\\
on all proper inner submodels of $L$}

\keywords{This is not required.}
\subjclass{This is not required.}

\author{John J. John}
\revauthor{John, John J.}

\address{Department of Mathematics\\
University of the Atlantic\\
Atlantic City, NJ 03395, USA}

\email{jjj@math.uoa.edu}

\thanks{During the preparation of this paper John J. John was
supported by his mother.}

\author{Mary Katherine Smith}
\revauthor{Smith, Mary Katherine}

\address{Department of Philosophy\\
University of the Pacific\\
Pacific City, 30095, Island Republic}

\email{mks@pacific.ir}

\thanks{During the preparation of this paper Mary Smith
was supported by a Grant from the National Logic Foundation.}

\thanks{The authors deplore the referee's comments
and did not follow any of his suggestions.}
\end{verbatim}
\newpage

\begin{verbatim}
%------------------------------- New theorems

% These will be typeset in italics
\newtheorem{Theorem}{Theorem}[section]
\newtheorem{Proposition}[Theorem]{Proposition}
\newtheorem{Lemma}[Theorem]{Lemma}

% These will be typeset in Roman
\theoremstyle{definition}
\newtheorem{Definition}[Theorem]{Definition}
\newtheorem{Fact}[Theorem]{Fact}
\newtheorem{Conjecture}[Theorem]{Conjecture}

%------------------------------- macros, if any

% These can be listed here, if not too many
% or put in a macro file, to be \inputed here.

%-------------------------------

\begin{document}

\begin{abstract}
In this paper we consider the class of proper inner submodels
of $L$, and we show that none of them satisfies
the Continuum Hypothesis.
\end{abstract}

\maketitle

\end{verbatim}

Here starts the proper article, either with the command
\verb+\section{...}+ or with plain text.


\end{document}


The basic packages loaded by \pkg{amsart} are \pkg{amsmath.sty}
and \pkg{amsthm.sty}, and the document guides for them are
\pkg{amsldoc} and \pkg{amsthdoc}; these (and the \LaTeX{} book)
are also the basic guides for \pkg{asl.sty}.\footnote{These files
can be picked up from the CTAN sites where \TeX{} resources are
distributed, and, for convenience, they are also posted in the
ASL Typesetting Office site.} The \TeX-nically ambitious will
surely want to read them, but for most authors of papers in logic
\textit{who know \textup{\latextwoe} and} \pkg{article}, this
brief document together with the briefer \pkg{amsthdoc} will
serve the purpose, perhaps supplemented by occasional excursions
into the more complex \pkg{amsldoc} when some very special effect
is required.

In fact, \pkg{asl.sty} loads several packages in
addition to \pkg{amsmath.sty} and \pkg{amsthm.sty}, and so all
macros and symbols in them are available for ASL-typesetting.
Here is a complete list of all the packages loaded by
\pkg{asl.sty}:
\begin{description}
\raggedright
\item[\pkg{amsmath}] Defines extra environments for multline displayed
  equations, as well as a number of other enhancements for math.

\item[\pkg{amsthm}] Provides a \pkg{proof} environment and
  extensions for the \cn{newtheorem} command.

\item[\pkg{amstext}] Provides a \cn{text} command for
  typesetting a fragment of text inside a display.

\item[\pkg{amsbsy}] Defines \cn{boldsymbol} and \cn{pmb} `poor man's
  bold' commands.

\item[\pkg{amsopn}] Provides \cn{DeclareMathOperator} for defining new
  `operator names' like \cn{sin} and \cn{lim}.

\item[\pkg{amssymb}] Makes all the symbols in the AMS fonts available.
(Names for them are defined in \pkg{amssymb.sty} and also in
\pkg{amsfonts.sty}.)

\item[\pkg{latexsym}] Makes all the \latex{} symbols available. (These
are defined in the \latex{} book.)

\end{description}

\end{document}
