kan\@math.sinica.edu.tw
\Bbb C
amstex.tex
%% @texfile{
%%     filename="amstex.tex",
%%     version="2.1",
%%     date="5-APR-1991",
%%     filetype="AMS-TeX: documentstyle",
%%     copyright="Copyright (C) American Mathematical Society,
%%            all rights reserved.  Copying of this file is
%%            authorized only if either:
%%            (1) you make absolutely no changes to your copy
%%                including name; OR
%%            (2) if you do make changes, you first rename it to some
%%                other name.",
%%     author="American Mathematical Society",
%%     address="American Mathematical Society,
%%            Technical Support Department,
%%            P. O. Box 6248,
%%            Providence, RI 02940,
%%            USA",
%%     telephone="401-455-4080 or (in the USA) 800-321-4AMS",
%%     email="Internet: Tech-Support@Math.AMS.org",
%%     codetable="ISO/ASCII",
%%     checksumtype="line count",
%%     checksum="1797",
%%     keywords="amstex, ams-tex, tex",
%%     abstract="This file contains the AMS-TeX Version 2.1 macro
%%            package.  It is intended to be used in conjunction with
%%            plain TeX. The macros defined herein are chiefly oriented
%%            to the construction of mathematical formulas, both display
%%            and nondisplay, using AMS conventions for fonts, spacing,
%%            and other details."
%%     }
\def\fmtname{AmS-TeX}
\let\plainfmtversion\fmtversion
\def\fmtversion{2.1}
\catcode`\@=11
\ifx\amstexloaded@\relax\catcode`\@=\active
  \endinput\else\let\amstexloaded@\relax\fi
\newlinechar=`\^^J
\def\W@{\immediate\write\sixt@@n}
\def\CR@{\W@{^^J\fmtname - Version \fmtversion^^J%
COPYRIGHT 1985, 1990, 1991 - AMERICAN MATHEMATICAL SOCIETY^^J%
Use of this macro package is not restricted provided^^J%
each use is acknowledged upon publication.^^J}}
\CR@ \everyjob{\CR@}
\message{Loading definitions for}
\message{misc utility macros,}
\toksdef\toks@@=2
\long\def\rightappend@#1\to#2{\toks@{\\{#1}}\toks@@
 =\expandafter{#2}\xdef#2{\the\toks@@\the\toks@}\toks@{}\toks@@{}}
\def\alloclist@{}
\newif\ifalloc@
\def\showallocations{{\def\\{\immediate\write\m@ne}\alloclist@}\alloc@true}
\def\alloc@#1#2#3#4#5{\global\advance\count1#1by\@ne
 \ch@ck#1#4#2\allocationnumber=\count1#1
 \global#3#5=\allocationnumber
 \edef\next@{\string#5=\string#2\the\allocationnumber}%
 \expandafter\rightappend@\next@\to\alloclist@}
\newcount\count@@
\newcount\count@@@
\def\FN@{\futurelet\next}
\def\DN@{\def\next@}
\def\DNii@{\def\nextii@}
\def\RIfM@{\relax\ifmmode}
\def\RIfMIfI@{\relax\ifmmode\ifinner}
\def\setboxz@h{\setbox\z@\hbox}
\def\wdz@{\wd\z@}
\def\boxz@{\box\z@}
\def\setbox@ne{\setbox\@ne}
\def\wd@ne{\wd\@ne}
\def\iterate{\body\expandafter\iterate\else\fi}
\def\err@#1{\errmessage{AmS-TeX error: #1}}
\newhelp\defaulthelp@{Sorry, I already gave what help I could...^^J
Maybe you should try asking a human?^^J
An error might have occurred before I noticed any problems.^^J
``If all else fails, read the instructions.''}
\def\Err@{\errhelp\defaulthelp@\err@}
\def\eat@#1{}
\def\in@#1#2{\def\in@@##1#1##2##3\in@@{\ifx\in@##2\in@false\else\in@true\fi}%
 \in@@#2#1\in@\in@@}
\newif\ifin@
\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 @.}
{\catcode`\~=\active % just in case
 \lccode`\~=`\@ \lowercase{\gdef~{\FN@\at@}}}
\def\at@{\let\next@\at@@
 \ifcat\noexpand\next a\else\ifcat\noexpand\next0\else
 \ifcat\noexpand\next\relax\else
   \let\next\at@@@\fi\fi\fi
 \next@}
\def\at@@#1{\expandafter
 \ifx\csname\space @\string#1\endcsname\relax
  \expandafter\at@@@ \else
  \csname\space @\string#1\expandafter\endcsname\fi}
\def\at@@@#1{\errhelp\athelp@ \err@{\Invalid@@ @}}%%
\def\atdef@#1{\expandafter\def\csname\space @\string#1\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{\FN@\define@}
\def\define@{\ifcat\noexpand\next\relax
 \expandafter\define@@\else\errhelp\defahelp@                               %1
 \err@{\string\define\space must be followed by a control
 sequence}\expandafter\def\expandafter\nextii@\fi}                          %2
\def\undefined@@@@@@@@@@{}
\def\preloaded@@@@@@@@@@{}
\def\next@@@@@@@@@@{}
\def\define@@#1{\ifx#1\relax\errhelp\defbhelp@                              %1
 \err@{\string#1\space is already defined}\DN@{\DNii@}\else
 \expandafter\ifx\csname\expandafter\eat@\string                            %2
 #1@@@@@@@@@@\endcsname\undefined@@@@@@@@@@\errhelp\defbhelp@
 \err@{\string#1\space can't be defined}\DN@{\DNii@}\else
 \expandafter\ifx\csname\expandafter\eat@\string#1\endcsname\relax          %3
 \global\let#1\undefined\DN@{\def#1}\else\errhelp\defbhelp@
 \err@{\string#1\space is already defined}\DN@{\DNii@}\fi
 \fi\fi\next@}
\let\redefine\def
\def\predefine#1#2{\let#1#2}
\def\undefine#1{\let#1\undefined}
\message{page layout,}
\newdimen\captionwidth@
\captionwidth@\hsize
\advance\captionwidth@-1.5in
\def\pagewidth#1{\hsize#1\relax
 \captionwidth@\hsize\advance\captionwidth@-1.5in}
\def\pageheight#1{\vsize#1\relax}
\def\hcorrection#1{\advance\hoffset#1\relax}
\def\vcorrection#1{\advance\voffset#1\relax}
\message{accents/punctuation,}
\def\tie{\unskip\nobreak\ }
\let\graveaccent\`
\let\acuteaccent\'
\let\tildeaccent\~
\let\hataccent\^
\let\underscore\_
\let\B\=
\let\D\.
\let\ic@\/
\def\/{\unskip\ic@}
\def\textfonti{\the\textfont\@ne}
\def\t#1#2{{\edef\next@{\the\font}\textfonti\accent"7F \next@#1#2}}
\def~{\unskip\nobreak\ \ignorespaces}
\def\.{.\spacefactor\@m}
\atdef@;{\leavevmode\null;}
\atdef@:{\leavevmode\null:}
\atdef@?{\leavevmode\null?}
\edef\@{\string @}
\def\relaxnext@{\let\next\relax}
\atdef@-{\relaxnext@\leavevmode
 \DN@{\ifx\next-\DN@-{\FN@\nextii@}\else
  \DN@{\leavevmode\hbox{-}}\fi\next@}%
 \DNii@{\ifx\next-\DN@-{\leavevmode\hbox{---}}\else
  \DN@{\leavevmode\hbox{--}}\fi\next@}%
 \FN@\next@}
\def\srdr@{\kern.16667em}
\def\drsr@{\kern.02778em}
\def\sldl@{\drsr@}
\def\dlsl@{\srdr@}
\atdef@"{\unskip\relaxnext@
 \DN@{\ifx\next\space@\DN@. {\FN@\nextii@}\else
  \DN@.{\FN@\nextii@}\fi\next@.}%
 \DNii@{\ifx\next`\DN@`{\FN@\nextiii@}\else
  \ifx\next\lq\DN@\lq{\FN@\nextiii@}\else
  \DN@####1{\FN@\nextiv@}\fi\fi\next@}%
 \def\nextiii@{\ifx\next`\DN@`{\sldl@``}\else\ifx\next\lq
  \DN@\lq{\sldl@``}\else\DN@{\dlsl@`}\fi\fi\next@}%
 \def\nextiv@{\ifx\next'\DN@'{\srdr@''}\else
  \ifx\next\rq\DN@\rq{\srdr@''}\else\DN@{\drsr@'}\fi\fi\next@}%
 \FN@\next@}
\def\flushpar{\par\noindent}
\def\textfontii{\the\textfont\tw@}
\def\lbrace@{\delimiter"4266308 }
\def\rbrace@{\delimiter"5267309 }
\def\{{\RIfM@\lbrace@\else{\textfontii f}\spacefactor\@m\fi}
\def\}{\RIfM@\rbrace@\else
 \let\@sf\empty\ifhmode\edef\@sf{\spacefactor\the\spacefactor}\fi
 {\textfontii g}\@sf\relax\fi}
\let\lbrace\{
\let\rbrace\}
\def\AmSTeX{{\textfontii A\kern-.1667em%
  \lower.5ex\hbox{M}\kern-.125emS}-\TeX}
\message{line and page breaks,}
\def\vmodeerr@#1{\Err@{\string#1\space not allowed between paragraphs}}
\def\mathmodeerr@#1{\Err@{\string#1\space not allowed in math mode}}
\def\linebreak{\RIfM@\mathmodeerr@\linebreak\else
 \ifhmode\unskip\unkern\break\else\vmodeerr@\linebreak\fi\fi}
\def\slash{\unskip/\penalty\exhyphenpenalty}
\newskip\saveskip@
\def\allowlinebreak{\RIfM@\mathmodeerr@\allowlinebreak\else
 \ifhmode\saveskip@\lastskip\unskip
 \allowbreak\ifdim\saveskip@>\z@\hskip\saveskip@\fi
 \else\vmodeerr@\allowlinebreak\fi\fi}
\def\nolinebreak{\RIfM@\mathmodeerr@\nolinebreak\else
 \ifhmode\saveskip@\lastskip\unskip
 \nobreak\ifdim\saveskip@>\z@\hskip\saveskip@\fi
 \else\vmodeerr@\nolinebreak\fi\fi}
\def\newline{\relaxnext@
 \DN@{\RIfM@\expandafter\mathmodeerr@\expandafter\newline\else
  \ifhmode\ifx\next\par\else
  \expandafter\unskip\expandafter\null\expandafter\hfill\expandafter\break\fi
  \else
  \expandafter\vmodeerr@\expandafter\newline\fi\fi}%
 \FN@\next@}
\def\dmatherr@#1{\Err@{\string#1\space not allowed in display math mode}}
\def\nondmatherr@#1{\Err@{\string#1\space not allowed in non-display math
 mode}}
\def\onlydmatherr@#1{\Err@{\string#1\space allowed only in display math mode}}
\def\nonmatherr@#1{\Err@{\string#1\space allowed only in math mode}}
\def\mathbreak{\RIfMIfI@\break\else
 \dmatherr@\mathbreak\fi\else\nonmatherr@\mathbreak\fi}
\def\nomathbreak{\RIfMIfI@\nobreak\else
 \dmatherr@\nomathbreak\fi\else\nonmatherr@\nomathbreak\fi}
\def\allowmathbreak{\RIfMIfI@\allowbreak\else
 \dmatherr@\allowmathbreak\fi\else\nonmatherr@\allowmathbreak\fi}
\def\pagebreak{\RIfM@
 \ifinner\nondmatherr@\pagebreak\else\postdisplaypenalty-\@M\fi
 \else\ifvmode\removelastskip\break\else\vadjust{\break}\fi\fi}
\def\nopagebreak{\RIfM@
 \ifinner\nondmatherr@\nopagebreak\else\postdisplaypenalty\@M\fi
 \else\ifvmode\nobreak\else\vadjust{\nobreak}\fi\fi}
\def\nonvmodeerr@#1{\Err@{\string#1\space not allowed within a paragraph
 or in math}}
\def\vnonvmode@#1#2{\relaxnext@\DNii@{\ifx\next\par\DN@{#1}\else
 \DN@{#2}\fi\next@}%
 \ifvmode\DN@{#1}\else
 \DN@{\FN@\nextii@}\fi\next@}
\def\newpage{\vnonvmode@{\vfill\break}{\nonvmodeerr@\newpage}}
\def\smallpagebreak{\vnonvmode@\smallbreak{\nonvmodeerr@\smallpagebreak}}
\def\medpagebreak{\vnonvmode@\medbreak{\nonvmodeerr@\medpagebreak}}
\def\bigpagebreak{\vnonvmode@\bigbreak{\nonvmodeerr@\bigpagebreak}}
\def\NoBlackBoxes{\global\overfullrule\z@}
\def\BlackBoxes{\global\overfullrule5\p@}
\def\Invalid@#1{\def#1{\Err@{\Invalid@@\string#1}}}
\def\Invalid@@{Invalid use of }
\message{figures,}
\Invalid@\caption
\Invalid@\captionwidth
\newdimen\smallcaptionwidth@
\def\topspace{\mid@false\ins@}
\def\midspace{\mid@true\ins@}
\newif\ifmid@
\def\captionfont@{}
\def\ins@#1{\relaxnext@\allowbreak
 \smallcaptionwidth@\captionwidth@\gdef\thespace@{#1}%
 \DN@{\ifx\next\space@\DN@. {\FN@\nextii@}\else
  \DN@.{\FN@\nextii@}\fi\next@.}%
 \DNii@{\ifx\next\caption\DN@\caption{\FN@\nextiii@}%
  \else\let\next@\nextiv@\fi\next@}%
 \def\nextiv@{\vnonvmode@
  {\ifmid@\expandafter\midinsert\else\expandafter\topinsert\fi
   \vbox to\thespace@{}\endinsert}
  {\ifmid@\nonvmodeerr@\midspace\else\nonvmodeerr@\topspace\fi}}%
 \def\nextiii@{\ifx\next\captionwidth\expandafter\nextv@
  \else\expandafter\nextvi@\fi}%
 \def\nextv@\captionwidth##1##2{\smallcaptionwidth@##1\relax\nextvi@{##2}}%
 \def\nextvi@##1{\def\thecaption@{\captionfont@##1}%
  \DN@{\ifx\next\space@\DN@. {\FN@\nextvii@}\else
   \DN@.{\FN@\nextvii@}\fi\next@.}%
  \FN@\next@}%
 \def\nextvii@{\vnonvmode@
  {\ifmid@\expandafter\midinsert\else
  \expandafter\topinsert\fi\vbox to\thespace@{}\nobreak\smallskip
  \setboxz@h{\noindent\ignorespaces\thecaption@\unskip}%
  \ifdim\wdz@>\smallcaptionwidth@\centerline{\vbox{\hsize\smallcaptionwidth@
   \noindent\ignorespaces\thecaption@\unskip}}%
  \else\centerline{\boxz@}\fi\endinsert}
  {\ifmid@\nonvmodeerr@\midspace
  \else\nonvmodeerr@\topspace\fi}}%
 \FN@\next@}
\message{comments,}
\def\newcodes@{\catcode`\\12\catcode`\{12\catcode`\}12\catcode`\#12%
 \catcode`\%12\relax}
\def\oldcodes@{\catcode`\\0\catcode`\{1\catcode`\}2\catcode`\#6%
 \catcode`\%14\relax}
\def\comment{\newcodes@\endlinechar=10 \comment@}
{\lccode`\0=`\\
\lowercase{\gdef\comment@#1^^J{\comment@@#10endcomment\comment@@@}%
\gdef\comment@@#10endcomment{\FN@\comment@@@}%
\gdef\comment@@@#1\comment@@@{\ifx\next\comment@@@\let\next\comment@
 \else\def\next{\oldcodes@\endlinechar=`\^^M\relax}%
 \fi\next}}}
\def\pr@m@s{\ifx'\next\DN@##1{\prim@s}\else\let\next@\egroup\fi\next@}
\def\prime{{\null\prime@\null}}
\mathchardef\prime@="0230
\let\dsize\displaystyle
\let\tsize\textstyle
\let\ssize\scriptstyle
\let\sssize\scriptscriptstyle
\message{math spacing,}
\def\,{\RIfM@\mskip\thinmuskip\relax\else\kern.16667em\fi}
\def\!{\RIfM@\mskip-\thinmuskip\relax\else\kern-.16667em\fi}
\let\thinspace\,
\let\negthinspace\!
\def\medspace{\RIfM@\mskip\medmuskip\relax\else\kern.222222em\fi}
\def\negmedspace{\RIfM@\mskip-\medmuskip\relax\else\kern-.222222em\fi}
\def\thickspace{\RIfM@\mskip\thickmuskip\relax\else\kern.27777em\fi}
\let\;\thickspace
\def\negthickspace{\RIfM@\mskip-\thickmuskip\relax\else
 \kern-.27777em\fi}
\atdef@,{\RIfM@\mskip.1\thinmuskip\else\leavevmode\null,\fi}
\atdef@!{\RIfM@\mskip-.1\thinmuskip\else\leavevmode\null!\fi}
\atdef@.{\RIfM@&&\else\leavevmode.\spacefactor3000 \fi}
\def\and{\DOTSB\;\mathchar"3026 \;}
\def\implies{\DOTSB\;\Longrightarrow\;}
\def\impliedby{\DOTSB\;\Longleftarrow\;}
\message{fractions,}
\def\frac#1#2{{#1\over#2}}
\def\dfrac#1#2{{\displaystyle{#1\over#2}}}
\def\tfrac#1#2{{\textstyle{#1\over#2}}}
\newdimen\ex@
\ex@.2326ex
\Invalid@\thickness
\def\thickfrac{\relaxnext@
 \DN@{\ifx\next\thickness\let\next@\nextii@\else
 \DN@{\nextii@\thickness1}\fi\next@}%
 \DNii@\thickness##1##2##3{{##2\above##1\ex@##3}}%
 \FN@\next@}
\def\fracwithdelims#1#2#3#4{{#3\overwithdelims#1#2#4}}
\def\thickfracwithdelims#1#2{\relaxnext@\def\ldelim@{#1}\def\rdelim@{#2}%
 \DN@{\ifx\next\thickness\let\next@\nextii@\else
 \DN@{\nextii@\thickness1}\fi\next@}%
 \DNii@\thickness##1##2##3{{##2\abovewithdelims
 \ldelim@\rdelim@##1\ex@##3}}%
 \FN@\next@}
\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\mathpunct{}\nonscript\mkern-\thinmuskip{:}\hskip
 .3333emplus.0555em\relax}
\def\snug{\unskip\kern-\mathsurround}
\message{smash commands,}
\def\topsmash{\top@true\bot@false\smash@}
\def\botsmash{\top@false\bot@true\smash@}
\newif\iftop@
\newif\ifbot@
\def\smash{\top@true\bot@true\smash@}
\def\smash@{\RIfM@\expandafter\mathpalette\expandafter\mathsm@sh\else
 \expandafter\makesm@sh\fi}
\def\finsm@sh{\iftop@\ht\z@\z@\fi\ifbot@\dp\z@\z@\fi\leavevmode\boxz@}
\message{large operator symbols,}
\def\LimitsOnSums{\global\let\slimits@\displaylimits}
\def\NoLimitsOnSums{\global\let\slimits@\nolimits}
\LimitsOnSums
\mathchardef\coprod@="1360       \def\coprod{\DOTSB\coprod@\slimits@}
\mathchardef\bigvee@="1357       \def\bigvee{\DOTSB\bigvee@\slimits@}
\mathchardef\bigwedge@="1356     \def\bigwedge{\DOTSB\bigwedge@\slimits@}
\mathchardef\biguplus@="1355     \def\biguplus{\DOTSB\biguplus@\slimits@}
\mathchardef\bigcap@="1354       \def\bigcap{\DOTSB\bigcap@\slimits@}
\mathchardef\bigcup@="1353       \def\bigcup{\DOTSB\bigcup@\slimits@}
\mathchardef\prod@="1351         \def\prod{\DOTSB\prod@\slimits@}
\mathchardef\sum@="1350          \def\sum{\DOTSB\sum@\slimits@}
\mathchardef\bigotimes@="134E    \def\bigotimes{\DOTSB\bigotimes@\slimits@}
\mathchardef\bigoplus@="134C     \def\bigoplus{\DOTSB\bigoplus@\slimits@}
\mathchardef\bigodot@="134A      \def\bigodot{\DOTSB\bigodot@\slimits@}
\mathchardef\bigsqcup@="1346     \def\bigsqcup{\DOTSB\bigsqcup@\slimits@}
\message{integrals,}
\def\LimitsOnInts{\global\let\ilimits@\displaylimits}
\def\NoLimitsOnInts{\global\let\ilimits@\nolimits}
\NoLimitsOnInts
\def\int{\DOTSI\intop\ilimits@}
\def\oint{\DOTSI\ointop\ilimits@}
\def\intic@{\mathchoice{\hskip.5em}{\hskip.4em}{\hskip.4em}{\hskip.4em}}
\def\negintic@{\mathchoice
 {\hskip-.5em}{\hskip-.4em}{\hskip-.4em}{\hskip-.4em}}
\def\intkern@{\mathchoice{\!\!\!}{\!\!}{\!\!}{\!\!}}
\def\intdots@{\mathchoice{\plaincdots@}
 {{\cdotp}\mkern1.5mu{\cdotp}\mkern1.5mu{\cdotp}}
 {{\cdotp}\mkern1mu{\cdotp}\mkern1mu{\cdotp}}
 {{\cdotp}\mkern1mu{\cdotp}\mkern1mu{\cdotp}}}
\newcount\intno@
\def\iint{\DOTSI\intno@\tw@\FN@\ints@}
\def\iiint{\DOTSI\intno@\thr@@\FN@\ints@}
\def\iiiint{\DOTSI\intno@4 \FN@\ints@}
\def\idotsint{\DOTSI\intno@\z@\FN@\ints@}
\def\ints@{\findlimits@\ints@@}
\newif\iflimtoken@
\newif\iflimits@
\def\findlimits@{\limtoken@true\ifx\next\limits\limits@true
 \else\ifx\next\nolimits\limits@false\else
 \limtoken@false\ifx\ilimits@\nolimits\limits@false\else
 \ifinner\limits@false\else\limits@true\fi\fi\fi\fi}
\def\multint@{\int\ifnum\intno@=\z@\intdots@                                %1
 \else\intkern@\fi                                                          %2
 \ifnum\intno@>\tw@\int\intkern@\fi                                         %3
 \ifnum\intno@>\thr@@\int\intkern@\fi                                       %4
 \int}                                                                      %5
\def\multintlimits@{\intop\ifnum\intno@=\z@\intdots@\else\intkern@\fi
 \ifnum\intno@>\tw@\intop\intkern@\fi
 \ifnum\intno@>\thr@@\intop\intkern@\fi\intop}
\def\ints@@{\iflimtoken@                                                    %1
 \def\ints@@@{\iflimits@\negintic@\mathop{\intic@\multintlimits@}\limits    %2
  \else\multint@\nolimits\fi                                                %3
  \eat@}                                                                    %4
 \else                                                                      %5
 \def\ints@@@{\iflimits@\negintic@
  \mathop{\intic@\multintlimits@}\limits\else
  \multint@\nolimits\fi}\fi\ints@@@}
\def\LimitsOnNames{\global\let\nlimits@\displaylimits}
\def\NoLimitsOnNames{\global\let\nlimits@\nolimits@}
\LimitsOnNames
\def\nolimits@{\relaxnext@
 \DN@{\ifx\next\limits\DN@\limits{\nolimits}\else
  \let\next@\nolimits\fi\next@}%
 \FN@\next@}
\message{operator names,}
\def\newmcodes@{\mathcode`\'"27\mathcode`\*"2A\mathcode`\."613A%
 \mathcode`\-"2D\mathcode`\/"2F\mathcode`\:"603A }
\def\operatorname#1{\mathop{\newmcodes@\kern\z@\fam\z@#1}\nolimits@}
\def\operatornamewithlimits#1{\mathop{\newmcodes@\kern\z@\fam\z@#1}\nlimits@}
\def\qopname@#1{\mathop{\fam\z@#1}\nolimits@}
\def\qopnamewl@#1{\mathop{\fam\z@#1}\nlimits@}
\def\arccos{\qopname@{arccos}}
\def\arcsin{\qopname@{arcsin}}
\def\arctan{\qopname@{arctan}}
\def\arg{\qopname@{arg}}
\def\cos{\qopname@{cos}}
\def\cosh{\qopname@{cosh}}
\def\cot{\qopname@{cot}}
\def\coth{\qopname@{coth}}
\def\csc{\qopname@{csc}}
\def\deg{\qopname@{deg}}
\def\det{\qopnamewl@{det}}
\def\dim{\qopname@{dim}}
\def\exp{\qopname@{exp}}
\def\gcd{\qopnamewl@{gcd}}
\def\hom{\qopname@{hom}}
\def\inf{\qopnamewl@{inf}}
\def\injlim{\qopnamewl@{inj\,lim}}
\def\ker{\qopname@{ker}}
\def\lg{\qopname@{lg}}
\def\lim{\qopnamewl@{lim}}
\def\liminf{\qopnamewl@{lim\,inf}}
\def\limsup{\qopnamewl@{lim\,sup}}
\def\ln{\qopname@{ln}}
\def\log{\qopname@{log}}
\def\max{\qopnamewl@{max}}
\def\min{\qopnamewl@{min}}
\def\Pr{\qopnamewl@{Pr}}
\def\projlim{\qopnamewl@{proj\,lim}}
\def\sec{\qopname@{sec}}
\def\sin{\qopname@{sin}}
\def\sinh{\qopname@{sinh}}
\def\sup{\qopnamewl@{sup}}
\def\tan{\qopname@{tan}}
\def\tanh{\qopname@{tanh}}
\def\varinjlim{\mathop{\vtop{\ialign{##\crcr
 \hfil\rm lim\hfil\crcr\noalign{\nointerlineskip}\rightarrowfill\crcr
 \noalign{\nointerlineskip\kern-\ex@}\crcr}}}}
\def\varprojlim{\mathop{\vtop{\ialign{##\crcr
 \hfil\rm lim\hfil\crcr\noalign{\nointerlineskip}\leftarrowfill\crcr
 \noalign{\nointerlineskip\kern-\ex@}\crcr}}}}
\def\varliminf{\mathop{\underline{\vrule height\z@ depth.2exwidth\z@
 \hbox{\rm lim}}}}
\def\varlimsup{\mathop{\overline{\hbox{\rm lim}}}}
\newdimen\buffer@
\buffer@\fontdimen13 \tenex
\newdimen\buffer
\buffer\buffer@
\def\ChangeBuffer#1{\fontdimen13 \tenex#1\relax
 \global\buffer\fontdimen13 \tenex}
\def\ResetBuffer{\fontdimen13 \tenex\buffer@\global\buffer\buffer@}
\def\shave#1{\mathop{\hbox{$\m@th\fontdimen13 \tenex\z@                     %1
 \displaystyle{#1}$}}\fontdimen13 \tenex\buffer}
\def\topshave#1{\mathop{\topsmash{\displaystyle{#1}}\vphantom{\shave{#1}}}}
\def\botshave#1{\mathop{\botsmash{\displaystyle{#1}}\vphantom{\shave{#1}}}}
\message{multilevel sub/superscripts,}
\Invalid@\\
\def\Let@{\relax\iffalse{\fi\let\\=\cr\iffalse}\fi}
\Invalid@\vspace
\def\vspace@{\def\vspace##1{\crcr\noalign{\vskip##1\relax}}}
\def\multilimits@{\bgroup\vspace@\Let@
 \baselineskip\fontdimen10 \scriptfont\tw@
 \advance\baselineskip\fontdimen12 \scriptfont\tw@
 \lineskip\thr@@\fontdimen8 \scriptfont\thr@@
 \lineskiplimit\lineskip
 \vbox\bgroup\ialign\bgroup\hfil$\m@th\scriptstyle{##}$\hfil\crcr}
\def\Sb{_\multilimits@}
\def\endSb{\crcr\egroup\egroup\egroup}
\def\Sp{^\multilimits@}
\let\endSp\endSb
\def\spreadlines#1{\RIfMIfI@\onlydmatherr@\spreadlines\else
 \openup#1\relax\fi\else\onlydmatherr@\spreadlines\fi}
\def\Mathstrut@{\copy\Mathstrutbox@}
\newbox\Mathstrutbox@
\setbox\Mathstrutbox@\null
\setboxz@h{$\m@th($}
\ht\Mathstrutbox@\ht\z@
\dp\Mathstrutbox@\dp\z@
\message{matrices,}
\newdimen\spreadmlines@
\def\spreadmatrixlines#1{\RIfMIfI@
 \onlydmatherr@\spreadmatrixlines\else
 \spreadmlines@#1\relax\fi\else\onlydmatherr@\spreadmatrixlines\fi}
\def\matrix{\null\,\vcenter\bgroup\Let@\vspace@
 \normalbaselines\openup\spreadmlines@\ialign
 \bgroup\hfil$\m@th##$\hfil&&\quad\hfil$\m@th##$\hfil\crcr
 \Mathstrut@\crcr\noalign{\kern-\baselineskip}}
\def\endmatrix{\crcr\Mathstrut@\crcr\noalign{\kern-\baselineskip}\egroup
 \egroup\,}
\def\format{\crcr\egroup\iffalse{\fi\ifnum`}=0 \fi\format@}
\newtoks\hashtoks@
\hashtoks@{#}
\def\format@#1\\{\def\preamble@{#1}%
 \def\l{$\m@th\the\hashtoks@$\hfil}%
 \def\c{\hfil$\m@th\the\hashtoks@$\hfil}%
 \def\r{\hfil$\m@th\the\hashtoks@$}%
 \edef\preamble@@{\preamble@}\ifnum`{=0 \fi\iffalse}\fi
 \ialign\bgroup\span\preamble@@\crcr}
\def\smallmatrix{\null\,\vcenter\bgroup\vspace@\Let@
 \baselineskip9\ex@\lineskip\ex@
 \ialign\bgroup\hfil$\m@th\scriptstyle{##}$\hfil&&\thickspace\hfil
 $\m@th\scriptstyle{##}$\hfil\crcr}
\def\endsmallmatrix{\crcr\egroup\egroup\,}
\def\pmatrix{\left(\matrix}
\def\endpmatrix{\endmatrix\right)}
\def\bmatrix{\left[\matrix}
\def\endbmatrix{\endmatrix\right]}
\def\vmatrix{\left|\matrix}
\def\endvmatrix{\endmatrix\right|}
\def\Vmatrix{\left\|\matrix}
\def\endVmatrix{\endmatrix\right\|}
\def\hdots{\mathinner{\ldotp\ldotp\ldotp}}
\newmuskip\dotsspace@
\dotsspace@1.5mu
\def\strip@#1 {#1}
\def\spacehdots#1\for#2{\multispan{#2}\xleaders
 \hbox{$\m@th\mkern\strip@#1 \dotsspace@.\mkern\strip@#1 \dotsspace@$}\hfill}
\def\hdotsfor#1{\spacehdots\@ne\for{#1}}
\def\multispan@#1{\omit\mscount#1\unskip\loop\ifnum\mscount>\@ne\sp@n\repeat}
\def\spaceinnerhdots#1\for#2\after#3{\multispan@{\strip@#2 }#3\xleaders
 \hbox{$\m@th\mkern\strip@#1 \dotsspace@.\mkern\strip@#1 \dotsspace@$}\hfill}
\def\innerhdotsfor#1\after#2{\spaceinnerhdots\@ne\for#1\after{#2}}
\def\cases{\bgroup\spreadmlines@\jot\left\{\,\matrix\format\l&\quad\l\\}
\def\endcases{\endmatrix\right.\egroup}
\message{multiline displays,}
\newif\ifinany@
\newif\ifinalign@
\newif\ifingather@
\def\strut@{\copy\strutbox@}
\newbox\strutbox@
\setbox\strutbox@\hbox{\vrule height8\p@ depth3\p@ width\z@}
\def\topaligned{\null\,\vtop\aligned@}
\def\botaligned{\null\,\vbox\aligned@}
\def\aligned{\null\,\vcenter\aligned@}
\def\aligned@{\bgroup\vspace@\Let@
 \ifinany@\else\openup\jot\fi\ialign
 \bgroup\hfil\strut@$\m@th\displaystyle{##}$&
 $\m@th\displaystyle{{}##}$\hfil\crcr}
\def\endaligned{\crcr\egroup\egroup}
\let\endtopaligned\endaligned
\let\endbotaligned\endaligned
\def\alignedat#1{\null\,\vcenter\bgroup\doat@{#1}\vspace@\Let@
 \ifinany@\else\openup\jot\fi\ialign\bgroup\span\preamble@@\crcr}
\newcount\atcount@
\def\doat@#1{\toks@{\hfil\strut@$\m@th
 \displaystyle{\the\hashtoks@}$&$\m@th\displaystyle
 {{}\the\hashtoks@}$\hfil}%                                                 %1
 \atcount@#1\relax\advance\atcount@\m@ne                                    %2
 \loop\ifnum\atcount@>\z@\toks@=\expandafter{\the\toks@&\hfil$\m@th
 \displaystyle{\the\hashtoks@}$&$\m@th
 \displaystyle{{}\the\hashtoks@}$\hfil}\advance
  \atcount@\m@ne\repeat                                                     %3
 \xdef\preamble@{\the\toks@}\xdef\preamble@@{\preamble@}}
\let\endalignedat\endaligned
\def\gathered{\null\,\vcenter\bgroup\vspace@\Let@
 \ifinany@\else\openup\jot\fi\ialign
 \bgroup\hfil\strut@$\m@th\displaystyle{##}$\hfil\crcr}
\def\endgathered{\crcr\egroup\egroup}
\newif\iftagsleft@
\def\TagsOnLeft{\global\tagsleft@true}
\def\TagsOnRight{\global\tagsleft@false}
\TagsOnLeft
\newif\ifmathtags@
\def\TagsAsMath{\global\mathtags@true}
\def\TagsAsText{\global\mathtags@false}
\TagsAsText
\def\tagform@#1{\hbox{\rm(\ignorespaces#1\unskip)}}
\def\thetag{\leavevmode\tagform@}
\def\tag#1$${\iftagsleft@\leqno\else\eqno\fi                                %1
 \maketag@#1\maketag@                                                       %2
 $$}                                                                        %3
\def\maketag@{\FN@\maketag@@}
\def\maketag@@{\ifx\next"\expandafter\maketag@@@\else\expandafter\maketag@@@@
 \fi}
\def\maketag@@@"#1"#2\maketag@{\hbox{\rm#1}}                                %1
\def\maketag@@@@#1\maketag@{\ifmathtags@\tagform@{$\m@th#1$}\else
 \tagform@{#1}\fi}
\interdisplaylinepenalty\@M
\def\allowdisplaybreaks{\RIfMIfI@
 \onlydmatherr@\allowdisplaybreaks\else
 \interdisplaylinepenalty\z@\fi\else\onlydmatherr@\allowdisplaybreaks\fi}
\Invalid@\allowdisplaybreak
\Invalid@\displaybreak
\Invalid@\intertext
\def\allowdisplaybreak@{\def\allowdisplaybreak{\crcr\noalign{\allowbreak}}}
\def\displaybreak@{\def\displaybreak{\crcr\noalign{\break}}}
\def\intertext@{\def\intertext##1{\crcr\noalign{%
 \penalty\postdisplaypenalty \vskip\belowdisplayskip
 \vbox{\normalbaselines\noindent##1}%
 \penalty\predisplaypenalty \vskip\abovedisplayskip}}}
\newskip\centering@
\centering@\z@ plus\@m\p@
\def\align{\relax\ifingather@\DN@{\csname align (in
  \string\gather)\endcsname}\else
 \ifmmode\ifinner\DN@{\onlydmatherr@\align}\else
  \let\next@\align@\fi
 \else\DN@{\onlydmatherr@\align}\fi\fi\next@}
\newhelp\andhelp@
{An extra & here is so disastrous that you should probably exit^^J
and fix things up.}
\newif\iftag@
\newcount\and@
\def\align@{\inalign@true\inany@true
 \vspace@\allowdisplaybreak@\displaybreak@\intertext@
 \def\tag{\global\tag@true\ifnum\and@=\z@\DN@{&&}\else
          \DN@{&}\fi\next@}%
 \iftagsleft@\DN@{\csname align \endcsname}\else
  \DN@{\csname align \space\endcsname}\fi\next@}
\def\Tag@{\iftag@\else\errhelp\andhelp@\err@{Extra & on this line}\fi}
\newdimen\lwidth@
\newdimen\rwidth@
\newdimen\maxlwidth@
\newdimen\maxrwidth@
\newdimen\totwidth@
\def\measure@#1\endalign{\lwidth@\z@\rwidth@\z@\maxlwidth@\z@\maxrwidth@\z@
 \global\and@\z@                                                            %1
 \setbox@ne\vbox                                                            %2
  {\everycr{\noalign{\global\tag@false\global\and@\z@}}\Let@                %3
  \halign{\setboxz@h{$\m@th\displaystyle{\@lign##}$}%                       %4
   \global\lwidth@\wdz@                                                     %5
   \ifdim\lwidth@>\maxlwidth@\global\maxlwidth@\lwidth@\fi                  %6
   \global\advance\and@\@ne                                                 %7
   &\setboxz@h{$\m@th\displaystyle{{}\@lign##}$}\global\rwidth@\wdz@        %8
   \ifdim\rwidth@>\maxrwidth@\global\maxrwidth@\rwidth@\fi                  %9
   \global\advance\and@\@ne                                                %10
   &\Tag@
   \eat@{##}\crcr#1\crcr}}%                                                %11
 \totwidth@\maxlwidth@\advance\totwidth@\maxrwidth@}                       %12
\def\displ@y@{\global\dt@ptrue\openup\jot
 \everycr{\noalign{\global\tag@false\global\and@\z@\ifdt@p\global\dt@pfalse
 \vskip-\lineskiplimit\vskip\normallineskiplimit\else
 \penalty\interdisplaylinepenalty\fi}}}
\def\black@#1{\noalign{\ifdim#1>\displaywidth
 \dimen@\prevdepth\nointerlineskip                                          %1
 \vskip-\ht\strutbox@\vskip-\dp\strutbox@                                   %2
 \vbox{\noindent\hbox to#1{\strut@\hfill}}%                                 %3
 \prevdepth\dimen@                                                          %4
 \fi}}
\expandafter\def\csname align \space\endcsname#1\endalign
 {\measure@#1\endalign\global\and@\z@                                       %1
 \ifingather@\everycr{\noalign{\global\and@\z@}}\else\displ@y@\fi           %2
 \Let@\tabskip\centering@                                                   %3
 \halign to\displaywidth
  {\hfil\strut@\setboxz@h{$\m@th\displaystyle{\@lign##}$}%                  %4
  \global\lwidth@\wdz@\boxz@\global\advance\and@\@ne                        %5
  \tabskip\z@skip                                                           %6
  &\setboxz@h{$\m@th\displaystyle{{}\@lign##}$}%                            %7
  \global\rwidth@\wdz@\boxz@\hfill\global\advance\and@\@ne                  %8
  \tabskip\centering@                                                       %9
  &\setboxz@h{\@lign\strut@\maketag@##\maketag@}%                          %10
  \dimen@\displaywidth\advance\dimen@-\totwidth@
  \divide\dimen@\tw@\advance\dimen@\maxrwidth@\advance\dimen@-\rwidth@     %11
  \ifdim\dimen@<\tw@\wdz@\llap{\vtop{\normalbaselines\null\boxz@}}%        %12
  \else\llap{\boxz@}\fi                                                    %13
  \tabskip\z@skip                                                          %14
  \crcr#1\crcr                                                             %15
  \black@\totwidth@}}                                                      %16
\newdimen\lineht@
\expandafter\def\csname align \endcsname#1\endalign{\measure@#1\endalign
 \global\and@\z@
 \ifdim\totwidth@>\displaywidth\let\displaywidth@\totwidth@\else
  \let\displaywidth@\displaywidth\fi                                        %1
 \ifingather@\everycr{\noalign{\global\and@\z@}}\else\displ@y@\fi
 \Let@\tabskip\centering@\halign to\displaywidth
  {\hfil\strut@\setboxz@h{$\m@th\displaystyle{\@lign##}$}%
  \global\lwidth@\wdz@\global\lineht@\ht\z@                                 %2
  \boxz@\global\advance\and@\@ne
  \tabskip\z@skip&\setboxz@h{$\m@th\displaystyle{{}\@lign##}$}%
  \global\rwidth@\wdz@\ifdim\ht\z@>\lineht@\global\lineht@\ht\z@\fi         %3
  \boxz@\hfil\global\advance\and@\@ne
  \tabskip\centering@&\kern-\displaywidth@                                  %4
  \setboxz@h{\@lign\strut@\maketag@##\maketag@}%
  \dimen@\displaywidth\advance\dimen@-\totwidth@
  \divide\dimen@\tw@\advance\dimen@\maxlwidth@\advance\dimen@-\lwidth@
  \ifdim\dimen@<\tw@\wdz@
   \rlap{\vbox{\normalbaselines\boxz@\vbox to\lineht@{}}}\else
   \rlap{\boxz@}\fi
  \tabskip\displaywidth@\crcr#1\crcr\black@\totwidth@}}
\expandafter\def\csname align (in \string\gather)\endcsname
  #1\endalign{\vcenter{\align@#1\endalign}}
\Invalid@\endalign
\newif\ifxat@
\def\alignat{\RIfMIfI@\DN@{\onlydmatherr@\alignat}\else
 \DN@{\csname alignat \endcsname}\fi\else
 \DN@{\onlydmatherr@\alignat}\fi\next@}
\newif\ifmeasuring@
\newbox\savealignat@
\expandafter\def\csname alignat \endcsname#1#2\endalignat                   %1
 {\inany@true\xat@false
 \def\tag{\global\tag@true\count@#1\relax\multiply\count@\tw@
  \xdef\tag@{}\loop\ifnum\count@>\and@\xdef\tag@{&\tag@}\advance\count@\m@ne
  \repeat\tag@}%
 \vspace@\allowdisplaybreak@\displaybreak@\intertext@
 \displ@y@\measuring@true                                                   %2
 \setbox\savealignat@\hbox{$\m@th\displaystyle\Let@
  \attag@{#1}%                                                              %3
  \vbox{\halign{\span\preamble@@\crcr#2\crcr}}$}%
 \measuring@false                                                           %4
 \Let@\attag@{#1}%                                                          %5
 \tabskip\centering@\halign to\displaywidth
  {\span\preamble@@\crcr#2\crcr                                             %6
  \black@{\wd\savealignat@}}}                                               %7
\Invalid@\endalignat
\def\xalignat{\RIfMIfI@
 \DN@{\onlydmatherr@\xalignat}\else
 \DN@{\csname xalignat \endcsname}\fi\else
 \DN@{\onlydmatherr@\xalignat}\fi\next@}
\expandafter\def\csname xalignat \endcsname#1#2\endxalignat
 {\inany@true\xat@true
 \def\tag{\global\tag@true\def\tag@{}\count@#1\relax\multiply\count@\tw@
  \loop\ifnum\count@>\and@\xdef\tag@{&\tag@}\advance\count@\m@ne\repeat\tag@}%
 \vspace@\allowdisplaybreak@\displaybreak@\intertext@
 \displ@y@\measuring@true\setbox\savealignat@\hbox{$\m@th\displaystyle\Let@
 \attag@{#1}\vbox{\halign{\span\preamble@@\crcr#2\crcr}}$}%
 \measuring@false\Let@
 \attag@{#1}\tabskip\centering@\halign to\displaywidth
 {\span\preamble@@\crcr#2\crcr\black@{\wd\savealignat@}}}
\def\attag@#1{\let\Maketag@\maketag@\let\TAG@\Tag@                          %1
 \let\Tag@=0\let\maketag@=0%                                                %2
 \ifmeasuring@\def\llap@##1{\setboxz@h{##1}\hbox to\tw@\wdz@{}}%
  \def\rlap@##1{\setboxz@h{##1}\hbox to\tw@\wdz@{}}\else
  \let\llap@\llap\let\rlap@\rlap\fi                                         %3
 \toks@{\hfil\strut@$\m@th\displaystyle{\@lign\the\hashtoks@}$\tabskip\z@skip
  \global\advance\and@\@ne&$\m@th\displaystyle{{}\@lign\the\hashtoks@}$\hfil
  \ifxat@\tabskip\centering@\fi\global\advance\and@\@ne}%                   %4
 \iftagsleft@
  \toks@@{\tabskip\centering@&\Tag@\kern-\displaywidth
   \rlap@{\@lign\maketag@\the\hashtoks@\maketag@}%
   \global\advance\and@\@ne\tabskip\displaywidth}\else
  \toks@@{\tabskip\centering@&\Tag@\llap@{\@lign\maketag@
   \the\hashtoks@\maketag@}\global\advance\and@\@ne\tabskip\z@skip}\fi      %5
 \atcount@#1\relax\advance\atcount@\m@ne
 \loop\ifnum\atcount@>\z@
 \toks@=\expandafter{\the\toks@&\hfil$\m@th\displaystyle{\@lign
  \the\hashtoks@}$\global\advance\and@\@ne
  \tabskip\z@skip&$\m@th\displaystyle{{}\@lign\the\hashtoks@}$\hfil\ifxat@
  \tabskip\centering@\fi\global\advance\and@\@ne}\advance\atcount@\m@ne
 \repeat                                                                    %6
 \xdef\preamble@{\the\toks@\the\toks@@}%                                    %7
 \xdef\preamble@@{\preamble@}%                                              %8
 \let\maketag@\Maketag@\let\Tag@\TAG@}                                      %9
\Invalid@\endxalignat
\def\xxalignat{\RIfMIfI@
 \DN@{\onlydmatherr@\xxalignat}\else\DN@{\csname xxalignat
  \endcsname}\fi\else
 \DN@{\onlydmatherr@\xxalignat}\fi\next@}
\expandafter\def\csname xxalignat \endcsname#1#2\endxxalignat{\inany@true
 \vspace@\allowdisplaybreak@\displaybreak@\intertext@
 \displ@y\setbox\savealignat@\hbox{$\m@th\displaystyle\Let@
 \xxattag@{#1}\vbox{\halign{\span\preamble@@\crcr#2\crcr}}$}%
 \Let@\xxattag@{#1}\tabskip\z@skip\halign to\displaywidth
 {\span\preamble@@\crcr#2\crcr\black@{\wd\savealignat@}}}
\def\xxattag@#1{\toks@{\tabskip\z@skip\hfil\strut@
 $\m@th\displaystyle{\the\hashtoks@}$&%
 $\m@th\displaystyle{{}\the\hashtoks@}$\hfil\tabskip\centering@&}%
 \atcount@#1\relax\advance\atcount@\m@ne\loop\ifnum\atcount@>\z@
 \toks@=\expandafter{\the\toks@&\hfil$\m@th\displaystyle{\the\hashtoks@}$%
  \tabskip\z@skip&$\m@th\displaystyle{{}\the\hashtoks@}$\hfil
  \tabskip\centering@}\advance\atcount@\m@ne\repeat
 \xdef\preamble@{\the\toks@\tabskip\z@skip}\xdef\preamble@@{\preamble@}}
\Invalid@\endxxalignat
\newdimen\gwidth@
\newdimen\gmaxwidth@
\def\gmeasure@#1\endgather{\gwidth@\z@\gmaxwidth@\z@\setbox@ne\vbox{\Let@
 \halign{\setboxz@h{$\m@th\displaystyle{##}$}\global\gwidth@\wdz@
 \ifdim\gwidth@>\gmaxwidth@\global\gmaxwidth@\gwidth@\fi
 &\eat@{##}\crcr#1\crcr}}}
\def\gather{\RIfMIfI@\DN@{\onlydmatherr@\gather}\else
 \ingather@true\inany@true\def\tag{&}%
 \vspace@\allowdisplaybreak@\displaybreak@\intertext@
 \displ@y\Let@
 \iftagsleft@\DN@{\csname gather \endcsname}\else
  \DN@{\csname gather \space\endcsname}\fi\fi
 \else\DN@{\onlydmatherr@\gather}\fi\next@}
\expandafter\def\csname gather \space\endcsname#1\endgather
 {\gmeasure@#1\endgather\tabskip\centering@
 \halign to\displaywidth{\hfil\strut@\setboxz@h{$\m@th\displaystyle{##}$}%
 \global\gwidth@\wdz@\boxz@\hfil&
 \setboxz@h{\strut@{\maketag@##\maketag@}}%
 \dimen@\displaywidth\advance\dimen@-\gwidth@
 \ifdim\dimen@>\tw@\wdz@\llap{\boxz@}\else
 \llap{\vtop{\normalbaselines\null\boxz@}}\fi
 \tabskip\z@skip\crcr#1\crcr\black@\gmaxwidth@}}
\newdimen\glineht@
\expandafter\def\csname gather \endcsname#1\endgather{\gmeasure@#1\endgather
 \ifdim\gmaxwidth@>\displaywidth\let\gdisplaywidth@\gmaxwidth@\else
 \let\gdisplaywidth@\displaywidth\fi\tabskip\centering@\halign to\displaywidth
 {\hfil\strut@\setboxz@h{$\m@th\displaystyle{##}$}%
 \global\gwidth@\wdz@\global\glineht@\ht\z@\boxz@\hfil&\kern-\gdisplaywidth@
 \setboxz@h{\strut@{\maketag@##\maketag@}}%
 \dimen@\displaywidth\advance\dimen@-\gwidth@
 \ifdim\dimen@>\tw@\wdz@\rlap{\boxz@}\else
 \rlap{\vbox{\normalbaselines\boxz@\vbox to\glineht@{}}}\fi
 \tabskip\gdisplaywidth@\crcr#1\crcr\black@\gmaxwidth@}}
\newif\ifctagsplit@
\def\CenteredTagsOnSplits{\global\ctagsplit@true}
\def\TopOrBottomTagsOnSplits{\global\ctagsplit@false}
\TopOrBottomTagsOnSplits
\def\split{\relax\ifinany@\let\next@\insplit@\else
 \ifmmode\ifinner\def\next@{\onlydmatherr@\split}\else
 \let\next@\outsplit@\fi\else
 \def\next@{\onlydmatherr@\split}\fi\fi\next@}
\def\insplit@{\global\setbox\z@\vbox\bgroup\vspace@\Let@\ialign\bgroup
 \hfil\strut@$\m@th\displaystyle{##}$&$\m@th\displaystyle{{}##}$\hfill\crcr}
\def\endsplit{\crcr\egroup\egroup\iftagsleft@\expandafter\lendsplit@\else
 \expandafter\rendsplit@\fi}
\def\rendsplit@{\global\setbox9 \vbox
 {\unvcopy\z@\global\setbox8 \lastbox\unskip}%                              %1
 \setbox@ne\hbox{\unhcopy8 \unskip\global\setbox\tw@\lastbox
 \unskip\global\setbox\thr@@\lastbox}%                                      %2
 \global\setbox7 \hbox{\unhbox\tw@\unskip}%                                 %3
 \ifinalign@\ifctagsplit@                                                   %4
  \gdef\split@{\hbox to\wd\thr@@{}&
   \vcenter{\vbox{\moveleft\wd\thr@@\boxz@}}}%                              %5
 \else\gdef\split@{&\vbox{\moveleft\wd\thr@@\box9}\crcr
  \box\thr@@&\box7}\fi                                                      %6
 \else                                                                      %7
  \ifctagsplit@\gdef\split@{\vcenter{\boxz@}}\else
  \gdef\split@{\box9\crcr\hbox{\box\thr@@\box7}}\fi
 \fi
 \split@}                                                                   %8
\def\lendsplit@{\global\setbox9\vtop{\unvcopy\z@}%                          %1
 \setbox@ne\vbox{\unvcopy\z@\global\setbox8\lastbox}%                       %2
 \setbox@ne\hbox{\unhcopy8\unskip\setbox\tw@\lastbox
  \unskip\global\setbox\thr@@\lastbox}%                                     %3
 \ifinalign@\ifctagsplit@                                                   %4
  \gdef\split@{\hbox to\wd\thr@@{}&
  \vcenter{\vbox{\moveleft\wd\thr@@\box9}}}%                                %5
  \else                                                                     %6
  \gdef\split@{\hbox to\wd\thr@@{}&\vbox{\moveleft\wd\thr@@\box9}}\fi
 \else
  \ifctagsplit@\gdef\split@{\vcenter{\box9}}\else
  \gdef\split@{\box9}\fi
 \fi\split@}
\def\outsplit@#1$${\align\insplit@#1\endalign$$}
\newdimen\multlinegap@
\multlinegap@1em
\newdimen\multlinetaggap@
\multlinetaggap@1em
\def\MultlineGap#1{\global\multlinegap@#1\relax}
\def\multlinegap#1{\RIfMIfI@\onlydmatherr@\multlinegap\else
 \multlinegap@#1\relax\fi\else\onlydmatherr@\multlinegap\fi}
\def\nomultlinegap{\multlinegap{\z@}}
\def\multline{\RIfMIfI@
 \DN@{\onlydmatherr@\multline}\else
 \DN@{\multline@}\fi\else
 \DN@{\onlydmatherr@\multline}\fi\next@}
\newif\iftagin@
\def\tagin@#1{\tagin@false\in@\tag{#1}\ifin@\tagin@true\fi}
\def\multline@#1$${\inany@true\vspace@\allowdisplaybreak@\displaybreak@
 \tagin@{#1}\iftagsleft@\DN@{\multline@l#1$$}\else
 \DN@{\multline@r#1$$}\fi\next@}
\newdimen\mwidth@
\def\rmmeasure@#1\endmultline{%
 \def\shoveleft##1{##1}\def\shoveright##1{##1}%                             %1
 \setbox@ne\vbox{\Let@\halign{\setboxz@h
  {$\m@th\@lign\displaystyle{}##$}\global\mwidth@\wdz@
  \crcr#1\crcr}}}
\newdimen\mlineht@
\newif\ifzerocr@
\newif\ifonecr@
\def\lmmeasure@#1\endmultline{\global\zerocr@true\global\onecr@false
 \everycr{\noalign{\ifonecr@\global\onecr@false\fi
  \ifzerocr@\global\zerocr@false\global\onecr@true\fi}}%                    %1
  \def\shoveleft##1{##1}\def\shoveright##1{##1}%
 \setbox@ne\vbox{\Let@\halign{\setboxz@h
  {$\m@th\@lign\displaystyle{}##$}\ifonecr@\global\mwidth@\wdz@
  \global\mlineht@\ht\z@\fi\crcr#1\crcr}}}
\newbox\mtagbox@
\newdimen\ltwidth@
\newdimen\rtwidth@
\def\multline@l#1$${\iftagin@\DN@{\lmultline@@#1$$}\else
 \DN@{\setbox\mtagbox@\null\ltwidth@\z@\rtwidth@\z@
  \lmultline@@@#1$$}\fi\next@}
\def\lmultline@@#1\endmultline\tag#2$${%
 \setbox\mtagbox@\hbox{\maketag@#2\maketag@}%                               %1
 \lmmeasure@#1\endmultline\dimen@\mwidth@\advance\dimen@\wd\mtagbox@
 \advance\dimen@\multlinetaggap@                                            %2
 \ifdim\dimen@>\displaywidth\ltwidth@\z@\else\ltwidth@\wd\mtagbox@\fi       %3
 \lmultline@@@#1\endmultline$$}
\def\lmultline@@@{\displ@y
 \def\shoveright##1{##1\hfilneg\hskip\multlinegap@}%
 \def\shoveleft##1{\setboxz@h{$\m@th\displaystyle{}##1$}%
  \setbox@ne\hbox{$\m@th\displaystyle##1$}%
  \hfilneg
  \iftagin@
   \ifdim\ltwidth@>\z@\hskip\ltwidth@\hskip\multlinetaggap@\fi
  \else\hskip\multlinegap@\fi\hskip.5\wd@ne\hskip-.5\wdz@##1}%              %1
  \halign\bgroup\Let@\hbox to\displaywidth
   {\strut@$\m@th\displaystyle\hfil{}##\hfil$}\crcr
   \hfilneg                                                                 %2
   \iftagin@                                                                %3
    \ifdim\ltwidth@>\z@                                                     %4
     \box\mtagbox@\hskip\multlinetaggap@                                    %5
    \else
     \rlap{\vbox{\normalbaselines\hbox{\strut@\box\mtagbox@}%
     \vbox to\mlineht@{}}}\fi                                               %6
   \else\hskip\multlinegap@\fi}                                             %7
\def\multline@r#1$${\iftagin@\DN@{\rmultline@@#1$$}\else
 \DN@{\setbox\mtagbox@\null\ltwidth@\z@\rtwidth@\z@
  \rmultline@@@#1$$}\fi\next@}
\def\rmultline@@#1\endmultline\tag#2$${\ltwidth@\z@
 \setbox\mtagbox@\hbox{\maketag@#2\maketag@}%
 \rmmeasure@#1\endmultline\dimen@\mwidth@\advance\dimen@\wd\mtagbox@
 \advance\dimen@\multlinetaggap@
 \ifdim\dimen@>\displaywidth\rtwidth@\z@\else\rtwidth@\wd\mtagbox@\fi
 \rmultline@@@#1\endmultline$$}
\def\rmultline@@@{\displ@y
 \def\shoveright##1{##1\hfilneg\iftagin@\ifdim\rtwidth@>\z@
  \hskip\rtwidth@\hskip\multlinetaggap@\fi\else\hskip\multlinegap@\fi}%
 \def\shoveleft##1{\setboxz@h{$\m@th\displaystyle{}##1$}%
  \setbox@ne\hbox{$\m@th\displaystyle##1$}%
  \hfilneg\hskip\multlinegap@\hskip.5\wd@ne\hskip-.5\wdz@##1}%
 \halign\bgroup\Let@\hbox to\displaywidth
  {\strut@$\m@th\displaystyle\hfil{}##\hfil$}\crcr
 \hfilneg\hskip\multlinegap@}
\def\endmultline{\iftagsleft@\expandafter\lendmultline@\else
 \expandafter\rendmultline@\fi}
\def\lendmultline@{\hfilneg\hskip\multlinegap@\crcr\egroup}
\def\rendmultline@{\iftagin@                                                %1
 \ifdim\rtwidth@>\z@                                                        %2
  \hskip\multlinetaggap@\box\mtagbox@                                       %3
 \else\llap{\vtop{\normalbaselines\null\hbox{\strut@\box\mtagbox@}}}\fi     %4
 \else\hskip\multlinegap@\fi                                                %5
 \hfilneg\crcr\egroup}
\def\bmod{\mskip-\medmuskip\mkern5mu\mathbin{\fam\z@ mod}\penalty900
 \mkern5mu\mskip-\medmuskip}
\def\pmod#1{\allowbreak\ifinner\mkern8mu\else\mkern18mu\fi
 ({\fam\z@ mod}\,\,#1)}
\def\pod#1{\allowbreak\ifinner\mkern8mu\else\mkern18mu\fi(#1)}
\def\mod#1{\allowbreak\ifinner\mkern12mu\else\mkern18mu\fi{\fam\z@ mod}\,\,#1}
\message{continued fractions,}
\newcount\cfraccount@
\def\cfrac{\bgroup\bgroup\advance\cfraccount@\@ne\strut
 \iffalse{\fi\def\\{\over\displaystyle}\iffalse}\fi}
\def\lcfrac{\bgroup\bgroup\advance\cfraccount@\@ne\strut
 \iffalse{\fi\def\\{\hfill\over\displaystyle}\iffalse}\fi}
\def\rcfrac{\bgroup\bgroup\advance\cfraccount@\@ne\strut\hfill
 \iffalse{\fi\def\\{\over\displaystyle}\iffalse}\fi}
\def\gloop@#1\repeat{\gdef\body{#1}\iterate}
\def\endcfrac{\gloop@\ifnum\cfraccount@>\z@\global\advance\cfraccount@\m@ne
 \egroup\hskip-\nulldelimiterspace\egroup\repeat}
\message{compound symbols,}
\def\binrel@#1{\setboxz@h{\thinmuskip0mu
  \medmuskip\m@ne mu\thickmuskip\@ne mu$#1\m@th$}%
 \setbox@ne\hbox{\thinmuskip0mu\medmuskip\m@ne mu\thickmuskip
  \@ne mu${}#1{}\m@th$}%
 \setbox\tw@\hbox{\hskip\wd@ne\hskip-\wdz@}}
\def\overset#1\to#2{\binrel@{#2}\ifdim\wd\tw@<\z@
 \mathbin{\mathop{\kern\z@#2}\limits^{#1}}\else\ifdim\wd\tw@>\z@
 \mathrel{\mathop{\kern\z@#2}\limits^{#1}}\else
 {\mathop{\kern\z@#2}\limits^{#1}}{}\fi\fi}
\def\underset#1\to#2{\binrel@{#2}\ifdim\wd\tw@<\z@
 \mathbin{\mathop{\kern\z@#2}\limits_{#1}}\else\ifdim\wd\tw@>\z@
 \mathrel{\mathop{\kern\z@#2}\limits_{#1}}\else
 {\mathop{\kern\z@#2}\limits_{#1}}{}\fi\fi}
\def\oversetbrace#1\to#2{\overbrace{#2}^{#1}}
\def\undersetbrace#1\to#2{\underbrace{#2}_{#1}}
\def\sideset#1\and#2\to#3{%
 \setbox@ne\hbox{$\dsize{\vphantom{#3}}#1{#3}\m@th$}%
 \setbox\tw@\hbox{$\dsize{#3}#2\m@th$}%
 \hskip\wd@ne\hskip-\wd\tw@\mathop{\hskip\wd\tw@\hskip-\wd@ne
  {\vphantom{#3}}#1{#3}#2}}
\def\rightarrowfill@#1{\setboxz@h{$#1-\m@th$}\ht\z@\z@
  $#1\m@th\copy\z@\mkern-6mu\cleaders
  \hbox{$#1\mkern-2mu\box\z@\mkern-2mu$}\hfill
  \mkern-6mu\mathord\rightarrow$}
\def\leftarrowfill@#1{\setboxz@h{$#1-\m@th$}\ht\z@\z@
  $#1\m@th\mathord\leftarrow\mkern-6mu\cleaders
  \hbox{$#1\mkern-2mu\copy\z@\mkern-2mu$}\hfill
  \mkern-6mu\box\z@$}
\def\leftrightarrowfill@#1{\setboxz@h{$#1-\m@th$}\ht\z@\z@
  $#1\m@th\mathord\leftarrow\mkern-6mu\cleaders
  \hbox{$#1\mkern-2mu\box\z@\mkern-2mu$}\hfill
  \mkern-6mu\mathord\rightarrow$}
\def\overrightarrow{\mathpalette\overrightarrow@}
\def\overrightarrow@#1#2{\vbox{\ialign{##\crcr\rightarrowfill@#1\crcr
 \noalign{\kern-\ex@\nointerlineskip}$\m@th\hfil#1#2\hfil$\crcr}}}
\let\overarrow\overrightarrow
\def\overleftarrow{\mathpalette\overleftarrow@}
\def\overleftarrow@#1#2{\vbox{\ialign{##\crcr\leftarrowfill@#1\crcr
 \noalign{\kern-\ex@\nointerlineskip}$\m@th\hfil#1#2\hfil$\crcr}}}
\def\overleftrightarrow{\mathpalette\overleftrightarrow@}
\def\overleftrightarrow@#1#2{\vbox{\ialign{##\crcr\leftrightarrowfill@#1\crcr
 \noalign{\kern-\ex@\nointerlineskip}$\m@th\hfil#1#2\hfil$\crcr}}}
\def\underrightarrow{\mathpalette\underrightarrow@}
\def\underrightarrow@#1#2{\vtop{\ialign{##\crcr$\m@th\hfil#1#2\hfil$\crcr
 \noalign{\nointerlineskip}\rightarrowfill@#1\crcr}}}
\let\underarrow\underrightarrow
\def\underleftarrow{\mathpalette\underleftarrow@}
\def\underleftarrow@#1#2{\vtop{\ialign{##\crcr$\m@th\hfil#1#2\hfil$\crcr
 \noalign{\nointerlineskip}\leftarrowfill@#1\crcr}}}
\def\underleftrightarrow{\mathpalette\underleftrightarrow@}
\def\underleftrightarrow@#1#2{\vtop{\ialign{##\crcr$\m@th\hfil#1#2\hfil$\crcr
 \noalign{\nointerlineskip}\leftrightarrowfill@#1\crcr}}}
\message{various kinds of dots,}
\let\DOTSI\relax
\let\DOTSB\relax
\let\DOTSX\relax
\newif\ifmath@
{\uccode`7=`\\ \uccode`8=`m \uccode`9=`a \uccode`0=`t \uccode`!=`h
 \uppercase{\gdef\math@#1#2#3#4#5#6\math@{\global\math@false\ifx 7#1\ifx 8#2%
 \ifx 9#3\ifx 0#4\ifx !#5\xdef\meaning@{#6}\global\math@true\fi\fi\fi\fi\fi}}}
\newif\ifmathch@
{\uccode`7=`c \uccode`8=`h \uccode`9=`\"
 \uppercase{\gdef\mathch@#1#2#3#4#5#6\mathch@{\global\mathch@false
  \ifx 7#1\ifx 8#2\ifx 9#5\global\mathch@true\xdef\meaning@{9#6}\fi\fi\fi}}}
\newcount\classnum@
\def\getmathch@#1.#2\getmathch@{\classnum@#1 \divide\classnum@4096
 \ifcase\number\classnum@\or\or\gdef\thedots@{\dotsb@}\or
 \gdef\thedots@{\dotsb@}\fi}
\newif\ifmathbin@
{\uccode`4=`b \uccode`5=`i \uccode`6=`n
 \uppercase{\gdef\mathbin@#1#2#3{\relaxnext@
  \DNii@##1\mathbin@{\ifx\space@\next\global\mathbin@true\fi}%
 \global\mathbin@false\DN@##1\mathbin@{}%
 \ifx 4#1\ifx 5#2\ifx 6#3\DN@{\FN@\nextii@}\fi\fi\fi\next@}}}
\newif\ifmathrel@
{\uccode`4=`r \uccode`5=`e \uccode`6=`l
 \uppercase{\gdef\mathrel@#1#2#3{\relaxnext@
  \DNii@##1\mathrel@{\ifx\space@\next\global\mathrel@true\fi}%
 \global\mathrel@false\DN@##1\mathrel@{}%
 \ifx 4#1\ifx 5#2\ifx 6#3\DN@{\FN@\nextii@}\fi\fi\fi\next@}}}
\newif\ifmacro@
{\uccode`5=`m \uccode`6=`a \uccode`7=`c
 \uppercase{\gdef\macro@#1#2#3#4\macro@{\global\macro@false
  \ifx 5#1\ifx 6#2\ifx 7#3\global\macro@true
  \xdef\meaning@{\macro@@#4\macro@@}\fi\fi\fi}}}
\def\macro@@#1->#2\macro@@{#2}
\newif\ifDOTS@
\newcount\DOTSCASE@
{\uccode`6=`\\ \uccode`7=`D \uccode`8=`O \uccode`9=`T \uccode`0=`S
 \uppercase{\gdef\DOTS@#1#2#3#4#5{\global\DOTS@false\DN@##1\DOTS@{}%
  \ifx 6#1\ifx 7#2\ifx 8#3\ifx 9#4\ifx 0#5\let\next@\DOTS@@\fi\fi\fi\fi\fi
  \next@}}}
{\uccode`3=`B \uccode`4=`I \uccode`5=`X
 \uppercase{\gdef\DOTS@@#1{\relaxnext@
  \DNii@##1\DOTS@{\ifx\space@\next\global\DOTS@true\fi}%
  \DN@{\FN@\nextii@}%
  \ifx 3#1\global\DOTSCASE@\z@\else
  \ifx 4#1\global\DOTSCASE@\@ne\else
  \ifx 5#1\global\DOTSCASE@\tw@\else\DN@##1\DOTS@{}%
  \fi\fi\fi\next@}}}
\newif\ifnot@
{\uccode`5=`\\ \uccode`6=`n \uccode`7=`o \uccode`8=`t
 \uppercase{\gdef\not@#1#2#3#4{\relaxnext@
  \DNii@##1\not@{\ifx\space@\next\global\not@true\fi}%
 \global\not@false\DN@##1\not@{}%
 \ifx 5#1\ifx 6#2\ifx 7#3\ifx 8#4\DN@{\FN@\nextii@}\fi\fi\fi
 \fi\next@}}}
\newif\ifkeybin@
\def\keybin@{\keybin@true
 \ifx\next+\else\ifx\next=\else\ifx\next<\else\ifx\next>\else\ifx\next-\else
 \ifx\next*\else\ifx\next:\else\keybin@false\fi\fi\fi\fi\fi\fi\fi}
\def\dots{\RIfM@\expandafter\mdots@\else\expandafter\tdots@\fi}
\def\tdots@{\unskip\relaxnext@
 \DN@{$\m@th\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}%
 \ \FN@\next@}
\def\mdots@{\FN@\mdots@@}
\def\mdots@@{\gdef\thedots@{\dotso@}%                                       %1
 \ifx\next\boldkey\gdef\thedots@\boldkey{\boldkeydots@}\else                %2
 \ifx\next\boldsymbol\gdef\thedots@\boldsymbol{\boldsymboldots@}\else       %3
 \ifx,\next\gdef\thedots@{\dotsc}%                                          %4
 \else\ifx\not\next\gdef\thedots@{\dotsb@}%                                 %5
 \else\keybin@
 \ifkeybin@\gdef\thedots@{\dotsb@}%                                         %6
 \else\xdef\meaning@{\meaning\next..........}\xdef\meaning@@{\meaning@}%    %7
  \expandafter\math@\meaning@\math@
  \ifmath@
   \expandafter\mathch@\meaning@\mathch@
   \ifmathch@\expandafter\getmathch@\meaning@\getmathch@\fi                 %8
  \else\expandafter\macro@\meaning@@\macro@                                 %9
  \ifmacro@                                                                %10
   \expandafter\not@\meaning@\not@\ifnot@\gdef\thedots@{\dotsb@}%          %11
  \else\expandafter\DOTS@\meaning@\DOTS@
  \ifDOTS@
   \ifcase\number\DOTSCASE@\gdef\thedots@{\dotsb@}%
    \or\gdef\thedots@{\dotsi}\else\fi                                      %12
  \else\expandafter\math@\meaning@\math@                                   %13
  \ifmath@\expandafter\mathbin@\meaning@\mathbin@
  \ifmathbin@\gdef\thedots@{\dotsb@}%                                      %14
  \else\expandafter\mathrel@\meaning@\mathrel@
  \ifmathrel@\gdef\thedots@{\dotsb@}%                                      %15
  \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
 \thedots@}
\def\plainldots@{\mathinner{\ldotp\ldotp\ldotp}}
\def\plaincdots@{\mathinner{\cdotp\cdotp\cdotp}}
\def\dotsi{\!\plaincdots@}
\let\dotsb@\plaincdots@
\newif\ifextra@
\newif\ifrightdelim@
\def\rightdelim@{\global\rightdelim@true                                    %1
 \ifx\next)\else                                                            %2
 \ifx\next]\else
 \ifx\next\rbrack\else
 \ifx\next\}\else
 \ifx\next\rbrace\else
 \ifx\next\rangle\else
 \ifx\next\rceil\else
 \ifx\next\rfloor\else
 \ifx\next\rgroup\else
 \ifx\next\rmoustache\else
 \ifx\next\right\else
 \ifx\next\bigr\else
 \ifx\next\biggr\else
 \ifx\next\Bigr\else                                                        %3
 \ifx\next\Biggr\else\global\rightdelim@false
 \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}
\def\extra@{%
 \global\extra@false\rightdelim@\ifrightdelim@\global\extra@true            %1
 \else\ifx\next$\global\extra@true                                          %2
 \else\xdef\meaning@{\meaning\next..........}%                              %3
 \expandafter\macro@\meaning@\macro@\ifmacro@                               %4
 \expandafter\DOTS@\meaning@\DOTS@
 \ifDOTS@
 \ifnum\DOTSCASE@=\tw@\global\extra@true                                    %5
 \fi\fi\fi\fi\fi}
\newif\ifbold@
\def\dotso@{\relaxnext@
 \ifbold@
  \let\next\delayed@
  \DNii@{\extra@\plainldots@\ifextra@\,\fi}%
 \else
  \DNii@{\DN@{\extra@\plainldots@\ifextra@\,\fi}\FN@\next@}%
 \fi
 \nextii@}
\def\extrap@#1{%
 \ifx\next,\DN@{#1\,}\else
 \ifx\next;\DN@{#1\,}\else
 \ifx\next.\DN@{#1\,}\else\extra@
 \ifextra@\DN@{#1\,}\else
 \let\next@#1\fi\fi\fi\fi\next@}
\def\ldots{\DN@{\extrap@\plainldots@}%
 \FN@\next@}
\def\cdots{\DN@{\extrap@\plaincdots@}%
 \FN@\next@}
\let\dotso\ldots
\let\dotsb\cdots
\let\dotsm\dotsb
\def\dotsc{\relaxnext@
 \DN@{\ifx\next;\plainldots@\,\else
  \ifx\next.\plainldots@\,\else\extra@\plainldots@
  \ifextra@\,\fi\fi\fi}%
 \FN@\next@}
\def\cdot{\mathchar"2201 }
\def\longrightarrow{\DOTSB\relbar\joinrel\rightarrow}
\def\Longrightarrow{\DOTSB\Relbar\joinrel\Rightarrow}
\def\longleftarrow{\DOTSB\leftarrow\joinrel\relbar}
\def\Longleftarrow{\DOTSB\Leftarrow\joinrel\Relbar}
\def\longleftrightarrow{\DOTSB\leftarrow\joinrel\rightarrow}
\def\Longleftrightarrow{\DOTSB\Leftarrow\joinrel\Rightarrow}
\def\mapsto{\DOTSB\mapstochar\rightarrow}
\def\longmapsto{\DOTSB\mapstochar\longrightarrow}
\def\hookrightarrow{\DOTSB\lhook\joinrel\rightarrow}
\def\hookleftarrow{\DOTSB\leftarrow\joinrel\rhook}
\def\doteq{\DOTSB\buildrel\textstyle.\over=}
\def\iff{\DOTSB\;\Longleftrightarrow\;}
\message{special superscripts,}
\def\dddot#1{{\mathop{#1}\limits^{\vbox to-1.4\ex@{\kern-\tw@\ex@
 \hbox{\rm...}\vss}}}}
\def\ddddot#1{{\mathop{#1}\limits^{\vbox to-1.4\ex@{\kern-\tw@\ex@
 \hbox{\rm....}\vss}}}}
\def\sphat{^{\mathchoice{}{}%
 {\,\,\botsmash{\hbox{\lower4\ex@\hbox{$\m@th\widehat{\null}$}}}}%
 {\,\botsmash{\hbox{\lower3\ex@\hbox{$\m@th\hat{\null}$}}}}}}
\def\spcheck{^\vee}
\def\sptilde{^\sim}
\def\spacute{^{\!\botsmash{\hbox{\lower\@ne ex\hbox{\'{}}}}}}
\def\spgrave{^{\mathchoice{}{}{}{\!}%
 \botsmash{\hbox{\lower\@ne ex\hbox{\`{}}}}}}
\def\spdot{^{\hbox{\raise\ex@\hbox{\rm.}}}}
\def\spddot{^{\hbox{\raise\ex@\hbox{\rm..}}}}
\def\spdddot{^{\hbox{\raise\ex@\hbox{\rm...}}}}
\def\spddddot{^{\hbox{\raise\ex@\hbox{\rm....}}}}
\def\spbreve{^{\!\botsmash{\hbox{\lower4\ex@\hbox{\u{}}}}}}
\def\spbar{^-}
\def\spvec{^\rightarrow}
\message{\string\text,}
\def\textonlyfont@#1#2{\def#1{\RIfM@
 \Err@{Use \string#1\space only in text}\else#2\fi}}
\textonlyfont@\rm\tenrm
\textonlyfont@\it\tenit
\textonlyfont@\sl\tensl
\textonlyfont@\bf\tenbf
\def\oldnos#1{\RIfM@{\mathcode`\,="013B \fam\@ne#1}\else
 \leavevmode\hbox{$\m@th\mathcode`\,="013B \fam\@ne#1$}\fi}
\def\text{\RIfM@\expandafter\text@\else\expandafter\text@@\fi}
\def\text@@#1{\leavevmode\hbox{#1}}
\def\mathhexbox@#1#2#3{\text{$\m@th\mathchar"#1#2#3$}}
\def\dag{{\mathhexbox@279}}
\def\ddag{{\mathhexbox@27A}}
\def\S{{\mathhexbox@278}}
\def\P{{\mathhexbox@27B}}
\newif\iffirstchoice@
\firstchoice@true
\def\text@#1{\mathchoice
 {\hbox{\everymath{\displaystyle}\def\textfonti{\the\textfont\@ne}%
  \def\textfontii{\the\textfont\tw@}\textdef@@ T#1}}
 {\hbox{\firstchoice@false
  \everymath{\textstyle}\def\textfonti{\the\textfont\@ne}%
  \def\textfontii{\the\textfont\tw@}\textdef@@ T#1}}
 {\hbox{\firstchoice@false
  \everymath{\scriptstyle}\def\textfonti{\the\scriptfont\@ne}%
  \def\textfontii{\the\scriptfont\tw@}\textdef@@ S\rm#1}}
 {\hbox{\firstchoice@false
  \everymath{\scriptscriptstyle}\def\textfonti
  {\the\scriptscriptfont\@ne}%
  \def\textfontii{\the\scriptscriptfont\tw@}\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{%
 \DN@{\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
\newif\iftopfolded@
\newif\ifbotfolded@
\def\topfoldedtext{\topfolded@true\botfolded@false\foldedtext@}
\def\botfoldedtext{\botfolded@true\topfolded@false\foldedtext@}
\def\foldedtext{\topfolded@false\botfolded@false\foldedtext@}
\Invalid@\foldedwidth
\def\foldedtext@{\relaxnext@
 \DN@{\ifx\next\foldedwidth\let\next@\nextii@\else
  \DN@{\nextii@\foldedwidth{.3\hsize}}\fi\next@}%
 \DNii@\foldedwidth##1##2{\setbox\z@\vbox
  {\normalbaselines\hsize##1\relax
  \tolerance1600 \noindent\ignorespaces##2}\ifbotfolded@\boxz@\else
  \iftopfolded@\vtop{\unvbox\z@}\else\vcenter{\boxz@}\fi\fi}%
 \FN@\next@}
\message{math font commands,}
\def\bold{\RIfM@\expandafter\bold@\else
 \expandafter\nonmatherr@\expandafter\bold\fi}
\def\bold@#1{{\bold@@{#1}}}
\def\bold@@#1{\fam\bffam\relax#1}
\def\slanted{\RIfM@\expandafter\slanted@\else
 \expandafter\nonmatherr@\expandafter\slanted\fi}
\def\slanted@#1{{\slanted@@{#1}}}
\def\slanted@@#1{\fam\slfam\relax#1}
\def\roman{\RIfM@\expandafter\roman@\else
 \expandafter\nonmatherr@\expandafter\roman\fi}
\def\roman@#1{{\roman@@{#1}}}
\def\roman@@#1{\fam\rmfam\relax#1}
\def\italic{\RIfM@\expandafter\italic@\else
 \expandafter\nonmatherr@\expandafter\italic\fi}
\def\italic@#1{{\italic@@{#1}}}
\def\italic@@#1{\fam\itfam\relax#1}
\def\Cal{\RIfM@\expandafter\Cal@\else
 \expandafter\nonmatherr@\expandafter\Cal\fi}
\def\Cal@#1{{\Cal@@{#1}}}
\def\Cal@@#1{\noaccents@\fam\tw@#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
\let\alloc@@\alloc@
\def\hexnumber@#1{\ifcase#1 0\or 1\or 2\or 3\or 4\or 5\or 6\or 7\or 8\or
 9\or A\or B\or C\or D\or E\or F\fi}
\def\loadmsam{%
 \font@\tenmsa=msam10
 \font@\sevenmsa=msam7
 \font@\fivemsa=msam5
 \alloc@@8\fam\chardef\sixt@@n\msafam
 \textfont\msafam=\tenmsa
 \scriptfont\msafam=\sevenmsa
 \scriptscriptfont\msafam=\fivemsa
 \edef\next{\hexnumber@\msafam}%
 \mathchardef\dabar@"0\next39
 \edef\dashrightarrow{\mathrel{\dabar@\dabar@\mathchar"0\next4B}}%
 \edef\dashleftarrow{\mathrel{\mathchar"0\next4C\dabar@\dabar@}}%
 \let\dasharrow\dashrightarrow
 \edef\ulcorner{\delimiter"4\next70\next70 }%
 \edef\urcorner{\delimiter"5\next71\next71 }%
 \edef\llcorner{\delimiter"4\next78\next78 }%
 \edef\lrcorner{\delimiter"5\next79\next79 }%
 \edef\yen{{\noexpand\mathhexbox@\next55}}%
 \edef\checkmark{{\noexpand\mathhexbox@\next58}}%
 \edef\circledR{{\noexpand\mathhexbox@\next72}}%
 \edef\maltese{{\noexpand\mathhexbox@\next7A}}%
 \global\let\loadmsam\empty}%
\def\loadmsbm{%
 \font@\tenmsb=msbm10 \font@\sevenmsb=msbm7 \font@\fivemsb=msbm5
 \alloc@@8\fam\chardef\sixt@@n\msbfam
 \textfont\msbfam=\tenmsb
 \scriptfont\msbfam=\sevenmsb \scriptscriptfont\msbfam=\fivemsb
 \global\let\loadmsbm\empty
 }
\def\widehat#1{\ifx\undefined\msbfam \DN@{362}%
  \else \setboxz@h{$\m@th#1$}%
    \edef\next@{\ifdim\wdz@>\tw@ em%
        \hexnumber@\msbfam 5B%
      \else 362\fi}\fi
  \mathaccent"0\next@{#1}}
\def\widetilde#1{\ifx\undefined\msbfam \DN@{365}%
  \else \setboxz@h{$\m@th#1$}%
    \edef\next@{\ifdim\wdz@>\tw@ em%
        \hexnumber@\msbfam 5D%
      \else 365\fi}\fi
  \mathaccent"0\next@{#1}}
\message{\string\newsymbol,}
\def\newsymbol#1#2#3#4#5{\define#1{}%
  \count@#2\relax \advance\count@\m@ne % to push case 0 to the \else clause
 \ifcase\count@
   \ifx\undefined\msafam\loadmsam\fi \let\next@\msafam
 \or \ifx\undefined\msbfam\loadmsbm\fi \let\next@\msbfam
 \else  \Err@{\Invalid@@\string\newsymbol}\let\next@\tw@\fi
 \mathchardef#1="#3\hexnumber@\next@#4#5\space}
\def\UseAMSsymbols{\loadmsam\loadmsbm \input amssym.tex }
\def\Bbb{\RIfM@\expandafter\Bbb@\else
 \expandafter\nonmatherr@\expandafter\Bbb\fi}
\def\Bbb@#1{{\Bbb@@{#1}}}
\def\Bbb@@#1{\noaccents@\fam\msbfam\relax#1}
\message{bold Greek and bold symbols,}
\def\loadbold{%
 \font@\tencmmib=cmmib10 \font@\sevencmmib=cmmib7 \font@\fivecmmib=cmmib5
 \skewchar\tencmmib'177 \skewchar\sevencmmib'177 \skewchar\fivecmmib'177
 \alloc@@8\fam\chardef\sixt@@n\cmmibfam
 \textfont\cmmibfam\tencmmib
 \scriptfont\cmmibfam\sevencmmib \scriptscriptfont\cmmibfam\fivecmmib
 \font@\tencmbsy=cmbsy10 \font@\sevencmbsy=cmbsy7 \font@\fivecmbsy=cmbsy5
 \skewchar\tencmbsy'60 \skewchar\sevencmbsy'60 \skewchar\fivecmbsy'60
 \alloc@@8\fam\chardef\sixt@@n\cmbsyfam
 \textfont\cmbsyfam\tencmbsy
 \scriptfont\cmbsyfam\sevencmbsy \scriptscriptfont\cmbsyfam\fivecmbsy
 \let\loadbold\empty
}
\def\boldnotloaded#1{\Err@{\ifcase#1\or First\else Second\fi
       bold symbol font not loaded}}
\def\mathchari@#1#2#3{\ifx\undefined\cmmibfam
    \boldnotloaded@\@ne
  \else\mathchar"#1\hexnumber@\cmmibfam#2#3\space \fi}
\def\mathcharii@#1#2#3{\ifx\undefined\cmbsyfam
    \boldnotloaded\tw@
  \else \mathchar"#1\hexnumber@\cmbsyfam#2#3\space\fi}
\edef\bffam@{\hexnumber@\bffam}
\def\boldkey#1{\ifcat\noexpand#1A%
  \ifx\undefined\cmmibfam \boldnotloaded\@ne
  \else {\fam\cmmibfam#1}\fi
 \else
 \ifx#1!\mathchar"5\bffam@21 \else
 \ifx#1(\mathchar"4\bffam@28 \else\ifx#1)\mathchar"5\bffam@29 \else
 \ifx#1+\mathchar"2\bffam@2B \else\ifx#1:\mathchar"3\bffam@3A \else
 \ifx#1;\mathchar"6\bffam@3B \else\ifx#1=\mathchar"3\bffam@3D \else
 \ifx#1?\mathchar"5\bffam@3F \else\ifx#1[\mathchar"4\bffam@5B \else
 \ifx#1]\mathchar"5\bffam@5D \else
 \ifx#1,\mathchari@63B \else
 \ifx#1-\mathcharii@200 \else
 \ifx#1.\mathchari@03A \else
 \ifx#1/\mathchari@03D \else
 \ifx#1<\mathchari@33C \else
 \ifx#1>\mathchari@33E \else
 \ifx#1*\mathcharii@203 \else
 \ifx#1|\mathcharii@06A \else
 \ifx#10\bold0\else\ifx#11\bold1\else\ifx#12\bold2\else\ifx#13\bold3\else
 \ifx#14\bold4\else\ifx#15\bold5\else\ifx#16\bold6\else\ifx#17\bold7\else
 \ifx#18\bold8\else\ifx#19\bold9\else
  \Err@{\string\boldkey\space can't be used with #1}%
 \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
 \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}
\def\boldsymbol#1{%
 \DN@{\Err@{You can't use \string\boldsymbol\space with \string#1}#1}%
 \ifcat\noexpand#1A%
   \let\next@\relax
   \ifx\undefined\cmmibfam \boldnotloaded\@ne
   \else {\fam\cmmibfam#1}\fi
 \else
  \xdef\meaning@{\meaning#1.........}%
  \expandafter\math@\meaning@\math@
  \ifmath@
   \expandafter\mathch@\meaning@\mathch@
   \ifmathch@
    \expandafter\boldsymbol@@\meaning@\boldsymbol@@
   \fi
  \else
   \expandafter\macro@\meaning@\macro@
   \expandafter\delim@\meaning@\delim@
   \ifdelim@
    \expandafter\delim@@\meaning@\delim@@
   \else
    \boldsymbol@{#1}%
   \fi
  \fi
 \fi
 \next@}
\def\mathhexboxii@#1#2{\ifx\undefined\cmbsyfam
    \boldnotloaded\tw@
  \else \mathhexbox@{\hexnumber@\cmbsyfam}{#1}{#2}\fi}
\def\boldsymbol@#1{\let\next@\relax\let\next#1%
 \ifx\next\cdot\mathcharii@201 \else
 \ifx\next\prime{{\null\mathcharii@030 \null}}\else
 \ifx\next\lbrack\mathchar"4\bffam@5B \else
 \ifx\next\rbrack\mathchar"5\bffam@5D \else
 \ifx\next\{\mathcharii@466 \else
 \ifx\next\lbrace\mathcharii@466 \else
 \ifx\next\}\mathcharii@567 \else
 \ifx\next\rbrace\mathcharii@567 \else
 \ifx\next\surd{{\mathcharii@170}}\else
 \ifx\next\S{{\mathhexboxii@78}}\else
 \ifx\next\P{{\mathhexboxii@7B}}\else
 \ifx\next\dag{{\mathhexboxii@79}}\else
 \ifx\next\ddag{{\mathhexboxii@7A}}\else
 \DN@{\Err@{You can't use \string\boldsymbol\space with \string#1}#1}%
 \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}
\def\boldsymbol@@#1.#2\boldsymbol@@{\classnum@#1 \count@@@\classnum@        %1
 \divide\classnum@4096 \count@\classnum@                                    %2
 \multiply\count@4096 \advance\count@@@-\count@ \count@@\count@@@           %3
 \divide\count@@@\@cclvi \count@\count@@                                    %4
 \multiply\count@@@\@cclvi \advance\count@@-\count@@@                       %5
 \divide\count@@@\@cclvi                                                    %6
 \multiply\classnum@4096 \advance\classnum@\count@@                         %7
 \ifnum\count@@@=\z@                                                        %8
  \count@"\bffam@ \multiply\count@\@cclvi
  \advance\classnum@\count@
  \DN@{\mathchar\number\classnum@}%
 \else
  \ifnum\count@@@=\@ne                                                      %9
   \ifx\undefined\cmmibfam \DN@{\boldnotloaded\@ne}%
   \else \count@\cmmibfam \multiply\count@\@cclvi
     \advance\classnum@\count@
     \DN@{\mathchar\number\classnum@}\fi
  \else
   \ifnum\count@@@=\tw@                                                    %10
     \ifx\undefined\cmbsyfam
       \DN@{\boldnotloaded\tw@}%
     \else
       \count@\cmbsyfam \multiply\count@\@cclvi
       \advance\classnum@\count@
       \DN@{\mathchar\number\classnum@}%
     \fi
  \fi
 \fi
\fi}
\newif\ifdelim@
\newcount\delimcount@
{\uccode`6=`\\ \uccode`7=`d \uccode`8=`e \uccode`9=`l
 \uppercase{\gdef\delim@#1#2#3#4#5\delim@
  {\delim@false\ifx 6#1\ifx 7#2\ifx 8#3\ifx 9#4\delim@true
   \xdef\meaning@{#5}\fi\fi\fi\fi}}}
\def\delim@@#1"#2#3#4#5#6\delim@@{\if#32%
\let\next@\relax
 \ifx\undefined\cmbsyfam \boldnotloaded\@ne
 \else \mathcharii@#2#4#5\space \fi\fi}
\def\vert{\delimiter"026A30C }
\def\Vert{\delimiter"026B30D }
\let\|\Vert
\def\backslash{\delimiter"026E30F }
\def\boldkeydots@#1{\bold@true\let\next=#1\let\delayed@=#1\mdots@@
 \boldkey#1\bold@false}  % = required!
\def\boldsymboldots@#1{\bold@true\let\next#1\let\delayed@#1\mdots@@
 \boldsymbol#1\bold@false}
\message{Euler fonts,}
\def\loadeufm{\loadmathfont{eufm}}
\def\loadeufb{\loadmathfont{eufb}}
\def\loadeusm{\loadmathfont{eusm}}
\def\loadeusb{\loadmathfont{eusb}}
\def\loadeurm{\loadmathfont{eurm}}
\def\loadeurb{\loadmathfont{eurb}}
\def\frak{\mathfont@\frak}
\def\frakfam{\eufmfam}
\let\goth\frak
\def\loadmathfont#1{% 
   \expandafter\font@\csname ten#1\endcsname=#110
   \expandafter\font@\csname seven#1\endcsname=#17
   \expandafter\font@\csname five#1\endcsname=#15
   \edef\next{\noexpand\alloc@@8\fam\chardef\sixt@@n
     \expandafter\noexpand\csname#1fam\endcsname}%
   \next
   \textfont\csname#1fam\endcsname \csname ten#1\endcsname
   \scriptfont\csname#1fam\endcsname \csname seven#1\endcsname
   \scriptscriptfont\csname#1fam\endcsname \csname five#1\endcsname
   \expandafter\def\csname #1\expandafter\endcsname\expandafter{%
      \expandafter\mathfont@\csname#1\endcsname}%
 \expandafter\gdef\csname load#1\endcsname{}%
}
\def\mathfont@#1{\RIfM@\expandafter\mathfont@@\expandafter#1\else
  \expandafter\nonmatherr@\expandafter#1\fi}
\def\mathfont@@#1#2{{\mathfont@@@#1{#2}}}
\def\mathfont@@@#1#2{\noaccents@
   \fam\csname\expandafter\eat@\string#1fam\endcsname
   \relax#2}
\message{math accents,}
\def\accentclass@{7}
\def\noaccents@{\def\accentclass@{0}}
\def\makeacc@#1#2{\def#1{\mathaccent"\accentclass@#2 }}
\makeacc@\hat{05E}
\makeacc@\check{014}
\makeacc@\tilde{07E}
\makeacc@\acute{013}
\makeacc@\grave{012}
\makeacc@\dot{05F}
\makeacc@\ddot{07F}
\makeacc@\breve{015}
\makeacc@\bar{016}
\def\vec{\mathaccent"017E }
\newcount\skewcharcount@
\newcount\familycount@
\def\theskewchar@{\familycount@\@ne
 \global\skewcharcount@\the\skewchar\textfont\@ne                           %1
 \ifnum\fam>\m@ne\ifnum\fam<16
  \global\familycount@\the\fam\relax
  \global\skewcharcount@\the\skewchar\textfont\the\fam\relax\fi\fi          %2
 \ifnum\skewcharcount@>\m@ne
  \ifnum\skewcharcount@<128
  \multiply\familycount@256
  \global\advance\skewcharcount@\familycount@
  \global\advance\skewcharcount@28672
  \mathchar\skewcharcount@\else
  \global\skewcharcount@\m@ne\fi\else
 \global\skewcharcount@\m@ne\fi}                                            %3
\newcount\pointcount@
\def\getpoints@#1.#2\getpoints@{\pointcount@#1 }
\newdimen\accentdimen@
\newcount\accentmu@
\def\dimentomu@{\multiply\accentdimen@ 100
 \expandafter\getpoints@\the\accentdimen@\getpoints@
 \multiply\pointcount@18
 \divide\pointcount@\@m
 \global\accentmu@\pointcount@}
\def\Makeacc@#1#2{\def#1{\RIfM@\DN@{\mathaccent@
 {"\accentclass@#2 }}\else\DN@{\nonmatherr@{#1}}\fi\next@}}
\def\unbracefonts@{\let\Cal@\Cal@@\let\roman@\roman@@\let\bold@\bold@@
 \let\slanted@\slanted@@}
\def\mathaccent@#1#2{\ifnum\fam=\m@ne\xdef\thefam@{1}\else
 \xdef\thefam@{\the\fam}\fi                                                 %1
 \accentdimen@\z@                                                           %2
 \setboxz@h{\unbracefonts@$\m@th\fam\thefam@\relax#2$}%                     %3
 \ifdim\accentdimen@=\z@\DN@{\mathaccent#1{#2}}%                            %4
  \setbox@ne\hbox{\unbracefonts@$\m@th\fam\thefam@\relax#2\theskewchar@$}% %5a
  \setbox\tw@\hbox{$\m@th\ifnum\skewcharcount@=\m@ne\else
   \mathchar\skewcharcount@\fi$}%                                          %5b
  \global\accentdimen@\wd@ne\global\advance\accentdimen@-\wdz@
  \global\advance\accentdimen@-\wd\tw@                                     %5c
  \global\multiply\accentdimen@\tw@
  \dimentomu@\global\advance\accentmu@\@ne                                 %5d
 \else\DN@{{\mathaccent#1{#2\mkern\accentmu@ mu}%
    \mkern-\accentmu@ mu}{}}\fi                                             %6
 \next@}\Makeacc@\Hat{05E}
\Makeacc@\Check{014}
\Makeacc@\Tilde{07E}
\Makeacc@\Acute{013}
\Makeacc@\Grave{012}
\Makeacc@\Dot{05F}
\Makeacc@\Ddot{07F}
\Makeacc@\Breve{015}
\Makeacc@\Bar{016}
\def\Vec{\RIfM@\DN@{\mathaccent@{"017E }}\else
 \DN@{\nonmatherr@\Vec}\fi\next@}
\def\accentedsymbol#1#2{\csname newbox\expandafter\endcsname
  \csname\expandafter\eat@\string#1@box\endcsname
 \expandafter\setbox\csname\expandafter\eat@
  \string#1@box\endcsname\hbox{$\m@th#2$}\define
  #1{\copy\csname\expandafter\eat@\string#1@box\endcsname{}}}
\message{roots,}
\def\sqrt#1{\radical"270370 {#1}}
\let\underline@\underline
\let\overline@\overline
\def\underline#1{\underline@{#1}}
\def\overline#1{\overline@{#1}}
\Invalid@\leftroot
\Invalid@\uproot
\newcount\uproot@
\newcount\leftroot@
\def\root{\relaxnext@
  \DN@{\ifx\next\uproot\let\next@\nextii@\else
   \ifx\next\leftroot\let\next@\nextiii@\else
   \let\next@\plainroot@\fi\fi\next@}%
  \DNii@\uproot##1{\uproot@##1\relax\FN@\nextiv@}%
  \def\nextiv@{\ifx\next\space@\DN@. {\FN@\nextv@}\else
   \DN@.{\FN@\nextv@}\fi\next@.}%
  \def\nextv@{\ifx\next\leftroot\let\next@\nextvi@\else
   \let\next@\plainroot@\fi\next@}%
  \def\nextvi@\leftroot##1{\leftroot@##1\relax\plainroot@}%
   \def\nextiii@\leftroot##1{\leftroot@##1\relax\FN@\nextvii@}%
  \def\nextvii@{\ifx\next\space@
   \DN@. {\FN@\nextviii@}\else
   \DN@.{\FN@\nextviii@}\fi\next@.}%
  \def\nextviii@{\ifx\next\uproot\let\next@\nextix@\else
   \let\next@\plainroot@\fi\next@}%
  \def\nextix@\uproot##1{\uproot@##1\relax\plainroot@}%
  \bgroup\uproot@\z@\leftroot@\z@\FN@\next@}
\def\plainroot@#1\of#2{\setbox\rootbox\hbox{$\m@th\scriptscriptstyle{#1}$}%
 \mathchoice{\r@@t\displaystyle{#2}}{\r@@t\textstyle{#2}}
 {\r@@t\scriptstyle{#2}}{\r@@t\scriptscriptstyle{#2}}\egroup}
\def\r@@t#1#2{\setboxz@h{$\m@th#1\sqrt{#2}$}%
 \dimen@\ht\z@\advance\dimen@-\dp\z@
 \setbox@ne\hbox{$\m@th#1\mskip\uproot@ mu$}\advance\dimen@ 1.667\wd@ne
 \mkern-\leftroot@ mu\mkern5mu\raise.6\dimen@\copy\rootbox
 \mkern-10mu\mkern\leftroot@ mu\boxz@}
\def\boxed#1{\setboxz@h{$\m@th\displaystyle{#1}$}\dimen@.4\ex@
 \advance\dimen@3\ex@\advance\dimen@\dp\z@
 \hbox{\lower\dimen@\hbox{%
 \vbox{\hrule height.4\ex@
 \hbox{\vrule width.4\ex@\hskip3\ex@\vbox{\vskip3\ex@\boxz@\vskip3\ex@}%
 \hskip3\ex@\vrule width.4\ex@}\hrule height.4\ex@}%
 }}}
\message{commutative diagrams,}
\let\ampersand@\relax
\newdimen\minaw@
\minaw@11.11128\ex@
\newdimen\minCDaw@
\minCDaw@2.5pc
\def\minCDarrowwidth#1{\RIfMIfI@\onlydmatherr@\minCDarrowwidth
 \else\minCDaw@#1\relax\fi\else\onlydmatherr@\minCDarrowwidth\fi}
\newif\ifCD@
\def\CD{\bgroup\vspace@\relax\iffalse{\fi\let\ampersand@&\iffalse}\fi
 \CD@true\vcenter\bgroup\Let@\tabskip\z@skip\baselineskip20\ex@
 \lineskip3\ex@\lineskiplimit3\ex@\halign\bgroup
 &\hfill$\m@th##$\hfill\crcr}
\def\endCD{\crcr\egroup\egroup\egroup}
\newdimen\bigaw@
\atdef@>#1>#2>{\ampersand@                                                  %1
 \setboxz@h{$\m@th\ssize\;{#1}\;\;$}%                                       %2
 \setbox@ne\hbox{$\m@th\ssize\;{#2}\;\;$}%                                  %3
 \setbox\tw@\hbox{$\m@th#2$}%                                               %4
 \ifCD@\global\bigaw@\minCDaw@\else\global\bigaw@\minaw@\fi                 %5
 \ifdim\wdz@>\bigaw@\global\bigaw@\wdz@\fi
 \ifdim\wd@ne>\bigaw@\global\bigaw@\wd@ne\fi                                %6
 \ifCD@\enskip\fi                                                           %7
 \ifdim\wd\tw@>\z@
  \mathrel{\mathop{\hbox to\bigaw@{\rightarrowfill@\displaystyle}}%
    \limits^{#1}_{#2}}%                                                     %8
 \else\mathrel{\mathop{\hbox to\bigaw@{\rightarrowfill@\displaystyle}}%
    \limits^{#1}}\fi                                                        %9
 \ifCD@\enskip\fi                                                          %10
 \ampersand@}                                                              %11
\atdef@<#1<#2<{\ampersand@\setboxz@h{$\m@th\ssize\;\;{#1}\;$}%
 \setbox@ne\hbox{$\m@th\ssize\;\;{#2}\;$}\setbox\tw@\hbox{$\m@th#2$}%
 \ifCD@\global\bigaw@\minCDaw@\else\global\bigaw@\minaw@\fi
 \ifdim\wdz@>\bigaw@\global\bigaw@\wdz@\fi
 \ifdim\wd@ne>\bigaw@\global\bigaw@\wd@ne\fi
 \ifCD@\enskip\fi
 \ifdim\wd\tw@>\z@
  \mathrel{\mathop{\hbox to\bigaw@{\leftarrowfill@\displaystyle}}%
       \limits^{#1}_{#2}}\else
  \mathrel{\mathop{\hbox to\bigaw@{\leftarrowfill@\displaystyle}}%
       \limits^{#1}}\fi
 \ifCD@\enskip\fi\ampersand@}
\begingroup
 \catcode`\~=\active \lccode`\~=`\@
 \lowercase{%
  \global\atdef@)#1)#2){~>#1>#2>}
  \global\atdef@(#1(#2({~<#1<#2<}}
\endgroup
\atdef@ A#1A#2A{\llap{$\m@th\vcenter{\hbox
 {$\ssize#1$}}$}\Big\uparrow\rlap{$\m@th\vcenter{\hbox{$\ssize#2$}}$}&&}
\atdef@ V#1V#2V{\llap{$\m@th\vcenter{\hbox
 {$\ssize#1$}}$}\Big\downarrow\rlap{$\m@th\vcenter{\hbox{$\ssize#2$}}$}&&}
\atdef@={&\enskip\mathrel
 {\vbox{\hrule width\minCDaw@\vskip3\ex@\hrule width
 \minCDaw@}}\enskip&}
\atdef@|{\Big\Vert&&}
\atdef@\vert{\Big\Vert&&}
\def\pretend#1\haswidth#2{\setboxz@h{$\m@th\scriptstyle{#2}$}\hbox
 to\wdz@{\hfill$\m@th\scriptstyle{#1}$\hfill}}
\message{poor man's bold,}
\def\pmb{\RIfM@\expandafter\mathpalette\expandafter\pmb@\else
 \expandafter\pmb@@\fi}
\def\pmb@@#1{\leavevmode\setboxz@h{#1}%
   \dimen@-\wdz@
   \kern-.5\ex@\copy\z@
   \kern\dimen@\kern.25\ex@\raise.4\ex@\copy\z@
   \kern\dimen@\kern.25\ex@\box\z@
}
\def\binrel@@#1{\ifdim\wd2<\z@\mathbin{#1}\else\ifdim\wd\tw@>\z@
 \mathrel{#1}\else{#1}\fi\fi}
\newdimen\pmbraise@
%      Note: because of the use of \mathpalette, if \pmb@ is
%      applied to a single math italic character (or a single
%      character from some other slanted math font), the italic
%      correction will be added.  This will cause subscripts
%      to fall too far away from the character in some
%      cases, e.g., $\pmb{T}_1$ or $\pmb{\Cal T}_1$.
\def\pmb@#1#2{\setbox\thr@@\hbox{$\m@th#1{#2}$}%
 \setbox4\hbox{$\m@th#1\mkern.5mu$}\pmbraise@\wd4\relax
 \binrel@{#2}%
 \dimen@-\wd\thr@@
   \binrel@@{%
   \mkern-.8mu\copy\thr@@
   \kern\dimen@\mkern.4mu\raise\pmbraise@\copy\thr@@
   \kern\dimen@\mkern.4mu\box\thr@@
}}
\def\documentstyle#1{\W@{}\input #1.sty\relax}
\message{syntax check,}
\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}}
\def\font@#1=#2 {\rightappend@#1\to\fontlist@\font#1=#2 }
\def\dodummy@{{\def\\##1{\global\let##1\dummyft@}\fontlist@}}
\def\nopages@{\output{\setbox\z@\box\@cclv \deadcycles\z@}%
 \alloc@5\toks\toksdef\@cclvi\output}
\let\galleys\nopages@
\newif\ifsyntax@
\newcount\countxviii@
\def\syntax{\syntax@true\dodummy@\countxviii@\count18
 \loop\ifnum\countxviii@>\m@ne\textfont\countxviii@=\dummyft@
 \scriptfont\countxviii@=\dummyft@\scriptscriptfont\countxviii@=\dummyft@
 \advance\countxviii@\m@ne\repeat                                           %1
 \dummyft@\tracinglostchars\z@\nopages@\frenchspacing\hbadness\@M}
\def\first@#1#2\end{#1}
\def\printoptions{\W@{Do you want S(yntax check),
  G(alleys) or P(ages)?}%
 \message{Type S, G or P, followed by <return>: }%
 \begingroup % to localize the following change to \endlinechar:
 \endlinechar\m@ne % to prevent a space or \par in \ans@ from ^^M
 \read\m@ne to\ans@
%  Define \ans@ to uppercase itself, and default to P if the user
%  just pressed <return>.
 \edef\ans@{\uppercase{\def\noexpand\ans@{%
   \expandafter\first@\ans@ P\end}}}%
%  Cast the new definition of \ans@ outside the group
 \expandafter\endgroup\ans@
 \if\ans@ P% fine, no action needs to be taken
 \else \if\ans@ S\syntax
 \else \if\ans@ G\galleys
 \else\message{? Unknown option: \ans@; using the `pages' option.}%
 \fi\fi\fi}
\def\alloc@#1#2#3#4#5{\global\advance\count1#1by\@ne
 \ch@ck#1#4#2\allocationnumber=\count1#1
 \global#3#5=\allocationnumber
 \ifalloc@\wlog{\string#5=\string#2\the\allocationnumber}\fi}
\def\document{\def\alloclist@{}\def\fontlist@{}}
\let\enddocument\bye
\let\plainproclaim\proclaim
\let\plainfootnote\footnote
\let\proclaim\undefined
\let\footnote\undefined
\let\=\undefined
\let\>\undefined
\let\cal\undefined
\let\mit\undefined
\let\oldstyle\undefined
\catcode`\@=\active
\message{... finished}
\endinput

auto16.tex

\input amstex
\magnification =1200
\define\spc{strictly pseudoconvex}
\define\sps{strictly plurisubharmonic}
\define\gt{Grauert tube}
\documentstyle {amsppt}
\baselineskip 1.4\baselineskip
\topmatter
\title  Complete hyperbolic Stein manifolds with prescribed automorphism groups\endtitle
\author Su-Jen Kan 
\endauthor 
\address 
Institute of Mathematics, Academia Sinica, Taipei, Taiwan
\endaddress
\email 
{kan\@math.sinica.edu.tw}
\endemail

\NoRunningHeads
\NoRunningHeads
\thanks 2000 {\it Mathematics Subject Classification. } 32C09, 32Q28, 32Q45, 53C24, 58D19. This
research is partially supported by NSC 93-2115-M-001-006. 
\endthanks
\abstract

It is well-known that the automorphism group of a hyperbolic manifold is a Lie group.
Conversely, it is interesting to see whether or not any Lie group could be prescribed as
the automorphism group of certain complex manifold. 

When
the Lie group $G$ is  compact and connected, this problem has been completely
solved by Bedford-Dadok  and  independently by Saerens-Zame  on 1987.  They
have constructed \spc\ bounded domains $\Omega$ such that $Aut(\Omega)=G$. 
For Bedford-Dadok's $\Omega, \ 0\le dim_{\Bbb C}\Omega- dim_{\Bbb R}G\le 1$; 
for generic Saerens-Zame's
$\Omega,dim_{\Bbb C}\Omega \gg dim_{\Bbb R}G$.

J. Winkelmann has  answered  affirmatively to   noncompact connected Lie
groups in recent years. He showed
 there exist Stein complete hyperbolic manifolds $\Omega$ such that $Aut(\Omega)=G$.
In his construction, it is typical that $dim_{\Bbb C}\Omega\gg dim_{\Bbb R}G$.

In this article, we  tackle this problem from a different aspect. We prove
that for any connected Lie group $G$ (compact or noncompact), there exist complete
hyperbolic Stein manifolds $\Omega$ such that $Aut(\Omega)=G$ with $dim_{\Bbb
C}\Omega=dim_{\Bbb R}G.$ Working on a natural complexification of the real-analytic
manifold $G$, our construction of $\Omega$ is geometrically concrete and
elementary in nature.

\endabstract
\endtopmatter

\subheading {1. Introduction}


It is well-known that the automorphism group of a hyperbolic manifold has the structure
of a Lie group. It is natural to ask whether  every Lie group could appear as the
 automorphism group of certain  hyperbolic manifolds or not. This problem sometimes is
called the realization problem: realizing a Lie group as the  automorphism group of
certain complex manifold.

This realization problem has been completely solved 
 by Bedford-Dadok [B-D] and independently by Saerens-Zame [S-Z]  when the
given Lie group is compact and connected. In recent years, generalizing ideas of 
Saerens-Zame, Winkelmann [W] has settled the realizing problem for  any
connected Lie group. However, domains $\Omega$ constructed from this
Saerens-Zame-Winkelmann's approach are typically with $dim_{\Bbb C}\Omega\gg
dim_{\Bbb R}G$.

The strategy of Saerens-Zame-Winkelmann was first to find a domain $D$ on
which $G$ acts by automorphisms, and then perturbed it to a $G$-invariant \spc\ subdomain
in such a way that the additional automorphisms were ruled out by assigning 
CR-invariants to each $G$-orbit on the boundary. To find such a domain $D$ to start
with, Saerens-Zame first embedded the compact Lie group $G$ into the unitary group $U(N_1)$
and then constructed a domain $D$ in $GL(N_1,\Bbb C)\times \Bbb C^{N_2}$ on which $G$ acts
by automorphisms where $N_1$ and $N_2$ are large in general. 
 Due to the above embedding
process, the generic resultant complex manifold
$\Omega$  has  large complex dimension, $dim_{\Bbb
C}\Omega\gg dim_{\Bbb R}G$. Having observed  every Lie algebra is linear and
hence the universal covering of a Lie group could be viewed as linear, Winkelmann
has been able to embed
$\tilde G\hookrightarrow Sp(N_3,\Bbb R)$ and then find a suitable domain $D\subset \Bbb
C^{N_4}$ to start with. Again, this embedding process and the construction of the domain
$D$ has enormously increased the dimension.

The complexification $G_{\Bbb C}$ of a compact Lie group $G$ is Stein with $dim_{\Bbb
C}G_{\Bbb C}=dim_{\Bbb R}G.$
Starting from  domains in $G_{\Bbb C}$, Bedford-Dadok were able to give a more concrete
construction. They found bounded \spc\ domains
$\Omega\subset G_{\Bbb C}$ or $\Omega\subset G_{\Bbb C}\times\Bbb C$ such that
$Aut(\Omega)=G$.
 

A natural attempt is to generalize Bedford-Dadok's approach to noncompact Lie groups.
Unfortunately,  it is not easy to give a canonical complexification of a generic
noncompact  Lie group such that $dim_{\Bbb
C}G_{\Bbb C}=dim_{\Bbb R}G.$  In this article  we
consider a special kind of complexifications of real-analytic manifolds to
resolve this difficulty. 

A Lie group $G$ equipped with a
left-invariant metric $g$ is naturally a homogeneous space with $Isom (G)\simeq
L(G)\cdot K$ where
$K$ is the isotropy group and $L(G)$ are left multiplications.
 We provide the
tangent bundle of the Riemannian manifold $(G,g)$ with
 a complex structure   in such a way that 
all the leaves of the  Riemannian foliation are holomorphic curves.
The  disk bundle of radius $r$ is called  a \gt \ $T^rG$. 

Generalizing  the rigidity result, $Aut(T^rG)=Isom (G)$, proved in [K]  we are able to
dominate automorphism groups of certain  domains $D\subset T^rG$.  We prove it at Theorem
3.5 and call it the  subrigidity $Aut(D)<Isom(G)$.


Starting from such a domain $D$ our strategy is to destroy, through certain $G$-invariant
perturbations, the additional automorphisms coming from the isotropy group.
Though the objects we deal with are not even relatively compact, the holomorphic 
extension property needed here is not hard to handle due to the 
special complex structure adopted here.
In fact, most mappings we deal with are bundle mappings which automatically
extend over the boundary. 
The main result of this article is

\proclaim{Theorem }
Let $G$ be a  connected Lie group of dimension $n\ge 2$. Then there exist   complete
hyperbolic Stein manifolds
 $\Omega, dim_{\Bbb C}\Omega=n$,  such that $Aut(\Omega)=G$.
\endproclaim 
The dimensional
condition
$n\ge 2$ has to be added here since the main idea we'll use  follows from the
rigidity arguments  of \gt s while \gt s and their perturbations are biholomorphic to the
unit disc, by the Riemann mapping theorem, when the center  is of dimension one. 
In the rigidity arguments of  \gt s, it is also necessary to assume the Riemannian
manifold is connected. At this moment, I could not see a way to release  the
connectedness of the Lie groups.
We remark while Saerens-Zame's result works for compact disconnected  Lie group as well,
the resultant complex manifold $\Omega$ is typically with $dim_{\Bbb
C}\Omega\gg dim_{\Bbb R}G$. 


We emphasize that  methods developed in this article work simultaneously for 
compact and noncompact Lie groups; the complex dimension of the resultant  complex
manifold 
$\Omega$ is equal to the real dimension of $G$; and
  $\Omega$ thus obtained are
constructed in a geometrically concrete and  nature way. 

The organization of this article is the following. In $\S2$ we briefly review 
terminologies concerning \gt s and prove the existence of Stein \gt s. Generalizing 
notations about the rigidity of \gt s, we prove subrigidity characterization of
certain domains in 
$\S3$. In $\S4$, specific domains and perturbations are constructed explicitly.
We perturb domains in the tangent bundle of  a connected Lie group in an invariant
way such that extra  symmetry on each fiber would be eliminated. By constructed such kind
of domains in a fairly explicitly way, the realization of a connected Lie group as an
automorphism group   follows from the subrigidity derived on
$\S3$.

This realization problem was first noticed by the author and also mentioned to the
author by  Peter Heinzner  in September 2002 when I was visiting
Ruhr-Universit\"at, Bochum Germany. Over years I was trapped in an effort to show every
\gt\ is Stein. Among other things, I am very grateful to 
Peter Heinzner for bringing my attention to  [HHK] and [D-G],
which have helped settling down the Steiness part  needed in this article, during my
recent visit to Bochum in August 2004. I would also like to thank J\"org Winkelmann for
many helpful discussions about this project during the Hayama Symposium  2002.

\

\subheading{2. Existence of Stein Grauert tubes}


 Throughout this article,   $(M,g)$ is assumed to be  a connected
real-analytic Riemannian manifold of dimension $\ge 2$.  There exists a complex
structure, the {\it adapted complex structure}, in a domain $\Omega(M) \subset TM$ which
turns leaves of the Riemannian foliation on
$\Omega(M)\backslash M$ into holomorphic curves. Let's denote by $\Omega(M)$  the
maximal domain in which the adapted complex structure exists. With respect to this 
complex structure, the length square function 
$\rho (x,v):=|v|^2$ is
\sps\  and satisfies the complex homogeneous Monge-Amp\`ere equation $(d d^c\rho)^n=0$
on
$\Omega (M)\backslash M$ with the initial condition   $\rho_{i\bar
j}|_{\sssize M}=\frac 12 g_{i j}.$ 
The {\it
\gt} 
$$T^rM=\{(x,v):x\in M, v\in T_xM, |v|<r\}=\{\rho^{-1}[0,r^2)\}$$ is the collection of
tangent vectors of length less than $r$   equipped with the  adapted complex 
structure; $M$ is the  center and $r$ is the radius. In general the maximal
domain $\Omega(M)$ is not a \gt, $\Omega(M)$ is a \gt\ if and only if $M$ is a symmetric
space of rank one.
 There is a natural antiholomorphic involution $\sigma$ fixing
every point of  $M$,
$$\sigma: \Omega (M)\to  \Omega (M),\;\; (x,v)\to  (x,-v).\tag 2.1$$

  For two isometric real-analytic Riemannian manifolds $(M,g)$ and $(N,\kappa)$, the
nature of the adapted complex structure will assure the biholomorphic equivalence of
$\Omega(M)$ and
$\Omega(N)$ and the biholomorphic equivalence of $T^rM$ and $T^rN$ as well. Given
an isometry $h$ of $(M,g)$, the differential $dh$ acts as a biholomorphism on
$\Omega(M)$;
$$dh:\Omega(M)\to \Omega(M),\;\;
dh(x,v)= (h(x), h_*v).\tag 2.2$$ 
The notation $F_p^r$ is reserved for the fiber passing $p\in M$,
$$F^r_p:=\{(p,v):v\in T_pM, |v|<r\}.\tag 2.3$$


Since the complex structure we consider here is a local object, for each real-analytic
Riemannian manifold, there exists an 
$r_{max}(M)\ge 0$, the maximal radius such that the adapted complex structure could be
 well-defined   on
$T^{r_{max}}M$. For compact, co-compact or homogeneous  $M$,  $r_{max}(M)>0.$  For any
$r<r_{max}(M)$, the
complex manifold $T^rM\subset T^{r_{max}}M$ with \spc\ boundary
defined by $\{\rho=r^2\}$. 

It is shown in Theorem 5.2 of [K] that any \gt\ over homogeneous space of radius
$r<r_{max}$ is complete hyperbolic. Another
natural question  to ask about is whether or not a \gt\ is  Stein. 

 Recall from [D-G] that an {\it unramified Riemannian domain} $D$ over a Stein manifold
$X$  is a complex manifold $D$ together with a locally homeomorphic holomorphic map from
$D$ to $X$ and that a pseudoconvex unramified Riemannian domain over a Stein manifold
is itself Stein. It is clear that any pseudoconvex domain in a Stein manifold is 
Stein since we may take  the imbedding as the  holomorphic map.

\proclaim{Proposition 2.1}
$T^rM$ is a Stein manifold for all $r\le r_{max}(M)$ if $M$ 
  is one of the following:  compact; co-compact;  homogeneous with nonnegative
curvature.
\endproclaim
\demo{Proof}
 For compact  $M$, the \gt\ $T^rM,r\le r_{max}$ is exhausted by the \sps\ function
$-\log (r^2-\rho)$, hence is  Stein.  

 When $M$ is co-compact,  $\hat M=M/\Gamma$ is compact for some discrete
subgroup $\Gamma<Isom(M)$, then the \gt\ $T^r  M$ 
 is simply a covering  of the Stein \gt \ $T^r\hat M$. Thus 
$T^rM, r\le r_{max}(M),$
is Stein.

 Following the decomposition theorem( Theorem 7.1*, 
[C-G]) of Cheeger-Gromoll  a homogeneous manifold $M$ of nonnegative curvature may be
written as the product  $\Bbb R^k\times  M^*$ where $ M^*$ is a compact
homogeneous space of nonnegative curvature. Since the metric on $M$ is the product metric
from 
$\Bbb R^k$ and $ M^*$,
it is clear that $r_{max}(M)=r_{max}( M^*)$ and
$T^r(M)\subset \Bbb C^k\times T^{r_{max}}( M^*), \,\ \forall r\le r_{max}.$
For any $r\le r_{max}$, $T^r(M)$ has pseudoconvex boundary since the boundary is 
locally exhausted by the \sps \ function $-\log (r^2-\rho)$.
Being a  pseudoconvex  domain in the Stein manifold $\Bbb C^k\times
T^{r_{max}}( M^*)$,  $T^{r_{max}}M$ is Stein. \qed
\enddemo
Though there is no example disproving the Steiness of any \gt, the above three
categories are the only complete classes that we are sure about the Steiness of any \gt s
over. For some very special  kind  of homogeneous spaces $M=G/K$, Halverscheid-Iannuzzi
[H-I] were able to construct a polar map from  $TM$ to the Stein manifold $G_{\Bbb
C}/i(K_{\Bbb C}).$ They show the maximal domain over a Heisenberg group is neither
holomorphically separable nor holomorphically convex. However, there are some
facts hiding behind: Grauert tubes constructed over their spaces
 are  Stein. Their polar map is an unramified one therefore, \gt s are
pseudoconvex Riemann domains over the Stein manifold  $G_{\Bbb
C}/i(K_{\Bbb C}),$ they are Stein (c.f. [D-G]).

 A
complex manifold $X$ is  a  {\it complexification} of $M$ if  $M\subset X$ as a maximal
totally real submanifold  $dim_{\Bbb C}X=dim_{\Bbb R}M$. Utilizing his solution to
the Levi problem, Grauert has proved  there always exists a Stein complexification of a
real-analytic manifold.

Though any two complexifications $(X_1,J_1)$ and $(X_2,J_2)$ of a real-analytic manifold
$M$ are locally biholomorphic near $M$, i.e., there exist a neighborhood $U_1$ of $M$
in $X_1$ and a neighborhood $U_2$ of $M$ in $X_2$ such that $U_1$ and $U_2$ are
biholomorphically equivalent, we still can't conclude there are some Stein \gt s of
small radii since it does not seem clear how to control the radius uniformly when the
manifold is  not relatively compact.

In [HHK], the authors have put on an extra piece of information, say there is some kind of
$G$-action on $M$. They ask for the question whether the
 Stein manifold in Grauert's complexification could still be chosen to be
$G$-invariant or not. Analyzing the real-analytic slices of certain categorical
quotients, they  conclude the following:
 \proclaim{Theorem(H-H-K)} Let $X$ be a 
$G$-complexification of a real-analytic manifold $M$ where $G$ is a connected Lie group
 acting properly on  $M$ as real-analytic diffeomorphisms. 
Then there exists a 
$G$-invariant Stein neighborhood of $M$ in $X$.
\endproclaim 

A group action $G$ on $M$ is  {\it proper} if  the inverse image of a
compact set is compact. A  complexification $X$  of $M$ is called a {\it
$G$-complexification}  if the
$G$-action on $M$ extends  to a holomorphic $G$-action on $X$.

Though it is not clear whether  a
generic \gt\ is Stein or not, a direct application of the above theorem would
assert the existence of Stein \gt s of small radii provided the centers have possessed
some transitivity property. This would be enough for the purpose of solving the
realization problem.

\proclaim{Proposition 2.2}
Let $(M,g)$ be a homogeneous space. Then there exist $\epsilon >0$ such that the \gt \
$T^{\epsilon}M$ is Stein and complete hyperbolic.
\endproclaim
\demo{Proof}
Let $G=Isom_0 (M)$, then $G$ acts properly on $M$ and acts
holomorphically on the complexification  $T^{r_{max}}M$ of $M$. By [HHK], there 
exists a $G$-invariant Stein neighborhood $U$ of $M$ in $T^{r_{max}}M$. For $p\in M$ we
may assume the fiber $F^{\epsilon}_p$,  tangent vectors at $p$ of length less
than
$\epsilon$, is contained in  $U$. By the transitivity of the $G$-action, $G\cdot
F^{\epsilon}_p$ is the \gt\ $T^{\epsilon}M.$ The Steiness follows since 
$T^{\epsilon}M$ is now a \spc\ domain in the Stein manifold $U$.\qed
\enddemo

\

\

\subheading{3. Subrigidity of  domains}

Let $Aut$ denote the automorphism group and $Isom$ denote the isometry group; $Aut_0$
and $Isom_0$ denote the corresponding identity components. For  any  real-analytic
Riemannian manifold
$(M,g)$ such that 
$T^rM$ is not covered by the ball,
 the following  rigidity results were proved  in  [K].
 \roster
\item $Aut_0(T^rM)=Isom_0(M)$;
\item furthermore, if $M$ is homogeneous then $Aut(T^rM)=Isom(M)$.
\endroster

We remark here that whenever the rigidity is mentioned, we always assume $\dim M>1$.
When $\dim M=1$, the \gt\ $T^rM$ is the disc in $\Bbb C$. 
 One essential feature of \gt s is the symmetry on each fiber, each fiber is
a disk bundle. In this section, we'll consider domains in a more
general setting, perfect symmetry on fibers won't be asked for any more. One crucial step in
proving the rigidity  is the Theorem 4.1 in [K] which has characterized the isometry
group of $M$. We will show  this kind of characterization still works and   
$Aut(D)$ is  dominated by
$Isom(M)$ provided there is some transitivity on $M$.
Arguments will follow  the  spirits and methods developed in [K]. 
However, 
an extra piece of assumptions on the target \gt\ is necessary; we assume  \gt s are
Stein while the existence has been guaranteed in the last section. 
\proclaim{Lemma 3.1}
Let $T^rM$ be a Stein \gt, $D\subset T^rM$ be a connected domain containing  $M$. If
$f\in Aut (D) , f(M)=M$, then $f=du$ for some isometry $u$ from $(M,g)$ to
$(M,\kappa)$ and
$f$ could be extended
 over the boundary $\partial D$.

\endproclaim

\demo{Proof}
From the construction of \gt s, it is clear that $M$ is a maximal totally real
submanifold of $D$. Let $\rho$ denote the length square function on $T^rM$, then 
$\rho\cdot f^{-1}$ is a
\sps \ function on $D$. The Riemannian metric $g$ is induced from the K\"ahler form 
${i}\partial\bar\partial\rho$, $2\rho_{i\bar j}|_{\sssize
M}= g_{i j}.$  Similarly, the  K\"ahler form 
${i}\partial\bar\partial(\rho\cdot f^{-1})$ has induced a Riemannian metric $k$ on
$M$. Let $u=f|_{M}:(M,g)\to (M,\kappa)$; $u$  is an isometry. 
By the nature of the adapted complex structure, the differential $du$ is a
biholomorphic mapping from the \gt\ $T^r(M,g)$ to the \gt\ $T^r(M,\kappa).$ 

Let $D_1=D\cap T^r(M,\kappa)\hookrightarrow \Bbb C^N$ for some $N$. This could be
achieved since $T^r(M,g)$ is Stein and $T^r(M,\kappa)$ is biholomorphic to $T^r(M,g)$. Let
$D_2=(du)^{-1}(D_1)\subset T^r(M,g)$. Let
$D_3=D\cap D_2$ then $D_3$ is a
domain in
$T^rM$ which has contained
$M$ as a maximal totally real submanifold. Restricted to $D_3$, 
  $f$ and $du$ could be viewed  as   holomorphic functions from $D_3$ to $\Bbb C^N$.
Since $f=du$ at the maximal totally real submanifold $M$, by the identity principle,
$f\equiv du$ on the subdomain $D_3$ and hence  $f\equiv du$ on $D$. For $(x,v)\in D,
f(x,v)=du(x,v)=(u(x),u_*v))=(f(x),u_*v)$ is a bundle map acting fiberwise. It is clear
that 
$f$ could be extended  over the boundary of $D$.
\qed
\enddemo
 
Recall $\Omega(M)$ is the maximal domain in $TM$ such that the adapted complex structure
is defined; $\sigma$ is the natural antiholomorphic involution in $\Omega(M)$ and  
the norm-square function $\rho$ is 
\sps\ in $\Omega(M)$. Sibony (Theorem 3, [S]) has asserted the hyperbolicity of any 
complex manifold equipped with a bounded \sps\ function. For domains in $\Omega(M)$ to
be hyperbolic, the only thing we got to take care is the vertical direction. 

One essential
feature of Grauert tubes is that each fiber, which is diffeomorphic to a real
ball, has perfect symmetry. We have tried to release this symmetry on the fiber 
to get some kind of rigidity result. However, it seems to us  certain kind of
transitivity on  the domain is necessary for our purpose. We make the following
definition.
\proclaim{Definition 3.2}  A  domain  $D\subset\Omega(M)$ is  
$G$-homogeneous if:
\roster 
\item there exists a connected subgroup
$G\subset Isom(M)$  acting transitively on
$M$;
\item there exists a bounded open subset $ F_p\subset T_pM$ such that 
$D=G\cdot F_p$.\endroster 
\endproclaim

With this extra piece of symmetry,  Lemma 3.1 has the following refined form:
\proclaim{Proposition  3.3} 

Let $D$ be a  $G$-homogeneous domain in $\Omega(M)$.
If $f \in Aut (D),f(M)=M$, then
$f=du$ for some $u\in Isom(M)$.
\endproclaim
\demo{Proof}
Since $M$ is homogeneous, there exists small $\epsilon$ such that $T^{\epsilon}M$ is
Stein. The restriction map of $f$ to $D\cap T^{\epsilon}M$ has possessed the bundle map
property developed in Lemma 3.1. Thus $f=du$, for some isometry $u$ from the Riemannian
manifold $(M,g)$ to the Riemannian manifold $(M,\kappa)$. By the assumption on $D$ 
there exist $G\subset Isom(M)$ and $p\in M$ such that 
$D=G\cdot F_p$. 

Let $q=u(p)=h(p)$ for some $h\in G$ and  let $\{e_1,\cdots,e_n\}$
be an orthonormal basis of $F_p$ with respect to the metric $g$. Since $h$ is an
isometry,
$\{(e_1,\cdots,e_n)A\}$ is an orthonormal basis of $F_q$ with respect to the metric $g$
where $A\in O(n)$. On the other hand, $\{u_*e_1,\cdots,u_*e_n\}$ form an orthonormal
basis of $F_q$ with respect to the metric $\kappa,$ thus, there exists a $B\in GL(n,\Bbb
R)$ such that $$(u_*e_1,\cdots,u_*e_n)=(e_1,\cdots,e_n)AB.$$ Let's denote the matrix
$AB=C=(C_1,\cdots, C_n)$ and $e=(e_1,\cdots,e_n)$ then 
$$\delta_{ij}=<u_*e_i,u_*e_j>_{\kappa}=<e C_i,eC_j>_g=C_i\cdot C_j.$$
This shows  $C$ is a matrix with orthonormal columns, thus $C\in O(n)$ and $B\in
O(n)$ as well.

The orthonormal basis $\{u_*e_1,\cdots,u_*e_n\}$ of the metric $\kappa$ come from an
orthogonal transformation of the orthonormal basis $\{e_1,\cdots,e_n\}$ of the metric
$g$. Thus, $\kappa=g$ and $u\in Isom(M,g)$.
\qed
\enddemo

A $G$-homogeneous domain  is hyperbolic and hence its automorphism group is
a Lie group. Let $D$
be a $\sigma$-invariant \spc\ $G$-homogeneous domain in $\Omega(M)$. 
Following notations used  in $\S6$ of [K], we set $\widehat {Aut}(D):=
Aut(D)\cup\sigma\cdot Aut(D)$ and denote
$\hat\Cal L$ as the Lie algebra of $\widehat {Aut}(D)$. Modifying the proofs of
Lemma 6.1, Lemma 6.2 and Lemma 6.3 in [K], it could be shown that for every $\xi\in\Cal
L$, the Lie algebra of $Aut(D)$, the vector field associated to $\xi$ is tangent to $M$.
We conclude

\proclaim{Proposition 3.4}
 Let $D$ be a $\sigma$-invariant \spc\  $G$-homogeneous domain in $\Omega(M)$. If
$D$    is not biholomorphic to the ball. Then $Aut_0(D)\subset Isom_0(M).$
\endproclaim


Furthermore, following [K] again, we are going to
prove the subrigidity $Aut(D)\subset Isom(M)$. For the rest of this
section, we assume $D$ is a \spc\ $\sigma$-invariant  $G$-homogeneous  domain in
$\Omega(M)$, $D$ is not biholomorphic to the ball. Proofs go exactly the same way as in
$\S7$ of [K]; a brief explanation would be given in the following. 

(I). First of all, a \spc\  $G$-homogeneous  domain in $\Omega(M)$ is complete
hyperbolic since the boundary behavior is dominated by the \spc ity and the horizontal
direction is determined by the transitivity of the $G$-action. 

(II). Secondly, the following is clear
 from the $G$-homogeneity and Prop. 3.4.
$$G\subset Aut_0(D)\subset Isom_0(M).$$
Given $f\in Aut (D)$, $D$ is also a  $f\cdot G\cdot f^{-1}$--homogeneous domain
centered at $N=f(M)$. By the homogeneity of the $G$-action,
$$\aligned & N=f(M)=f(G\cdot p)=f(Aut_0(D)\cdot p)=Aut_0(D)\cdot f(p);\\
& \pi (N)=\pi (Aut_0(D)\cdot f(p))=Aut_0(D)\cdot \pi (f(p))=M.
\endaligned$$

Thus, the argument in Lemma 7.1 of [K] goes through and $f(M)\cap T_pM\ne\emptyset$ for
any $p\in M$. 

(III). Since $D$ is  complete hyperbolic and $G$-homogeneous,  arguments in Prop.7.2
of [K] could be transplanted here.
Thus, the index of $G$ in
$Aut(D)$ is finite.

(IV). Let $\tau=f\cdot\sigma\cdot f^{-1}$ be the associated antiholomorphic
involution with respect to the fixed point set $N=f(M)$, then the identity relation  at
(7.2) and the Proposition 7.3 of [K] work as well. Thus, there exists an odd integer $k$
such that
$(\sigma\cdot\tau)^k=id.$

We conclude this section by the following theorem.
\proclaim{Theorem 3.5}

Let $D$ be a $\sigma$-invariant \spc\  $G$-homogeneous  domain in $\Omega(M).$
Then either  $Aut(D)\subset Isom(M)$ or $D$ is the ball.
\endproclaim
\demo{Proof}
As stated in (III),  $Aut(D)/G=\{g_jG: g_j\in Aut(D), j=1,\dots, k\}$.
Then $\psi(z)=\sum_{j=1}^k \rho(g_j(z))$ is an
$\widehat {Aut}(D)$-invariant strictly plurisubharmonic
nonnegative function in $D$ where $\rho$ is the length square function in $D$. As $G$
acts transitively on
$M$, the tangent space $T_z(D)$ could be decomposed as, for any $z\in D$, 
$$T_z(D)=T_z(G \cdot z)+T_z(T_{\pi(z)}M\cap D)$$ where $\pi$ is the fiber projection
$\pi (x,v)=x,\; \forall v\in T_xM$.


 Since $\psi$ is constant in $G
\cdot z$, every critical point of the function $f_z:= \psi|_{T_{\pi(z)}M\cap D}$ is a
critical point of $\psi$ and every critical point of $\psi$ occurs at the critical
points of the functions $f_z$.

 As $\psi$ is strictly plurisubharmonic, the above
decomposition implies that the real Hessian of $f_z$ is positive definite on the tangent
space 
$T_z(T_{\pi(z)}M\cap D).$ Since $f_z$ is proper on the  fiber, it follows
that there is exactly one critical point of $f_z$ which turns out to the  minimal point.
Since $\psi\cdot
\sigma=\psi$, the minimum of $f_z$ occurs at $\pi (z).$ That is to say that the set of critical
points of $\psi$ is exactly  $M$.

Let $f\in Aut(D), f(M)=N$, then $N$ is the critical point set of $\psi$ since $\psi$ is
$Aut(D)$-invariant. We conclude that $N=M$ and  $f\in Isom(M)$ following from Prop.3.3. 
The inclusion $Aut(D)\subset Isom(M)$ is concluded.\qed
\enddemo

\

\subheading{4. Realizing a connected Lie group as an automorphism group}

Let $G$ be a connected real Lie group with Lie algebra $\Cal G$. Given a positive
definite inner product $<\;,\;>$ on $T_eG=\Cal G$, we may endow  $G$ with the associated 
 left invariant Riemannian metric $g$. Every Lie
group is real-analytic, since it is
locally diffeomorphic to the Lie algebra $\Cal G$ through the exponential map. Thus
$(G,g)$ is a real-analytic Riemannian manifold. Furthermore, $(G,g)$ is a homogeneous
space with trivial tangent bundle $G\times T_eG$.  


It is clear
that the left translation group $L(G)$ is a subgroup of $Isom(G,g)$ and $L(G)$ acts
transitively on $G$. Furthermore, the transitivity implies the  diffeomorphic
equivalence of $G$ with
$Isom(G,g)/K$ and with $Isom_0(G,g)/K_0$ where 
$$K=\{h\in Isom(G,g):h\cdot e=e\}\tag 4.1$$ is the
isotropy group at $e\in G$ and $K_0=K\cap Isom_0(G,g)$. The
following two equations are  immediate.
$$Isom(G,g)\simeq L(G)\cdot K,\;\; Isom_0(G,g)\simeq L(G)\cdot K_0.\tag 4.2$$

From now on, we denote the homogeneous Riemannian manifold $(G,g)$ as $(M,g)$ where $G$
is a connected Lie group of dimension $n\ge 2$ and $g$ is a left invariant real-analytic
metric on $G$. We would like to construct a 
$G$-homogeneous
\spc\  domain  and then further perturb the domain  to
eliminate additional automorphisms such that the automorphism group of the resultant
domain
 is  $G$. We emphasize  that our method work for both
compact and noncompact Lie groups as long as the Lie group is connected. The dimensional
condition
$n\ge 2$ has to be added here since the main idea we used here follows from the
rigidity argument  of \gt s while the rigidity of \gt s fails when the center is of dimension
one. 

Let $(M,g)=(G,g)$ be as above. Since it is homogeneous, there exist $\delta>0$ such
that the \gt\ $T^{\delta}M$ is  Stein  and the \gt\ $T^{2\delta}M$ still exists. Let
$\rho$ denote the length square function; $\sigma$ denote the natural antiholomorphic
map in $T^{2\delta}M$ and 
$F^r_p$ denote tangent vectors at $p\in M$ of length less than $r$,
$F^r_p:=\{(p,v):v\in T_pM, |v|<r\}.$ 

Let $\{e_1,\cdots,e_n\}$ be an
orthonormal basis--with respect to the metric $g$-- of $F^{2\delta}_p$, $K$ be the
isotropy group of $(M,g)$ at $p\in M$. Then $K\subset O(n)$ when we view
$F^{2\delta}_p$ as a subspace of the real vector space generated by the orthonormal basis
$\{e_1,\cdots,e_n\}$. 

Let $a_j=\delta e_j\in  F^{2\delta}_p, j=1,\cdots,n.$ Choose a ball
$B_{\epsilon}\subset F^{2\delta}_p$ centered at
$a_1$ of  radius $\epsilon\ll\delta$ and a family of orthogonal transformations
$f_j\in O(n)$ such that $ f_j(a_1)=a_j,j=2,\cdots,n.$ 

Let $\eta_1(x)=(x-a_1)^{4l},l\ge 1,$ be a real-analytic function on 
$B_{\epsilon}$. Convoluting with some cut-off function, we may assume $\eta_1$ has
compact support
$C_1\subset B_{\epsilon}$. 

Denoting $f_1=id$, we define a function $\eta_2$ on $F_p^{2\delta}$ as follows:
$$\eta_2(f_j(x))=\eta_2(\sigma (f_j(x)))=\frac 1j\eta_1(x),\;\forall x\in F_p^{2\delta},
j=1,\cdots,n.\tag 4.3$$

The ball $B_{\epsilon}$ could be arranged so small that  $\{\sigma^i
(f_j(B_{\epsilon})): i=0,1; j=1,\cdots,n\}$  are pairwise disjoint.
It is clear that $\eta_2$ is a $\sigma$-invariant function in $F_p^{2\delta}$
 with compact support
$C_2$ contained in
$\cup_{j=1}^n (f_j(B_{\epsilon})\cup \sigma (f_j (B_{\epsilon}))).$

Since the tangent bundle of a Lie group is trivial, $TM=G\times T_pM$.
We define a real-analytic functions $ \eta$ in $T^{2\delta}M=G\times F_p^{2\delta}$ by
setting 
$$\eta(h\cdot x)=\eta_2(x),\;\forall h\in G, x\in F_p^{2\delta}.\tag 4.4$$
 
Clearly, $ \eta$ is a nonnegative $G$-invariant and $\sigma$-invariant real-analytic
function on
$T^{2\delta}M$.
Recall $\rho$ is the length square function of the tangent vectors which is
$G$-invariant and 
\sps\  and
$T^{\delta}M=\{\rho^{-1}([0,\delta^2))\}$. 
Define the function, for some $0<\epsilon'\ll 1$, $$\hat \rho=\rho
-\delta^2+\epsilon'\eta\tag 4.5$$  Shrinking $\epsilon'$ if necessary such that  all the 
0-th, first and second order derivatives of $\epsilon'\eta$ are well under control.
Thus, we may assume the  function $\hat \rho$
 is \sps. It is $G$ and $\sigma$
invariant since both $\rho$ and $\eta$ are.

Let $D$ be a domain defined by the function $\hat\rho,$
$$D:=\{z\in T^{2\delta}M;\hat\rho (z)<0\}.\tag 4.6$$ 

It is clear that $D$ is a $\sigma$-invariant \spc\  $G$-homogeneous domain in
$ T^{\delta}M$. In order to apply Theorem 3.5 to conclude the subrigidity, we
need to show the domain $D$ is  not biholomorphic to the ball. Some background on
Chern-Moser normal form is needed here.

In the fundamental paper [C-M], Chern and Moser  have
associated to every \spc\ point $p$ in a hypersurface $H$ a family of local
 invariants, namely  a neighborhood $U_p$ of $p$ in 
$H$ is biholomorphically equivalent to a neighborhood $V_q$ of $q$ in a hypersurface 
$S$ if and only if the associated families of invariants at $p$ and at $q$ are the
same. These invariants are  given by the coefficients of certain  normal form
of the defining function which we briefly explain in the following. Let $\psi$
be a local defining function of the $(2n-1)$-dimensional  hypersurface $H$ near the 
point $p$, say inside a coordinate chart. 
Since $p$ is \spc\ the Levi form is positive definite and the defining function could
be transformed  through some linear translation and  proper
holomorphic transformations to the following:
$$v=|z|^2+ F(z,\bar z, w)\tag 4.7$$
where $z=(z_1,\cdots,z_{n-1})\in \Bbb C^{n-1}, w=u+iv\in \Bbb C$. Using the 
transformations
$z^*=z+f(z,w),\,\, w^*=w+g(z,w)$
Chern and Moser have simplified (4.7) to  
$$v^*=|z^*|^2+ N_{24}(u^*)z^{*2}\bar z^{*4} + N_{42}(u^*)z^{*4}\bar z^{*2}+ \sum_{j,k\ge
2,j+k\ge7}N_{jk}(u^*)z^{*j}\bar z^{*k}\tag 4.8$$
Furthermore this transformation, and hence all of the coefficients $N_{jk}$,  is made
unique when certain normalizations on $f$ and $g$ are made.

For the hyperquadric $Q=\{v=|z|^2\}$, the unbounded model of the sphere, all
invariants $N_{jk}$ vanish.

\proclaim{Lemma 4.1} $D$ is not biholomorphic to the
ball.
\endproclaim
\demo{Proof} It is standard
that given any $n$-dimensional totally real closed submanifold $X\subset B^n$ there
exists $\varphi\in Aut(B^n)$ such that $\varphi (X)= \Bbb R^n\cap B^n$.

 Suppose there exists a biholomorphic map
$f:D\to B^n$, then $f(M)$ is a maximal  totally real closed submanifold of
$B^n$ since $M$ is such kind of submanifold of $D$.
Without loss of generality, we may assume $f(M)=\Bbb R^n\cap  B^n$.
Adopting the argument used in the proof of Lemma 3.1, we see $f$ is a bundle map, $f=du$
for some isometry
$u$ from  $(M,g)$ to $(\Bbb R^n\cap B^n,g^*).$ 

Thus, the biholomorphic map $f$
could be extended holomorphically over the boundary $\partial D$ and thus 
 the Chern-Moser normal form
of $\hat\rho$ at any boundary point of $D$ has the local expression $v=|z|^2$.


 However,
the defining function  near $a_1\in \partial D$ and the defining function near generic
boundary points differ by some  $4l$-order
terms. In the construction of the
normal form, we see the orders won't decrease.
Thus the Chern-Moser normal form at
$a_1$ won't be the same as the Chern-Moser normal form at generic boundary points
which we assume to be $v=|z|^2$. A contradiction.\qed
\enddemo

It is clear $G$ is contained in the automorphism group of $D$ since $D$ is
$G$-invariant.
 Theorem 3.5 along with (4.2) implies $$L(G)<Aut(D)<Isom (M)\simeq L(G)\cdot K.\tag
4.9$$ The last step is to eliminate those automorphisms coming form the isotropy group.
\proclaim{Theorem 4.2}$D$ is a complete hyperbolic Stein manifold with
$Aut(D)=G$.
\endproclaim
\demo{Proof} $D$ is complete hyperbolic since it is   $G$-homogeneous with
\spc\ boundary. It is Stein since $D$ is a \spc\ domain in the Stein manifold
$T^{\delta}M$.

It remains to show if $h\in K\cap Aut(D)$, then $h$ is the identity
map.  By the construction of $\eta_2$ at (4.3) and hence the construction of
the defining function $\hat\rho$, we see that there exist neighborhoods $U_j$ of $a_j$
on the hypersurface $\partial D\cap F_p^{\delta}$ such that points in $U_i-a_i$ all have
norms different from  norms of points in $U_j-a_j$ for $i\ne j$. Besides, every
point in
$U_i-a_i$ has norm $<\delta$ and $|a_i|=\delta,\; i=1,\cdots,n$.

Since $K$ is a subgroup of $Isom(M), h$ is a linear and norm-preserving
isomorphism of $F^{\delta}_p\cap D.$ In fact, $h$ is the restriction of an orthogonal
transformation in $F^{\delta}_p$. Thus, $h$ is a norm preserving map from $\partial
D\cap F_p^{\delta}$ to $\partial D\cap F_p^{\delta}$ and the only possibility for $h$
is either $h(a_j)=a_j$ or $h(a_j)=\sigma (a_j)=-a_j,\; j=1,\cdots,n.$

Recall that  $a_j=\delta e_j$, the linearity of $h$ implies either $h(e_j)=e_j$
or $h(e_j)=-e_j,\forall j$.  Thus, $h$ is either the identity map or the negative
identity, in other words, $h=id$ or $h=\sigma$. The second case is not possible since
then $h$ is antiholomorphic rather than holomorphic. We conclude $h=id, K=id$ and
$Aut(D)=L(G)\simeq G$.\qed


\enddemo




\Refs

\refstyle {A}
\widestnumber\key {GHMR}
\ref\key B-D
\by E. Bedford and J. Dadok
\paper Bounded domains with prescribed group of automprphisms
\jour Comment. Math. Helv.
\yr 1987\vol 62\pages 561-572
\endref

\ref\key C-G
\by C. Cheeger and D. Gromoll
\paper On the structure of complete manifolds of nonnegative curvature 
\jour Ann. of  Math.  
 \yr 1972\vol 96\pages 413-443
\endref 

\ref\key C-M
\by S.-S. Chern and J. Moser
\paper Real hypersurfaces in complex manifolds
\jour Acta Math.
\vol 133 \yr 1974\pages 219-271 
\endref
\ref\key D-G
\by F. Docquier and H. Grauert
\paper Levisches problem und Rungescher Satz f\"ur Teilgebiete Steinscher
mannigfaltigkeiten
\jour   Math.  Ann.
 \yr 1960\vol 140\pages 94-123
\endref

\ref\key H-I
\by�S. Halverscheid and A. Iannuzzi 
\paper Maximal complexifications of certain
homogeneous Riemannian manifolds
\jour Trans. Amer. Math. Soc.\vol 355, no. 11 \yr 2003 \pages 4581-4594
\endref
\ref\key HHK
\by P.Heinzner, A.Huckleberry and F.Kutzschebauch
\paper  A real analytic version of Abels'
theorem and complexifications of proper Lie group actions
\jour  Lect. Notes  Pure  Appl. Math.\vol 173\yr 1996
\pages 229--273
\endref
�	�
\ref\key K
\by S.-J. Kan
\paper On rigidity of Grauert tubes over homogeneous Riemannian manifolds
\jour J. reine angew. Math.\vol 577\yr 2004\pages 213-233
\endref 
 
\ref\key S
\by N. Sibony
\paper  A class of hyperbolic manifolds, Recent developments in several complex
variables\jour Ann.  Math. Stud. 100\yr1981\pages
357-372
\endref

\ref\key S-Z
\by R. Saerens and W. Zame
\paper The isometry groups of manifold and the automorphism groups of domains
\jour Trans. Amer. Math. Soc. 
\vol 301, no. 1
\yr 1987
\pages 413-429
\endref

\ref\key W
\by J. Winkelmann
\paper Realizing connected Lie groups as automorphism groups of complex manifolds
\jour Comment. Math. Helv. \vol 79, no. 2
\yr 2004
\pages 285-299
\endref








\endRefs


\enddocument