Adjunctions in Monoids
Vladimir MOLOTKOV% \thanks{% Financial support of the Ministry of Sciences and Education of Bulgaria under grant F-610/96-97 and MPIMiS, Leipzig, where the final editing was performed, is most gratefully acknowledged.}%
math0504060.tex
\begin{filecontents}{smart.sty}
%%
%% This is file `smart.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% smart.dtx  (with options: `program,smartbeg,modules,smart,newver,smartend')
%%          (for LaTeX version 2.09/LaTeX2e ARTICLE/BOOK style/class)
%%     Copyright (C) 1991-2004 by Vladimir Molotkov (INRNE, Sofia, Bulgaria)
%%
%%  This package is distributed in the hope that it will be useful,
%%  but WITHOUT ANY WARRANTY; without even the implied warranty of
%%  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
%%
%% IMPORTANT NOTICE:
%%
%% You are not allowed to change this file.
%%
%% You are allowed to distribute this file under the condition that
%% it is distributed together with all files mentioned in readme.txt.
%%
%% If you receive only some of these files from someone, complain!
%%
%% You are NOT ALLOWED to distribute this file alone.  You are NOT
%% ALLOWED to take money for the distribution or use of either this
%% file or a changed version, except for a nominal charge for copying
%% etc.
%%
%% Please, send messages about discovered bugs to: vmolot@inrne.bas.bg
%% \CharacterTable
%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%%   Digits        \0\1\2\3\4\5\6\7\8\9
%%   Exclamation   \!     Double quote  \"     Hash (number) \#
%%   Dollar        \$     Percent       \%     Ampersand     \&
%%   Acute accent  \'     Left paren    \(     Right paren   \)
%%   Asterisk      \*     Plus          \+     Comma         \,
%%   Minus         \-     Point         \.     Solidus       \/
%%   Colon         \:     Semicolon     \;     Less than     \<
%%   Equals        \=     Greater than  \>     Question mark \?
%%   Commercial at \@     Left bracket  \[     Backslash     \\
%%   Right bracket \]     Circumflex    \^     Underscore    \_
%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
%%   Right brace   \}     Tilde         \~}
%%


\expandafter\ifx\csname LaTeXe\endcsname\relax
\def\NeedsTeXFormat#1{}\def\ProvidesPackage#1[#2]{}\fi
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{smart}[2005/04/04 Smart article/book style]
\typeout{SMART style - Version 4.2}
\expandafter\ifx\csname smart.sty\endcsname\relax\else
\typeout{[already loaded]}\endinput\fi
\expandafter\chardef\csname smart.sty\endcsname=\the\catcode`\@
\makeatletter
\expandafter\ifx\csname LaTeXe\endcsname\relax
\def\RequirePackage#1{\input{#1.sty}}\fi
\RequirePackage{varrays}
\@ifundefined{LaTeXe}{\newdimen\paperwidth\newdimen\paperheight}{}
\newVariable{minabsmarg}\newVariable{minmargnote}
\newVariable{vtextcorrect}
\minabsmarg=.2in;\minmargnote=1em;
\vtextcorrect=.45;
\newif \if@AMS
\newif \if@starred@intoc
\newif \if@chaptname@intoc
\newif \if@partname@intoc
\newif \if@chapapp@inhead\@chapapp@inheadtrue
\newif \if@starredsec@intoc
\newif \if@locbib
\def\StarredInToc{\@starred@intoctrue}
\def\NoStarredInToc{\@starred@intocfalse}
\def\ChapterNameInToc{\@chaptname@intoctrue}
\def\NoChapterNameInToc{\@chaptname@intocfalse}
\def\PartNameInToc{\@partname@intoctrue}
\def\NoPartNameInToc{\@partname@intocfalse}
\def\ChapterNameInPageHeader{\@chapapp@inheadtrue}
\def\NoChapterNameInPageHeader{\@chapapp@inheadfalse}
\expandafter\ifx\csname LaTeXe\endcsname\relax
\setlength\paperwidth{8.5in}\setlength\paperheight{11in}
\else
%\DeclareOption{AMS}{\AMStrue}%AMS behavior of toc, etc.
\DeclareOption{AMS}{%
\@AMStrue
\@starred@intoctrue
\@chaptname@intoctrue
\@partname@intoctrue
\@chapapp@inheadfalse
}
\DeclareOption{sec*2toc}{%
\@starredsec@intoctrue
}
\DeclareOption{locbib}{%
\@locbibtrue
}
\ProcessOptions\relax
\fi
\if@AMS
\usepackage{amsmath}
\usepackage{amssymb,amsfonts}
\fi
\newif\if@nonAiv\@nonAivtrue
\def\Aiv{\paperwidth=210mm\paperheight=297mm
\let\@tempa\relax
\@ifstar{\@sAiv}{\@Aiv}}
\def\@Aiv{\if@nonAiv
\advance\oddsidemargin105mm\advance\oddsidemargin-4.25in
\advance\evensidemargin105mm\advance\evensidemargin-4.25in
\@nonAivfalse\fi}
\def\@sAiv{\if@nonAiv
\advance\textwidth210mm\advance\textwidth-8.5in
\@tempdima297mm\advance\@tempdima-11in
\advance\@tempdima\vtextcorrect;;\baselineskip
\divide\@tempdima\baselineskip
\typeout{\number\@tempdima\space lines of text are added to every page.}
\multiply\@tempdima\baselineskip
\advance\textheight\@tempdima
\@nonAivfalse
\fi}
\def\margins{\let\@tempa\relax\@ifstar{\@smargins}{\@margins}}
\def\@smargins[#1]{\@margins[#1;#1]}
\def\@margins[#1;#2]{\@tempdima\paperwidth\relax
\advance\@tempdima-#1\advance\@tempdima-#2
\textwidth\@tempdima
\@tempdima#1\advance\@tempdima-1in
\oddsidemargin\@tempdima
\if@twoside
       \@tempdima#2\advance\@tempdima-1in
       \evensidemargin\@tempdima
   \else
       \evensidemargin\oddsidemargin
\fi
\ifdim\marginparwidth>\z@
  \@tempdima#2\advance\@tempdima-\minabsmarg;;
  \advance\@tempdima-\marginparsep
  \ifdim\@tempdima<\marginparwidth
     \ifdim\@tempdima<\minmargnote;;
        \marginparwidth\z@
        \typeout{Sorry! There is too little space for marginal notes left!}
        \typeout{SMART is forced to set marginal notes width to zero.}
        \typeout{If you REALLY intend to make marginal notes in your article,}
        \typeout{please increase the right margin in your ``margins'' command,}
        \typeout{or decrease argument(s) of ``htext'' command.}
     \else
        \marginparwidth\@tempdima
        \typeout{SMART is forced to reset marginal notes width to \the\marginparwidth.}
     \fi
  \fi
\fi}
\def\htext{\@ifstar{\@shtext}{\@htext}}
\def\@shtext[#1]{\@htext[#1;\z@]}
\def\@htext[#1;#2]{\@tempskipa\paperwidth\relax
\advance\@tempskipa-#1
\divide\@tempskipa2
\@tempskipb\@tempskipa
\advance\@tempskipa#2
\advance\@tempskipb-#2
\margins[\@tempskipa;\@tempskipb]}
\def\vtext{\@ifstar{\@svtext}{\@vtext}}
\def\@vtext[#1]{\textheight#1\@tempcnta\textheight
\advance\@tempcnta-\topskip\divide\@tempcnta\baselineskip
\advance\@tempcnta\@ne
\typeout{Any page will contain \number\@tempcnta\space lines.}}
\expandafter\ifx\csname @oddhead\endcsname\@empty
\expandafter\ifx\csname @evenhead\endcsname\@empty
\headheight\z@\headsep\z@
\fi\fi
\def\@svtext[#1]{\textheight\baselineskip
\multiply\textheight#1\advance\textheight-\baselineskip
\advance\textheight\topskip
\@tempcnta\textheight\@tempdima1mm\divide\@tempcnta\@tempdima
\typeout{Textheight equals \number\@tempcnta mm=\the\textheight.}}
\expandafter\ifx\csname @oddhead\endcsname\@empty
\expandafter\ifx\csname @evenhead\endcsname\@empty
\headheight\z@\headsep\z@
\fi\fi
\def\hplainpage{\marginparwidth1in\advance\marginparwidth-\marginparsep
\advance\marginparwidth-\minabsmarg;;
\margins[1in;1in]}
\def\vplainpage{\topmargin\z@
\expandafter\ifx\csname @oddhead\endcsname\@empty
\expandafter\ifx\csname @evenhead\endcsname\@empty
\headheight\z@\headsep\z@
\fi\fi
\textheight\paperheight\relax\advance\textheight-2in
\advance\textheight-\footskip\advance\textheight-\topskip
\advance\textheight\vtextcorrect;;\baselineskip
\divide\textheight\baselineskip
\@tempcnta\textheight\advance\@tempcnta\@ne
\typeout{Any page will contain \number\@tempcnta\space lines of text.}
\multiply\textheight\baselineskip}
\def\plainpage{\hplainpage\vplainpage}
\def\do{\noexpand\do\noexpand}
\edef\@preamblecmds{\@preamblecmds \do\Aiv \do\margins \do\htext \do\vtext
\do\hplainpage \do\vplainpage \do\plainpage
\do\minabsmargin \do\minmargnote \do\vtextcorrect}
\def\newif#1{%
  \count@\escapechar \escapechar\m@ne
    \let#1\iffalse
    \@if#1\iftrue
    \@if#1\iffalse
  \escapechar\count@}
\def\@if#1#2{%
  \expandafter\def\csname\expandafter\@gobbletwo\string#1%
                    \expandafter\@gobbletwo\string#2\endcsname
                       {\let#1#2}}
\@ifundefined{@openrighttrue}{%
\newif\if@openright
\@openrighttrue
\newif\if@mainmatter
\@mainmattertrue
}{}
\@ifundefined{LaTeXe}{%
\def\@plus{plus}\def\@minus{minus}%
\let\if@compatibility\iftrue
\let\normalfont\relax
\def\hb@xt@{\hbox to}%
}{}
\newArray{secsize}
\newArray{secstyle}
\newArray{secindent}
\newArray{beforeskip}
\newArray{afterskip}
\newArray{secnumstyle}
\newArray{secnumheight}
\newArray{presecnum}
\newArray{postsecnum}
\expandafter\ifx\csname chapter\endcsname\relax
\Array{secname}=[part,section,subsection,subsubsection,paragraph,subparagraph]
\else
\Array{secname}=[chapter,section,subsection,subsubsection,paragraph,subparagraph]
\secname0=part;
\fi
\expandafter\ifx\csname chapter\endcsname\relax
\edef\@level{0}
\edef\@partlevel{1}
\else
\edef\@level{0}
\edef\@partlevel{0}
\edef\@chapterlevel{1}
\fi
\edef\@sectionlevel{2}
\edef\@subsectionlevel{3}
\edef\@subsubsectionlevel{4}
\edef\@paragraphlevel{5}
\edef\@subparagraphlevel{6}
\newcount\c@backshift
\def\secunitshift#1{\setcounter{backshift}{#1}}
\def\@ex{ex}
\expandafter\ifx\csname chapter\endcsname\relax
\def\DefaultSectioningStyle{%
\secsize=[\huge,\Large,\large,\normalsize,\normalsize,\normalsize];%
\secstyle=[\bf,\bf,\bf,\bf,\bf,\bf];%
\secindent=[\z@,\z@,\z@,\z@,\z@,\parindent];%
\beforeskip=[4\@ex,-3.5\@ex \@plus-1\@ex \@minus-.2\@ex,%
-3.25\@ex \@plus-1\@ex \@minus-.2\@ex,-3.25\@ex \@plus-1\@ex \@minus-.2\@ex,%
3.25\@ex \@plus1\@ex \@minus.2\@ex,3.25\@ex \@plus1\@ex \@minus.2\@ex];%
\afterskip=[3\@ex,2.3\@ex \@plus.2\@ex,1.5\@ex \@plus.2\@ex,%
1.5\@ex \@plus.2\@ex,-1em,-1em];
\secnumheight=[1,1,2,3,0,0];%
\secnumstyle=[R,d,d,d,d,d];%
\presecnum=[,,,,,];%
\postsecnum=[,,,,,];%
\secunitshift0%
}
\else
\def\DefaultSectioningStyle{%
\secsize=[\Huge,\Large,\large,\normalsize,\normalsize,\normalsize];%
\secstyle=[\bf,\bf,\bf,\bf,\bf,\bf];%
\secindent=[\z@,\z@,\z@,\z@,\z@,\parindent];%
\beforeskip=[50pt,-3.5\@ex \@plus-1\@ex \@minus-.2\@ex,%
-3.25\@ex \@plus-1\@ex \@minus-.2\@ex,-3.25\@ex \@plus-1\@ex \@minus-.2\@ex,%
3.25\@ex \@plus1\@ex \@minus.2\@ex,3.25\@ex \@plus1\@ex \@minus.2\@ex];%
\afterskip=[40pt,2.3\@ex \@plus.2\@ex,1.5\@ex \@plus.2\@ex,%
1.5\@ex \@plus.2\@ex,-1em,-1em];
\secnumheight=[1,2,3,0,0,0];%
\secnumstyle=[d,d,d,d,d,d];%
\presecnum=[,,,,,];%
\postsecnum=[,,,,,];%
\secsize0=\Huge;%
\secstyle0=\bf;%
\secindent0=\z@;%
\secnumheight0=1;%
\secnumstyle0=R;%
\presecnum0=;%
\postsecnum0=;%
\secunitshift0%
}
\newcount\@tempcntz
\newArray{SizeScale}
\SizeScale=[\normalsize,\large,\Large,\huge,\Huge];
\let\@@@normalsize\normalsize
\def\normalsize{\def\@SizeNumber{1}\@@@normalsize}
\let\@@@large\large
\def\large{\def\@SizeNumber{2}\@@@large}
\let\@@@Large\Large
\def\Large{\def\@SizeNumber{3}\@@@Large}
\let\@@@huge\huge
\def\huge{\def\@SizeNumber{4}\@@@huge}
\let\@@@Huge\Huge
\def\Huge{\def\@SizeNumber{5}\@@@Huge}
\def\AddToSize#1#2{#1\@tempcntz=\@SizeNumber\relax
\advance\@tempcntz#2\relax
\ifnum\@tempcntz<1\relax\@tempcntz=1\relax
\else
\ifnum\@tempcntz>5\relax\@tempcntz=5\relax
\fi\fi
\SizeScale{\the\@tempcntz};;}
\def\SizePlus#1{\AddToSize{#1}{\@ne}}
\def\SizeMinus#1{\AddToSize{#1}{\m@ne}}
\fi
\def\AbsoluteSectioningParameter#1#2=#3;{%
\reset{#1}{\csname @#2level\endcsname}=#3;}
\def\SectioningParameter#1#2=#3;{%
\if 0\csname @#2level\endcsname
\AbsoluteSectioningParameter{#1}{#2}=#3;\else
\expandafter\ifx\csname#1\endcsname\presecnum
\AbsoluteSectioningParameter{presecnum}{#2}=#3;\else
\expandafter\ifx\csname#1\endcsname\postsecnum
\AbsoluteSectioningParameter{postsecnum}{#2}=#3;\else
\expandafter\ifx\csname#1\endcsname\secnumstyle
\AbsoluteSectioningParameter{secnumstyle}{#2}=#3;\else
\expandafter\ifx\csname#1\endcsname\secnumheight
\AbsoluteSectioningParameter{secnumheight}{#2}=#3;\else
\expandafter\ifx\csname#1\endcsname\tocnumwidth
\AbsoluteSectioningParameter{tocnumwidth}{#2}=#3;\else
\expandafter\ifx\csname#1\endcsname\tocindent
\AbsoluteSectioningParameter{tocindent}{#2}=#3;\else
\@tempcnta\csname @#2level\endcsname
\advance\@tempcnta\c@backshift
\ifnum\@tempcnta<1\relax\@tempcnta1\else\ifnum\@tempcnta>6\relax
\@tempcnta6\fi\fi
\edef\@tmp{\the\@tempcnta}
\reset{#1}\@tmp=#3;%
\fi\fi\fi\fi\fi\fi\fi}
\def\beforefactor[#1]{\MultiplyArr{beforeskip}by#1;}
\def\afterfactor[#1]{\MultiplyArr*{afterskip}by#1;}
\def\skipfactor{\@ifstar{\@sskipfactor}{\@skipfactor}}
\def\@sskipfactor[#1]{\@skipfactor[#1;#1]}
\def\@skipfactor[#1;#2]{\MultiplyArr{beforeskip}by#1;%
\MultiplyArr*{afterskip}by#2;}
\def\@seccount#1{\if d\secnumstyle{#1};;\arabic{\secname#1;;}\else%
\if r\secnumstyle{#1};;\roman{\secname#1;;}\else
\if R\secnumstyle{#1};;\Roman{\secname#1;;}\else
\if a\secnumstyle{#1};;\alph{\secname#1;;}\else
\if A\secnumstyle{#1};;\Alph{\secname#1;;}\else
\errmessage{Illegal data within secnumstyle Array! Redefine it!}%
\fi\fi\fi\fi\fi}
\def\@delsep#1#2#3#4{\if#1#3#4\else\if#2#4\fi\fi}
\def\@@delsep#1#2{\expandafter\if#1#2\fi}
\let\@@numberline\numberline
\newif\ifDropZeros %Added 10.10.04
\def\DropZerosNumberingStyle{%
\DropZerostrue
\def\sep@seccount##1{\expandafter\ifnum\csname c@\secname{##1};;\endcsname>0%
\secseparator\@seccount##1\fi}%
\@ifstar{\let\numberline\@@numberline}{\let\numberline\@numberline}}
\def\@numberline#1{\edef\@tmp{#1}%
\ifx\@tmp\@empty\else\@@numberline{#1}\fi}
\def\DefaultNumberingStyle{
\DropZerosfalse
\def\sep@seccount##1{\secseparator\@seccount##1}%
\let\numberline\@@numberline}
\expandafter\ifx\csname chapter\endcsname\relax
\Array{the@part}=[\sep@seccount1,\sep@seccount1,\sep@seccount1,%
\sep@seccount1,\sep@seccount1,\sep@seccount1]
\Array{the@section}=[\sep@seccount2,\sep@seccount2,\sep@seccount2,%
\sep@seccount2,\sep@seccount2,\sep@seccount2]
\Array{the@subsection}=[\sep@seccount3,\sep@seccount2\sep@seccount3,%
\sep@seccount2\sep@seccount3,\sep@seccount2\sep@seccount3,%
\sep@seccount2\sep@seccount3,\sep@seccount2\sep@seccount3]
\Array{the@subsubsection}=[\sep@seccount4,\sep@seccount3\sep@seccount4,%
\sep@seccount2\sep@seccount3\sep@seccount4,%
\sep@seccount2\sep@seccount3\sep@seccount4,%
\sep@seccount2\sep@seccount3\sep@seccount4,%
\sep@seccount2\sep@seccount3\sep@seccount4]
\Array{the@paragraph}=[\sep@seccount5,\sep@seccount4\sep@seccount5,%
\sep@seccount3\sep@seccount4\sep@seccount5,%
\sep@seccount2\sep@seccount3\sep@seccount4\sep@seccount5,%
\sep@seccount2\sep@seccount3\sep@seccount4\sep@seccount5,%
\sep@seccount2\sep@seccount3\sep@seccount4\sep@seccount5]
\Array{the@subparagraph}=[\sep@seccount6,\sep@seccount5\sep@seccount6,%
\sep@seccount4\sep@seccount5\sep@seccount6,%
\sep@seccount3\sep@seccount4\sep@seccount5\sep@seccount6,%
\sep@seccount2\sep@seccount3\sep@seccount4\sep@seccount5\sep@seccount6,%
\sep@seccount2\sep@seccount3\sep@seccount4\sep@seccount5\sep@seccount6]
\else
\Array{the@part}=[\sep@seccount0,\sep@seccount0,\sep@seccount0,%
\sep@seccount0,\sep@seccount0,\sep@seccount0]
\Array{the@chapter}=[\sep@seccount1,\sep@seccount1,\sep@seccount1,%
\sep@seccount1,\sep@seccount1,\sep@seccount1]
\Array{the@section}=[\sep@seccount2,\sep@seccount1\sep@seccount2,%
\sep@seccount1\sep@seccount2,\sep@seccount1\sep@seccount2,%
\sep@seccount1\sep@seccount2,\sep@seccount1\sep@seccount2]
\Array{the@subsection}=[\sep@seccount3,\sep@seccount2\sep@seccount3,%
\sep@seccount1\sep@seccount2\sep@seccount3,%
\sep@seccount1\sep@seccount2\sep@seccount3,%
\sep@seccount1\sep@seccount2\sep@seccount3,%
\sep@seccount1\sep@seccount2\sep@seccount3]
\Array{the@subsubsection}=[\sep@seccount4,\sep@seccount3\sep@seccount4,%
\sep@seccount2\sep@seccount3\sep@seccount4,%
\sep@seccount1\sep@seccount2\sep@seccount3\sep@seccount4,%
\sep@seccount1\sep@seccount2\sep@seccount3\sep@seccount4,%
\sep@seccount1\sep@seccount2\sep@seccount3\sep@seccount4]
\Array{the@paragraph}=[\sep@seccount5,\sep@seccount4\sep@seccount5,%
\sep@seccount3\sep@seccount4\sep@seccount5,%
\sep@seccount2\sep@seccount3\sep@seccount4\sep@seccount5,%
\sep@seccount1\sep@seccount2\sep@seccount3\sep@seccount4\sep@seccount5,%
\sep@seccount1\sep@seccount2\sep@seccount3\sep@seccount4\sep@seccount5]
\Array{the@subparagraph}=[\sep@seccount6,\sep@seccount5\sep@seccount6,%
\sep@seccount4\sep@seccount5\sep@seccount6,%
\sep@seccount3\sep@seccount4\sep@seccount5\sep@seccount6,%
\sep@seccount2\sep@seccount3\sep@seccount4\sep@seccount5\sep@seccount6,%
\sep@seccount1\sep@seccount2\sep@seccount3\sep@seccount4\sep@seccount5%
\sep@seccount6]
\fi
\def\defthe#1{%
\expandafter\def\csname the#1\endcsname{%
\ifDropZeros
\expandafter\ifnum\csname c@#1\endcsname>0\relax
\presecnum{\csname @#1level\endcsname};;%
\fi
\else
\presecnum{\csname @#1level\endcsname};;%
\fi
\@@delsep\secseparator
{\csname the@#1\endcsname{\secnumheight{\csname @#1level\endcsname};;};;}%
\postsecnum{\csname @#1level\endcsname};;%
}%
}
\defthe{part}
\expandafter\ifx\csname chapter\endcsname\relax\else
\defthe{chapter}
\fi
\defthe{section}
\defthe{subsection}
\defthe{subsubsection}
\defthe{paragraph}
\defthe{subparagraph}
\def\@secunit#1{\@tempcnta=#1\advance\@tempcnta\c@backshift
\ifnum\@tempcnta<1\relax\@tempcnta1\else\ifnum\@tempcnta>6\relax
\@tempcnta6\fi\fi
\setcounter{secnumdepth}{\secnumheight{#1};;}%
\@startsection{\secname{#1};;}{1}{\secindent{\the\@tempcnta};;}%
{\beforeskip{\the\@tempcnta};;}{\afterskip{\the\@tempcnta};;}%
{\secsize{\the\@tempcnta};;\secstyle{\the\@tempcnta};;}}
\let\@@sect\@sect % Save original LaTeX's \@sect in c.s. \@@sect;
\def\@sect#1#2#3#4#5#6[#7]#8{%
\@@sect{#1}{#2}{#3}{#4}{#5}{#6}[#7]{\@delskip{#1}#8}}
\def\@delskip#1{\edef\@tmp{\csname the#1\endcsname}%
\ifx\@tmp\@empty
\expandafter\ifnum\secnumheight{\csname @#1level\endcsname};;>0\relax
\hskip-1em\fi\fi}
\def\section{\@secunit2}
\def\subsection{\@secunit3}
\def\subsubsection{\@secunit4}
\def\paragraph{\@secunit5}
\def\subparagraph{\@secunit6}
\def\c@secunit#1#2{\@tempcnta=#1\advance\@tempcnta\c@backshift
\ifnum\@tempcnta<1\relax\@tempcnta1\else\ifnum\@tempcnta>6\relax
\@tempcnta6\fi\fi
\expandafter\@tempskipa\afterskip{\the\@tempcnta};;\relax
\ifdim\@tempskipa<\z@
\@secunit{#1}{#2}
\else
\begin{center}
\@secunit{#1}{#2}
\end{center}
\fi
}
\def\csection{\c@secunit2}
\def\csubsection{\c@secunit3}
\def\csubsubsection{\c@secunit4}
\def\cparagraph{\c@secunit5}
\def\csubparagraph{\c@secunit6}
\def\partname{Part}
\if@partname@intoc\def\@partname@intoc{\partname\ }\else\def\@partname@intoc{}\fi
\expandafter\ifx\csname chapter\endcsname\relax
\def\@startpart#1#2#3#4#5{\par \addvspace{#2}
\@afterindentfalse
\@ifstar{\@spart{#1}{#3}{#5}}{\@dblarg{\@part{#1}{#3}{#4}{\@delskip{part}#5}}}}
\def\@part#1#2#3#4[#5]#6{\ifnum \c@secnumdepth >\z@ \refstepcounter{part}
\addcontentsline{toc}{part}{\@partname@intoc\thepart \hspace{1em}#5}\else
\addcontentsline{toc}{part}{#5}\fi
{\parindent#1 \raggedright
 \interlinepenalty \@M % This and the next lines were added in LaTeXe
 \normalfont
 \ifnum \c@secnumdepth >\z@\relax #3 \partname\ \thepart \par\nobreak \fi #4
#6\markboth{}{}\par
} \nobreak \@tempskipa#2\relax\vskip\@tempskipa
\@afterheading }
\def\@spart#1#2#3#4{%
\if@starred@intoc\addcontentsline{toc}{part}{#4}\fi
{\parindent #1 \raggedright
 \interlinepenalty \@M % This and the next lines were added in LaTeXe
 \normalfont
 #3 #4\par
} \nobreak \@tempskipa#2\relax\vskip\@tempskipa
\@afterheading }
\def\part{\@tempcnta1\advance\@tempcnta\c@backshift
\loop
\@tempskipa\afterskip{\the\@tempcnta};;\relax
\ifdim\@tempskipa<\z@\advance\@tempcnta\m@ne
\repeat
\@tempcntb\@tempcnta\advance\@tempcntb\@ne
\@tempskipb\beforeskip{\the\@tempcnta};;\relax
\ifdim\@tempskipb<\z@\@tempskipb-\@tempskipb\fi
\c@secnumdepth\secnumheight1;;\relax
\@startpart{\secindent{\the\@tempcnta};;}{\@tempskipb}%
{\afterskip{\the\@tempcnta};;}%
{\secsize{\the\@tempcntb};;\secstyle{\the\@tempcnta};;}%
{\secsize{\the\@tempcnta};;\secstyle{\the\@tempcnta};;}}
\if@twoside
  \def\ps@headings{%
      \let\@oddfoot\@empty\let\@evenfoot\@empty
      \def\@evenhead{\thepage\hfil\slshape\leftmark}%
      \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
      \let\@mkboth\markboth
    \def\sectionmark##1{%
      \c@secnumdepth\secnumheight1;;\relax
      \markboth {\MakeUppercase{%
        \ifnum \c@secnumdepth >\z@
          \thesection\quad
        \fi
        ##1}}{}}%
    \def\subsectionmark##1{%
      \c@secnumdepth\secnumheight2;;\relax
      \markright {%
        \ifnum \c@secnumdepth >\z@
          \thesubsection\quad
        \fi
        ##1}}}
\else
  \def\ps@headings{%
    \let\@oddfoot\@empty
    \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
    \let\@mkboth\markboth
    \def\sectionmark##1{%
      \c@secnumdepth\secnumheight1;;\relax
      \markright {\MakeUppercase{%
        \ifnum \c@secnumdepth >\z@
          \thesection\quad
        \fi
        ##1}}}}
\fi
\else
\def\@part[#1]#2{%
    \c@secnumdepth\secnumheight0;;\relax
    \ifnum \c@secnumdepth >\z@\relax
      \refstepcounter{part}%
      \addcontentsline{toc}{part}{\@partname@intoc\thepart\hspace{1em}#1}%
    \else
      \addcontentsline{toc}{part}{#1}%
    \fi
    \markboth{}{}%
    {\centering
     \interlinepenalty \@M
     \normalfont
     \ifnum \c@secnumdepth >\z@\relax
       \SizeMinus{\secsize0;;}\secstyle0;; \partname~\thepart
       \par
       \vskip 20\p@
     \fi
     \secsize0;;\secstyle0;; #2\par}%
     \@endpart}
\def\@spart#1{%
		\if@starred@intoc\addcontentsline{toc}{part}{#1}\fi
    {\centering
     \interlinepenalty \@M
     \normalfont
     \secsize0;;\secstyle0;; #1\par}%
     \@endpart}
\def\chaptername{Chapter}
\if@chaptname@intoc\def\@chaptname@intoc{\chaptername\ }\else\def\@chaptname@intoc{}\fi
\def\@startchapter#1#2#3#4#5{%
\if@openright\cleardoublepage\else\clearpage\fi
\thispagestyle{plain}%
\global\@topnum\z@
\@afterindentfalse
\@ifstar{\@schapter{#1}{#2}{#3}{#5}}{\@dblarg{\@chapter{#1}{#2}{#3}{#4}{\@delskip{chapter}#5}}}}
\def\@chapter#1#2#3#4#5[#6]#7{%
\ifnum \c@secnumdepth >\z@
   \if@mainmatter
     \refstepcounter{chapter}%
     \typeout{\@chapapp\space\thechapter.}%
     \addcontentsline{toc}{chapter}%
               {\@chaptname@intoc\protect\numberline{\thechapter}#6}%
   \else
     \addcontentsline{toc}{chapter}{#6}%
   \fi
\else
  \addcontentsline{toc}{chapter}{#6}%
\fi
\chaptermark{#6}%
\addtocontents{lof}{\protect\addvspace{10\p@}}%
\addtocontents{lot}{\protect\addvspace{10\p@}}%
\if@twocolumn
  \@topnewpage[\@makechapterhead{#1}{#2}{#3}{#4}{#5}{#7}]%
\else
  \@makechapterhead{#1}{#2}{#3}{#4}{#5}{#7}%
  \@afterheading
\fi
}
\def\@makechapterhead#1#2#3#4#5#6{%
  \vspace*{#2}%
  {\parindent#1 \raggedright \normalfont
    \ifnum \c@secnumdepth >\z@
      \if@mainmatter
        #4 \@chapapp\space \thechapter
        \par\nobreak
        \@tempskipa#3\relax
        \divide\@tempskipa by 2\relax
        \vskip\@tempskipa\relax% The skip between chapter number and
                               % chapter heading is defined to be AFTERSKIP/2.
      \fi
    \fi
    \interlinepenalty\@M
    #5 #6\par\nobreak
    \@tempskipa#3\relax\vskip\@tempskipa
  }}
\def\@schapter#1#2#3#4#5{%
\if@starred@intoc
	\addcontentsline{toc}{chapter}{#5}%
	%\chaptermark{#5}%Bad!
	\markboth{\HeaderSize\MakeUppercase{#5}}{}
\fi
\if@twocolumn
  \@topnewpage[\@makeschapterhead{#1}{#2}{#3}{#4}{#5}]%
\else
  \@makeschapterhead{#1}{#2}{#3}{#4}{#5}%
  \@afterheading
\fi}
\def\@makeschapterhead#1#2#3#4#5{%
  \vspace*{#2}%
  {\parindent#1 \raggedright
    \normalfont
    \interlinepenalty\@M
    #4  #5\par\nobreak
    \@tempskipa#3\relax\vskip\@tempskipa
  }}
\def\chapter{\@tempcnta1\advance\@tempcnta\c@backshift
\loop
\@tempskipa\afterskip{\the\@tempcnta};;\relax
\ifdim\@tempskipa<\z@\advance\@tempcnta\m@ne
\repeat
\@tempcntb\@tempcnta\advance\@tempcntb\@ne
\@tempskipb\beforeskip{\the\@tempcnta};;\relax
\ifdim\@tempskipb<\z@\@tempskipb-\@tempskipb\fi
\c@secnumdepth\secnumheight1;;\relax
\ifnum\c@backshift=\z@\relax
\def\@ChapterHeadSize{\secsize1;;}%
\def\@ChapterNumSize{\SizeMinus{\secsize1;;}}%
\else
\def\@ChapterNumSize{\SizePlus{\secsize{\the\@tempcntb};;}}
\def\@ChapterHeadSize{\AddToSize{\secsize{\the\@tempcntb};;}{2}}%
\fi
\@startchapter{\secindent{\the\@tempcnta};;}{\@tempskipb}%
{\afterskip{\the\@tempcnta};;}%
{\@ChapterNumSize\secstyle{\the\@tempcntb};;}%
{\@ChapterHeadSize\secstyle{\the\@tempcnta};;}%
}
\if@chapapp@inhead
	\def\@@chapapp{\@chapapp\ }
\else
	\def\@@chapapp{}
\fi
\if@AMS
\def\HeaderSize{\scriptsize}%Too small!
%\def\HeaderSize{\small}
\def\HeaderFont{\rm}
\else
\def\HeaderSize{}
\def\HeaderFont{\sl}
\fi
\if@twoside
  \def\ps@headings{%
      \let\@oddfoot\@empty\let\@evenfoot\@empty
      \def\@evenhead{\HeaderSize\thepage\hfil\HeaderFont\leftmark}%
      \def\@oddhead{\HeaderSize{\HeaderFont\rightmark}\hfil\thepage}%
      \let\@mkboth\markboth
    \def\chaptermark##1{%
      \c@secnumdepth\secnumheight1;;\relax
			\edef\@tmp{\thechapter}
      \markboth {\HeaderSize\MakeUppercase{%
        \ifnum \c@secnumdepth >\z@
          \if@mainmatter
            \ifx\@tmp\@empty\else\@@chapapp\thechapter. \ \fi%
          \fi
        \fi
        ##1}}{}}%
    \def\sectionmark##1{%
      \c@secnumdepth\secnumheight2;;\relax
			\edef\@tmp{\thesection}
      \markright {\HeaderSize\MakeUppercase{%
        \ifnum \c@secnumdepth >\z@
          \ifx\@tmp\@empty\else\thesection. \ \fi%
        \fi
        ##1}}}}
\else
  \def\ps@headings{%
    \let\@oddfoot\@empty
    \def\@oddhead{\HeaderSize{\HeaderFont\rightmark}\hfil\thepage}%
    \let\@mkboth\markboth
    \def\chaptermark##1{%
      \c@secnumdepth\secnumheight1;;\relax
			\edef\@tmp{\thechapter}
      \markright {\HeaderSize\MakeUppercase{%
        \ifnum \c@secnumdepth >\z@
          \if@mainmatter
            \ifx\@tmp\@empty\else\@@chapapp\thechapter. \ \fi%
          \fi
        \fi
        ##1}}}}
\fi
\fi
\newArray{tocnumwidth}
\newArray{tocindent}
\expandafter\ifx\csname chapter\endcsname\relax
\def\DefaultToc{%
\tocnumwidth=[3em,1.5em,2.3em,3.2em,4.1em,5em];%
\tocindent=[\z@,\z@,1.5em,3.8em,7.0em,10em];%
}
\else
\def\DefaultToc{%
\tocnumwidth=[1.5em,2.3em,3.2em,4.1em,5em,6em];%
\tocindent=[\z@,1.5em,3.8em,7.0em,10em,12em];%
\tocnumwidth0=3em;
\tocindent0=\z@;
}
\fi
\expandafter\ifx\csname chapter\endcsname\relax
\renewcommand\l@part[2]{%
  \ifnum \c@tocdepth >-2\relax
    \addpenalty{\@secpenalty}%
    \addvspace{2.25em \@plus\p@}%
    \begingroup
      \setlength\@tempdima{\tocnumwidth1;;}%
      \parindent \tocindent1;; \rightskip \@pnumwidth
      \parfillskip -\@pnumwidth
      {\leavevmode
       \large \bf #1\hfil \hb@xt@\@pnumwidth{\hss #2}}\par
       \nobreak
       \if@compatibility
         \global\@nobreaktrue
         \everypar{\global\@nobreakfalse\everypar{}}
      \fi
    \endgroup
  \fi}
\else
\renewcommand\l@part[2]{%
  \ifnum \c@tocdepth >-2\relax
    \addpenalty{-\@highpenalty}%
    \addvspace{2.25em \@plus\p@}%
    \begingroup
      \setlength\@tempdima{\tocnumwidth0;;}%
      \parindent \tocindent0;; \rightskip \@pnumwidth
      \parfillskip -\@pnumwidth
      {\leavevmode
       \large \bf #1\hfil \hb@xt@\@pnumwidth{\hss #2}}\par
       \nobreak
         \global\@nobreaktrue
         \everypar{\global\@nobreakfalse\everypar{}}%
    \endgroup
  \fi}
\fi
\expandafter\ifx\csname chapter\endcsname\relax
\renewcommand\l@section[2]{%
  \ifnum \c@tocdepth >\z@
    \addpenalty{\@secpenalty}%
    \addvspace{1.0em \@plus\p@}%
    \setlength\@tempdima{\tocnumwidth2;;}%
    \begingroup
      \parindent \tocindent2;; \rightskip \@pnumwidth
      \parfillskip -\@pnumwidth
                        \@tempcnta2\advance\@tempcnta\c@backshift
      \leavevmode \secstyle{\the\@tempcnta};;% \bfseries
      \advance\leftskip\@tempdima
      \hskip -\leftskip
      #1\nobreak\hfil \nobreak\hbox to\@pnumwidth{\hss #2}\par
    \endgroup
  \fi}
\else
\renewcommand\l@section   {\@dottedtocline{1}{\tocindent2;;}{\tocnumwidth2;;}}
\fi
\renewcommand\l@subsection   {\@dottedtocline{2}{\tocindent3;;}{\tocnumwidth3;;}}
\renewcommand\l@subsubsection{\@dottedtocline{3}{\tocindent4;;}{\tocnumwidth4;;}}
\renewcommand\l@paragraph    {\@dottedtocline{4}{\tocindent5;;}{\tocnumwidth5;;}}
\renewcommand\l@subparagraph {\@dottedtocline{5}{\tocindent6;;}{\tocnumwidth6;;}}
\expandafter\ifx\csname chapter\endcsname\relax
\else
\renewcommand\l@chapter[2]{%
  \ifnum \c@tocdepth >\m@ne
    \addpenalty{-\@highpenalty}%
    \vskip 1.0em \@plus\p@
    \setlength\@tempdima{\tocnumwidth1;;}%
    \begingroup
      \parindent \tocindent1;; \rightskip \@pnumwidth
      \parfillskip -\@pnumwidth
      \leavevmode \bf
      \advance\leftskip\@tempdima
      \hskip -\leftskip
      #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par
      \penalty\@highpenalty
    \endgroup
  \fi}
\fi
\newVariable{Rfactor}\newVariable{rfactor}
\newVariable{Afactor}\newVariable{afactor}
\newVariable{maintocspacing}
\newVariable{addtocspacing}
\newVariable{addtocindent}
\def\DefaultTocStyle{%
\Rfactor=1.8;\rfactor=1.6;\Afactor=1;\afactor=.8;%
\maintocspacing=1.5em;\addtocspacing=.9em;\addtocindent=3em;%
}
\expandafter\ifx\csname chapter\endcsname\relax
\def\@@@first{1}\def\@@@second{2}\def\@@@third{3}
\else
\def\@@@first{0}\def\@@@second{1}\def\@@@third{2}
\fi
\def\@CorrectToc{%
\@correct\maintocspacing\@@@first\ereset{tocnumwidth}\@@@first=\the\@tempskipa;%
\@correct\maintocspacing\@@@second%
\@tempcnta=\@@@second\advance\@tempcnta\c@backshift
\setbox0=\hbox{\secstyle{\the\@tempcnta};;\presecnum\@@@second;;\postsecnum\@@@second;;}%
\advance\@tempskipa\wd0%
\ereset{tocnumwidth}\@@@second=\the\@tempskipa;%
\@tempcnta=\@@@third\relax
\loop
\ifnum\@tempcnta<7\relax
\@tempcntb=\@tempcnta
\advance\@tempcntb-\secnumheight{\the\@tempcnta};;%
\advance\@tempcntb\@ne
\ifnum\@tempcntb<\@@@second\relax\@tempcntb=\@@@second\fi
\@correct\maintocspacing{\the\@tempcntb}%
\@tempskipb=\@tempskipa%
{\loop
\ifnum\@tempcntb<\the\@tempcnta
\advance\@tempcntb\@ne
\@correct\addtocspacing{\the\@tempcnta}%
\global\advance\@tempskipb\@tempskipa
\repeat}%
\setbox0=\hbox{\presecnum{\the\@tempcnta};;\postsecnum{\the\@tempcnta};;}%
\advance\@tempskipb\wd0%
\ereset{tocnumwidth}{\the\@tempcnta}=\the\@tempskipb;%
\@tempcntb=\@tempcnta\advance\@tempcntb\m@ne\relax
\@tempskipa=\tocindent{\the\@tempcntb};;%
\ifnum\secnumheight{\the\@tempcntb};;>0%
  \advance\@tempskipa\tocnumwidth{\the\@tempcntb};;\else%
  \advance\@tempskipa\addtocindent;;
\fi
\ereset{tocindent}{\the\@tempcnta}=\the\@tempskipa;%
\advance\@tempcnta\@ne
\repeat
}
\def\@correct#1#2{%
\@tempskipa=#1;;\relax
\if R\secnumstyle{#2};;\@tempskipa=\Rfactor;;\@tempskipa\else
\if r\secnumstyle{#2};;\@tempskipa=\rfactor;;\@tempskipa\else
\if A\secnumstyle{#2};;\@tempskipa=\Afactor;;\@tempskipa\else
\if a\secnumstyle{#2};;\@tempskipa=\afactor;;\@tempskipa
\fi\fi\fi\fi\relax
}
\let\@@document\document
\def\document{\@@document\@CorrectToc}
\def\appendix{\par\@ifnextchar[{\@@appendix}{\@appendix}}
\expandafter\ifx\csname chapter\endcsname\relax
\def\@appendix{%
\setcounter{section}{0}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\SectioningParameter{secnumstyle}{section}=A;
}
\else
\def\@appendix{%
\setcounter{chapter}{0}
\setcounter{section}{0}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\SectioningParameter{secnumstyle}{chapter}=A;
\def\@chapapp{\appendixname}
}
\fi
\expandafter\ifx\csname chapter\endcsname\relax
\def\@@appendix[#1]{\@appendix
\SectioningParameter{presecnum}{section}=#1;%
\addcontentsline{toc}{appendix}{#1}%
}
\else
\def\@@appendix[#1]{\@appendix
\SectioningParameter{presecnum}{chapter}=#1;%
\let\@chapapp\@gobble%to eat \space in \@chapapp\space
\addcontentsline{toc}{appendix}{#1}%
}
\fi
\expandafter\ifx\csname chapter\endcsname\relax
\def\l@appendix#1#2{%
\SectioningParameter{secnumstyle}{section}=A;
\SectioningParameter{presecnum}{section}=#1;
\@CorrectToc
}
\else
\def\l@appendix#1#2{%
\SectioningParameter{secnumstyle}{chapter}=A;
\SectioningParameter{presecnum}{chapter}=#1;
\let\@chapapp\@gobble%to eat \space in \@chapapp\space
\@CorrectToc
}
\fi
\def\ManualToc{%
\let\@CorrectToc\relax
\def\@@appendix[##1]{\@appendix}%
\DefaultToc
}
\def\do{\noexpand\do\noexpand}
\edef\@preamblecmds{\@preamblecmds \do\DefaultTocStyle\do\ManualToc
\do\DefaultToc
}
\DefaultSectioningStyle
\def\secseparator{.}
\DefaultNumberingStyle
\DefaultToc
\DefaultTocStyle
\@ifundefined{LaTeXe}{\let\slshape\sl\let\MakeUppercase\uppercase}{}
\expandafter\ifx\csname chapter\endcsname\relax\else
\pagestyle{headings}\fi
\newif\if@@lphalabel
\newenvironment{alphalabel}{\@@lphalabeltrue\let\@@lph\alph
\refstepcounter{equation}}{\@@lphalabelfalse\global\@ignoretrue}
\newenvironment{Alphalabel}{\@@lphalabeltrue\let\@@lph\Alph
\refstepcounter{equation}}{\@@lphalabelfalse\global\@ignoretrue}
\newcounter{labelcounter}[equation]
\newif\if@@userlabel
\newArray{userlabels}
\userlabels=[,$'$,$''$,$'''$];% Default
\newenvironment{userlabel}{\@@lphalabeltrue\@@userlabeltrue\let\@@lph\userlabels
\refstepcounter{equation}}{\@@lphalabelfalse\@@userlabelfalse\global\@ignoretrue}
\@ifundefined{endsplit}{%Normal LaTeX
\def\equation{$$ % $$ BRACE MATCHING HACK
\if@@lphalabel
   \stepcounter{labelcounter}%
   \let\@currentlabel=\theequation
\else
   \refstepcounter{equation}%
\fi
}}
{%LaTeX with AMSMATH
\def\equation{$$ % $$ BRACE MATCHING HACK
\if@@lphalabel
   \stepcounter{labelcounter}%
   \let\@currentlabel=\theequation
\else
   \refstepcounter{equation}%
\fi
\bgroup%Palliative solution for the disappearing equation numbering
%after complex AMSMATH environments, like "split", etc. (24.11.04)
}}
\expandafter\ifx\csname LaTeXe\endcsname\relax
\def\eqnarray{%
\if@@lphalabel
   \stepcounter{labelcounter}%
\else
   \stepcounter{equation}%
\fi
\let\@currentlabel=\theequation
\global\@eqnswtrue
\global\@eqcnt\z@\tabskip\@centering\let\\=\@eqncr
$$\halign to \displaywidth\bgroup\@eqnsel\hskip\@centering
  $\displaystyle\tabskip\z@{##}$&\global\@eqcnt\@ne
  \hskip 2\arraycolsep \hfil${##}$\hfil
  &\global\@eqcnt\tw@ \hskip 2\arraycolsep $\displaystyle\tabskip\z@{##}$\hfil
   \tabskip\@centering&\llap{##}\tabskip\z@\cr}
\def\@@eqncr{\let\@tempa\relax
    \ifcase\@eqcnt \def\@tempa{& & &}\or \def\@tempa{& &}
      \else \def\@tempa{&}\fi
     \@tempa
     \if@eqnsw
        \if@@lphalabel
           \@eqnnum\stepcounter{labelcounter}%
        \else
           \@eqnnum\stepcounter{equation}%
        \fi
     \fi
     \global\@eqnswtrue\global\@eqcnt\z@\cr}
\else
\def\eqnarray{%
\if@@lphalabel
   \stepcounter{labelcounter}%
\else
   \stepcounter{equation}%
\fi
\def\@currentlabel{\p@equation\theequation }
\global \@eqnswtrue
\m@th\global\@eqcnt\z@\tabskip\@centering\let\\\@eqncr
$$\everycr {}\halign to\displaywidth\bgroup\hskip\@centering
  $\displaystyle\tabskip\z@skip{##}$\@eqnsel&\global\@eqcnt\@ne
  \hskip\tw@\arraycolsep \hfil${##}$\hfil
  &\global\@eqcnt\tw@ \hskip \tw@ \arraycolsep $\displaystyle {##}
  $\hfil\tabskip\@centering &\global\@eqcnt\thr@@\hbox to\z@\bgroup\hss ##
  \egroup \tabskip \z@skip \cr}
\def\@@eqncr{\let\@tempa\relax
   \ifcase\@eqcnt \def\@tempa{& & &}\or \def\@tempa {& &}
     \or \def\@tempa{&}
     \else \let\@tempa\@empty
     \@latex@error {Too many columns in eqnarray environment}\@ehc\fi
     \@tempa
     \if@eqnsw
        \if@@lphalabel
           \@eqnnum\stepcounter{labelcounter}%
        \else
           \@eqnnum\stepcounter{equation}%
        \fi
     \fi
     \global\@eqnswtrue\global\@eqcnt\z@\cr}
\fi
\def\endeqnarray{%
      \@@eqncr
      \egroup
      \if@@lphalabel
        \global\advance\c@labelcounter\m@ne
      \else
        \global\advance\c@equation\m@ne
      \fi
   $$\global\@ignoretrue
}
\def\toheight{[}
\def\@link#1#2#3{\@ifnextchar\toheight{\o@@link{#1}{#2}{#3}}{\@@link{#1}{#2}{#3}}}
\def\@@link#1#2#3{\o@@link{#1}{#2}{#3}\toheight6}
\def\o@@link#1#2#3\toheight#4{%
\newVariable{@#1height}
\ifx\@empty#2\else\@addtoreset{#1}{#2}\fi%
\csname @#1height\endcsname=#4;\relax%
\ifcase\csname @#2level\endcsname\relax\csname @#1height\endcsname=0;%
\else
\@tempcnta\csname @#1height\endcsname;;\relax%
\ifnum\@tempcnta>\secnumheight{\csname @#2level\endcsname};;\relax%
\csname @#1height\endcsname=%
{{\secnumheight{\csname @#2level\endcsname};;}};\fi
\fi
\expandafter\def\csname @prethe#1\endcsname{%
\csname the@#2\endcsname{\csname @#1height\endcsname;;};;}
\expandafter\def\csname the#1\endcsname{%
\@delsep\secseparator#3%
{\csname @prethe#1\endcsname}{\csname sep@#1\endcsname}}%
}
\def\link#1#2{\@link{#1}{#2}\eqseparator}
\def\sep@equation{%
\if@@lphalabel
\if@@userlabel
\eqseparator\arabic{equation}\@@lph{\the\c@labelcounter};;%
\else
\eqseparator\arabic{equation}\@@lph{labelcounter}%
\fi
\else
\eqseparator\arabic{equation}%
\fi
}
\def\eqseparator{.}
\link{equation}{}\toheight0
\let\@@newtheorem\newtheorem
\def\newtheorem#1{\@ifnextchar[{\@@newtheorem{#1}}{\@@@newtheorem{#1}}}
\def\@@@newtheorem#1#2{\@ifnextchar[{\@@@@newtheorem{#1}{#2}}%
{\@@newtheorem{#1}{#2}}}
\def\@@@@newtheorem#1#2[#3]{%
\@ifnextchar\toheight{\@@@@@hnewtheorem{#1}{#2}[#3]}%
{\@@@@@newtheorem{#1}{#2}[#3]}}
\def\@@@@@hnewtheorem#1#2[#3]\toheight#4{\@@newtheorem{#1}{#2}[#3]%
\expandafter\def\csname sep@#1\endcsname{\thmseparator\arabic{#1}}%
\@link{#1}{#3}\thmseparator\toheight#4%
}
\def\@@@@@newtheorem#1#2[#3]{\@@@@@hnewtheorem{#1}{#2}[#3]\toheight6}
\def\theorems{\@ifnextchar[{\@otheorems}{\@theorems}}
\def\@theorems{
\expandafter\ifx\csname theoremstyle\endcsname\relax\else\theoremstyle{plain}\fi
\newtheorem{Th}{Theorem}%
\ifx\Def\relax\newtheorem{Def}{Definition}\fi%!!!
\expandafter\ifx\csname Def\endcsname\relax\newtheorem{Def}{Definition}\fi%!!!
\newtheorem{emrem}{Remark}%
\newtheorem{Conj}{Conjecture}%
\newtheorem{Quest}{Open question}%
\newtheorem{Probl}{Open problem}%
\newenvironment{Rem}{\begin{emrem}\rm}{\end{emrem}}%
\newtheorem{emexa}{Example}%
\newenvironment{Exa}{\begin{emexa}\rm}{\end{emexa}}%
\@ifstar
{\newtheorem{Prop}{Proposition}%
\newtheorem{Cor}{Corollary}%
\newtheorem{Lem}{Lemma}}%
{\newtheorem{Prop}[Th]{Proposition}%
\newtheorem{Cor}[Th]{Corollary}%
\newtheorem{Lem}[Th]{Lemma}}%
}
\def\@otheorems[#1]{\@ifnextchar\toheight{\@@htheorems[#1]}{%
\@@htheorems[#1]\toheight6}}
\def\@@htheorems[#1]\toheight#2{%
\expandafter\ifx\csname theoremstyle\endcsname\relax\else\theoremstyle{plain}\fi
\newtheorem{Th}{Theorem}[#1]\toheight#2%
\expandafter\ifx\csname Def\endcsname\relax\newtheorem{Def}{Definition}[#1]\toheight#2\fi%!!!
\newtheorem{emrem}{Remark}[#1]\toheight#2%
\newtheorem{Conj}{Conjecture}[#1]\toheight#2%
\newtheorem{Quest}{Open question}[#1]\toheight#2%
\newtheorem{Probl}{Open problem}[#1]\toheight#2%
\newenvironment{Rem}{\begin{emrem}\rm}{\end{emrem}}%
\newtheorem{emexa}{Example}[#1]\toheight#2%
\newenvironment{Exa}{\begin{emexa}\rm}{\end{emexa}}%
\@ifstar
{\newtheorem{Prop}{Proposition}[#1]\toheight#2%
\newtheorem{Cor}{Corollary}[#1]\toheight#2%
\newtheorem{Lem}{Lemma}[#1]\toheight#2}%
{\newtheorem{Prop}[Th]{Proposition}%
\newtheorem{Cor}[Th]{Corollary}%
\newtheorem{Lem}[Th]{Lemma}}%
}
\def\@@theorems[#1]{\@@htheorems[#1]\toheight6}
\def\thmseparator{.}
%Added 9.10.04:
%creating a synonym for \link;
%to be used in case xy with option "curve" is used as well
%(it redefines \link macro)
\let\smartlink\link
%Relinking of theorems
%(this may be used out of preamble, whereas \theorems can not:
\def\retheorems[#1]\toheight#2{%
\@link{Th}{#1}\thmseparator\toheight#2%
\ifx\Def\relax\@link{Def}{#1}\thmseparator\toheight#2\fi%!!!
\@link{emrem}{#1}\thmseparator\toheight#2%
\@link{Conj}{#1}\thmseparator\toheight#2%
\@link{Quest}{#1}\thmseparator\toheight#2%
\@link{Probl}{#1}\thmseparator\toheight#2%
\@link{emexa}{#1}\thmseparator\toheight#2%
\@ifstar
{\@link{Prop}{#1}\thmseparator\toheight#2%
\@link{Cor}{#1}\thmseparator\toheight#2%
\@link{Lem}{#1}\thmseparator\toheight#2}%
{}
}
%Added 22.07.04:
%theindex is to be redefined, because \@makeschapterhead has now 5 args, not 1!
\@ifundefined{chapter}{%
	%ToDo!
}
{%
\renewenvironment{theindex}
  {\if@twocolumn
  \@restonecolfalse
  \else
    \@restonecoltrue
  \fi
  \columnseprule \z@
  \columnsep 35\p@
	\relax\@tempcnta1\advance\@tempcnta\c@backshift
	\loop
	\@tempskipa\afterskip{\the\@tempcnta};;\relax
	\ifdim\@tempskipa<\z@\advance\@tempcnta\m@ne
	\repeat
	\@tempcntb\@tempcnta\advance\@tempcntb\@ne
	\@tempskipb\beforeskip{\the\@tempcnta};;\relax
	\ifdim\@tempskipb<\z@\@tempskipb-\@tempskipb\fi
	\c@secnumdepth\secnumheight1;;\relax
	\ifnum \c@backshift=\z@\relax
		\def\@ChapterHeadSize{\secsize1;;}%
	\else
		\def\@ChapterHeadSize{\AddToSize{\secsize{\the\@tempcntb};;}{2}}%
	\fi
	\twocolumn[\@makeschapterhead%
		{\secindent{\the\@tempcnta};;}{\@tempskipb}%
		{\afterskip{\the\@tempcnta};;}%
    {\@ChapterHeadSize\secstyle{\the\@tempcnta};;}%
		{\indexname}]%
  \@mkboth{\MakeUppercase\indexname}%
          {\MakeUppercase\indexname}%
  \thispagestyle{plain}\parindent\z@
  \parskip\z@ \@plus .3\p@\relax
  \let\item\@idxitem}
 {\if@restonecol\onecolumn\else\clearpage\fi}
\renewcommand\tableofcontents{%
    \if@twocolumn
      \@restonecoltrue\onecolumn
    \else
      \@restonecolfalse
    \fi
		\let\if@@starred@intoc\if@starred@intoc%Save the boolean
		\@starred@intocfalse%to kill "contents" line in the table of contents
		\chapter*{\contentsname}
		\let\if@starred@intoc\if@@starred@intoc%Restore the boolean
        \@mkboth{%
           \contentsname}{\contentsname}%
    \@starttoc{toc}%
		\if@locbib\c@bibcount1\relax\fi%Reset bibcount
    \if@restonecol\twocolumn\fi
    }
\renewenvironment{thebibliography}[1]%there is a bug in birkbook, so redefine it
     {\chapter*{\bibname}%
      \@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}%
      \list{\@biblabel{\@arabic\c@enumiv}}%
           {\settowidth\labelwidth{\@biblabel{#1}}%
            \leftmargin\labelwidth
            \advance\leftmargin\labelsep
            \@openbib@code
            \usecounter{enumiv}%
            \let\p@enumiv\@empty
            \renewcommand\theenumiv{\@arabic\c@enumiv}}%
      \sloppy
      \clubpenalty4000
      \@clubpenalty \clubpenalty
      \widowpenalty4000%
      \sfcode`\.\@m}
     {\def\@noitemerr
       {\@latex@warning{Empty `thebibliography' environment}}%
      \endlist}
\newif\if@bibaschapter
\if@locbib
\def\BibAsChapter{\@bibaschaptertrue}
\def\BibAsSection{\@bibaschapterfalse}
\newcounter{bibcount}\addtocounter{bibcount}\@ne%Begin from Bib1.
\newenvironment{abibliography}[1]
     {%
			\if@bibaschapter
				\chapter*{\bibname}%
        \@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}%
			\else
		 	  \section*{\bibname}%
			  \markright{\MakeUppercase\bibname}%In accord with local bib style: bibliography is just the last section in a chapter
			\fi
      \if@starredsec@intoc\else\addcontentsline{toc}{section}{\bibname}\fi
      \list{\@biblabel{\@arabic\c@enumiv}}%
           {\settowidth\labelwidth{\@biblabel{#1}}%
            \leftmargin\labelwidth
            \advance\leftmargin\labelsep
            \@openbib@code
            \usecounter{enumiv}%
            \let\p@enumiv\@empty
            \renewcommand\theenumiv{\@arabic\c@enumiv}}%
      \sloppy
      \clubpenalty4000
      \@clubpenalty \clubpenalty
      \widowpenalty4000%
      \sfcode`\.\@m
     }
     {
		 	\def\@noitemerr
       {\@latex@warning{Empty `abibliography' environment}}%
  		\addtocounter{bibcount}\@ne%though inside \begingroup...\endgroup, but is global
      \addtocontents{toc}{\protect\addtocounter{bibcount}1}%To get correct \cite in toc
      \endlist}
\let\thebibliography\abibliography
\let\endthebibliography\endabibliography%Bug fix
\let\@@lbibitem\@lbibitem
\let\@@bibitem\@bibitem
\edef\BibPrefix{Bib}
\def\@lbibitem[#1]#2{%
	\@@lbibitem[#1]{\BibPrefix\the\c@bibcount.#2}
}
\def\@bibitem#1{%
	\@@bibitem{\BibPrefix\the\c@bibcount.#1}
}
%\let\@@citex\@citex
%\def\@citex[#1]#2{%
%	\@@citex[#1]{\BibPrefix\the\c@bibcount.#2}%This works, but is bad for citations like "\cite{C1,C2}".
%}
%So we are to modify the internals of \@citex as well:
\def\@citex[#1]#2{%
  \let\@citea\@empty
  \@cite{\@for\@citeb:=#2\do
    {\@citea\def\@citea{,\penalty\@m\ }%
     \edef\@citeb{\expandafter\@firstofone\@citeb\@empty}%
     \if@filesw\immediate\write\@auxout{\string\citation{Bib\the\c@bibcount.\@citeb}}\fi
     \@ifundefined{b@Bib\the\c@bibcount.\@citeb}{\mbox{\reset@font\bfseries ?}%
       \G@refundefinedtrue
       \@latex@warning
         {Citation `\@citeb' from Bib.\the\c@bibcount\space on page \thepage \space undefined}}%
       {\hbox{\csname b@Bib\the\c@bibcount.\@citeb\endcsname}}}}{#1}}
\else
\def\BibAsChapter{}
\def\BibAsSection{}
\fi
}
\if@starredsec@intoc
\let\@@section\section
\def\section{\@ifstar{\@@ssection}{\@@section}}
\def\@@ssection#1{\@@section*{#1}\addcontentsline{toc}{section}{#1}}
\fi
\@ifundefined{endsplit}{%
\def\RestoreLaTeXeqno{}}%
{%LaTeX with AMSMath
\def\RestoreLaTeXeqno{%
%\let\eqno\@@eqno
\def\endequation{\egroup\@@eqno \hbox{\@eqnnum}$$\@ignoretrue}%
}}
%Added April 4 05: definitions of \subjclass, \keywords, \address,
%imitating the corresponding definitions from amsarticle.cls; do not use them with book.cls!!!
\def\subjclass#1{%
    \protected@xdef\@thanks{\@thanks
        \protect\footnotetext[0]{2000 {\it Mathematics Subject Classification.} #1.}}%
}
\def\keywords#1{%
    \protected@xdef\@thanks{\@thanks
        \protect\footnotetext[0]{{\it Key words and phrases.} #1.}}%
}
\def\address#1{\AtEndDocument{{\sc#1}}}
\catcode`\@=\csname smart.sty\endcsname
\endinput
%%
%% End of file `smart.sty'.
\end{filecontents}
\begin{filecontents}{varrays.sty}
%%
%% This is file `varrays.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% smart.dtx  (with options: `program,varrbeg,varrays,varrend')
%%          (for LaTeX version 2.09/LaTeX2e ARTICLE/BOOK style/class)
%%     Copyright (C) 1991-98 by Vladimir Molotkov (INRNE, Sofia, Bulgaria)
%%
%%  This package is distributed in the hope that it will be useful,
%%  but WITHOUT ANY WARRANTY; without even the implied warranty of
%%  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
%%
%% IMPORTANT NOTICE:
%%
%% You are not allowed to change this file.
%%
%% You are allowed to distribute this file under the condition that
%% it is distributed together with all files mentioned in readme.txt.
%%
%% If you receive only some of these files from someone, complain!
%%
%% You are NOT ALLOWED to distribute this file alone.  You are NOT
%% ALLOWED to take money for the distribution or use of either this
%% file or a changed version, except for a nominal charge for copying
%% etc.
%%
%% Please, send messages about discovered bugs to: vmolot@inrne.bas.bg
%% \CharacterTable
%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%%   Digits        \0\1\2\3\4\5\6\7\8\9
%%   Exclamation   \!     Double quote  \"     Hash (number) \#
%%   Dollar        \$     Percent       \%     Ampersand     \&
%%   Acute accent  \'     Left paren    \(     Right paren   \)
%%   Asterisk      \*     Plus          \+     Comma         \,
%%   Minus         \-     Point         \.     Solidus       \/
%%   Colon         \:     Semicolon     \;     Less than     \<
%%   Equals        \=     Greater than  \>     Question mark \?
%%   Commercial at \@     Left bracket  \[     Backslash     \\
%%   Right bracket \]     Circumflex    \^     Underscore    \_
%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
%%   Right brace   \}     Tilde         \~}
%%


\expandafter\ifx\csname LaTeXe\endcsname\relax
\def\NeedsTeXFormat#1{}\def\ProvidesPackage#1[#2]{}\fi
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{varrays}[1996/08/10 Variables & Arrays style]
\typeout{Variables & Arrays style - Version 1.0}
\expandafter\ifx\csname varrays.sty\endcsname\relax\else
\typeout{[already loaded]}\endinput\fi
\expandafter\chardef\csname varrays.sty\endcsname=\the\catcode`\@
\makeatletter
\def\Variable#1=#2;{\expandafter\def\csname#1\endcsname##1##2;{%
\if=##1\Variable{#1}=##2;\else#2\fi}}
\def\newVariable#1{\expandafter\def\csname#1\endcsname##1##2;{%
\if=##1\Variable{#1}=##2;\fi}}
\def\newArray#1{\expandafter\def\csname#1\endcsname##1##2##3;{%
\if=##1\Array{#1}=##2##3\else
\if=##2\reset{#1}##1=##3;%
\fi\fi}%
\expandafter\def\csname#1@length\endcsname{\@ne}%
}
\def\Array#1=[#2]{%
\@ifundefined{/#1}{}{\expandafter\let\csname/#1\endcsname\relax
\@tempcnta\@ne%
\loop
\ifnum\@tempcnta<\csname#1@length\endcsname
\expandafter\let\csname#1/\the\@tempcnta\endcsname\relax
\advance\@tempcnta\@ne
\repeat}%
\begingroup
\@tempcnta\m@ne% To compensate for the influence of explicit `{' below.
\@tempcntb\@ne
\@Puckman
\expandafter\def\csname#1\endcsname##1##2##3;{%
\if=##1\Array{{#1}}=##2##3\else
\if=##2\reset{{#1}}##1=##3;\else
\ifcase##1\or#2\fi\fi\fi}%
\end@Puckman% or, may be, \@Spider would be better instead of \end@Puckman?
\advance\@tempcntb\@ne
\expandafter\xdef\csname#1@length\endcsname{\the\@tempcntb}%
\endgroup
}
\def\@Puckman{\futurelet\next\@CopySpacesAndGroups}
\def\@CopySpacesAndGroups{\let\n@xt\end@Puckman\ifx\next\end@Puckman
\else\ifcat\noexpand\next\space\aftergroup\space\let\n@xt=\@Puckafternext
\else\ifcat\noexpand\next\bgroup
\advance\@tempcnta\@ne
\ifnum\@tempcnta=\@ne\else
\aftergroup{%
\fi
\let\n@xt=\@Puckafternext
\else\ifcat\noexpand\next\egroup
\advance\@tempcnta\m@ne
\ifnum\@tempcnta=\z@\else
\aftergroup}%
\fi
\let\n@xt=\@Puckafternext
\else\let\n@xt=\CodeToken\fi\fi\fi\fi
\n@xt}
\def\@Puckafternext{\afterassignment\@Puckman\let\next= }
\def\CodeToken#1{%
\ifx,#1%
\advance\@tempcntb\@ne\relax
\ifnum\@tempcnta=0\aftergroup\or\else\aftergroup,\fi
\else\aftergroup#1\fi\@Puckman}
\def\end@Puckman\end@Puckman{}
\def\reset#1#2=#3;{%
\@ifundefined{/#1}%
{\expandafter\let\csname/#1\expandafter\endcsname
\csname#1\endcsname}{}%
\expandafter\def\csname#1/#2\endcsname{#3}%
\begingroup
\@tempcnta=#2\relax\advance\@tempcnta\@ne
\ifnum\@tempcnta>\csname#1@length\endcsname\relax
\expandafter\xdef\csname#1@length\endcsname{\the\@tempcnta}%
\fi
\endgroup
\expandafter\def\csname#1\endcsname##1##2##3;{%
\if=##1\Array{#1}=##2##3\else
\if=##2\reset{#1}##1=##3;\else
\expandafter\ifx\csname#1/##1\endcsname\relax
\csname/#1\endcsname{##1};;\else\csname#1/##1\endcsname
\fi\fi\fi}}
\def\ereset#1#2=#3;{%
\@ifundefined{/#1}%
{\expandafter\let\csname/#1\expandafter\endcsname
\csname#1\endcsname}{}%
\expandafter\edef\csname#1/#2\endcsname{#3}%
\begingroup
\@tempcnta=#2\relax\advance\@tempcnta\@ne
\ifnum\@tempcnta>\csname#1@length\endcsname\relax
\expandafter\xdef\csname#1@length\endcsname{\the\@tempcnta}%
\fi
\endgroup
\expandafter\def\csname#1\endcsname##1##2##3;{%
\if=##1\Array{#1}=##2##3\else
\if=##2\reset{#1}##1=##3;\else
\expandafter\ifx\csname#1/##1\endcsname\relax
\csname/#1\endcsname{##1};;\else\csname#1/##1\endcsname
\fi\fi\fi}}
\def\Multiply#1#2by#3;{\edef\@tmp{#2}%
\ifx\@tmp\@empty\MultiplyArr{\expandafter\@gobble\string#1}by#3;\else
\MultiplyComp{\expandafter\@gobble\string#1}#2by#3;\fi}
\def\MultiplyComp#1#2by#3;{%
\@tempskipa=\csname#1\endcsname{#2};;\relax
\@tempdima=\@tempskipa\relax
\advance\@tempskipa-\@tempdima\relax
\@tempdima=#3\@tempdima\relax\advance\@tempskipa\@tempdima\relax
\ereset{#1}#2=\the\@tempskipa;%
}
\def\MultiplyArr{\@ifstar{\s@MultiplyArr}{\@MultiplyArr}}
\def\@MultiplyArr#1by#2;{%
\@tempcnta1
\loop
\ifnum\@tempcnta<\csname #1@length\endcsname\relax
\@tempskipa\csname#1\endcsname{\the\@tempcnta};;\relax
\@tempdima=\@tempskipa\relax
\advance\@tempskipa-\@tempdima\relax
\@tempdima=#2\@tempdima\relax\advance\@tempskipa\@tempdima\relax
\ereset{#1}\the\@tempcnta=\the\@tempskipa;%
\advance\@tempcnta\@ne\relax
\repeat
}
\def\s@MultiplyArr#1by#2;{%
\@tempcnta1
\loop
\ifnum\@tempcnta<\csname #1@length\endcsname\relax
\@tempskipa\csname#1\endcsname{\the\@tempcnta};;\relax
\ifdim\@tempskipa>\z@\relax
\@tempdima=\@tempskipa\relax
\advance\@tempskipa-\@tempdima\relax
\@tempdima=#2\@tempdima\relax\advance\@tempskipa\@tempdima\relax
\ereset{#1}\the\@tempcnta=\the\@tempskipa;
\fi
\advance\@tempcnta\@ne\relax
\repeat
}
\catcode`\@=\csname varrays.sty\endcsname
\endinput
%%
%% End of file `varrays.sty'.
\end{filecontents}
\begin{filecontents}{oldamsf.sty}
%%
%% This is file `oldamsf.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% smart.dtx  (with options: `program,fontsbeg,amsfonts,fontsend')
%%          (for LaTeX version 2.09/LaTeX2e ARTICLE/BOOK style/class)
%%     Copyright (C) 1991-98 by Vladimir Molotkov (INRNE, Sofia, Bulgaria)
%%
%%  This package is distributed in the hope that it will be useful,
%%  but WITHOUT ANY WARRANTY; without even the implied warranty of
%%  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
%%
%% IMPORTANT NOTICE:
%%
%% You are not allowed to change this file.
%%
%% You are allowed to distribute this file under the condition that
%% it is distributed together with all files mentioned in readme.txt.
%%
%% If you receive only some of these files from someone, complain!
%%
%% You are NOT ALLOWED to distribute this file alone.  You are NOT
%% ALLOWED to take money for the distribution or use of either this
%% file or a changed version, except for a nominal charge for copying
%% etc.
%%
%% Please, send messages about discovered bugs to: vmolot@inrne.bas.bg
%% \CharacterTable
%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%%   Digits        \0\1\2\3\4\5\6\7\8\9
%%   Exclamation   \!     Double quote  \"     Hash (number) \#
%%   Dollar        \$     Percent       \%     Ampersand     \&
%%   Acute accent  \'     Left paren    \(     Right paren   \)
%%   Asterisk      \*     Plus          \+     Comma         \,
%%   Minus         \-     Point         \.     Solidus       \/
%%   Colon         \:     Semicolon     \;     Less than     \<
%%   Equals        \=     Greater than  \>     Question mark \?
%%   Commercial at \@     Left bracket  \[     Backslash     \\
%%   Right bracket \]     Circumflex    \^     Underscore    \_
%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
%%   Right brace   \}     Tilde         \~}
%%


\expandafter\ifx\csname LaTeXe\endcsname\relax
\def\NeedsTeXFormat#1{}\def\ProvidesPackage#1[#2]{}\fi
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{oldamsf}[1996/08/10 AMSTEX like style for AMS fonts]
\typeout{AMSTEX like style for AMS fonts - Version 1.0}
\expandafter\ifx\csname oldamsf.sty\endcsname\relax\else
\typeout{[already loaded]}\endinput\fi
\expandafter\chardef\csname oldamsf.sty\endcsname=\the\catcode`\@
\makeatletter
\expandafter\ifx\csname amseufnt.sty\endcsname\relax\else
\catcode`\@=\csname smart.sty\endcsname
\endinput\fi
\expandafter\ifx\csname new@fontshape\endcsname\relax
\typeout{}
\typeout{AMS fonts definition for LaTeX2.09 as realized in the package SMART...}
\typeout{}
\def\undefine#1{\let#1\undefined}
\def\newsymbol#1#2#3#4#5{\let\next@\relax
 \ifnum#2=\@ne\let\next@\msafam@\else
 \ifnum#2=\tw@\let\next@\msbfam@\fi\fi
 \mathchardef#1="#3\next@#4#5}
\def\mathhexbox@#1#2#3{\relax
 \ifmmode\mathpalette{}{\m@th\mathchar"#1#2#3}%
 \else\leavevmode\hbox{$\m@th\mathchar"#1#2#3$}\fi}
\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\UseAMSsymbols{\loadmsam\loadmsbm\input amssym.tex}
\def\loadmsam{\loadmathfont{msam}%
\def\msafam{\msamfam}%
\xdef\msafam@{\hexnumber@\msamfam}%
\mathchardef\dabar@"0\msafam@39
\def\dashrightarrow{\mathrel{\dabar@\dabar@\mathchar"0\msafam@4B}}%
\def\dashleftarrow{\mathrel{\mathchar"0\msafam@4C\dabar@\dabar@}}%
\let\dasharrow\dashrightarrow
\def\ulcorner{\delimiter"4\msafam@70\msafam@70 }%
\def\urcorner{\delimiter"5\msafam@71\msafam@71 }%
\def\llcorner{\delimiter"4\msafam@78\msafam@78 }%
\def\lrcorner{\delimiter"5\msafam@79\msafam@79 }%
\def\yen{{\mathhexbox@\msafam@55 }}%
\def\checkmark{{\mathhexbox@\msafam@58 }}%
\def\circledR{{\mathhexbox@\msafam@72 }}%
\def\maltese{{\mathhexbox@\msafam@7A }}%
}
\def\loadmsbm{\loadmathfont{msbm}\def\msbfam{\msbmfam}%
\def\Bbb##1{\ifmmode{\msbm\relax##1}\else${\msbm\relax##1}$\fi}%
\edef\msbfam@{\hexnumber@\msbmfam}%
\def\widehat##1{\setbox\z@\hbox{$\m@th##1$}%
 \ifdim\wd\z@>\tw@ em\mathaccent"0\msbfam@5B{##1}%
 \else\mathaccent"0362{##1}\fi}%
\def\widetilde##1{\setbox\z@\hbox{$\m@th##1$}%
 \ifdim\wd\z@>\tw@ em\mathaccent"0\msbfam@5D{##1}%
 \else\mathaccent"0365{##1}\fi}%
}
\let\loadBbb\loadmsbm
\def\loadeufm{\loadmathfont*{eufm}%
\def\frak##1{\ifmmode{\eufm\relax##1}\else${\eufm\relax##1}$\fi}%
\let\goth\eufm
}
\let\loadfrak\loadeufm\let\loadgoth\loadeufm
\def\loadeufb{\loadmathfont*{eufb}%
\def\bfrak##1{\ifmmode{\eufb\relax##1}\else${\eufb\relax##1}$\fi}%
\let\bgoth\eufb
}
\let\loadbfrak\loadeufb\let\loadbgoth\loadeufb
\def\loadeusm{\loadmathfont*{eusm}%
\def\script##1{\ifmmode{\eusm\relax##1}\else${\eusm\relax##1}$\fi}}
\let\loadscript\loadeusm
\def\loadeusb{\loadmathfont*{eusb}%
\def\bscript##1{\ifmmode{\eusb\relax##1}\else${\eusb\relax##1}$\fi}}
\let\loadbscript\loadeusb
\def\loadeurm{\loadmathfont*{eurm}%
\def\cursiv##1{\ifmmode{\eurm\relax##1}\else${\eurm\relax##1}$\fi}}
\let\loadcursiv\loadeurm
\def\loadeurb{\loadmathfont*{eurb}%
\def\bcursiv##1{\ifmmode{\eurb\relax##1}\else${\eurb\relax##1}$\fi}}
\let\loadbcursiv\loadeurb
\def\loadmathfont{\@ifstar{\@sloadmathfont}{\@loadmathfont}}
\def\@loadmathfont#1{%
   \global\expandafter\newfam\csname#1fam\endcsname
   \@@loadfonts{#1}%
   \@@addtosizes{#1}\@normalsize
   \expandafter\gdef\csname load#1\endcsname{}%
}
\def\@@loadfonts#1{%
   \global\expandafter\font\csname fiv#1\endcsname=#15
   \global\expandafter\font\csname six#1\endcsname=#16
   \global\expandafter\font\csname sev#1\endcsname=#17
   \global\expandafter\font\csname egt#1\endcsname=#18
   \global\expandafter\font\csname nin#1\endcsname=#19
   \global\expandafter\font\csname ten#1\endcsname=#110
   \global\expandafter\font\csname elv#1\endcsname=#110 \@halfmag
   \global\expandafter\font\csname twl#1\endcsname=#110 \@magscale1
   \global\expandafter\font\csname frt#1\endcsname=#110 \@magscale2
   \global\expandafter\font\csname svt#1\endcsname=#110 \@magscale3
   \global\expandafter\font\csname twt#1\endcsname=#110 \@magscale4
   \expandafter\gdef\csname #1\endcsname{%
   \expandafter\protect\csname p#1\endcsname}%
}
\def\@@addtosizes#1{%
\@appendto\vpt{\@@getfonts{#1}{0}{0}{0}}%
\@appendto\vipt{\@@getfonts{#1}{1}{0}{0}}%
\@appendto\viipt{\@@getfonts{#1}{2}{0}{0}}%
\@appendto\viiipt{\@@getfonts{#1}{3}{1}{0}}%
\@appendto\ixpt{\@@getfonts{#1}{4}{1}{0}}%
\@appendto\xpt{\@@getfonts{#1}{5}{2}{0}}%
\@appendto\xipt{\@@getfonts{#1}{6}{3}{1}}%
\@appendto\xiipt{\@@getfonts{#1}{7}{3}{1}}%
\@appendto\xivpt{\@@getfonts{#1}{8}{5}{2}}%
\@appendto\xviipt{\@@getfonts{#1}{9}{6}{5}}%
\@appendto\xxpt{\@@getfonts{#1}{10}{8}{7}}%
\@appendto\xxvpt{\@@getfonts{#1}{10}{10}{9}}%
}
\def\@@getfonts#1#2#3#4{%
\expandafter\def\csname p#1\endcsname{%
\expandafter\fam\csname#1fam\endcsname\csname\@prefsize{#2}#1\endcsname}%
\textfont\csname#1fam\endcsname \csname\@prefsize{#2}#1\endcsname
\scriptfont\csname#1fam\endcsname \csname\@prefsize{#3}#1\endcsname
\scriptscriptfont\csname#1fam\endcsname \csname\@prefsize{#4}#1\endcsname
}
\def\@sloadmathfont#1{%
\@@sloadmathfont{#1}\@@saddtosizes{#1}\@normalsize
\expandafter\gdef\csname load#1\endcsname{}%
}
\def\@@sloadmathfont#1{%
\ifcase\@ptsize
   \global\expandafter\font\csname fiv#1\endcsname=#15
   \global\expandafter\font\csname sev#1\endcsname=#17
   \global\expandafter\font\csname ten#1\endcsname=#110
\or
   \global\expandafter\font\csname elv#1\endcsname=#110 \@halfmag
   \global\expandafter\font\csname egt#1\endcsname=#18
   \global\expandafter\font\csname six#1\endcsname=#16
\or
   \global\expandafter\font\csname twl#1\endcsname=#110 \@magscale1
   \global\expandafter\font\csname egt#1\endcsname=#18
   \global\expandafter\font\csname six#1\endcsname=#16
\fi
   \global\expandafter\newfam\csname#1fam\endcsname
   \expandafter\gdef\csname #1\endcsname{%
   \expandafter\protect\csname p#1\endcsname}%
}
\def\@@saddtosizes#1{%
\@appendto\vpt{\@getfonts{#1}\@vpt{0}{0}{0}}%
\@appendto\vipt{\@getfonts{#1}\@vipt{1}{0}{0}}%
\@appendto\viipt{\@getfonts{#1}\@viipt{2}{0}{0}}%
\@appendto\viiipt{\@getfonts{#1}\@viiipt{3}{1}{0}}%
\@appendto\ixpt{\@getfonts{#1}\@ixpt{4}{1}{0}}%
\@appendto\xpt{\@getfonts{#1}\@xpt{5}{2}{0}}%
\@appendto\xipt{\@getfonts{#1}\@xipt{6}{3}{1}}%
\@appendto\xiipt{\@getfonts{#1}\@xiipt{7}{3}{1}}%
\@appendto\xivpt{\@getfonts{#1}\@xivpt{8}{5}{2}}%
\@appendto\xviipt{\@getfonts{#1}\@xviipt{9}{6}{5}}%
\@appendto\xxpt{\@getfonts{#1}\@xxpt{10}{8}{7}}%
\@appendto\xxvpt{\@getfonts{#1}\@xxvpt{10}{10}{9}}%
}
\def\@getfonts#1#2#3#4#5{%
\expandafter\def\csname p#1\endcsname{%
\@ifundefined{\string#2#1}{%
\expandafter\gdef\csname \string#2#1\endcsname{\@empty}%
\@@getfont{#1}{#3}\@@getfont{#1}{#4}\@@getfont{#1}{#5}%
\@addfontinfo{#2}{%
\global\textfont\csname#1fam\endcsname \csname\@prefsize{#3}#1\endcsname
\global\scriptfont\csname#1fam\endcsname \csname\@prefsize{#4}#1\endcsname
\global\scriptscriptfont\csname#1fam\endcsname \csname\@prefsize{#5}#1\endcsname
\expandafter\def\csname p#1\endcsname{%
\expandafter\fam\csname#1fam\endcsname\csname\@prefsize{#3}#1\endcsname}%
}}{}#2\csname p#1\endcsname}%
}
\def\@@getfont#1#2{%
\@ifundefined{\@prefsize{#2}#1}%
{\global\expandafter\font\csname\@prefsize{#2}#1\endcsname
#1\@suffsize{#2}\relax}{}}
\def\@prefsize#1{\ifcase#1 fiv\or six\or sev\or egt\or nin\or ten\or elv\or
twl\or frt\or svt\or twt\or twf\fi}
\def\@suffsize#1{\ifcase#1 5\or 6\or 7\or 8\or 9\or 10\or
10 \@halfmag\or 10 \@magscale1\or
10 \@magscale2\or 10 \@magscale3\or
10 \@magscale4\or 10 \@magscale5\fi}
\toksdef\toks@@=2
\def\@appendto#1#2{%
\toks@=\expandafter{#1}%
\toks@@=\expandafter{#2}%
\xdef#1{\the\toks@\the\toks@@}%
\toks@={}%
\toks@@={}%
}
\else
\expandafter\ifx\csname LaTeXe\endcsname\relax
\def\usepackage#1{\makeatletter\input #1.sty\makeatother}
\def\DeclareOldFontCommand#1#2#3{\def#1##1{%
\protect\ifmmode#3##1\else#2##1\fi}}%
\fi
\expandafter\ifx\csname DeclareFontShape\endcsname\relax
\typeout{}
\typeout{AMS fonts definition for NFSS1 as realized in the package SMART...}
\typeout{}
\def\DeclareMathAlphabet#1#2#3#4#5{\newmathalphabet*#1{#3}{#4}{#5}}
\def\SetMathAlphabet#1#2#3#4#5#6{\addtoversion{#2}{#1}{#4}{#5}{#6}}
\def\fontencoding#1{}
\else
\expandafter\ifx\csname LaTeXe\endcsname\relax
\typeout{}
\typeout{AMS fonts definition for NFSS2 as realized in the package SMART...}
\typeout{}
\else
\typeout{}
\typeout{AMS fonts definition for LaTeX2e as realized in the package SMART...}
\typeout{}
\fi
\fi
\def\loadmsam{\usepackage{amsfonts}\let\loadmsam\relax}
\def\loadmsbm{\usepackage{amsfonts}%
\let\msbm\mathbb
\def\Bbb##1{\ifmmode\msbm{##1}\else$\msbm{##1}$\fi}%
\let\loadmsbm\relax\let\loadBbb\relax
}
\let\loadBbb\loadmsbm
\def\UseAMSsymbols{\loadmsbm\usepackage{amssymb}}
\def\loadeufm{\@ifundefined{ds@amsfonts}%
{\DeclareMathAlphabet\eufm{U}{euf}{m}{n}
\SetMathAlphabet\eufm{bold}{U}{euf}{b}{n}}
{\let\eufm\frak}
\def\frak##1{\ifmmode\eufm{##1}\else$\eufm{##1}$\fi}%
\DeclareOldFontCommand{\goth}{\fontencoding{U}\fontfamily{euf}\fontseries{m}%
\fontshape{n}\selectfont}{\eufm}%
\let\loadeufm\relax\let\loadfrak\relax\let\loadgoth\relax
}
\let\loadfrak\loadeufm\let\loadgoth\loadeufm
\def\loadeufb{%
\DeclareMathAlphabet\eufb{U}{euf}{b}{n}
\def\bfrak##1{\ifmmode\eufb{##1}\else$\eufb{##1}$\fi}%
\DeclareOldFontCommand{\bgoth}{\fontencoding{U}\fontfamily{euf}\fontseries{b}%
\fontshape{n}\selectfont}{\eufb}%
\let\loadeufb\relax\let\loadbfrak\relax\let\loadbgoth\relax
}
\let\loadbfrak\loadeufb\let\loadbgoth\loadeufb
\def\loadeusm{%
\DeclareMathAlphabet\eusm{U}{eus}{m}{n}
\SetMathAlphabet\eusm{bold}{U}{eus}{b}{n}
\def\script##1{\ifmmode\eusm{##1}\else$\eusm{##1}$\fi}%
\let\loadeusm\relax\let\loadscript\relax
}
\let\loadscript\loadeusm
\def\loadeusb{%
\DeclareMathAlphabet\eusb{U}{eus}{b}{n}
\def\bscript##1{\ifmmode\eusb{##1}\else$\eusb{##1}$\fi}%
\let\loadeusb\relax\let\loadbscript\relax
}
\let\loadbscript\loadeusb
\def\loadeurm{%
\DeclareMathAlphabet\eurm{U}{eur}{m}{n}
\SetMathAlphabet\eurm{bold}{U}{eur}{b}{n}
\def\cursiv##1{\ifmmode\eurm{##1}\else$\eurm{##1}$\fi}%
\let\loadeurm\relax\let\loadcursiv\relax
}
\let\loadcursiv\loadeurm
\def\loadeurb{%
\DeclareMathAlphabet\eurb{U}{eur}{b}{n}
\def\bcursiv##1{\ifmmode\eurb{##1}\else$\eurb{##1}$\fi}%
\let\loadeurb\relax\let\loadbbcursiv\relax
}
\let\loadbbcursiv\loadeusb
\fi
\def\do{\noexpand\do\noexpand}
\edef\@preamblecmds{\@preamblecmds
\do\loadmsam\do\loadmsbm\do\loadBbb
\do\loadeufm\do\loadeufb\do\loadfrak\do\loadbfrak\do\loadgoth\do\loadbgoth
\do\loadeusm\do\loadeusb\do\loadscript\do\loadbscript
\do\loadeurm\do\loadeurb\do\loadcursiv\do\loadbcursiv
}
\catcode`\@=\csname oldamsf.sty\endcsname
\endinput
%%
%% End of file `oldamsf.sty'.
\end{filecontents}
\begin{filecontents}{diagr2xy.sty}
%%
%% This is file `diagr2xy.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% diagr2xy.dtx  (with options: `package')
%%
%% IMPORTANT NOTICE:
%%
%% For the copyright see the source file.
%%
%% You are *not* allowed to modify this file.
%%
%% You are *not* allowed to distribute this file.
%% For distribution of the original source see the terms
%% for copying and modification in the file diagr2xy.dtx.
%%
%% Package DIAGR2XY: emulates PB-DIAGRAM inside XYPIC
%% Copyright (C) 1998 Vladimir Molotkov, all rights reserved.
\NeedsTeXFormat{LaTeX2e}[1995/06/01]
\ProvidesPackage{diagr2xy}
         [1998/02/21 v1.0 XYPIC emulator for PB-DIAGRAM]
%% \CharacterTable
%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%%   Digits        \0\1\2\3\4\5\6\7\8\9
%%   Exclamation   \!     Double quote  \"     Hash (number) \#
%%   Dollar        \$     Percent       \%     Ampersand     \&
%%   Acute accent  \'     Left paren    \(     Right paren   \)
%%   Asterisk      \*     Plus          \+     Comma         \,
%%   Minus         \-     Point         \.     Solidus       \/
%%   Colon         \:     Semicolon     \;     Less than     \<
%%   Equals        \=     Greater than  \>     Question mark \?
%%   Commercial at \@     Left bracket  \[     Backslash     \\
%%   Right bracket \]     Circumflex    \^     Underscore    \_
%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
%%   Right brace   \}     Tilde         \~}
%%
\ifx\undefined\W@ \def\W@{\immediate\write16 }\fi
\W@{}
\W@{DG2XY: XYPIC emulator for PB-DIAGRAM}
\W@{Version 1.0 1998/02/13}
\W@{Copyright (c) 1998 by Vladimir Molotkov <vmolot@inrne.bas.bg>}%
\W@{DG2XY is free software for non-commercial use}%
\W@{}
\IfFileExists{xy.tex}
{
  \usepackage[arrow,matrix,curve]{xy}
  \def\lamsvector{1}
}
{
  \IfFileExists{pb-diagram.sty}
  {
    \W@{XYPIC not found on your system!}
    \W@{Loading PB-DIAGRAM instead!}
    \W@{}
    \usepackage{pb-diagram}
    \usepackage{lamsarrow}
    \usepackage{pb-lams}
    \let\dgDefaults\relax
    \let\xyDefaults\relax
  }
  {
    \W@{Neither XYPIC nor PB-DIAGR was found on your system!}
    \W@{DG2XY can not be used without one of these packages!}
    \W@{}
  }
  \endinput
}
\ifx\@auxdefsloaded\relax
\else\let\@auxdefsloaded\relax
\def\newoptcommand#1#2{%
   \@ifnextchar [{\@optargdef#1#2}{\@optargdef#1#2[1]}}
\long\def\@optargdef#1#2[#3]#4{%
   \@ifdefinable #1{\@reoptargdef#1#2[#3]{#4}}}
\long\def\@reoptargdef#1#2[#3]#4{%
   \@tempcnta#3\relax \@tempcntb \@ne
   \let#1\relax \let\@tempa\relax
   \edef\@tempb{\long\def\csname\string#1\endcsname
      [\@tempa\the\@tempcntb]}%
   \advance\@tempcntb \@ne \advance\@tempcnta \m@ne
   \@whilenum\@tempcnta>0\do{%
      \edef\@tempb{\@tempb\@tempa\the\@tempcntb}%
      \advance\@tempcntb \@ne \advance\@tempcnta \m@ne}%
   \let\@tempa=##\@tempb{#4}%
   \def#1{\@ifnextchar [{\csname\string#1\endcsname}{%
      \csname\string#1\endcsname[#2]}}}
\fi
\newcount\dgARROWPARTS  \dgARROWPARTS=4\relax
\newcommand{\dgeverynode}{\displaystyle}
\newcommand{\dgeverylabel}{\scriptstyle}
\newdimen\dgARROWLENGTH
\dgARROWLENGTH2pc\relax
\let\dgHORIZPAD\@tempskipb
\let\dgVERTPAD\@tempskipb
\let\dgLABELOFFSET\@tempskipb
\let\dgDOTSPACING\@tempskipb
\let\dgDOTSIZE\@tempskipb
\def\dgcompileno@@{0}
\def\xyGetSpacing{%
\ifdim\dgARROWLENGTH=2pc\relax
  \edef\dgxyspacing@{}%
\else
  \edef\dgxyspacing@{@=\the\dgARROWLENGTH}%
\fi}
\edef\dgxyspacing@{}
\newcount\dgCOLS
\newcount\dgROWS
\newif\iffirstnode
\newif\ifFancyArrow
\newif\ifdgDefaults
\def\dgDefaults{\dgDefaultstrue}
\def\xyDefaults{\dgDefaultsfalse}
\dgDefaults
\newtoks\dgtoxy
\def\addtoxy#1{\global\dgtoxy=\expandafter{\the\dgtoxy#1}}
\def\eaddtoxy#1{%
\edef\@@@tmp{\the\dgtoxy#1}\global\dgtoxy=\expandafter{\@@@tmp}%
}
\def\dgxyOpenFile{%
\count@=\dgcompileno@@ \advance\count@\@ne
\xdef\dgcompileno@@{\ifnum10>\count@ 0\fi \the\count@}%
\xdef\compilename@@{\xycompile@@\dgcompileno@@.d2x}%
\message{(DG2XY file:\space\string`\compilename@@\string')}%
\immediate\openout\xywrite@=\compilename@@
}
\def\dgxyAddToFile@#1{%
\DNii@{#1}%
\immediate\write\xywrite@{\codeof\nextii@}%
\global\dgtoxy={}%
}
\def\dgxyAddToFile{%
\expandafter\dgxyAddToFile@\expandafter{\the\dgtoxy}
}
\def\dgxyCloseFile{%
\immediate\closeout\xywrite@\relax
}
\begingroup
\catcode`\{=12
\catcode`\}=12
\catcode`\[=1
\catcode`\]=2
\gdef\addbgroup[%
\dgtoxy=[]%
\eaddtoxy[\noexpand\xymatrix\dgxyspacing@{]
\dgxyAddToFile
]
\gdef\addegroup[%
\immediate\write\xywrite@[}]
]
\endgroup
\newcommand\diagram{%
\xyGetSpacing
\begingroup
\dgxyOpenFile
\let\\=\dgNextRow
\firstnodetrue
\addbgroup
}
\long\def\enddiagram{%
\iffirstnode
\else
\dgxyAddToFile
\fi
\addegroup
\dgxyCloseFile
\endgroup
\@ignoretrue
\expandafter\edef\csname loc@l@AT\endcsname{\the\catcode`@}
\makeatother
\let\objectstyle\dgeverynode
\let\labelstyle\dgeverylabel
\input{\compilename@@}%
\catcode`@=\csname loc@l@AT\endcsname
}
\newoptcommand{\node}{\@ne}[2]{%
\@tempcntb#1\relax
\iffirstnode
  \firstnodefalse
  \advance\@tempcntb\m@ne
\else
  \ifnum\@tempcntb>\z@
    \dgxyAddToFile
  \fi
\fi
\loop
\ifnum\@tempcntb>\z@
  \addtoxy&%
  \advance\@tempcntb\m@ne
\repeat
\addtoxy{#2}%
}
\newoptcommand{\dgNextRow}{\@ne}[1]{%
\addtoxy\\%
\dgxyAddToFile
\firstnodetrue
\@tempcntb#1\relax
\advance\@tempcntb\m@ne\relax
\loop
\ifnum\@tempcntb>\z@
  \addtoxy\\%
  \dgxyAddToFile
  \advance\@tempcntb\m@ne
\repeat
}
\newoptcommand{\arrow}{\@ne}[2]{%
\dgCOLS\z@\relax
\dgROWS\z@\relax
\edef\dgNumLabels{\z@}%
\edef\dgFirstLabel{}%
\edef\dgFirstLabelPos{}%
\edef\dgSecondLabelPos{}%
\edef\dgShaft{-}%
\edef\dgTail{}%
\edef\dgHead{>}%
\FancyArrowfalse
\dgParseOptions#2\endParse
\multiply\dgCOLS by #1
\multiply\dgROWS by #1
\ifnum\dgNumLabels>\z@\relax
  \dgGetLabelPositions
\fi
\addtoxy\ar
\ifFancyArrow
  \eaddtoxy{@{\dgTail\dgShaft\dgHead}}%
\fi
\addtoxy[%
\loop
\ifnum\dgROWS>\z@
  \addtoxy u%
  \advance\dgROWS\m@ne
\repeat
\loop
\ifnum\dgROWS<\z@
  \addtoxy d%
  \advance\dgROWS\@ne
\repeat
\loop
\ifnum\dgCOLS>\z@
  \addtoxy r%
  \advance\dgCOLS\m@ne
\repeat
\loop
\ifnum\dgCOLS<\z@
  \addtoxy l%
  \advance\dgCOLS\@ne
\repeat
\addtoxy]%
\ifnum\dgNumLabels>\z@
  \expandafter\addtoxy\dgFirstLabel
  \ifx\dgFirstLabelPos\empty
    \ifdgDefaults
      \addtoxy-%
    \fi
  \else
    \eaddtoxy\dgFirstLabelPos
  \fi
  \ifnum\dgNumLabels=\@ne
    \let\n@xt\dgWriteLabel
  \else
    \let\n@xt\dgWriteLabels
  \fi
\else
  \let\n@xt\relax
\fi
\n@xt
}
\newcommand\dgWriteLabel[1]{%
\addtoxy{{#1}}
}
\newcommand\dgWriteLabels[2]{%
\dgWriteLabel{#1}%
\if^\dgFirstLabel
  \addtoxy_%
\else
  \addtoxy^%
\fi
\ifx\dgSecondLabelPos\empty
  \ifdgDefaults
    \addtoxy-%
  \fi
\else
  \eaddtoxy\dgSecondLabelPos
\fi
\dgWriteLabel{#2}%
}
\newcommand\dgGetLabelPositions{%
\ifnum\dgCOLS>\z@
  \expandafter\ifx\dgFirstLabel t
    \edef\dgFirstLabel{^}
  \else
    \edef\dgFirstLabel{_}
  \fi
\else
\ifnum\dgCOLS<\z@
  \expandafter\ifx\dgFirstLabel t
    \edef\dgFirstLabel{_}
  \else
    \edef\dgFirstLabel{^}
  \fi
\else
\ifnum\dgROWS>\z@
  \expandafter\ifx\dgFirstLabel l
    \edef\dgFirstLabel{^}
  \else
    \edef\dgFirstLabel{_}
  \fi
\else
\ifnum\dgROWS<\z@
  \expandafter\ifx\dgFirstLabel l
    \edef\dgFirstLabel{_}
  \else
    \edef\dgFirstLabel{^}
  \fi
\fi\fi\fi\fi
}
\def\dgParseOptions{\futurelet\next\dg@ParseOptions}
\def\dg@ParseOptions{%
\let\n@xt\endParse
\ifx\next\endParse
\else
  \let\n@xt=\dgGetOption
\fi
\n@xt}
\def\endParse\endParse{}
\def\dgGetOption#1{%
\ifx#1e\advance\dgCOLS\@ne\fi
\ifx#1w\advance\dgCOLS\m@ne\fi
\ifx#1n\advance\dgROWS\@ne\fi
\ifx#1s\advance\dgROWS\m@ne\fi
\ifx#1t\dgGetLabels#1\fi
\ifx#1b\dgGetLabels#1\fi
\ifx#1l\dgGetLabels#1\fi
\ifx#1r\dgGetLabels#1\fi
\ifx#10\dgGetLabelPos#1\fi
\ifx#11\dgGetLabelPos#1\fi
\ifx#12\dgGetLabelPos#1\fi
\ifx#13\dgGetLabelPos#1\fi
\ifx#14\dgGetLabelPos#1\fi
\ifx#15\dgGetLabelPos#1\fi
\ifx#16\dgGetLabelPos#1\fi
\ifx#17\dgGetLabelPos#1\fi
\ifx#18\dgGetLabelPos#1\fi
\ifx#19\dgGetLabelPos#1\fi
\dgGetArrowType#1
\dgParseOptions}
\newcommand\dgGetLabels[1]{%
\expandafter\ifnum\dgNumLabels=\z@
  \edef\dgNumLabels{\@ne}\edef\dgFirstLabel{#1}%
\else
  \edef\dgNumLabels{\tw@}%
\fi
}
\newcommand\dgGetLabelPos[1]{%
\@tempcntb#1\relax
\multiply\@tempcntb by 100\relax
\divide\@tempcntb by\dgARROWPARTS\relax
\ifx\dgFirstLabelPos\empty
  \edef\dgFirstLabelPos{<(.\the\@tempcntb)}%
\else
  \edef\dgSecondLabelPos{<(.\the\@tempcntb)}%
\fi
}
\newdir{ >}{{}*!/-8pt/\dir{>}}
\newdir{ (}{{}*!/-8pt/\dir_{(}}
\newdir{ )}{{}*!/-8pt/\dir^{(}}
\newdir{ |}{{}*!/-8pt/\dir{~}}
\newcommand\dgGetArrowType[1]{%
\ifx#1-\edef\dgHead{{}}\FancyArrowtrue\fi
\ifx#1A\edef\dgHead{>>}\FancyArrowtrue\fi
\ifx#1'\edef\dgHead{_{>}}\FancyArrowtrue\fi
\ifx#1`\edef\dgHead{^{>}}\FancyArrowtrue\fi
\ifx#1.\edef\dgShaft{--}\FancyArrowtrue\fi
\ifx#1!\edef\dgShaft{}\edef\dgTail{}%
\edef\dgHead{}\FancyArrowtrue\fi
\ifx#1=\edef\dgShaft{=}\FancyArrowtrue\fi
\ifx#1V\edef\dgTail{ >}\FancyArrowtrue\fi
\ifx#1J\edef\dgTail{ (}\FancyArrowtrue\fi
\ifx#1L\edef\dgTail{ )}\FancyArrowtrue\fi
\ifx#1S\edef\dgTail{ |}\FancyArrowtrue\fi
}
\endinput
%%
%% End of file `diagr2xy.sty'.
\end{filecontents}
\begin{filecontents}{ergomath.sty}
% ===========================================
% ERGOMATH package by V.Molotkov (1998)
% ===========================================
%
% Defines the macro \mathdef such that if it is used
% instead of \def or \newcommand, the corresponding
% macros defined can be used both in math and non-math mode.
% Example: After saying:
%
%   \mathdef \fg     $\mathfrak{g}$
%
% (note that $...$ is used where \def uses braces {...}!)
% you can write e.g.
%
%   Let \fg be a Lie algebra (not-math mode)
%   and $U(\fg)$ be its universal enveloping algebra (math mode)
%
% So "ergo" means ergonomic: in situations where the macro
% defined by \mathdef is used "solo" you can skip
% writing enclosing $...$
% Note that \mathdef can, like ordinary \def define macros
% with parameters. For example, after you define \diff by:
%
%  \mathdef\diff#1${\rm Diff}(#1)$
%
% you can write, e.g:
%
%   Let \diff M be the group of diffeomorphisms of the manifold $M$.
%
% ===========================================
\expandafter\ifx\csname mathdef\endcsname\relax%
%% The macros \mxspace & \@mxspace below are borrowed from:
%% File: xspace.dtx Copyright (C) 1991-1996 David Carlisle
%%\NeedsTeXFormat{LaTeX2e}
%%\ProvidesPackage{xspace}
%%          [1996/12/06 v1.05 Space after command names (DPC)]
%% and are a slight modification of original macros \xspace & \@xspace
%% of D.Carlisle: now space before "{" is not eaten.
\DeclareRobustCommand\mxspace{\futurelet\@let@token\@mxspace}
\def\@mxspace{%
  %\ifx\@let@token\bgroup\else
  \ifx\@let@token\egroup\else
  \ifx\@let@token\/\else
  \ifx\@let@token\ \else
  \ifx\@let@token~\else
  \ifx\@let@token.\else
  \ifx\@let@token!\else
  \ifx\@let@token,\else
  \ifx\@let@token:\else
  \ifx\@let@token;\else
  \ifx\@let@token?\else
  \ifx\@let@token/\else
  \ifx\@let@token'\else
  \ifx\@let@token)\else
  \ifx\@let@token-\else
  \ifx\@let@token\@xobeysp\else
  \ifx\@let@token\space\else
   \space
   %\fi
   \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}

% 4 macros below are borrowed from Xy-pic (with names changed);
% they will cause \mathdef to produce warning in case
% the corresponding macro is already defined,
% WITHOUT producing error message as \newcommand do. (VM)
\def\W@#1{\immediate\write16{#1}}
\gdef\@warnifdefined#1{%
\ifx#1\undefined
\else
 \W@{}%
 \W@{WARNING: macro `\string#1' redefined.}%
 \W@{}%
\fi}
%This mimics \DeclareRobustCommand, but with \def instead of \newcommand:
%\def\DeclareRobustDef{\@star@or@long\declare@robustdef}
\def\DeclareRobustDef{\@star@or@long\declare@robustdef}
\def\declare@robustdef#1{%
   \ifx#1\@undefined\else\ifx#1\relax\else
      \@latex@info{Redefining \string#1}%
   \fi\fi
   \edef\reserved@a{\string#1}%
   \def\reserved@b{#1}%
   \edef\reserved@b{\expandafter\strip@prefix\meaning\reserved@b}%
   \edef#1{%
      \ifx\reserved@a\reserved@b
         \noexpand\x@protect
         \noexpand#1%
      \fi
      \noexpand\protect
      \expandafter\noexpand\csname
         \expandafter\@gobble\string#1 \endcsname
   }%
   \let\@ifdefinable\@rc@ifdefinable
   \expandafter\def\csname
      \expandafter\@gobble\string#1 \endcsname
}
%\def\warndef#1{\@warnifdefined#1\def#1} %This fails sometimes, especially in toc
\def\warndef#1{\@warnifdefined#1\DeclareRobustDef#1}
\def\warngdef#1{\@warnifdefined#1\gdef#1}
\def\warnldef#1{\@warnifdefined#1\long\def#1}

\def\mathdef#1$#2${\warndef#1{{\ifmmode#2\else$#2$\fi}\mxspace}}%Now is robust and long
\def\mathgdef#1$#2${\warngdef#1{{\ifmmode#2\else$#2$\fi}\mxspace}}
\fi
\end{filecontents}
\documentclass[12pt,twoside]{article}
\usepackage{smart}
\usepackage{oldamsf}
\Aiv
\secunitshift1
\plainpage
\theorems
\UseAMSsymbols
%\loadBbb
\loadscript
\userlabels=[,${}^\circ$,${}^{\circ\circ}$,${}^{\circ\circ\circ}$];%
\let\text\mbox
\usepackage{ergomath}
%\usepackage{macro}
\usepackage{diagr2xy}
%My macros (used only):
\warndef\eop{\hbox{\vrule width 6pt height 6pt depth 0pt}}
\warndef\arr{\longrightarrow}
\mathdef\sar#1,#2,#3;$#1\stackrel{#2}{\arr}#3$
\mathdef\darr#1#2#3#4$#1,#2\colon#3{}_{\arr}^{\arr}#4$
\mathdef\spar#1.#2.#3;$#1\stackrel{#2}{\arr}#3$
\mathdef\fam#1#2$\{#1\}_{#2}$
\warndef\comp{\mbox{\scriptsize$\circ$}}
\warndef\mult{\centerdot}
\mathdef\N$\Bbb N$
\mathdef\Z$\Bbb Z$
\mathdef\admon${\bf AdMon}$
\mathdef\mon${\bf Mon}$
\mathdef\admonl${\bf AdMon_L}$
\mathdef\admonb${\bf AdMonB}$
\mathdef\free${\script F(\emptyset)}$
\mathdef\freemon${\script F_{\bf Mon}(\eta_0,\eta_1,\dots,\eta_k,\dots
\varepsilon_0,\varepsilon_1,\dots,\varepsilon_k,\dots)}$
%End My macros
\begin{document}
\subjclass{18A40 (Primary), 18B40 (Secondary)}
\keywords{Adjoint functors, monoids}
\address{Institute for Nuclear Research and Nuclear Energy,\\
Tsarigradsko chosse blvd.\ 72, BG-1784 Sofia, Bulgaria.\\
e-mail: {\sl vmolot@inrne.bas.bg}}
\author{Vladimir MOLOTKOV%
\thanks{%
Financial support of the Ministry of Sciences and Education of Bulgaria
under grant F-610/96-97 and MPIMiS, Leipzig, where the final editing was performed,
is most gratefully acknowledged.}%
}
%\date{December 2, 1997}
\date{}
\title{Adjunctions in Monoids}
\maketitle

Let $M$ and $N$ be monoids considered as categories with the only object.

Let
\begin{equation}
\label{1}
f\colon M\arr N,\ \ g\colon N\arr M
\end{equation}
be morphisms of monoids, considered as functors. Let the
functor $f$ is left adjoint to the functor $g$.

{\sl Is it true then that $f$ (or, what is the same, $g$) is always an
isomorphism\/}?

In \cite{M}, p.136, this question was posed as an open question.
Here I answer this question and the answer is {\sl no}.%
\footnote{This result was obtained actually somewhere at beginning of $90^{\rm th}$;
at the end of 1999 I asked Prof.~Manes in an e-mail about the status of the question.
He answered that ``to his knowledge the question is still open''.
}

To prove this, I will construct a Birkhoff variety of algebras, which
is naturally equivalent to the category of adjunctions in monoids, and
consider its initial object which is a monoid generated by
$2\times\N$ free variables subject to a certain set of relations.  An
application of M.~H.~A.~Newman's reduction theorem (\cite{N}, cited by
\cite{C}) permits one to describe the canonical form of elements in
the monoid and, in particular, to negatively answer the question
posed.

Let
\begin{equation}
\label{2}
\varphi\colon N\arr M,\ \
\end{equation}
be an isomorphism of {\it sets} such that the triple
$(f,g,\varphi)\colon M\rightharpoonup N$
is an adjunction, which means that the identity

\begin{equation}
\label{3}
g(n)\varphi(n')m = \varphi(nn'f(m))
\end{equation}
holds for every $n,n'\in N$ and $m\in M$ (see, e.g., \cite{ML}, p.78).

The identity (\ref{3}) together with the fact that $\varphi$ is an iso
implies, evidently, that

\begin{userlabel}
\addtocounter{equation}{-2}
\addtocounter{labelcounter}{1}
\begin{equation}
\label{2a}
\varphi^{-1}\colon M\arr N
\end{equation}
\end{userlabel}
satisfies the ``dual'' identity:

\begin{userlabel}
\begin{equation}
\addtocounter{labelcounter}{1}
\label{3a}
n\varphi^{-1}(m')f(m) = \varphi^{-1}(g(n)m'm)
\end{equation}
\end{userlabel}
(to get from some identity its `` dual'' replace $n$'s with $m$'s
and vice versa; $f\leftrightarrow g$, $\varphi\leftrightarrow \varphi^{-1}$
and, finally, invert the order of all compositions).

Let, further, $\eta\in M$ and $\varepsilon\in N$ be defined as

\begin{equation}
\label{4}
\eta := \varphi(1),\ \ \varepsilon := \varphi^{-1}(1).
\end{equation}
Then by setting $n'=m=1$ in (\ref{3}) we get:

\begin{userlabel}
\begin{equation}
\label{5}
\varphi(n) = g(n)\eta
\end{equation}
and, dually:
\begin{equation}
\label{5a}
\varphi^{-1}(m) = \varepsilon f(m)
\end{equation}
\end{userlabel}
i.e., $\varphi$ and $\varphi^{-1}$ are factorized as follows:
\begin{userlabel}
\begin{equation}
\label{6}
\varphi = {\rm R}_\eta\comp g\ \ \
(\varphi\colon\sar N,g,M;\sar {},{\rm R}_\eta,M;)
\end{equation}
\begin{equation}
\label{6a}
\varphi^{-1} = {\rm L}_\varepsilon\comp f\ \ \
(\varphi^{-1}\colon\sar M,f,N;\sar{},{\rm L}_\varepsilon,N;),
\end{equation}
\end{userlabel}
where ${\rm R}_\eta$ (resp. ${\rm L}_\varepsilon$ ) is the
right shift by $\eta$ (resp. the left shift by $\varepsilon$)
in the monoid $M$ (resp. $N$).

The equalities (\ref{6})-(\ref{6a}) together with the fact that
$\varphi$ and $\varphi^{-1}$ are iso's imply

\begin{Prop}
\label{P1}
Both $f$ and $g$ are injective morphisms of monoids, whereas
${\rm R}_\eta$ and ${\rm L}_\varepsilon$ are surjective maps
of sets.
\end{Prop}

Setting now $n = n' = 1$  in (\ref{3})  one gets
\begin{userlabel}
\begin{equation}
\label{7}
(\varphi\comp f)(m) = \eta m
\end{equation}
and, dually,
\begin{equation}
\label{7a}
(\varphi^{-1}\comp g)(n) = n\varepsilon
\end{equation}
\end{userlabel}
which, together with Prop.\ref{P1}, implies that both
${\rm L}_\eta$ and ${\rm R}_\varepsilon$ are {\it injective},
so that if there exists an adjunction with $f$ (resp. $g$) non-iso,
then $M$ (resp. $N$) is, at least, non-commutative monoid; it may not
be a group as well.

Let us now reinterpret $\eta$ and $\varepsilon$ as
natural transformations:

\begin{equation}
\label{8}
\eta\colon\sar 1_M,{},g\comp f,;\; \; \ \varepsilon\colon\sar f\comp g,{},1_N;
\end{equation}
(unit and counit of the adjunction $(f,g,\varphi)$).

Indeed, given two morphisms of monoids $\darr {f_1} {f_2} M {M'}$,
a natural transformation $\mu\colon f_1\arr f_2$ is uniquely determined
by an element $\mu'\in M'$ such that the identity

\begin{equation}
\label{9}
f_2(m)\mu' = \mu'f_1(m)
\end{equation}
holds for every $m\in M$; in this case $\mu$ itself can be identified
with the triple $(f_1,\mu',f_2)$ or, by abuse of notations, with $\mu'$
itself.

But identities (\ref{5})-(\ref{5a}) and (\ref{7})-(\ref{7a}) together give:

\begin{userlabel}
\begin{equation}
\label{10}
((g\comp f)(m))\eta = \eta m\ \ \text{ for any }m\in M
\end{equation}
and, dually,

\begin{equation}
\label{10a}
\varepsilon((f\comp g)(n)) = n\varepsilon\ \ \text{ for any }n\in N
\end{equation}
\end{userlabel}
which exactly states that $\eta$ and $\varepsilon$ define
natural transformations (\ref{8}).

Moreover, one must have the identities:

\begin{userlabel}
\begin{equation}
\label{11}
1_M = g(\varepsilon)\eta
\end{equation}

\begin{equation}
\label{11a}
1_N = \varepsilon f(\eta).
\end{equation}
\end{userlabel}
Finally, the adjunction $(f,g,\varphi)\colon M\rightharpoonup N$ can be
described by the data
$$
(f\colon M\rightarrow N,g\colon N\rightarrow M,\eta\in M,\varepsilon\in N)
$$
satisfying the identities (\ref{10})-(\ref{11a}) (see \cite{ML}, p.81);
$\varphi$ and $\varphi^{-1}$ are then {\it defined} by eqs. (\ref{5}-\ref{5a}).

Define now the category \admon\ such that its objects are just all
adjunctions\linebreak
$(f,g,\eta,\varepsilon)\colon M\rightharpoonup N$ and, given another
adjunction
$(f',g',\eta',\varepsilon')\colon M'\rightharpoonup N'$,
a pair of monoid morphisms
$(l\colon M\rightarrow M',\ r\colon N\rightarrow N')$
is a morphism
$\spar(f,g,\eta,\varepsilon).(l,r).(f',g',\eta',\varepsilon');$
in \admon\ if the diagram

\begin{equation}
\label{12}
\divide\dgARROWLENGTH by2
\begin{diagram}
\node{M}\arrow{e,t}{f}\arrow{s,l}{l}\node{N}\arrow{e,t}{g}\arrow{s,l}{r}%
\node{M}\arrow{s,l}{l}\\
\node{M'}\arrow{e,t}{f'}\node{N'}\arrow{e,t}{g'}\node{M'}
\end{diagram}
\end{equation}
is commutative and, besides, if

\begin{equation}
\label{13}
r(\varepsilon) = \varepsilon',\ \ l(\eta) = \eta'.
\end{equation}

Denote by \mon\ the category of monoids. One immediately sees that there are
two forgetful functors

\begin{equation}
\label{14}
{\rm L},{\rm R}\colon\admon\arr\mon
\end{equation}
defined as follows:

\begin{equation}
\label{15}
{\rm L}(l,r) = l;\ \ \ {\rm R}(l,r) = r.
\end{equation}

Given now an adjunction
$(f,g,\eta,\varepsilon)\colon M\rightharpoonup N$
and considering the commutative diagram
\begin{equation}
\label{16}
\divide\dgARROWLENGTH by2
\begin{diagram}
\node{M}\arrow{e,t}{f}\arrow{s,l}{1_M}\node{N}\arrow{e,t}{g}\arrow{s,l}{I}%
\node{M}\arrow{s,l}{1_M}\\
\node{M}\arrow{e,t}{}\node{{\rm Im}(g)}\arrow{e,t}{\subset}\node{M}
\end{diagram}
\end{equation}
where $I$ is an iso due to Prop.\ref{P1}, one can see that
$(I\comp f,g'=({\rm Im}(g)\subset M),\eta,\varepsilon'=g(\varepsilon))$
is an adjunction isomorphic to $(f,g,\eta,\varepsilon)$ as an object of
\admon, where the isomorphism is given by $(1_M,I)$; that all this iso's
together generate the natural equivalence of \admon\ with its full
subcategory consisting of just those adjunctions
$(f,g,\eta,\varepsilon)\colon M\rightharpoonup N$ in which $N$ is
a submonoid of $M$ and $g$ is the inclusion map $N\subset M$.

Define the category \admonl\ as follows: objects of \admonl\ are all data
of the type
$(N\subset M,f\colon M\rightarrow M, \eta\in M,\varepsilon\in M)$,
where $M$ is a monoid, $N$ its submonoid, $f$ a monoid
endomorphism such that $f(M)\subset N$ and, besides, the identities
\begin{alphalabel}
\label{17}
\begin{eqnarray}
%\begin{equation}
\label{17a}
f(m)\eta & = & \eta m\ \ \ (m\in M)\\
%\end{equation}
%\begin{equation}
\label{17b}
\varepsilon f(n) & = & n\varepsilon\ \ \ (n\in N)\\
%\end{equation}
\label{17c}
\varepsilon\eta & = & 1\\
\label{17d}
\varepsilon f(\eta) & = & 1
\end{eqnarray}
\end{alphalabel}
hold. In other words, objects of \admonl\ are just monoids equipped with
some additional structure (a submonoid $N\subset M$, an endomorphism
$f\colon M\arr M$ such that $f(M)\subset N$ and elements $\eta\in M$,
$\varepsilon\in M$ satisfying eqs.(\ref{17a})-(\ref{17d})); then a morphism
in \admonl\ is just a monoid morphism respecting this structure.
So we have (see above):
\begin{Prop}
\label{P2}
The category \admon\ is naturally equivalent to the category \admonl.
\end{Prop}

Note that though the transition from \admon\ to \admonl\ breaks the
``$\Z/2$-symmetry'' ($f\leftrightarrow g$, $\varepsilon\leftrightarrow
\eta$) we get simpler objects instead and simpler relations
(\ref{17a})-(\ref{17d}) instead of ``symmetric'' ones
(\ref{10})-(\ref{11a}).

Now we will give some conditions on an object
$(M\supset N,f,\eta,\varepsilon)$
equivalent to the statement that $f$ is an isomorphism.
\begin{Prop}
\label{P3}
Let
$(M\supset N,f,\eta,\varepsilon)$
be an object of \admonl. Then the following conditions {\rm(a)-(g)}
are equivalent:

\noindent{\rm(a)} $f$ is surjective;

\noindent{\rm(b)} $f$ is an isomorphism;

\noindent{\rm(c)} $N = M$;

\noindent{\rm(d)} $f(\eta) = \eta$;

\noindent{\rm(e)} $f(\varepsilon) = \varepsilon$;

\noindent{\rm(f)} $\eta\varepsilon = 1$
   {\rm(i.e., $\eta$ is invertible in $M$ due to eq.(\ref{17c}))};

\noindent{\rm(g)} for every $m\in M$ one has $f(m) = \eta m\varepsilon$
   {\rm(i.e., $f$ is an inner automorphism of $M$ due to {\rm(f)})}.
\end{Prop}

\noindent{\bf Proof.} (a)$\Longleftrightarrow$(b) due to Prop.\ref{P1};
(b)$\Longrightarrow$(c) is evident, because $N$ contains $f(M) = M$;

(c)$\Longrightarrow$(d): Multiplying eq.(\ref{17a}) by $\varepsilon$
from the left (resp. multiplying eq.(\ref{17b}) by $f(\eta)$) from the right)
one gets:
\begin{alphalabel}
\label{18}
\begin{eqnarray}
\label{18a}
m = \varepsilon f(m)\eta\ \ \ (m\in M),\\
\label{18b}
n = \varepsilon f(n\eta)\ \ \ (n\in N).
\end{eqnarray}
\end{alphalabel}

If $N = M$, then due to eq.(\ref{18b}) every $m\in M$ has a representation
$m = \varepsilon f(m')$ for some $m'\in M$. In particular,
\begin{equation}
\label{19}
\eta = \varepsilon f(\eta^2) = (\varepsilon f(\eta))f(\eta) = f(\eta);
\end{equation}

(d)$\Longrightarrow$(e): $\varepsilon\in N$ implies
\begin{equation}
\label{20}
\varepsilon = \varepsilon1 = \varepsilon f^2(1) \stackrel{(\ref{17c})}{=}
\varepsilon f^2(\varepsilon\eta) = \varepsilon f^2(\varepsilon)f^2(\eta)\\
\stackrel{(d)}{=} \varepsilon f^2(\varepsilon)\eta
\stackrel{(\ref{17a})}{=} \varepsilon\eta f(\varepsilon)
\stackrel{(\ref{17c})}{=} f(\varepsilon);
\end{equation}

(e)$\Longrightarrow$(f): Indeed:
\begin{equation}
\label{21}
\eta\varepsilon\stackrel{(\ref{17a})}{=} f(\varepsilon)\eta
\stackrel{(e)}{=} \varepsilon\eta = 1;
\end{equation}

(f)$\Longrightarrow$(g): One has: $f(m)\stackrel{(f)}{=}
f(m)\eta\varepsilon\stackrel{(\ref{17a})}{=}\eta m\varepsilon$;

%Finally, %??
(g)$\Longrightarrow$(b), because
$1 = f(1) = \eta\varepsilon$, i.e., (g)$\Longrightarrow$(f) and defining
\begin{equation}
\label{22}
f^{-1}(m) := \varepsilon m\eta
\end{equation}
one sees that
$f^{-1}f(m) = ff^{-1}(m) = m$\ \eop

Return now to the definition of \admonl.  One sees that \admonl\ is
``almost'' the variety of algebras in the Birkhoff's sense (see, e.g.,
\cite{C}).  In more detail, let
$$
\Omega =
\Omega_0\cup\Omega_1\cup\Omega_2, \;\text{where $\Omega_0 =
\{1,\eta,\varepsilon\}$, $\Omega_1 = \{f\}$ and $\Omega_2 = \{\mult\}$
}
$$
i.e, $\Omega_0$, $\Omega_1$ and $\Omega_2$ are, respectively, the set of 0-ary,
unary and binary operations. The
set of ``equations'' consists of equations stating that $\mult$ and
$1$ determine a monoid structure, $f$ is an endomorphism of the
corresponding structure, with eqs.(\ref{17a})-(\ref{17d}) added. One
sees that eq.(\ref{17b}) is not an equation in Birkhoff's sense,
because $n$ there is {\it restricted} to the subset $N\subset M$.
This means that, generally speaking, \admonl\ is a variety of
``sorted'' algebras with two sorts of algebras: ``$N$-like'' and
``$M$-like''.  But, noting that due to eq.(\ref{5a}):
\begin{equation}
\label{23}
N = \varepsilon f(M)
\end{equation}
one can derive from eq.(\ref{17b}) that the equality
\begin{equation}
\label{24}
\varepsilon f(\varepsilon f(m)) = \varepsilon f(m)\varepsilon\ \ \ (m\in M)
\end{equation}
is valid in which $m$ runs over the {\it whole} $M$.

We will prove now that vice versa, the data
$(M,f\colon M\arr M,\eta,\varepsilon)$ together with equations
(\ref{17a}), (\ref{17c})-(\ref{17d}), equations stating that $f$
is an automorphism of monoids as well as eq.(\ref{24})
(instead of eq.(\ref{17b})), reconstruct the remaining data,
namely, the submonoid $N$ and the equation (\ref{17b}) valid on $N$.

Indeed, {\it define} $N$ by eq.(\ref{23}) as a set; we have to prove that
this set is, in fact, a submonoid (eq.(\ref{17b}) for $n\in N$ follows
immediately from eq.(\ref{24})).

We see, first of all, that $1\in N$ due to eq.(\ref{17d}). Suppose now
that $n_1,n_2\in N$, i.e., for some $m_1,m_2\in M$ one has
$n_1 = \varepsilon f(m_1)$, $n_2 = \varepsilon f(m_2)$. Then:
\begin{equation}
\label{25}
n_1n_2 = \varepsilon f(m_1)\varepsilon f(m_2)
\stackrel{(\ref{24})}{=}
\varepsilon f(\varepsilon f(m_1))f(m_2) =
\varepsilon f(\varepsilon f(m_1)m_2)\in N.
\end{equation}

This proves that $N$ is, actually, a submonoid of $M$.

\begin{Prop}
\label{P4}
The category \admon\ is naturally equivalent to the Birkhoff variety
of monoids $M$ equipped with the structure
$(M,\; f\colon M\arr M,\; \eta, \varepsilon\in M)$, where $f$ is an endomorphism
of monoids, satisfying the following conditions:
\begin{alphalabel}
\begin{eqnarray}
\label{26a}
\varepsilon\eta & = & 1,\\
\label{26b}
\varepsilon f(\eta) & = & 1,\\
\label{26c}
\varepsilon f(\varepsilon) & = & \varepsilon^2,\\
\label{26d}
\varepsilon f^2(m) & = & f(m)\varepsilon\ \ \ (m\in M),\\
\label{26e}
f(m)\eta & = & \eta m\ \ \ (m\in M).
\end{eqnarray}
\end{alphalabel}
\end{Prop}
{\bf Proof.} It remains to prove only that eqs.(\ref{26c})-(\ref{26d})
together are equivalent to eq.(\ref{24}) above. Indeed, eq.(\ref{26c})
is a particular case of eq.(\ref{24}) for $m = 1$, whereas eq.(\ref{26d})
is obtained from eq.(\ref{24}) if one substitutes $m = \eta m'$ and takes
into account eq.(\ref{26a}). On the other hand, for $m\in M$ one has:
\begin{equation}
\label{27}
\varepsilon f(\varepsilon f(m)) =
\varepsilon f(\varepsilon)f^2(m)\stackrel{(\ref{26c})}{=}
\varepsilon^2f^2(m)\stackrel{(\ref{26d})}{=}
\varepsilon f(m)\varepsilon\ \eop
\end{equation}

Denote \admonb\ the Birkhoff variety described by Prop.\ref{P4}.
We will prove next that the equality $\eta\varepsilon=1$ is not
satisfied in \admonb. To this end, we will consider in details
the ``minimal model of the theory \admonb'', in other words,
the free \admonb\ algebra $\script F(\emptyset)$ (which is an %the?
initial object in \admonb).

Define elements $\eta_k,\varepsilon_k\in\script F(\emptyset)$ ($k\in \N$)
as follows:
\begin{alphalabel}
\label{28}
\begin{eqnarray}
\label{28a}
\eta_0 := \eta,\ \ \ \eta_{k+1} := f(\eta_{k})\\
\label{28b}
\varepsilon_0 := \varepsilon,\ \ \ \varepsilon_{k+1} := f(\varepsilon_{k})
\end{eqnarray}
\end{alphalabel}

It is clear that, as monoid, \free\  is generated by elements
$\eta_k,\ \varepsilon_k$.
In other words, the monoid \free\ can be represented as
\begin{equation}
\label{29}
\free = \freemon/{\rm R}
\end{equation}
for some set of relations ${\rm R}$, where
$
\script F_{\bf Mon}(\eta_0,\eta_1,\dots,\eta_k,\dots
\varepsilon_0,\varepsilon_1,\dots,\varepsilon_k,\dots)
$
is the free monoid generated by $2\times\N$ variables $\fam{\eta_k,\varepsilon_m}{k,m\in\N}$.
The following  proposition describes the corresponding set of relations $\rm R$.
\begin{Prop}
\label{P5}
The set of relations ${\rm R}$ in \free\ is generated by the following set
${\rm R}_0$ of relations:
\begin{alphalabel}
\label{30}
\begin{eqnarray}
\label{30a}
\varepsilon_i\varepsilon_j & = & \varepsilon_{j-1}\varepsilon_i\ (j > i),\\
\label{30b}
\eta_j\eta_i & = & \eta_i\eta_{j-1}\ (j > i),\\
\label{30c}
\varepsilon_i\eta_j & = & \left\{
\begin{array}{ll}
\eta_{j-1}\varepsilon_i & (j > i+1)\\
\eta_{j}\varepsilon_{i-1} & (i > j)\\
\varepsilon_{i-1}\eta_i & (i=j > 0)\\
\varepsilon_i\eta_i & (j=i+1)\\
1 & (i = j = 0)
\end{array}
\right.
\end{eqnarray}
\end{alphalabel}
\end{Prop}

{\bf Proof.} One easily checks that eqs.(\ref{30a})-(\ref{30c})
are satisfied, being either particular cases of some of the relations
(\ref{26a})-(\ref{26e}), or can be obtained from the latter ones after
applying $f^k$ to both sides of (\ref{26a})-(\ref{26e}) (for some $k>0$).

Vice versa, define the elements $\eta$ and $\varepsilon$ and
an automorphism $f$ of the monoid \freemon\ by ``inverting''
definitions~(\ref{28}) above:
\begin{alphalabel}
\label{31}
\begin{eqnarray}
\label{31a}
\eta := \eta_0,\ \ \ f(\eta_{k}) := \eta_{k+1,}\\
\label{31b}
\varepsilon := \varepsilon_0,\ \ \ f(\varepsilon_{k}) := \varepsilon_{k+1}.
\end{eqnarray}
\end{alphalabel}
One easily checks, that the automorphism $f$ ``survives'' the factorization
by relations (\ref{30}) above and induction on the length of words proves
that, in  the monoid
\begin{equation}
\label{32}
\freemon/{\rm R}_0,
\end{equation}
relations (\ref{26d})-(\ref{26e}) are satisfied. \eop

From now on we will identify \free\ with the monoid (\ref{32}) equipped
with $\eta$, $\varepsilon$ and $f$ defined by eqs.(\ref{31}).

Returning now to our original problem: one sees that it is exactly equivalent
to the question whether or not the identity
\begin{equation}
\label{33}
\eta\varepsilon = 1
\end{equation}
holds in the monoid \free.

The following theorem provides us with the canonical form for elements
of \free\ and simultaneously gives the negative answer to the last question.

\begin{Th}
\label{T1}
For every element $m$ of \free, there exist the only pair $k,l\in\N$
and the only pair of sequences
\begin{alphalabel}
\begin{equation}
\label{34a}
0\le i_1\le\dots\le i_k,\ \ \ j_1\ge\dots\ge j_l\ge0
\end{equation}
such that
\begin{equation}
\label{34b}
m = \eta_{i_1}\dots\eta_{i_k}\varepsilon_{j_1}\dots\varepsilon_{j_l}.
%\ \(i_1\le\dots\le i_k,\ \ \ j_1\ge\dots\ge j_l)
\end{equation}
\end{alphalabel}
(We asume that if $k=0$ (resp. $l=0$), then the corresponding sequence
in {\rm (\ref{34a})} above is empty and %, whereas %OK, vykinul! (VM)
the corresponding product in
{\rm (\ref{34b})} is replaced with the neutral element $1$ of the monoid \free.)
\end{Th}

\noindent{\bf Proof.} On \freemon, define the binary relation $\models$
as follows. First of all, set:
\begin{alphalabel}
\label{35}
\begin{eqnarray}
\label{35a}
\varepsilon_i\varepsilon_j & \models & \varepsilon_{j-1}\varepsilon_i\ (j > i)\\
\label{35b}
\eta_j\eta_i & \models & \eta_i\eta_{j-1}\ (j > i)\\
\label{35c}
\varepsilon_i\eta_j & \models & \left\{
\begin{array}{ll}
\eta_{j-1}\varepsilon_i & (j > i+1)\\
\eta_{j}\varepsilon_{i-1} & (i > j)\\
\varepsilon_{i-1}\eta_i & (i=j > 0)\\
\varepsilon_i\eta_i & (j=i+1)\\
1 & (i = j = 0)
\end{array}
\right.
\end{eqnarray}
\end{alphalabel}

Let now $\ge$ be the smallest preorder on \freemon\ containing $\models$
and turning \freemon\ into a preordered monoid.

One sees that $m\ge m'$ if and only if there exists a sequence
\begin{equation}
\label{36}
m = m_0,m_1,\dots,m_n=m'
\end{equation}
such that, for any $0\le i<n$, there exist
$$L,R,\mu,\mu'\in\freemon$$ for which $\mu\models\mu'$ and both
$m_i=L\mu R$ and $m_{i+1}=L\mu'R$.

Let now $\sim$ be the equivalence relation on \freemon\ generated by
the relation $\ge$ (i.e., $m\sim m'$ if and only if both $m$ and $m'$ belong to
the same connected component of the preorder relation $\ge$).

It is rather clear that the relation $\sim$ coincides with the
relation $\rm R$ from eq.(\ref{29}) defining \free.

It is also clear that the r.h.s. of the canonical representation
(\ref{34b}), considered as an element of \freemon\ is a minimal element
with respect to the preorder relation $\ge$. The only thing to prove
is that {\it every equivalence class of the relation $\sim$ contains
the only minimal element with respect to $\ge$.}

To prove this, it suffices to prove that the relation $\ge$
satisfies conditions of reduction theorem of M.~Newman \cite{N},
or its weaker version given in \cite{C}. The latter conditions
on $\ge$ are the following conditions (A) and (B): %below:
\medskip

\noindent (A) {\it For any $m\in\freemon$, there exists $k\in\N$ such that
for any decreasing sequence
$m=m_0>m_1>\dots>m_{k'}$ one has $k\le k'$};
\medskip

\noindent (B) {\it Any pair $m,m'\in\freemon$ with a common parent is bounded
from below, i.e., there exists $b\in\freemon$ such that both $m\ge b$
and $m'\ge b$\/}.
%
Here $p$ is said to be a {\it parent} of $m$ if it is the smallest element
such that $p\ge m,\ p\not=m$.
\medskip

To prove (A), consider the morphism of monoids
\begin{alphalabel}
\label{37}
\begin{equation}
\label{37a}
d\colon\freemon\arr\N
\end{equation}
uniquelly determined by the images
\begin{equation}
\label{37b}
d(\eta_i) = i+1,\ \ \ d(\varepsilon_i) = i+1.
\end{equation}
\end{alphalabel}

One easily sees from relations (\ref{35}) that $d$ is a morphism of
preordered monoids (i.e., respects preorders).  Moreover, it is clear
now that the relation $\ge$ is, in fact, an order relation (because $d(m)>d(m')$
for any pair $m,m'\in\freemon$ such that $m\models m'$).  (A) is obvious now.

To prove (B), observe first that
\medskip

\noindent(C) {\it $p$ is a parent of $m$ if and only if $p=L\mu R$, $m=L\mu'R$ and
$\mu\models\mu'$}.
\medskip

Indeed, the l.h.s. of any of the particular cases (\ref{35}) of the relation
$\models$, except, perhaps, the last one, is a parent of its r.h.s. just
because $d({\rm l.h.s.})-d({\rm r.h.s.})=1$; as to the last particular case,
$\varepsilon_0\eta_0=1$, this is the only case such that the length of l.h.s.
$\not=$ the length of r.h.s, which implies that in this case as well the l.h.s.
is the parent of the r.h.s.

Let $m, m'\in\freemon$ have a common parent, $p$.

Now follows the most boring part of all this mess.

There are five possible cases:
\medskip

\noindent(I) $p = a\mu b\nu c$, $m=a\mu'b\nu c$, $m'=a\mu b\nu' c$, where
$\mu\models\mu'$ and $\nu\models\nu'$.
\medskip

Clearly, in this case %that
$b:=a\mu'b\nu'c$ is a common lower bound for
both $m$ and $m'$.

In all of the cases (II)-(V) below, $p$ is of the form $L\mu_1\mu_2\mu_3R$,
where every $\mu_i$ is of length 1 (i.e., is either $\eta_j$ for some $j$, or
$\varepsilon_j'$ for some $j'$). In what follows, terms $L$ and $R$ will be
omitted, because they take no explicit part in the process of finding of the
lower bound $b$.

\medskip
\noindent(II) $p=\varepsilon_i\varepsilon_j\varepsilon_k\ \ (i<j<k)$;
\medskip
Applying relation (\ref{35a}) one gets:
\begin{eqnarray*}
p\models m &:=& \varepsilon_{j-1}\varepsilon_i\varepsilon_k \ge
\varepsilon_{j-1}\varepsilon_{k-1}\varepsilon_i \ge
\varepsilon_{k-2}\varepsilon_{j-1}\varepsilon_i\\
p\models m' &:=& \varepsilon_i\varepsilon_{k-1}\varepsilon_j \ge
\varepsilon_{k-2}\varepsilon_i\varepsilon_j \ge
\varepsilon_{k-2}\varepsilon_{j-1}\varepsilon_i
\end{eqnarray*}
So in this case
$b=\varepsilon_{k-2}\varepsilon_{j-1}\varepsilon_i$
is the lower bound of both $m$ and $m'$.

\medskip
\noindent(III) $p=\eta_i\eta_j\eta_k\ \ (i>j>k)$;
\medskip

\noindent This case is  ``dual'' in an obvious sense to case (II).

\medskip
\noindent(IV) $p=\varepsilon_i\varepsilon_j\eta_k\ \ (i<j)$;
\medskip

\noindent This case is subdivided into following 7 subcases below:

\noindent a) $k>j+1$
\begin{eqnarray*}
p\models m &:=& \varepsilon_{j-1}\varepsilon_i\eta_k\ge
\varepsilon_{j-1}\eta_{k-1}\varepsilon_i\ge
\eta_{k-2}\varepsilon_{j-1}\varepsilon_i\\
p\models m' &:=& \varepsilon_i\eta_{k-1}\varepsilon_j\ge
\eta_{k-2}\varepsilon_i\varepsilon_j\ge
\eta_{k-2}\varepsilon_{j-1}\varepsilon_i
\end{eqnarray*}
i.e.,
$
b=\eta_{k-2}\varepsilon_{j-1}\varepsilon_i
$
is a common lower bound of both $m$ and $m'$.

\noindent b) $k=j+1$
\begin{eqnarray*}
p=\varepsilon_i\varepsilon_j\varepsilon_{j+1}\models m &:=&
\varepsilon_{j-1}\varepsilon_i\eta_{j+1}\ge
\varepsilon_{j-1}\eta_j\varepsilon_i\ge\dots\ge\varepsilon_i\\
p\models m' &:=& \varepsilon_i\varepsilon_j\eta_j\ge\dots\ge\varepsilon_i
\end{eqnarray*}
i.e.,
$
b=\varepsilon_i
$
is a common lower bound of both $m$ and $m'$.

\noindent c) $k=j$
\begin{eqnarray*}
p=\varepsilon_i\varepsilon_j\eta_j\models m &:=&
\varepsilon_{j-1}\varepsilon_i\eta_j\ge
\left\{
\begin{array}{ll}
\varepsilon_{j-1}=\varepsilon_i & (i = j-1)\\
\varepsilon_{j-1}\eta_{j-1}\varepsilon_i\ge\dots\ge\varepsilon_i & (i<j-1)
\end{array}
\right.\\
p\models m' &:=& \varepsilon_i\varepsilon_{j-1}\eta_j\ge\dots\ge\varepsilon_i
\end{eqnarray*}
i.e.,
$
b=\varepsilon_i
$
is a common lower bound of both $m$ and $m'$.

\noindent d) $i+1<k<j$
\begin{eqnarray*}
p\models m &:=& \varepsilon_{j-1}\varepsilon_i\eta_k\ge
\varepsilon_{j-1}\eta_{k-1}\varepsilon_i\ge
\eta_{k-1}\varepsilon_{j-2}\varepsilon_i\\
p\models m' &:=& \varepsilon_i\eta_k\varepsilon_{j-1}\ge
\eta_{k-1}\varepsilon_{j-2}\varepsilon_i
\end{eqnarray*}
i.e.,
$
b=\eta_{k-1}\varepsilon_{j-2}\varepsilon_i
$
is a common lower bound of both $m$ and $m'$.

\noindent e) $k=i+1<j$
\begin{eqnarray*}
p=\varepsilon_i\varepsilon_j\eta_{i+1}\models m &:=&
\varepsilon_{j-1}\varepsilon_i\eta_{i+1}\ge\dots\ge\varepsilon_{j-1}\\
p\models m' &:=& \varepsilon_i\eta_{i+1}\varepsilon_{j-1}\ge\dots\ge
\varepsilon_{j-1}
\end{eqnarray*}
i.e.,
$
b=\varepsilon_{j-1}
$
is a common lower bound of both $m$ and $m'$.

\noindent f) $k=i$
\begin{eqnarray*}
p\models m &:=& \varepsilon_{j-1}\varepsilon_i\eta_i\ge\dots\ge
\varepsilon_{j-1}\\
p\models m' &:=& \varepsilon_i\eta_i\varepsilon_{j-1}\ge\dots\ge
\varepsilon_{j-1}\\
\end{eqnarray*}
i.e.,
$
b=\varepsilon_{j-1}
$
is a common lower bound of both $m$ and $m'$.

\noindent g) $k<i$
\begin{eqnarray*}
p\models m &:=& \varepsilon_{j-1}\varepsilon_i\eta_k\ge
\varepsilon_{j-1}\eta_k\varepsilon_{i-1}\ge
\eta_k\varepsilon_{j-2}\varepsilon_{i-1}\\
p\models m' &:=& \varepsilon_i\eta_k\varepsilon_{j-1}\ge
\eta_k\varepsilon_{j-2}\varepsilon_{i-1}
\end{eqnarray*}
i.e.,
$
\eta_k\varepsilon_{j-2}\varepsilon_{i-1}
$
is a common lower bound of both $m$ and $m'$.

\medskip
\noindent(V) $p=\varepsilon_i\eta_j\eta_k\ \ (j>k)$;
\medskip

\noindent This case is in a sense dual to case (IV) and is
subdivided into following 7 subcases below:

\noindent a) $i>j$
\begin{eqnarray*}
p\models m &:=& \varepsilon_i\eta_k\eta_{j-1}\ge
\eta_k\varepsilon_{i-1}\eta_{j-1}\ge
\eta_k\eta_{j-1}\varepsilon_{i-2}\\
p\models m' &:=& \eta_j\varepsilon_{i-1}\eta_k\ge
\eta_j\eta_k\varepsilon_{i-2}\ge
\eta_k\eta_{j-1}\varepsilon_{i-2}
\end{eqnarray*}
i.e.,
$
b=\eta_k\eta_{j-1}\varepsilon_{i-2}
$
is a common lower bound of both $m$ and $m'$.

\noindent b) $i=j$
\begin{eqnarray*}
p=\eta_j\eta_j\varepsilon_k\models m &:=&
\varepsilon_{j-1}\eta_j\eta_k\ge\dots\ge\eta_k\\
p\models m' &:=& \varepsilon_j\eta_k\eta_{j-1}\ge
\eta_k\varepsilon_{j-1}\eta_{j-1}\ge\dots\ge\eta_k
\end{eqnarray*}
i.e.,
$
b=\eta_k
$
is a common lower bound of both $m$ and $m'$.

\noindent c) $i=j-1$
\begin{eqnarray*}
p=\varepsilon_{j-1}\eta_j\eta_k\models m &:=&
\varepsilon_{j-1}\eta_{j-1}\eta_k\ge\dots\ge\eta_k\\
p\models m' &:=&
\varepsilon_{j-1}\eta_k\eta_{j-1}\ge
\left\{
\begin{array}{ll}
\eta_{j-1}=\eta_k & (k=j-1)\\
\eta_k\varepsilon_{j-2}\eta_{j-1}\ge\dots\ge\eta_k & (k<j-1)
\end{array}
\right.
\end{eqnarray*}
i.e.,
$
b=\eta_k
$
is a common lower bound of both $m$ and $m'$.

\noindent d) $k<i<j-1$
\begin{eqnarray*}
p\models m &:=& \varepsilon_i\eta_k\eta_{j-1}\ge
\eta_k\varepsilon_{i-1}\eta_{j-1}\ge
\eta_k\eta_{j-2}\varepsilon_{i-1}\\
p\models m' &:=& \eta_{j-1}\varepsilon_i\eta_k\ge
\eta_{j-1}\eta_k\varepsilon_{i-1}\ge
\eta_k\eta_{j-2}\varepsilon_{i-1}
\end{eqnarray*}
i.e.,
$
b=\eta_k\eta_{j-2}\varepsilon_{i-1}
$
is a common lower bound of both $m$ and $m'$.

\noindent e) $k=i<j-1$
\begin{eqnarray*}
p=\varepsilon_i\eta_j\eta_i\models m &:=&
\varepsilon_i\eta_i\eta_{j-1}\ge\dots\ge\eta_{j-1}\\
p\models m' &:=& \eta_{j-1}\varepsilon_i\eta_i\ge\dots\ge\eta_{j-1}
\end{eqnarray*}
i.e.,
$
b=\eta_{j-1}
$
is a common lower bound of both $m$ and $m'$.

\noindent f) $k=i+1$
\begin{eqnarray*}
p=\varepsilon_i\eta_j\eta_{i+1}\models m &:=&
\varepsilon_i\eta_{i+1}\eta_{j-1}\ge\dots\ge
\eta_{j-1}\\
p\models m' &:=& \eta_{j-1}\varepsilon_i\eta_{i+1}\ge\dots\ge
\eta_{j-1}\\
\end{eqnarray*}
i.e.,
$
b=\eta_{j-1}
$
is a common lower bound of both $m$ and $m'$.

\noindent g) $k>i+1$
\begin{eqnarray*}
p\models m &:=& \varepsilon_i\eta_k\eta_{j-1}\ge
\eta_{k-1}\varepsilon_i\eta_{j-1}\ge
\eta_{k-1}\eta_{j-2}\varepsilon_i\\
p\models m' &:=& \eta_{j-1}\varepsilon_i\eta_k\ge
\eta_{j-1}\eta_{k-1}\varepsilon_i\ge
\eta_{k-1}\eta_{j-2}\varepsilon_i
\end{eqnarray*}
i.e.,
$
\varepsilon_k\eta_{j-2}\eta_{i-1}
$
is a common lower bound of both $m$ and $m'$.
\eop

\begin{thebibliography}{aaa}
\bibitem{M} Ernest G. Manes {\sl Algebraic Theories}, Springer, (1976)
\bibitem{ML} S. Mac Lain {\sl Categories for the Working Mathematicians},
Springer (1971);
\bibitem{C} P. M. Cohn {\sl Universal Algebra}, Harper's series in Modern Math.,
Harper \& Row (1965);
\bibitem{N} M. H. A.Newman {\sl On Theories with a Combinatorial Definition
of ``Equivalence''}, Ann. of Math., {\bf 43}, p.223--243 (1942).
\end{thebibliography}
\enddocument
\end{document}

math0504060.extracted_bib
\begin{thebibliography}{aaa}
\bibitem{M} Ernest G. Manes {\sl Algebraic Theories}, Springer, (1976)
\bibitem{ML} S. Mac Lain {\sl Categories for the Working Mathematicians},
Springer (1971);
\bibitem{C} P. M. Cohn {\sl Universal Algebra}, Harper's series in Modern Math.,
Harper \& Row (1965);
\bibitem{N} M. H. A.Newman {\sl On Theories with a Combinatorial Definition
of ``Equivalence''}, Ann. of Math., {\bf 43}, p.223--243 (1942).
\end{thebibliography}