% VANILLA.STY
% COPYRIGHT (C) 1985 BY MICHAEL SPIVAK
% version date 4/7/85
\catcode`\@=11
\font\tensmc=cmcsc10
\def\smc{\tensmc}
\def\pagewidth#1{\hsize= #1 }
\def\pageheight#1{\vsize= #1 }
\def\hcorrection#1{\advance\hoffset by #1 }
\def\vcorrection#1{\advance\voffset by #1 }
\def\wlog#1{}
\newif\iftitle@
\outer\def\title{\title@true\vglue 24\p@ plus 12\p@ minus 12\p@
   \bgroup\let\\=\cr\tabskip\centering
   \halign to \hsize\bgroup\tenbf\hfill\ignorespaces##\unskip\hfill\cr}
\def\endtitle{\cr\egroup\egroup\vglue 18\p@ plus 12\p@ minus 6\p@}
\outer\def\author{\iftitle@\vglue -18\p@ plus -12\p@ minus -6\p@\fi\vglue
    12\p@ plus 6\p@ minus 3\p@\bgroup\let\\=\cr\tabskip\centering
    \halign to \hsize\bgroup\smc\hfill\ignorespaces##\unskip\hfill\cr}
\def\endauthor{\cr\egroup\egroup\vglue 18\p@ plus 12\p@ minus 6\p@}
\outer\def\heading{\bigbreak\bgroup\let\\=\cr\tabskip\centering
    \halign to \hsize\bgroup\smc\hfill\ignorespaces##\unskip\hfill\cr}
\def\endheading{\cr\egroup\egroup\nobreak\medskip}
\outer\def\subheading#1{\medbreak\noindent{\tenbf\ignorespaces
      #1\unskip.\enspace}\ignorespaces}
\outer\def\proclaim#1{\medbreak\noindent\smc\ignorespaces
    #1\unskip.\enspace\sl\ignorespaces}
\outer\def\endproclaim{\par\ifdim\lastskip<\medskipamount\removelastskip
  \penalty 55 \fi\medskip\rm}
\outer\def\demo#1{\par\ifdim\lastskip<\smallskipamount\removelastskip
    \smallskip\fi\noindent{\smc\ignorespaces#1\unskip:\enspace}\rm
      \ignorespaces}
\outer\def\enddemo{\par\smallskip}
\newcount\footmarkcount@
\footmarkcount@=1
\def\makefootnote@#1#2{\insert\footins{\interlinepenalty=100
  \splittopskip=\ht\strutbox \splitmaxdepth=\dp\strutbox 
  \floatingpenalty=\@MM
  \leftskip=\z@\rightskip=\z@\spaceskip=\z@\xspaceskip=\z@
  \noindent{#1}\footstrut\rm\ignorespaces #2\strut}}
\def\footnote{\let\@sf=\empty\ifhmode\edef\@sf{\spacefactor
   =\the\spacefactor}\/\fi\futurelet\next\footnote@}
\def\footnote@{\ifx"\next\let\next\footnote@@\else
    \let\next\footnote@@@\fi\next}
\def\footnote@@"#1"#2{#1\@sf\relax\makefootnote@{#1}{#2}}
\def\footnote@@@#1{$^{\number\footmarkcount@}$\makefootnote@
   {$^{\number\footmarkcount@}$}{#1}\global\advance\footmarkcount@ by 1 }
\def\PCTeX{PC\,\TeX}
\hyphenation{man-u-script man-u-scripts ap-pen-dix ap-pen-di-ces}
\hyphenation{data-base data-bases}
\ifx\amstexloaded@\relax\catcode`\@=13 
  \endinput\else\let\amstexloaded@=\relax\fi
\newlinechar=`\^^J
\def\eat@#1{}
\def\Space@.{\futurelet\Space@\relax}
\Space@. % 
\newhelp\athelp@
{Only certain combinations beginning with @ make sense to me.^^J
Perhaps you wanted \string\@\space for a printed @?^^J
I've ignored the character or group after @.}
\def\futureletnextat@{\futurelet\next\at@}
{\catcode`\@=\active
\lccode`\Z=`\@ \lowercase
{\gdef@{\expandafter\csname futureletnextatZ\endcsname}
\expandafter\gdef\csname atZ\endcsname
   {\ifcat\noexpand\next a\def\next{\csname atZZ\endcsname}\else
   \ifcat\noexpand\next0\def\next{\csname atZZ\endcsname}\else
    \def\next{\csname atZZZ\endcsname}\fi\fi\next}
\expandafter\gdef\csname atZZ\endcsname#1{\expandafter
   \ifx\csname #1Zat\endcsname\relax\def\next
     {\errhelp\expandafter=\csname athelpZ\endcsname
      \errmessage{Invalid use of \string@}}\else
       \def\next{\csname #1Zat\endcsname}\fi\next}
\expandafter\gdef\csname atZZZ\endcsname#1{\errhelp
    \expandafter=\csname athelpZ\endcsname
      \errmessage{Invalid use of \string@}}}}
\def\atdef@#1{\expandafter\def\csname #1@at\endcsname}
\newhelp\defahelp@{If you typed \string\define\space cs instead of
\string\define\string\cs\space^^J
I've substituted an inaccessible control sequence so that your^^J
definition will be completed without mixing me up too badly.^^J
If you typed \string\define{\string\cs} the inaccessible control sequence^^J
was defined to be \string\cs, and the rest of your^^J
definition appears as input.}
\newhelp\defbhelp@{I've ignored your definition, because it might^^J
conflict with other uses that are important to me.}
\def\define{\futurelet\next\define@}
\def\define@{\ifcat\noexpand\next\relax
  \def\next{\define@@}%
  \else\errhelp=\defahelp@
  \errmessage{\string\define\space must be followed by a control 
     sequence}\def\next{\def\garbage@}\fi\next}
\def\undefined@{}
\def\preloaded@{}    
\def\define@@#1{\ifx#1\relax\errhelp=\defbhelp@
   \errmessage{\string#1\space is already defined}\def\next{\def\garbage@}%
   \else\expandafter\ifx\csname\expandafter\eat@\string
         #1@\endcsname\undefined@\errhelp=\defbhelp@
   \errmessage{\string#1\space can't be defined}\def\next{\def\garbage@}%
   \else\expandafter\ifx\csname\expandafter\eat@\string#1\endcsname\relax
     \def\next{\def#1}\else\errhelp=\defbhelp@
     \errmessage{\string#1\space is already defined}\def\next{\def\garbage@}%
      \fi\fi\fi\next}
\def\famzero{\fam\z@}
\def\arccos{\mathop{\famzero arccos}\nolimits}
\def\arcsin{\mathop{\famzero arcsin}\nolimits}
\def\arctan{\mathop{\famzero arctan}\nolimits}
\def\arg{\mathop{\famzero arg}\nolimits}
\def\cos{\mathop{\famzero cos}\nolimits}
\def\cosh{\mathop{\famzero cosh}\nolimits}
\def\cot{\mathop{\famzero cot}\nolimits}
\def\coth{\mathop{\famzero coth}\nolimits}
\def\csc{\mathop{\famzero csc}\nolimits}
\def\deg{\mathop{\famzero deg}\nolimits}
\def\det{\mathop{\famzero det}}
\def\dim{\mathop{\famzero dim}\nolimits}
\def\exp{\mathop{\famzero exp}\nolimits}
\def\gcd{\mathop{\famzero gcd}}
\def\hom{\mathop{\famzero hom}\nolimits}
\def\inf{\mathop{\famzero inf}}
\def\ker{\mathop{\famzero ker}\nolimits}
\def\lg{\mathop{\famzero lg}\nolimits}
\def\lim{\mathop{\famzero lim}}
\def\liminf{\mathop{\famzero lim\,inf}}
\def\limsup{\mathop{\famzero lim\,sup}}
\def\ln{\mathop{\famzero ln}\nolimits}
\def\log{\mathop{\famzero log}\nolimits}
\def\max{\mathop{\famzero max}}
\def\min{\mathop{\famzero min}}
\def\Pr{\mathop{\famzero Pr}}
\def\sec{\mathop{\famzero sec}\nolimits}
\def\sin{\mathop{\famzero sin}\nolimits}
\def\sinh{\mathop{\famzero sinh}\nolimits}
\def\sup{\mathop{\famzero sup}}
\def\tan{\mathop{\famzero tan}\nolimits}
\def\tanh{\mathop{\famzero tanh}\nolimits}
\def\textfont@#1#2{\def#1{\relax\ifmmode
    \errmessage{Use \string#1\space only in text}\else#2\fi}}
\textfont@\rm\tenrm
\textfont@\it\tenit
\textfont@\sl\tensl
\textfont@\bf\tenbf
\textfont@\smc\tensmc
\let\ic@=\/
\def\/{\unskip\ic@}
\def\textfonti{\the\textfont1 }
\def\t#1#2{{\edef\next{\the\font}\textfonti\accent"7F \next#1#2}}
\let\B=\=
\let\D=\.
\def~{\unskip\nobreak\ \ignorespaces}
{\catcode`\@=\active
\gdef\@{\char'100 }}
\atdef@-{\leavevmode\futurelet\next\athyph@}
\def\athyph@{\ifx\next-\let\next=\athyph@@
  \else\let\next=\athyph@@@\fi\next}
\def\athyph@@@{\hbox{-}}
\def\athyph@@#1{\futurelet\next\athyph@@@@}
\def\athyph@@@@{\if\next-\def\next##1{\hbox{---}}\else
    \def\next{\hbox{--}}\fi\next}
\def\.{.\spacefactor=\@m}
\atdef@.{\null.}
\atdef@,{\null,}
\atdef@;{\null;}
\atdef@:{\null:}
\atdef@?{\null?}
\atdef@!{\null!}   
\def\srdr@{\thinspace}                     
\def\drsr@{\kern.02778em}
\def\sldl@{\kern.02778em}
\def\dlsl@{\thinspace}
\atdef@"{\unskip\futurelet\next\atqq@}
\def\atqq@{\ifx\next\Space@\def\next. {\atqq@@}\else
         \def\next.{\atqq@@}\fi\next.}
\def\atqq@@{\futurelet\next\atqq@@@}
\def\atqq@@@{\ifx\next`\def\next`{\atqql@}\else\def\next'{\atqqr@}\fi\next}
\def\atqql@{\futurelet\next\atqql@@}
\def\atqql@@{\ifx\next`\def\next`{\sldl@``}\else\def\next{\dlsl@`}\fi\next}
\def\atqqr@{\futurelet\next\atqqr@@}
\def\atqqr@@{\ifx\next'\def\next'{\srdr@''}\else\def\next{\drsr@'}\fi\next}
\def\flushpar{\par\noindent}
\def\textfontii{\the\textfont2 }
\def\{{\relax\ifmmode\lbrace\else
    {\textfontii f}\spacefactor=\@m\fi}
\def\}{\relax\ifmmode\rbrace\else
    \let\@sf=\empty\ifhmode\edef\@sf{\spacefactor=\the\spacefactor}\fi
      {\textfontii g}\@sf\relax\fi}   
\def\nonhmodeerr@#1{\errmessage
     {\string#1\space allowed only within text}}
\def\linebreak{\relax\ifhmode\unskip\break\else
    \nonhmodeerr@\linebreak\fi}
\def\allowlinebreak{\relax
   \ifhmode\allowbreak\else\nonhmodeerr@\allowlinebreak\fi}
\newskip\saveskip@
\def\nolinebreak{\relax\ifhmode\saveskip@=\lastskip\unskip
  \nobreak\ifdim\saveskip@>\z@\hskip\saveskip@\fi
   \else\nonhmodeerr@\nolinebreak\fi}
\def\newline{\relax\ifhmode\null\hfil\break
    \else\nonhmodeerr@\newline\fi}
\def\nonmathaerr@#1{\errmessage
     {\string#1\space is not allowed in display math mode}}
\def\nonmathberr@#1{\errmessage{\string#1\space is allowed only in math mode}}
\def\mathbreak{\relax\ifmmode\ifinner\break\else
   \nonmathaerr@\mathbreak\fi\else\nonmathberr@\mathbreak\fi}
\def\nomathbreak{\relax\ifmmode\ifinner\nobreak\else
    \nonmathaerr@\nomathbreak\fi\else\nonmathberr@\nomathbreak\fi}
\def\allowmathbreak{\relax\ifmmode\ifinner\allowbreak\else
     \nonmathaerr@\allowmathbreak\fi\else\nonmathberr@\allowmathbreak\fi}
\def\pagebreak{\relax\ifmmode
   \ifinner\errmessage{\string\pagebreak\space
     not allowed in non-display math mode}\else\postdisplaypenalty-\@M\fi
   \else\ifvmode\penalty-\@M\else\edef\spacefactor@
       {\spacefactor=\the\spacefactor}\vadjust{\penalty-\@M}\spacefactor@
        \relax\fi\fi}
\def\nopagebreak{\relax\ifmmode
     \ifinner\errmessage{\string\nopagebreak\space
    not allowed in non-display math mode}\else\postdisplaypenalty\@M\fi
    \else\ifvmode\nobreak\else\edef\spacefactor@
        {\spacefactor=\the\spacefactor}\vadjust{\penalty\@M}\spacefactor@
         \relax\fi\fi}
\def\newpage{\relax\ifvmode\vfill\penalty-\@M\else\nonvmodeerr@\newpage\fi}
\def\nonvmodeerr@#1{\errmessage
    {\string#1\space is allowed only between paragraphs}}
\def\smallpagebreak{\relax\ifvmode\smallbreak
      \else\nonvmodeerr@\smallpagebreak\fi}
\def\medpagebreak{\relax\ifvmode\medbreak
       \else\nonvmodeerr@\medpagebreak\fi}
\def\bigpagebreak{\relax\ifvmode\bigbreak
      \else\nonvmodeerr@\bigpagebreak\fi}
\newdimen\captionwidth@
\captionwidth@=\hsize
\advance\captionwidth@ by -1.5in
\def\caption#1{}
\def\topspace#1{\gdef\thespace@{#1}\ifvmode\def\next
    {\futurelet\next\topspace@}\else\def\next{\nonvmodeerr@\topspace}\fi\next}
\def\topspace@{\ifx\next\Space@\def\next. {\futurelet\next\topspace@@}\else
     \def\next.{\futurelet\next\topspace@@}\fi\next.}
\def\topspace@@{\ifx\next\caption\let\next\topspace@@@\else
    \let\next\topspace@@@@\fi\next}
 \def\topspace@@@@{\topinsert\vbox to 
       \thespace@{}\endinsert}
\def\topspace@@@\caption#1{\topinsert\vbox to
    \thespace@{}\nobreak
      \smallskip
    \setbox\z@=\hbox{\noindent\ignorespaces#1\unskip}%
   \ifdim\wd\z@>\captionwidth@
   \centerline{\vbox{\hsize=\captionwidth@\noindent\ignorespaces#1\unskip}}%
   \else\centerline{\box\z@}\fi\endinsert}
\def\midspace#1{\gdef\thespace@{#1}\ifvmode\def\next
    {\futurelet\next\midspace@}\else\def\next{\nonvmodeerr@\midspace}\fi\next}
\def\midspace@{\ifx\next\Space@\def\next. {\futurelet\next\midspace@@}\else
     \def\next.{\futurelet\next\midspace@@}\fi\next.}
\def\midspace@@{\ifx\next\caption\let\next\midspace@@@\else
    \let\next\midspace@@@@\fi\next}
 \def\midspace@@@@{\midinsert\vbox to 
       \thespace@{}\endinsert}
\def\midspace@@@\caption#1{\midinsert\vbox to
    \thespace@{}\nobreak
      \smallskip
      \setbox\z@=\hbox{\noindent\ignorespaces#1\unskip}%
      \ifdim\wd\z@>\captionwidth@
    \centerline{\vbox{\hsize=\captionwidth@\noindent\ignorespaces#1\unskip}}%
    \else\centerline{\box\z@}\fi\endinsert}
\mathchardef\prime@="0230
\def\prime{{{}\prime@{}}}
\def\prim@s{\prime@\futurelet\next\pr@m@s}
\let\dsize=\displaystyle
\let\tsize=\textstyle
\def\,{\relax\ifmmode\mskip\thinmuskip\else\thinspace\fi}
\def\!{\relax\ifmmode\mskip-\thinmuskip\else\negthinspace\fi}
\def\frac#1#2{{#1\over#2}}
\def\dfrac#1#2{{\displaystyle{#1\over#2}}}
\def\tfrac#1#2{{\textstyle{#1\over#2}}}
\def\binom#1#2{{#1\choose #2}}
\def\dbinom#1#2{{\displaystyle{#1\choose #2}}}    
\def\tbinom#1#2{{\textstyle{#1\choose #2}}}
\def\:{\nobreak\hskip.1111em{:}\hskip.3333em plus .0555em\relax}
\def\intic@{\mathchoice{\hskip5\p@}{\hskip4\p@}{\hskip4\p@}{\hskip4\p@}}
\def\negintic@{\mathchoice{\hskip-5\p@}{\hskip-4\p@}{\hskip-4\p@}{\hskip-4\p@}}
\def\intkern@{\mathchoice{\!\!\!}{\!\!}{\!\!}{\!\!}}
\def\intdots@{\mathchoice{\cdots}{{\cdotp}\mkern1.5mu
    {\cdotp}\mkern1.5mu{\cdotp}}{{\cdotp}\mkern1mu{\cdotp}\mkern1mu
      {\cdotp}}{{\cdotp}\mkern1mu{\cdotp}\mkern1mu{\cdotp}}}
\newcount\intno@             
\def\iint{\intno@=\tw@\futurelet\next\ints@} 
\def\iiint{\intno@=\thr@@\futurelet\next\ints@}
\def\iiiint{\intno@=4 \futurelet\next\ints@}
\def\idotsint{\intno@=\z@\futurelet\next\ints@}
\def\ints@{\findlimits@\ints@@}
\newif\iflimtoken@
\newif\iflimits@
\def\findlimits@{\limtoken@false\limits@false\ifx\next\limits
 \limtoken@true\limits@true\else\ifx\next\nolimits\limtoken@true\limits@false
    \fi\fi}
\def\multintlimits@{\intop\ifnum\intno@=\z@\intdots@
  \else\intkern@\fi
    \ifnum\intno@>\tw@\intop\intkern@\fi
     \ifnum\intno@>\thr@@\intop\intkern@\fi\intop}
\def\multint@{\int\ifnum\intno@=\z@\intdots@\else\intkern@\fi
   \ifnum\intno@>\tw@\int\intkern@\fi
    \ifnum\intno@>\thr@@\int\intkern@\fi\int}
\def\ints@@{\iflimtoken@\def\ints@@@{\iflimits@
   \negintic@\mathop{\intic@\multintlimits@}\limits\else
    \multint@\nolimits\fi\eat@}\else
     \def\ints@@@{\multint@\nolimits}\fi\ints@@@}
\def\Sb{_\bgroup\vspace@
        \baselineskip=\fontdimen10 \scriptfont\tw@
        \advance\baselineskip by \fontdimen12 \scriptfont\tw@
        \lineskip=\thr@@\fontdimen8 \scriptfont\thr@@
        \lineskiplimit=\thr@@\fontdimen8 \scriptfont\thr@@
        \Let@\vbox\bgroup\halign\bgroup \hfil$\scriptstyle
            {##}$\hfil\cr}
\def\endSb{\crcr\egroup\egroup\egroup}
\def\Sp{^\bgroup\vspace@
        \baselineskip=\fontdimen10 \scriptfont\tw@
        \advance\baselineskip by \fontdimen12 \scriptfont\tw@
        \lineskip=\thr@@\fontdimen8 \scriptfont\thr@@
        \lineskiplimit=\thr@@\fontdimen8 \scriptfont\thr@@
        \Let@\vbox\bgroup\halign\bgroup \hfil$\scriptstyle
            {##}$\hfil\cr}
\def\endSp{\crcr\egroup\egroup\egroup}
\def\Let@{\relax\iffalse{\fi\let\\=\cr\iffalse}\fi}
\def\vspace@{\def\vspace##1{\noalign{\vskip##1 }}}
\def\aligned{\,\vcenter\bgroup\vspace@\Let@\openup\jot\m@th\ialign
  \bgroup \strut\hfil$\displaystyle{##}$&$\displaystyle{{}##}$\hfil\crcr}
\def\endaligned{\crcr\egroup\egroup}
\def\matrix{\,\vcenter\bgroup\Let@\vspace@
    \normalbaselines
  \m@th\ialign\bgroup\hfil$##$\hfil&&\quad\hfil$##$\hfil\crcr
    \mathstrut\crcr\noalign{\kern-\baselineskip}}
\def\endmatrix{\crcr\mathstrut\crcr\noalign{\kern-\baselineskip}\egroup
                \egroup\,}
\newtoks\hashtoks@
\hashtoks@={#}
\def\format{\crcr\egroup\iffalse{\fi\ifnum`}=0 \fi\format@}
\def\format@#1\\{\def\preamble@{#1}%
  \def\c{\hfil$\the\hashtoks@$\hfil}%
  \def\r{\hfil$\the\hashtoks@$}%
  \def\l{$\the\hashtoks@$\hfil}%
  \setbox\z@=\hbox{\xdef\Preamble@{\preamble@}}\ifnum`{=0 \fi\iffalse}\fi
   \ialign\bgroup\span\Preamble@\crcr}
\def\pmatrix{\left(\matrix} \def\endpmatrix{\endmatrix\right)}
\let\hdots=\ldots
\def\cases{\left\{\,\vcenter\bgroup\vspace@
     \normalbaselines\openup\jot\m@th
       \Let@\ialign\bgroup$##$\hfil&\quad$##$\hfil\crcr
      \mathstrut\crcr\noalign{\kern-\baselineskip}}
\def\endcases{\endmatrix\right.}
\newif\iftagsleft@
\tagsleft@true
\def\TagsOnRight{\global\tagsleft@false}
\def\tag#1$${\iftagsleft@\leqno\else\eqno\fi
 \hbox{\def\pagebreak{\global\postdisplaypenalty-\@M}%
 \def\nopagebreak{\global\postdisplaypenalty\@M}\rm(#1\unskip)}%
  $$\postdisplaypenalty\z@\ignorespaces}
\interdisplaylinepenalty=\@M
\def\allowdisplaybreak@{\def\allowdisplaybreak{\noalign{\allowbreak}}}
\def\displaybreak@{\def\displaybreak{\noalign{\break}}}
\def\align#1\endalign{\def\tag{&}\vspace@\allowdisplaybreak@\displaybreak@
  \iftagsleft@\lalign@#1\endalign\else
   \ralign@#1\endalign\fi}
\def\ralign@#1\endalign{\displ@y\Let@\tabskip\centering\halign to\displaywidth
     {\hfil$\displaystyle{##}$\tabskip=\z@&$\displaystyle{{}##}$\hfil
       \tabskip=\centering&\llap{\hbox{(\rm##\unskip)}}\tabskip\z@\crcr
             #1\crcr}}
\def\lalign@#1\endalign{\displ@y\Let@\tabskip\centering\halign to \displaywidth
   {\hfil$\displaystyle{##}$\tabskip=\z@&$\displaystyle{{}##}$\hfil
   \tabskip=\centering&\kern-\displaywidth
        \rlap{\hbox{(\rm##\unskip)}}\tabskip=\displaywidth\crcr
               #1\crcr}}
\def\overrightarrow{\mathpalette\overrightarrow@}
\def\overrightarrow@#1#2{\vbox{\ialign{$##$\cr
    #1{-}\mkern-6mu\cleaders\hbox{$#1\mkern-2mu{-}\mkern-2mu$}\hfill
     \mkern-6mu{\to}\cr
     \noalign{\kern -1\p@\nointerlineskip}
     \hfil#1#2\hfil\cr}}}
\def\overleftarrow{\mathpalette\overleftarrow@}
\def\overleftarrow@#1#2{\vbox{\ialign{$##$\cr
     #1{\leftarrow}\mkern-6mu\cleaders\hbox{$#1\mkern-2mu{-}\mkern-2mu$}\hfill
      \mkern-6mu{-}\cr
     \noalign{\kern -1\p@\nointerlineskip}
     \hfil#1#2\hfil\cr}}}
\def\overleftrightarrow{\mathpalette\overleftrightarrow@}
\def\overleftrightarrow@#1#2{\vbox{\ialign{$##$\cr
     #1{\leftarrow}\mkern-6mu\cleaders\hbox{$#1\mkern-2mu{-}\mkern-2mu$}\hfill
       \mkern-6mu{\to}\cr
    \noalign{\kern -1\p@\nointerlineskip}
      \hfil#1#2\hfil\cr}}}
\def\underrightarrow{\mathpalette\underrightarrow@}
\def\underrightarrow@#1#2{\vtop{\ialign{$##$\cr
    \hfil#1#2\hfil\cr
     \noalign{\kern -1\p@\nointerlineskip}
    #1{-}\mkern-6mu\cleaders\hbox{$#1\mkern-2mu{-}\mkern-2mu$}\hfill
     \mkern-6mu{\to}\cr}}}
\def\underleftarrow{\mathpalette\underleftarrow@}
\def\underleftarrow@#1#2{\vtop{\ialign{$##$\cr
     \hfil#1#2\hfil\cr
     \noalign{\kern -1\p@\nointerlineskip}
     #1{\leftarrow}\mkern-6mu\cleaders\hbox{$#1\mkern-2mu{-}\mkern-2mu$}\hfill
      \mkern-6mu{-}\cr}}}
\def\underleftrightarrow{\mathpalette\underleftrightarrow@}
\def\underleftrightarrow@#1#2{\vtop{\ialign{$##$\cr
      \hfil#1#2\hfil\cr
    \noalign{\kern -1\p@\nointerlineskip}
     #1{\leftarrow}\mkern-6mu\cleaders\hbox{$#1\mkern-2mu{-}\mkern-2mu$}\hfill
       \mkern-6mu{\to}\cr}}}
\def\sqrt#1{\radical"270370 {#1}}
\def\dots{\relax\ifmmode\let\next=\ldots\else\let\next=\tdots@\fi\next}
\def\tdots@{\unskip\ \tdots@@}
\def\tdots@@{\futurelet\next\tdots@@@}
\def\tdots@@@{$\mathinner{\ldotp\ldotp\ldotp}\,
   \ifx\next,$\else
   \ifx\next.\,$\else
   \ifx\next;\,$\else
   \ifx\next:\,$\else
   \ifx\next?\,$\else
   \ifx\next!\,$\else
   $ \fi\fi\fi\fi\fi\fi}
\def\text{\relax\ifmmode\let\next=\text@\else\let\next=\text@@\fi\next}
\def\text@@#1{\hbox{#1}}
\def\text@#1{\mathchoice
 {\hbox{\everymath{\displaystyle}\def\textfonti{\the\textfont1 }%
    \def\textfontii{\the\textfont2 }\textdef@@ T#1}}
 {\hbox{\everymath{\textstyle}\def\textfonti{\the\textfont1 }%
    \def\textfontii{\the\textfont2 }\textdef@@ T#1}}
 {\hbox{\everymath{\scriptstyle}\def\textfonti{\the\scriptfont1 }%
   \def\textfontii{\the\scriptfont2 }\textdef@@ S\rm#1}}
 {\hbox{\everymath{\scriptscriptstyle}\def\textfonti{\the\scriptscriptfont1 }%
   \def\textfontii{\the\scriptscriptfont2 }\textdef@@ s\rm#1}}}
\def\textdef@@#1{\textdef@#1\rm \textdef@#1\bf
   \textdef@#1\sl \textdef@#1\it}
\def\rmfam{0}
\def\textdef@#1#2{\def\next{\csname\expandafter\eat@\string#2fam\endcsname}%
\if S#1\edef#2{\the\scriptfont\next\relax}%
 \else\if s#1\edef#2{\the\scriptscriptfont\next\relax}%
 \else\edef#2{\the\textfont\next\relax}\fi\fi}
\scriptfont\itfam=\tenit \scriptscriptfont\itfam=\tenit
\scriptfont\slfam=\tensl \scriptscriptfont\slfam=\tensl
\mathcode`\0="0030
\mathcode`\1="0031
\mathcode`\2="0032
\mathcode`\3="0033
\mathcode`\4="0034
\mathcode`\5="0035
\mathcode`\6="0036
\mathcode`\7="0037
\mathcode`\8="0038
\mathcode`\9="0039
\def\Cal{\relax\ifmmode\let\next=\Cal@\else
     \def\next{\errmessage{Use \string\Cal\space only in math mode}}\fi\next}
\def\Cal@#1{{\fam2 #1}}
\def\bold{\relax\ifmmode\let\next=\bold@\else
   \def\next{\errmessage{Use \string\bold\space only in math
      mode}}\fi\next}\def\bold@#1{{\fam\bffam #1}}
\mathchardef\Gamma="0000
\mathchardef\Delta="0001
\mathchardef\Theta="0002
\mathchardef\Lambda="0003
\mathchardef\Xi="0004
\mathchardef\Pi="0005
\mathchardef\Sigma="0006
\mathchardef\Upsilon="0007
\mathchardef\Phi="0008
\mathchardef\Psi="0009
\mathchardef\Omega="000A
\mathchardef\varGamma="0100
\mathchardef\varDelta="0101
\mathchardef\varTheta="0102
\mathchardef\varLambda="0103
\mathchardef\varXi="0104
\mathchardef\varPi="0105
\mathchardef\varSigma="0106
\mathchardef\varUpsilon="0107
\mathchardef\varPhi="0108
\mathchardef\varPsi="0109
\mathchardef\varOmega="010A
\font\dummyft@=dummy
\fontdimen1 \dummyft@=\z@
\fontdimen2 \dummyft@=\z@
\fontdimen3 \dummyft@=\z@
\fontdimen4 \dummyft@=\z@
\fontdimen5 \dummyft@=\z@
\fontdimen6 \dummyft@=\z@
\fontdimen7 \dummyft@=\z@
\fontdimen8 \dummyft@=\z@
\fontdimen9 \dummyft@=\z@
\fontdimen10 \dummyft@=\z@
\fontdimen11 \dummyft@=\z@
\fontdimen12 \dummyft@=\z@
\fontdimen13 \dummyft@=\z@
\fontdimen14 \dummyft@=\z@
\fontdimen15 \dummyft@=\z@
\fontdimen16 \dummyft@=\z@
\fontdimen17 \dummyft@=\z@
\fontdimen18 \dummyft@=\z@
\fontdimen19 \dummyft@=\z@
\fontdimen20 \dummyft@=\z@
\fontdimen21 \dummyft@=\z@
\fontdimen22 \dummyft@=\z@
\def\fontlist@{\\{\tenrm}\\{\sevenrm}\\{\fiverm}\\{\teni}\\{\seveni}%
 \\{\fivei}\\{\tensy}\\{\sevensy}\\{\fivesy}\\{\tenex}\\{\tenbf}\\{\sevenbf}%
 \\{\fivebf}\\{\tensl}\\{\tenit}\\{\tensmc}}
\def\dodummy@{{\def\\##1{\global\let##1=\dummyft@}\fontlist@}}
\newif\ifsyntax@
\newcount\countxviii@
\def\newtoks@{\alloc@5\toks\toksdef\@cclvi}
\def\nopages@{\output={\setbox\z@=\box\@cclv \deadcycles=\z@}\newtoks@\output}
\def\syntax{\syntax@true\dodummy@\countxviii@=\count18
\loop \ifnum\countxviii@ > \z@ \textfont\countxviii@=\dummyft@
   \scriptfont\countxviii@=\dummyft@ \scriptscriptfont\countxviii@=\dummyft@
     \advance\countxviii@ by-\@ne\repeat
\dummyft@\tracinglostchars=\z@
  \nopages@\frenchspacing\hbadness=\@M}
\def\wlog#1{\immediate\write-1{#1}}
\catcode`\@=\active

