
\message{: version 17feb98}
% These are TeX-macros Carl de Boor has found useful for mathematical typing.
% Macros which are paper-specific should be collected in a separate format file.

% The macros are organized as follows:
%  1. draft macros
%  2. precise placement macros 
%  3. outlined boxes, big and small
%  4. change to smaller pointsize (for abstracts, exercises and answers, etc.)
%  5. quoting from email messages and such, in \tt font
%  6. automatic sequencing and labelling of sections and subsections
%  7. automatic sequencing and labelling of equations and other items
%  8. citing references (also an alternative way to generate and use labels)
%  9. forward referencing
% 10. maintaining labelling and \cite without help of this file
% 11. making a table of contents
% 12. math macros

%  17feb98 (add \nnorm (= a triple-bar norm), \lot (= lower order term) )
%  23oct97 (add \nextline)
%  15oct97 (add comment re \label about switching from \leqno to \eqno)
%  27sep97 (add \cocenter#1in#2, as well as \scocenter and \sscocenter)
% 11sep97 (add \rememberalso, \choices, \samelabel, correct elabel explanation )
%  19 jun 97 (correct oversight in \nexttoc;  correct (grace Kirk Haller)
%              possible toc problem in \[Hh ]eading }
%  25 may 97 (correct error in \gridbox noticeable because of heavy grid lines,
%             correct \boxit, add \shadowboxit)
%  25 feb 97 (repair \mbf, also provide \msbf and \mssbf, for sub(sub)scripts)
%  18 dec 96 (put an initial \, into def of \dd)
%  11 oct 96 (change \def to \let where appropriate, and metric units to em's)
%  20 jul 96 (add \global and \relax to \[Ss][ub]ection definition) 
%  11 jun 96 (switch \boxit to \Boxit and make \boxit a simple bounding box)
%  04 jun 96 (adjust \set; improve \endproof, thanks to Gerhard Opfer)
%  29 may 96 (add \Norm, \Inpro, \Ceil, \Floor, \Paren, thanks to Paul Nevai)
%  22 may 96 (\boxsize is also a variable in \epsf; changed to \Boxitwidth)
%  16 may 96 (add Larry's macro \mbf for darkening a letter)
%  02 apr 96 (modify definition of \elabel to make it easier to use)
%            (NOTE: this forces a change in all explicit uses of \elabel)
%  18 mar 96 (improve comments re stand-alone use of \label and \cite)
%  22 jan 96 (make every 5th gridline in \gridbox yet wider)
%  31 oct 95 (change blackmark to border undefined item and make a note in log)
%  11 oct 95 (add \margincall for marginal notes in draft mode)
%   9 sep 95 (prevent \nextref from using \rh when \rl is undefined)
%  30 jul 95 (add conditional \marginal printout to \rhl; correct and improve
%             toc material)
%  12 jul 95 (add \goodbreak in front of headings, \updated to draft headline)
%  09 jul 95 (add a default definition for \nextref, file name to draft head)
%  06 jul 95 (activate comment macro when draft is active)
%  18 apr 95 (change mem to aux, etc)
%  10 mar 95 (add comments re stand-alone use of \label and \cite , add \rhl )
%  27 feb 95 (add \beginquott, \endquott)
%   1 feb 95 (clarify \draft setup, thanks to Tom Hogan)
%   1 jan 95 (add \beginsmaller, \endsmaller)
%  31 dec 94 (simplify \inputifthere, introduce \formciteaddl )
%  17 dec 94 (add \prelabel (with thanks to Tom Hogan), expand \blackmark) 
%  20 sep 94 (add \trace and \su[bp]setnoteq)
%  30 Aug 94 (modify \cite use, thanks to Shayne Waldron)
%  24 Aug 94 (modify draft headline, thanks to Zhao Kang)
%   1 Aug 94 (add \cutoff, \restrict, \mapinto)
%  23 Jun 94 (add \cite, a mechanism for citing references)
%  28 May 94 (adjust old \(p)remember to new \marginal)
%  11 May 94 (define \dd, \ee, \ii for use as integration, 2.7218.., \sqrt{-1})
%             this redefines an earlier use of \dd, now taken up by \fromto )
%  28 Apr 94 (add \set and \Set )
%  24 Apr 94 (switch to use of  \label[\<name>]/)

% 1. -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*--->  draft macros

% These macros set up certain standard conditions for drafts. These are
% activated by saying  \draft  and include the printing of a date stamp (along
% with file name \filenamed (else \jobname) and date of last update (in 
% \updated) if available), as well as printing of all label names into a 
% slightly enlarged left margin. In addition, \ifdraft is set to true, making 
% it possible to make other actions in one's file dependent on whether or not 
% a draft is being prepared; e.g., this activates \comment and \margincall.

\newif\ifdraft\newcount\hour\newcount\minutes
\def\draft{\drafttrue\hoffset=.8truecm\showlabeltrue
\def\comment##1{{\bf comment: ##1}}
\headline={\sevenrm \hfill \ifx\filenamed\undefined\jobname\else\filenamed\fi%
(.tex) (as of \ifx\updated\undefined???\else\updated\fi)
 \TeX'ed at {\hour\time\divide\hour by 60{}%
\minutes\hour\multiply\minutes by 60{}%
\advance\time by -\minutes
\the\hour:\ifnum\time<10{}0\fi\the\time\  on \today\hfill}}
}

\def\today{\number\day\space% 
\ifcase\month\or January\or February\or March\or April\or May\or June\or
 July\or August\or September\or October\or November\or December\fi%
\space\number\year}


% 2. -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*--->   precise placement macros 

% To force a new paragraph within a formal statement whose TeX-end is indicated
% by an empty line, remember that TeX does not expand macros while looking for
% the end of a macro argument and use
\def\newpar{\par}

% to break off in the middle of a line and continue to the next without indent
\def\nextline{\hfill\break\noindent}

% to leave a blank space of specified depth in true cm, use
\def\skipp#1{\hrule height0pt width0pt depth#1truecm}

% the next macro just draws a horizontal line with some space above and below.
\def\drawline{\bigskip\hrule\bigskip}

% the next macros are useful for placing material precisely on the page
% using a grid that can be turned off eventually.

% The macro
%                         \gridbox#1/#2/#3
% builds a box vertically to #1 truecm and horizontally to #2 truecm, overlays
% that box with gridlines exactly 1truecm apart (with every fifth line heavier).
% Grid is turned off by saying \showgridfalse.  #3 should consist of one or more
% statements of the form  \point(d,r){...}  or \cpoint(d,r){...} which have the
% effect of putting the material {...} onto the page in such a way that its 
% upper left corner, respectively its center, ends up  d truecm  down and 
%  r truecm  to the right of the upper left corner of the gridbox.
%    Note that {...} might be the local way to include a picture file. E.g.,
%         \point(#1,0){\special{ps: plotfile <name>.ps}}
% would include the file <name>.ps (presumably a postscript file), giving it
% the lower left corner of the gridbox as the  currentpoint  (and thus 
% controlling the placement of the figure in  <name>.ps  on the page).
%
% TeX should be in vertical mode when calling on \gridbox. E.g., 
%      \centerline{\vbox{\gridbox3/4.4/{\cpoint(1,1){$0$}}}}
% would generate a centered gridbox and print a zero centered at the (1,1) 
% point of that box. 
%     See \gridbox uses in  \Figpls, \Figinbox, etc. in ~/ps/figure.tex

\def\gridbox#1/#2/#3{
\vbox to #1truecm{#3
\ifshowgrid\tickcount=0
  \loop\cgridw%
   \vbox to 0pt{\kern\tickcount truecm\hrule width#2truecm height\gridwidth\vss}
   \nointerlineskip \advance\tickcount by 1
   \ifdim\tickcount pt<#1pt\repeat % Note: #1, #2 need not be integers
  \hbox to 0pt{\tickcount=0\hbox to 0pt{\tick#1/\hss}\advance\tickcount by 1 %
 \loop\ifdim\tickcount pt<#2pt\nexttick1#1/\advance\tickcount by 1 \repeat\hss}
\else \vbox to 0pt{\hrule width#2truecm height0pt\vss}
\fi\vfil}\vfil}

% The next macro is used in the macros for placing material within the grid.
\def\dpoint(#1,#2)#3{\vbox to 0pt{\kern#1
   \hbox{\kern#2{#3}}\vss}\nointerlineskip}

% The following places the upper left corner of {#3} at gridpoint (#1,#2)
\def\point(#1,#2)#3{\dpoint(#1truecm,#2truecm){#3}}
% The following places the center of {#3} at gridpoint (#1,#2)
\def\cpoint(#1,#2)#3{\setbox0=\hbox{#3}
   \dimen0=\ht0\advance\dimen0 by\dp0\divide\dimen0 by-2
   \advance\dimen0 by#1truecm\dimen1=\wd0\divide\dimen1 by-2
   \advance\dimen1 by#2truecm\dpoint(\dimen0,\dimen1){#3}}

% The next macros are used in generating the grid:
\newcount\rmndr   % this macro returns the remainder of #1 mod #2
\def\rem#1#2{\rmndr=#1{}\divide\rmndr by#2{}%
\multiply\rmndr by-#2{}\advance\rmndr by #1}
\def\cgridw{\gridwidth\finegridw{}\rem\tickcount5{}% every fifth line, use ...
\ifnum\rmndr=0{}\gridwidth\roughgridw\fi}          % ... double-thick line.

\def\tick#1/{\cgridw\vrule width\gridwidth height0pt depth#1truecm}
\def\nexttick#1#2/{\hbox to#1truecm{\hfil\tick#2/}}
\newcount\tickcount
\newdimen\finegridw\finegridw0.4pt\newdimen\roughgridw\roughgridw1.6pt
\newdimen\gridwidth
\newif\ifshowgrid \showgridtrue

% %Test \gridbox with the following code (only the end crosses should show):
% \newcount\hor\newcount\ver
% \centerline{\vbox{\gridbox20/16/{
% \hor0\loop\ver0
% {\loop\cpoint(\hor,\ver){$+$}
% \advance\ver by 1\relax\ifnum\ver<17\repeat}
% \advance\hor by 1\relax\ifnum\hor<21\repeat
% }}}

% 3. -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*->   outlined boxes, big and small

% \boxit  puts its argument into a box.
% \shadowboxit adds a shadow to the box from \boxit.
% \Boxit  puts the argument into a box of specified width, and puts that box
%    into a math display.

\def\boxitmargin{1.5pt}\def\boxitkern{\kern\boxitmargin}
\def\boxit#1{\setbox0=\hbox{#1}\vbox{\hrule\hbox{\strut\vrule\boxitkern
  \vbox{\noindent\hsize\wd0\relax\box0}\boxitkern\vrule}\hrule}}
\def\shadowboxit#1{\setbox0=\hbox{\boxit{#1}}
\vtop{\copy0\nointerlineskip
      \hbox{\kern\boxitmargin\vbox{\hrule height\boxitmargin width\wd0}}}%
\kern-\boxitmargin%
\lower\boxitmargin\hbox{\vrule height\ht0 depth\dp0 width\boxitmargin}}

\def\Boxitwidth{\hsize15.6truecm}\def\Boxitmargin{\kern10pt}
\def\Boxit#1{$$\vbox{\hrule\hbox{\vrule\Boxitmargin
     \vbox{\Boxitmargin\vbox{\Boxitwidth\noindent\strut #1}
     \Boxitmargin}\Boxitmargin\vrule}\hrule}$$}

% another boxit, found somewhere; try it out some time.
%\def\boxit#1{\lower8pt\vbox{\hrule height2pt \hbox{\vrule width2pt \kern8pt
% \vbox{\kern8pt\hbox{#1}\kern8pt}\kern8pt\vrule width2pt}\hrule height2pt }}

% Make a square box outline, of sidelength #1 and with line thickness #2.
\def\makeblanksquare#1#2{
\dimen0=#1pt\advance\dimen0 by -#2pt
      \vrule height#1pt width#2pt depth0pt\kern-#2pt
      \vrule height#1pt width#1pt depth-\dimen0 \kern-#1pt
      \vrule height#2pt width#1pt depth0pt \kern-#2pt 
      \vrule height#1pt width#2pt depth0pt
}
% Here is a particularly nice box, for end_of_proof or for the boxspline box
\def\boxx{\makeblanksquare6{.4}}
\def\subboxx{\makeblanksquare4{.3}}

% 4. -*-*-*-*-*-*-*-*-*-*-*---> change to smaller pointsize (for abstracts,
%-*-*-*-*-*-*-*-*-*-*-*--->        exercises and answers, etc.)
% Put the material between  \beginsmaller  and  \endsmaller, making sure to
% leave an empty line prior to the \endsmaller to make certain that the switch
% back to ordinary baselineskip doesn't happen too soon.
\def\beginsmaller{\begingroup\eightpoint}
\def\endsmaller{\endgroup}
% The details for this are taken from pp413-415 of THE TEXBOOK:
  \font\eightrm=cmr8   \font\sixrm=cmr6
   \font\eighti=cmmi8   \font\sixi=cmmi6
  \font\eightsy=cmsy8  \font\sixsy=cmsy6
  \font\eightbf=cmbx8  \font\sixbf=cmbx6
  \font\eighttt=cmtt8
  \font\eightit=cmti8
  \font\eightsl=cmsl8
   \newskip\ttglue
\def\eightpoint{\def\rm{\fam0\eightrm}% switch to 8-point type
  \textfont0=\eightrm \scriptfont0=\sixrm \scriptscriptfont0=\fiverm
  \textfont1=\eighti  \scriptfont1=\sixi  \scriptscriptfont1=\fivei
  \textfont2=\eightsy \scriptfont2=\sixsy \scriptscriptfont2=\fivesy
  \textfont3=\tenex   \scriptfont3=\tenex \scriptscriptfont3=\tenex
  \textfont\itfam=\eightit  \def\it{\fam\itfam\eightit}%
  \textfont\slfam=\eightsl  \def\sl{\fam\slfam\eightsl}%
  \textfont\ttfam=\eighttt  \def\tt{\fam\ttfam\eighttt}%
  \textfont\bffam=\eightbf  \scriptfont\bffam=\sixbf
   \scriptscriptfont\bffam=\fivebf  \def\bf{\fam\bffam\eightbf}%
  \tt \ttglue=.5em plus.25em minus.15em
  \normalbaselineskip=9pt
  \setbox\strutbox=\hbox{\vrule height7pt depth2pt width0pt}%
  \let\sc=\sixrm  \let\big=\eightbig  \normalbaselines\rm}

% 5. -*-*-*-*-*-*-*-*-*-*-*---> quote from email messages and such, in \tt font
\def\beginquott{\vskip0pt\noindent%
\begingroup\parskip0pt\parindent10pt\tt\obeylines}
\def\endquott{\endgroup\medskip}

% 6. -*-*-*-*-*-*-*-*-*-*-*---> automatic sequencing and labelling of sections
%-*-*-*-*-*-*-*-*-*-*-*--->   and subsections
\newcount\sectionno
\newcount\subsectionno
\newcount\subsubsectionno
\sectionno=0
\def\Section#1{\global\advance\sectionno by 1\relax\subsectionno=0%
   \equationno=0\Heading{\the\sectionno. #1}}
\def\subsection#1{\global\advance\subsectionno by 1\relax\subsubsectionno=0%
   \heading{\the\sectionno.\the\subsectionno.  #1}}
\def\ubsection#1{\vskip-\bigskipamount\subsection{#1}}
\def\subsubsection#1{\global\advance\subsubsectionno by 1\relax%\equationno=0%
   \heading{\the\sectionno.\the\subsectionno.\the\subsubsectionno  #1}}
\def\ubsubsection#1{\vskip-\bigskipamount\subsubsection{#1}}
% (use \ub[sub]section instead of \sub[sub]section if it is the next thing
% after a \[sub]section)

% 7. -*-*-*-*-*-*-*-*-*-*-*---> automatic sequencing and labelling of equations
%-*-*-*-*-*-*-*-*-*-*-*--->   and other items, and the saving thereof

\newcount\equationno\equationno=0
% The intent is to label equations and other formal statements consecutively
% and automatically, and to provide means to refer to each labeled item, in
% text preceding or following it, by the name given it. (See also  forward
% referencing , below: briefly, prefix a label with  \prelabel  if it is only
% defined later in the file.) (See  maintaining labelling  below for what
% to do if the labelling is to be maintained without help of this file.) 

% First, a (silly) example: 

%%  Consider the following great equations
%%$$ a = a \label\greatstuff/$$
%%and
%%$$ a = a. \label/$$
%%
%%Now, some might claim that (\greatstuff) is merely a tautology, and,
%%as this is the same as (\lastlabel), they are right; however, one should
%%keep in mind the following Theorem \nextlabel:
%%
%%\proclaim Theorem \label/. All is in vain.
%%
%%Theorem \lastlabel\ implies (\prelabel\morestuff a) below, via the following
%%
%%\proclaim (\label\corinvain/) Corollary. Vain is nonempty.
%%
%% Corollary \corinvain\ explains much, because
%%\item{(i)} it implies that
%%$$\hbox{\rm Vain} \not= \emptyset,\elabel\morestuff/\kern-\parindent/a/$$
%%\item{(ii)} but does not imply that
%%$$\hbox{\rm Vane} \not= \emptyset,
%%\samelabel\elabel/\kern-\parindent/b/$$


\def\label#1/{\elabel{#1}///}
\def\elabel#1/#2/#3/{\global\advance\equationno by 1 %
\ifx#1\empty\else\emember#1%
\ifshowlabel\marginal{\string#1}\fi\fi%
\ifmmode\leqno{#2(\formeq#3)}\else#2\formeq#3\fi} 
% If the equation number is to appear on the right, then replace the preceding
% two lines by the following two lines (without the initial percent :-):
% \ifmmode \eqno{#2(\formeq#3)}\ifshowlabel\rlap{\fiverm \string#1}\fi%
% \else\ifshowlabel\marginal{\string#1}\fi#2\formeq#3\fi}

\def\samelabel{\global\advance\equationno by-1\relax}

%  \label[\<name>]/  increments \equationno by 1, then puts that number right 
% there, in a form specified by \formeq , with the present default being
\def\formeq{\the\equationno}
% but which one could override, e.g., by
%      \def\formeq{\the\sectionno.\the\equationno}
% or by
%      \def\formeq{\the\sectionno.\the\subsectionno.\the\equationno}
%
%   The argument \<name>  is usually empty (hence the need for the terminating
% slash whenever  \label.../  is used). If  \<name>  is not empty, then the
% whole argument must be of the specified form, \<name> , (including the 
% leading backslash), and must be terminated by that final slash. The 
% effect is that the macro  \<name>  is defined to contain the current value
% of  \equationno , in the form specified by  \formeq , making it easy to
% refer to the labelled item in the rest of the document, as illustrated in the 
% silly example above.

% As the silly example shows, it is possible to refer to the nearest labeled
% item even if it was not given a name, using the macros
\def\lastlabel{\formeq}
\def\nextlabel{{\advance\equationno by 1 \formeq}}

% To be sure (see the silly example)  \label\<name>/  is also used to label 
% equations, in exactly the spot into which  \leqno{...}  ordinarily goes.  
% In that case, the incremented  \equationno  will appear, in the form 
% specified by  \formeq , enclosed in parentheses.

%    Note that the present default is to put the equation number on the left
% side of the page, but that is easily changed, in the definition of \elabel.

% If the equation label is to show some additional things, use instead
%  \elabel[\<name>]/<leftmaterial>/<rightmaterial>/ .  For example, 
% $$  .... \elabel\goodstuff//a/$$
% would append the letter  a  to the displayed equation number. Note the use of
% \samelabel in the subsequent
% $$  .... \samelabel\elabel//b/$$
% to be certain that this gets the same numerical label.  As another example, 
% \item{...} ... $$ ... \elabel\goodstuff/\kern-\parindent//$$
% would put the equation label next to the left margin in spite of the fact
% that the equation occurs inside an  \item . For convenience, here is a macro
% for the latter use, and even one for use inside an \itemitem :
\def\itemlabel#1/{\elabel#1/\kern-\parindent//}
\def\itemitemlabel#1/{\elabel#1/\kern-\parindent\kern-\parindent//}

\newif\ifshowlabel
% Use of  \label\<name>/  will also put <name> in small letters into the
% left margin, provided  \showlabeltrue  has been mentioned earlier (as is
% done by the macro \draft above).

% The macro 
\def\marginal#1{\strut\vadjust{\kern-\strutdepth%
\vtop to \strutdepth{\baselineskip\strutdepth\vss\llap{\fiverm#1\ }\null}}}
\def\strutdepth{\dp\strutbox}
% ... used for this purpose is good for other marginal notes, as in
\newdimen\marginwidth\marginwidth.9truein
\def\margincall#1{\ifdraft\marginal{\vbox{\overfullrule0pt\hsize\marginwidth%
\noindent #1}}\fi}

\newif\ifrememberchapter\rememberchapterfalse 
%     When writing a book, one also wants a second file, in which each item 
% also reflects the particular chapter in which it appears, e.g., in the form
%    \def\<name>\chapterno{\chapterno.\formeq} 
% For this, the following statements should appear near the beginning of the 
% \TeX-file for that chapter:
%-------------------------
%\def\chapterno{...}    (with  ...  being, e.g., IV , if it's Ch. 4 .)
%\rememberchaptertrue
%\newwrite\chpaux
%\immediate\openout\chpaux=\jobname.\chapterno
%-------------------------
% One would  \inputifthere{<filename>.<chapterno>}  in other chapter files
% and refer there to the saved number via  \<name><chapterno>

\def\emember#1{\ifrememberchapter % subsequent percents prevent unwanted blanks
\immediate\write\chpaux{\def\string#1\chapterno{\chapterno.\formeq}}\fi%
\immediate\write\aux{\def\string#1{\formeq}}%
\global\edef#1{\formeq}}

%     The \emember mechanism can also be used to record other numbers, for
% use elsewhere, via the macro
\def\rememberalso#1as#2{{\def\formeq{#1}\remember#2}}
% It is essential here that the whole action is enclosed in braces, to keep
% the change in \formeq local.  For example, to save the current section 
% number (found in \sectionno) as  \greatsection  for reference in other 
% places, use, right after \Section{...}, 
%   rememberalso{\the\sectionno}\greatsection
\def\remember#1{\ifshowlabel\marginal{\string#1}\vskip-\baselineskip\fi%
\emember#1}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% old stuff, retained for backward compatibility:
\def\equation{\leqno{\listitem}}
\def\itemequation{\leqno{\nextequationno{\kern-\parindent(\formeq)}}}
\def\iitemequation{\leqno{\nextequationno{\kern-\parindent\kern-\parindent%
(\formeq)}}}
% This uses \listitem to increment the current value of  \equationno  by 1 
% and puts that value into the equationnumber display. Note the present default
% is to put the equation number on the left side of the page.
%
% To save the current  \equationno  for later reference, use:  \remember\<name> 
% To save the next one to be set, use instead: \premember\<name>
% Either way, this will define the control sequence \<name> to be the sequence 
% of character tokens which spells the current, resp. the next, value of
%  \equationno , as in the following example: 

%    Consider the following great equation
%   $$ a = a. \equation$$
%   \remember\greatstuff
%   Now, some might claim that (\greatstuff) is merely a tautology, and,
%   as this is the same as (\lastequation), they are right; however, ...

% To use this saved `equation number' elsewhere in the file, use \<name>

% 
% Use of \remember or \premember will also put <name> in small letters into the
% left margin, provided  \showlabeltrue  has been mentioned earlier. See
% earlier explanatory material.

\def\premember#1{{\advance\equationno by 1 \remember#1}\vskip-\baselineskip}
\def\lremember#1{{\advance\equationno by 1 \remember#1}\vskip0pt}
\def\lastequation{\formeq}
\def\nextequation{{\advance\equationno by 1 \formeq}}
\def\nextequationno#1{\global\advance\equationno by 1 #1}
\def\listitem{\nextequationno{(\formeq)}}
\def\istitem{\nextequationno{\formeq}}

\def\enditems{\item{}\vskip -\baselineskip} % used to be needed since TeX 
               % used to treat last item in a proclaim list wrongly.
               % It can also be used to terminate a list of items within a
               % proclaim, but for that already \vskip-0pt will work, as will
               % \newpar defined below.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   end of old material 

% 8. -*-*-*-*-*-*-*-*-*-*-*---> citing references (also an alternative way to
%-*-*-*-*-*-*-*-*-*-*-*---> generate and use labels):

%   The intent is to provide informal referencing as well as forward 
% referencing (q.v.) for classes of items. The particular instant is tailored 
% to the citing of items from the bibliography at the end of the paper, hence 
% the use of the word  \cite .

%   First, an example which (yeeechhhh!) simply serializes the references:

%% We quote from \cite{thunk: p.-3}:
%% ``Knuth's book, \cite{knuth1}, is remarkable in that it contains all 
%% information about \TeX\ needed, --- all one has to do is find it.''
%% However, how would \formcite{\citthunk} know?
%% 
%% \centerline{References}
%% \newcount\refnumber
%% \def\nextref{\global\advance\refnumber by 1 \def\rl{\the\refnumber}%
%% \item{\defcite{\rh}}}
%% 
%% \rhl{knuth1}\nextref
%% D. Knuth, {\it The \TeX book\/}, Addison-Wesley, 1984.
%% 
%% \rhl{thunk}\nextref
%% E. Thunk, Who would have thunk it?, Yelsew J. {\bf 4}, (1994), 3--7.

%   This could be simplified by absorbing \rhl into \nextref
% using

%% \def\nextref#1{\global\advance\refnumber by 1 \rhl{\the\refnumber}%
%% \item{\defcite{#1}}}
% and, e.g.
%% \nextref{knuth1}
%% D. Knuth, {\it The \TeX book\/}, Addison-Wesley, 1984.
%% 

%   If one wanted to use instead some more interesting labels, e.g.,  K  for
% the first and  T  for the second, one would have to change the Reference part 
% of the example to something like this:

%% \centerline{References}
%% \def\nextref{\item{\defcite{\rh}}}
%% 
%% \rhl{knuth1:K}\nextref
%% D. Knuth, {\it The \TeX book\/}, Addison-Wesley, 1984.
%% 
%% \rhl{thunk:T}\nextref
%% E. Thunk, Who would have thunk it?, Yelsew J. {\bf 4}, (1994), 3--7.


%   If, in the second way, one wants to use the reference label also as its
% handle, one would have only the intended label as the argument for \rhl .

%   The \rhl macro makes available (to the \defcite macro below) the reference
% *HANDLE*, \rh , and the reference *LABEL*, \rl . The former gives the name by
% which to refer to the reference when citing it in the text, the latter
% specifies how the citation should be printed. E.g., in the last example
% above, \cite{thunk} will expand to  [T]  (if \formcite has standard form).

\def\rhl#1{\rahel#1::/}
\def\rahel#1:#2:#3/{\edef\rh{#1}\def\next{#2}\ifx\next\empty\edef\rl{#1}%
\else\ifshowlabel\marginal{#1}\fi\edef\rl{#2}\fi}

%    Here is a default definition of \nextref which defines a reference handle
% if \rl is defined; else it simply serializes the references.

\newcount\refnum\refnum0
\def\nextref{\ifx\rl\undefined%
\global\advance\refnum by 1{}{\def\rl{\the\refnum}\item{\defcite{\rl}}}\else
\item{\defcite{\rh}}\fi}

%   The \cite macro used in the examples is:

\def\cite#1{\excite#1::/}
\def\excite#1:#2:#3/{\edef\griff{cit#1}%
\formcite{\plazieres\def\next{#2}\ifx\next\empty\else\formciteaddl{#2}\fi}}

% Note that  \cite  expects its argument to be of the form  referencehandle
% optionally followed by  :other_stuff , with  other_stuff a page or other item
% reference. This makes it impossible to have a colon as part of a reference
% handle or having a / as part of the other_stuff (except within braces).

\def\defcite#1{\edef\griff{cit#1}\edef\inhalt{\rl}\definieres\cite{#1}}

%   The  \defcite#1  macro defines the control sequence  \cit#1  and gives it
% the value of  \rl  (assumed to be defined beforehand, see the example), while
%  \cite{#1} expands to the value of the control sequence  \cit#1  but placed
% in whatever form (brackets, boldface, etc.) has been set by  \formcite .
% The #1 part of the control sequence can be any alphanumeric string;
% in particular, in contrast to the  \label  macro above, it can contain
% digits. However, if  #1  only contains letters, then it is also possible to
% use  \cit#1  directly, without going through  \cite  (see the above example).

%   The particular form in which the reference and additional material within
% the reference is to appear is defined next;
\def\formcite#1{{\bf[}#1{\bf]}}
\def\formciteaddl#1{:#1}

%   The supporting macros, \plazieres  and  \definieres , are set up to make
% it easy to use variants of  \cite  and  \defcite , using prefixes 
% other than  cit  in the resulting class of labels. A major point of the setup
% is the use of  \jobname.aux  to record all these control sequences, for 
% forward referencing (as is essential since the bibliography only appears at 
% the end of a paper). Since this may also be of use for forward referencing
% of (other) labels, here is the macro \prelabel that will simply place its 
% argument if it is defined; otherwise, it will place its argument between
% two black marks and print a warning, but will otherwise not disturb the 
% flow of TeX:

\def\prelabel#1{\ifx#1\undefined\xdef\esfehlt{\string#1}\blackmark\else{#1}\fi}
\newcount\blackmarks\blackmarks0
\def\blackmark{\ifnum\blackmarks=0\global\blackmarks1%
\write16{===================================================================}%
\write16{|| Some forward reference is as yet undefined. Re-TeX this file! ||}%
\write16{===================================================================}%
\fi\immediate\write16{undefined forward reference: \esfehlt}%
{\vrule height10pt width3pt depth2pt}\esfehlt%  <----  this is the black mark
{\vrule height10pt width3pt depth2pt}}

% Assuming that  \griff  is defined to be  <string> ,  the following macro
% will define a control sequence \<string> and give it the value of  \inhalt . 
\def\definieres{\expandafter\xdef\csname\griff\endcsname{\inhalt}
\def\leerplatz{ }\expandafter\immediate\write\aux{%
\string\expandafter\def\string\csname%
\leerplatz\griff\string\endcsname{\inhalt}}}

% Assuming that  \griff  has the value  <string> , the following macro expands 
% to the contents of  \<string> , if previously defined by use of \definieres .
% Otherwise, it expands to <string> bordered by two black marks.
\def\plazieres{\expandafter\ifx\csname\griff\endcsname\relax%
\xdef\esfehlt{\griff}\blackmark\else{\csname\griff\endcsname}\fi}

% 9. -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-> forward referencing

% Use of  \label\<name>/  or \defcite{<string>}  will also save the resulting 
% definition, in the form  
%    \def\<name>{\formeq} 
% respectively
%    \expandafter\def \csname cit<string>\endcsname{<inhalt>}
% in the file  \jobname.aux  for the purpose of correct forward referencing.
% For this, it may be necessary to run the job twice. In any case, the
% following sets up the necessary file work:
% (1) a conditional \input, to cover the first time when the file \jobname.aux
%     does not yet exist (this may be of use elsewhere):
\newread\testfl
\def\inputifthere#1{\immediate\openin\testfl=#1
\ifeof\testfl\message{(#1 does not yet exist)}\else\input#1\fi\closein\testfl}
% (2) bring in  \jobname.aux  if it exists, then set it up for writing:
% (Recall that  \jobname  expands to the name of the file TeX thinks it is 
% working on.)
\inputifthere{\jobname.aux}
\newwrite\aux
\immediate\openout\aux=\jobname.aux

% 10. -*-*-*-*-*-*-*-*-> maintaining labelling and \cite without help of the
% present format file (e.g., if the \jobname.tex file is to be submitted to a
% journal).
%
%    For \label, do the following:
% (i) make sure that any use of \nextlabel or \lastlabel has been replaced
% by references to explicitly named labels. Also, change all occurrences of
%  \elabel  appropriately (usually, just change it to \label, combining the
% material from the other two arguments of \elabel appropriately into the one
% argument for \label).
% (ii) put the current contents of \jobname.aux somewhere at the beginning of
% the file \jobname.tex.
% (iii) use the following definitions of \label and \prelabel:
% \def\prelabel{}
% \def\label#1/{\ifmmode\leqno(#1)\else#1\fi}
% If AMSTeX is to be used, use instead  
% \def\label#1/{\ifmmode\tag #1\else#1\fi}
%
%    For \cite, do the following:
% (i) same as (ii) for \label;
% (ii) possibly edit the definitions brought in in step (i), particularly if
%      reference by number is desired. Also, note that the definitions picked
%      up in step (iii) below include the \formcite stuff, a further 
%      opportunity to make changes to please some editor.
% (iii) pick up the relevant definitions, as follows:
% 
% \def\cite#1{\excite#1::/}
% \def\excite#1:#2:#3/{\edef\griff{cit#1}%
% \formcite{\plazieres\ifx#2\empty\else\formciteaddl{#2}\fi}}
% \def\formcite#1{{\bf[}#1{\bf]}}
% \def\formciteaddl#1{ : #1}
% \def\plazieres{\expandafter\ifx\csname\griff\endcsname\relax%
% \xdef\esfehlt{\griff}\blackmark\else{\csname\griff\endcsname}\fi}
%
% If AMSTeX (or, horrors!, LaTeX) is to be used, one needs to proceed 
% differently since \cite is an AMSTeX command. So, replace all \cite in the 
% text by \mycite, then pick up the relevant definitions as above, but with 
% the first line being 
% \def\mycite#1{\excite#1::/}

% 11. -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-> Table of Contents

% The next macros are good for generating a Table of Contents
\newif\ifwritetoc\newwrite\toc
% Assuming that the Table of Content is the first item of business, one would
% start a new page there with something like
%    \centerline{TABLE OF CONTENTS}
%    \bigskip\printtochere\vfill\eject
% This uses
\def\printtochere{\immediate\closeout\toc\inputifthere{\jobname.toc}\starttoc}
\def\starttoc{\immediate\openout\toc=\jobname.toc\writetoctrue}
% It may be necessary to tex the file at least three times, the first time to
% generate the file jobname.toc, the second time to establish the number of
% pages it occupies.

% If there are items to be mentioned in the toc that precede the toc, then
% one would (i) place 
%    \starttoc
% somewhere prior to the first item to be mentioned in the toc;
% (ii) assuming one wanted to have the correct page number on the table of 
% content page(s), use at the place in the document for the toc  
%     \newcount\tocpage\tocpage=\pageno\advance\pageno by xxx
% with  xxx  the (expected) number of pages for the toc; and
% (iii) at the end of the document, start a NEW page with
%     \pageno=\tocpage
% \centerline{TABLE OF CONTENTS}
% \bigskip \printtochere

% The writing of the individual items can be done by the following macros:
% The first adds a line to the table of contents, the second adds an entry,
% with text on the left and the current pageno on the right and a leader fill
% in between. Change the second one locally for a different style.

\def\nexttoc#1{\immediate\write\toc{#1}}
\def\tocline#1#2{\nexttoc{\line{\hskip#2truecm #1\leaderfill \ \ \folio}}}
\def\leaderfill{\leaders\hbox to 1em{\hss.\hss}\hfill}

% These are used, e.g., conditionally in Heading, heading, eading below.
\font\bigfont=cmbx10
\def\Heading#1{\bigskip\bigskip\goodbreak\centerline{\bigfont #1}
               \ifwritetoc\tocline{#1}0\fi\nobreak\bigskip\nobreak}
\def\heading#1{\bigskip\goodbreak\centerline{\bf #1}
               \ifwritetoc\tocline{#1}1\fi\nobreak\medskip\nobreak}
\def\eading#1#2{\bigskip\goodbreak\centerline{\bf #1}
               \ifwritetoc\tocline{#1}{#2}\fi\nobreak\medskip\nobreak}


% 12. -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*->  math macros

\def\formal#1{\bigskip{\bf #1}\hskip1em}
\def\Proof#1{\indent{\bf Proof#1:}\qquad}
\def\proof{\Proof{}}
\let\endproofsymbol\boxx
\def\endproof{\hbox{}~\hfill\endproofsymbol\medskip\goodbreak}

\let\bs\backslash
\def\Ccircle{\buildrel \circ \over C}
\def\picircle{\buildrel \circ \over \pi}
\def\comment#1{}
\def\ref#1{{\bf[}#1{\bf]}}
\def\rf#1 {[{\bf#1}]}
\def\suchthat{\hbox{\rm\ s.t.\ }}
% \wlog is a TeX macro, and \def\wlog{without loss of generality} causes
% unexpected things to happen.
%\def\setnoteq#1{\mathrel{\lower4pt\vbox{\hbox{$\scriptstyle#1$}
%\vskip-6pt\hbox{$\scriptstyle\not=$}}}}
\def\setnoteq#1{\mathrel{\raise3pt\hbox{$#1$}\lower4pt\llap{$\not=$}}}
\def\supsetnoteq{\setnoteq{\supset}}
\def\subsetnoteq{\setnoteq{\subset}}
\def\atoprightarrow#1{{{\ #1\ \over{}}\kern-1.1em\to}}
\def\belowrightarrow#1{{{{}\over\ #1\ }\kern-1.1em\to}}
\def\uniformly{\atoprightarrow{u}}
\def\pointwise{\atoprightarrow{pw}}
\def\strongly{\atoprightarrow{s}}
\def\weakly{\atoprightarrow{w}}
\def\inv#1{#1^{-1}}
\def\bigtimes{\mathop{\times}}
\def\Im{\mathop{\rm Im}\nolimits}
\def\Re{\mathop{\rm Re}\nolimits}
\def\all{\mathord{\rm all}\;}
\def\area{\mathop{\rm area}\nolimits}
\def\argmin{\mathop{\rm argmin}\nolimits}
\def\argmax{\mathop{\rm argmax}\nolimits}
\def\conv{\mathop{\rm conv}\nolimits}
\def\cond{\mathop{\rm cond}\nolimits}
\def\const{{\rm const}{}}
\def\diag{\mathop{\rm diag}\nolimits}
\def\diam{\mathop{\rm diam}\nolimits}
\def\dist{\mathop{\rm dist{}}}
\def\dom{\mathop{\rm dom}\nolimits}
\def\and{\mathord{\rm and}}
\def\for{\mathord{\rm for}}
\def\jump{\mathop{\rm jump}}
\def\meas{\mathop{\rm meas}\nolimits}
\def\ran{\mathop{\rm ran}\nolimits}
\def\rank{\mathop{\rm rank}\nolimits}
\def\signum{\mathop{\rm signum}\nolimits}
\def\sinc{\mathop{\rm sinc}\nolimits}
% note: since  \span  is a plain TeX operator, use something else here
\def\spam{\mathop{\rm span}\nolimits}
\let\Span\spam
\def\supp{\mathop{\rm supp}\nolimits}
\def\tar{\mathop{\rm tar}\nolimits}
\def\trace{\mathop{\rm trace}\nolimits}
\def\vol{\mathop{\rm vol}\nolimits}
\def\charf#1{\chi_{\lower3pt\hbox{$\scriptstyle #1$}}} %better characteristic f
\def\divdif{\kern.43em\vrule width.6pt height4.95pt depth.28pt\kern-.43em\Delta}
\def\Null{\mathop{\rm null}\nolimits}
\def\lincomb#1#2#3{#1_1#2_1+#1_2#2_2+\cdots+#1_{#3}#2_{#3}}
\def\Sequ#1#2{#1^1,#1^2,\ldots,#1^{#2}}
\def\sequ#1#2{#1_1,#1_2,\ldots,#1_{#2}}
\def\Matrix#1{\left[\matrix{#1}\right]}
\def\id#1{{\rm id}{}_{#1}}
\def\unitv#1{{\bf i}_{#1}}
\def\lot{\mathord{\rm l.o.t.}}

% sfract puts its arguments into continued fraction notation (S-fraction)
\def\sfract#1,#2,{{\vrule height2.6pt width.4pt depth10pt\hskip-.85pt
{{#1\over#2}} \hskip-.85pt\vrule height14pt width.4pt depth-2.3pt}}

% A darker or boldface version of a letter, to be used in math mode, can be
% obtained, also in scriptstyle and scriptscriptstyle,  by one of the macros
\def\mbf#1{\dimen0=.011em\dimen1=.009em\makebold{}{#1}}
\def\msbf#1{\dimen0=.009em\dimen1=.0073em\makebold{\scriptstyle}{#1}}
\def\mssbf#1{\dimen0=.0075em\dimen1=.007em\makebold{\scriptscriptstyle}{#1}}
% All three use the following, with the pattern      x x
%                                                   x x x
\def\makebold#1#2{\mathord{\setbox0=\hbox{$#1#2$}%
       \copy0\kern-\wd0%
       \kern\dimen0\raise\dimen1\copy0\kern-\wd0%
       \kern\dimen0\copy0\kern-\wd0%
       \kern\dimen0\raise\dimen1\copy0\kern-\wd0%
       \kern\dimen0\box0}}

\def\boldA{{{\bf A}}}
\def\boldB{{{\bf B}}}
\def\boldC{{{\bf C}}}
\def\boldK{{{\bf K}}}
\def\boldL{{{\bf L}}}
\def\boldO{{{\bf O}}}
\def\cA{{\cal A}}
\def\cB{{\cal B}}
\def\cD{{\cal D}}
\def\cZ{{\cal Z}}

\def\openA{{{\rm A}\kern-.63em{\rm A}}}
\def\openB{{{\rm I}\kern-.16em {\rm B}}}
%\def\openC{{\rm C\kern-.18cm\vrule width.6pt height 6pt depth-.2pt \kern.18cm}}
\def\openC{{\rm C\kern-.48em\vrule width.06em height.57em depth-.02em \kern.48em}}
\def\sopenC{{\rm C\kern-.15cm\vrule width.6pt height 4.1pt depth-.3pt \kern.15cm}}
\def\openD{{{\rm I}\kern-.16em {\rm D}}}
\def\openE{{{\rm I}\kern-.16em {\rm E}}}
\def\openF{{{\rm I}\kern-.16em {\rm F}}}
\def\openI{{{\rm I}\kern-.2em {\rm I}}}
\def\openH{{{\rm I}\kern-.16em {\rm H}}}
\def\openK{{{\rm I}\kern-.16em {\rm K}}}
\def\openL{{{\rm I}\kern-.16em {\rm L}}}
\def\openM{{{\rm I}\kern-.16em {\rm M}}}
\def\openN{{{\rm I}\kern-.16em {\rm N}}}
\def\openP{{{\rm I}\kern-.16em {\rm P}}}
\def\openQ{{\rm Q\kern-.21cm\vrule width.6pt height 6.2ptdepth-.2pt \kern.21cm}}
\def\openQ{{{\rm Q}\kern-.63em {\rm Q}}}
\def\openR{{{\rm I}\kern-.16em {\rm R}}}
\def\openS{{{\rm S}\kern-.68em{\rm S}}}
\def\openT{{{\rm T}\kern-.42em {\rm T}}}
\def\sopenT{{{\scriptstyle\rm T}\kern-.35em {\scriptstyle\rm T}}}
\def\openZ{{{\rm Z}\kern-.28em{\rm Z}}}
\def\sopenZ{{{\scriptstyle\rm Z}\kern-.24em{\scriptstyle\rm Z}}}

\let\CC\openC
\let\sCC\sopenC
\let\FF\openF
\let\naturals\openN
\let\NN\openN
\let\reals\openR
\let\RR\openR
\let\integers\openZ
\let\ZZ\openZ
\def\Cmn{\openC^{m\times n}}
\def\Cn{\openC^n}
\def\Cs{\openC^s}
\def\Fm{\openF^m}
\def\Fmn{\openF^{m\times n}}
\def\Fn{\openF^n}
\def\Fnm{\openF^{n\times m}}
\def\Rd{\openR^d}
\def\Rm{\openR^m}
\def\Rmn{\openR^{m\times n}}
\def\Rn{\openR^n}
\def\Rnm{\openR^{n\times m}}
\def\Rs{\openR^s}
\def\Td{\openT^d}
\def\Tn{\openT^n}
\def\Ts{\openT^s}
\def\Zd{\openZ^d}
\def\Zm{\openZ^m}
\def\Zn{\openZ^n}
\def\Zs{\openZ^s}
\def\sumZd{\sum_{j\in\Zd}}
\def\sub{_{\bf|}}
\def\comb#1{{{|#1|}\choose{#1}}}
\def\Iff{\hskip1em\Longleftrightarrow\hskip1em}
\def\iff{\Longleftrightarrow}
\def\Implies{\hskip1em\Longrightarrow\hskip1em}
\def\implies{\Longrightarrow}
\def\Implied{\hskip1em\Longleftarrow\hskip1em}
\def\implied{\Longleftarrow}
\def\braket#1{\hbox{$[\![$}#1\hbox{$]\!]$}}
\def\Paren#1{\left(#1\right)}
\def\Set#1{\left\{\,#1\,\right\}}
\def\set#1{\{#1\}}
\def\Ceil#1{\left\lceil#1\right\rceil}
\def\ceil#1{\lceil#1\rceil}
\def\Floor#1{\left\lfloor#1\right\rfloor}
\def\floor#1{\lfloor#1\rfloor}
\def\Norm#1{\left\Vert#1\right\Vert}
\def\norm#1{\Vert#1\Vert}%\def\norm#1{\|#1\|} does not work with verbatim.tex
\def\nnorm#1{{\def\ss{\vert\kern-.05em}\ss\ss\vert#1\ss\ss\vert}}
\def\Inpro#1{\left\langle#1\right\rangle}
\def\inpro#1{\langle#1\rangle}
\def\sstar{\!*\!}
\def\scpro#1,#2{#1\sstar#2}
\def\fromto{\mathbin{\ldotp\ldotp}} % for interval spec. as in [a\fromto b]
\def\cutoff{\,{\vrule height 7pt width .3pt depth 3.5pt}\,}
\def\restrict#1{\cutoff\lower1pt\hbox{$_{#1}$}}
\def\mapinto#1{\cutoff\hbox{$^{#1}$}}
\def\dd{\,{\rm d}}  % for integration (making them mathop places them less well)
\def\ee{{\rm e}}  % for the base of the natural log
\def\ii{{\rm i}}  % for the imaginary unit
% center one symbol on top of another, also in script and scriptscript
\def\cocenter#1in#2{\makecocenter{#1}{#2}{}}
\def\scocenter#1in#2{\makecocenter{#1}{#2}{\scriptstyle}}
\def\sscocenter#1in#2{\makecocenter{#1}{#2}{\scriptscriptstyle}}
\def\makecocenter#1#2#3{\setbox1\hbox{$#3#1$}\setbox2\hbox{$#3#2$}%
\dimen2\wd2\advance\dimen2 by \wd1\divide\dimen2 by2{}%
\box2\kern-\dimen2\box1\kern-\wd1\kern\dimen2}
% this crown is good for \magnification = 1200
% an alternate crown might be \cocenter\bot in\gO
\def\crown{{\Omega\kern-.14truecm\vrule width.6pt depth-.1pt \kern.15truecm}}
% this crown is good for \magstep3
% \def\crown{{\Omega\kern-.20truecm\vrule width.6pt depth-.1pt \kern.20truecm}}
\def\choices#1#2#3{${\hbox{#3 #1}\atop\hbox{#3 #2}}$}
\let\ga\alpha
\def\gA{{\rm A}}
\let\gb\beta
\def\gB{{\rm B}}
\let\gga\gamma
\let\gG\Gamma
\let\gd\delta
\let\gD\Delta
\let\gep\varepsilon
\def\gE{{\rm H}}
\let\gz\zeta
\def\gZ{{\rm Z}}
\let\gth\theta
\let\gTh\Theta
\let\gf\varphi
\let\gF\Phi
\let\gy\upsilon
\def\gI{{\rm I}}
\let\gk\kappa
\def\gK{{\rm K}}
\let\gl\lambda
\def\glcrown{\buildrel \crown \over \gl}
\let\gL\Lambda
\def\gM{{\rm M}}
\let\gs\sigma
\let\gS\Sigma
\let\gt\tau
\def\gT{{\rm T}}
\let\gr\varrho
\def\gR{{\rm P}}
\def\Chi{{\rm X}}
\let\go\omega
\let\gO\Omega

%I'm format1.tex
\def\ttoday{{\hskip 11.7truecm}
\ifcase\month\or January\or February\or March\or April\or May
			\or June\or July\or August\or September
			\or October\or November\or December\fi
			\space\number\day, \number\year{\vskip -14pt}}
\overfullrule=0pt
\interlinepenalty=1000
\def\atright{\noindent \hskip 4truein}
\def\beginright{\begingroup \obeylines \parindent=4truein}
\def\endright{\endgroup}

\def\beginleft{\begingroup \obeylines \parindent=0pt}
\def\endleft{\endgroup}
\def\res#1{{}_{|_{#1}}}


\def\tx#1{T^{\vphantom \ast}_{#1}}
\def\txs#1{T^{\ast}_{#1}}

\def\lisitem{\global\advance\equationno by 1 \formeq}
\def\maspto{\mapsto}

%\phantom characters
% the first one is useful when we use subscripts of a letter
%the stands for an operator, and subscripts for its adjoint operator
%since the adjoint operator has a * at top, its subscripts are pushed
%down, and are not aligned with those of the operator. Hence we insert
%a phantom *
\def\adjal#1#2{#1^{\vphantom {\ast}}_{#2}}
\def\adjalt#1#2{#1^{\ast}_{#2}}
\def\tx#1{\adjal T {#1}}    %the synthesis operator
\def\txt#1{\adjalt T {#1}}  %the analysis  operator
\def\jo#1{\adjal J {#1}}    %pre-gramian
\def\jos#1{\adjalt J {#1}}  %adjoint pre-gramian
\def\vp{\vphantom}
\def\vpt{{\vp\ast}}


% the next set of phantoms are meant to align nicely entries of matrices
% tex aligns by by the center of the entire expression. if the entry is, say,
% -1, then we do not want tex to use the negative sign in computing
%the center of the symbol. we can achieve that by adding a phantom `-'
%to all other entries. we could fo course add `+' sign to them
\def\hpm{{\hphantom {-}}}
\font\bigboldroman=cmbx10 %at 12truept % should be 12 at 12
\font\bigroman=cmr10 %at 12truept % should be 12 at 12
\font\littleroman=cmr8 %at 8truept
\font\roman=cmr10 %at 10truept
\font\tensmc=cmcsc10
\font\mroman=cmr10 %at 11truept

\def\uwcmshead{
\centerline{\bigboldroman{
U\thinspace N\thinspace I\thinspace V\thinspace E\thinspace R\thinspace 
S\thinspace I\thinspace T\thinspace Y \ O\thinspace F \ 
W\thinspace I\thinspace S\thinspace C\thinspace 
O\thinspace N\thinspace S\thinspace I\thinspace 
N\ -\ M\thinspace A\thinspace D\thinspace I\thinspace S\thinspace O\thinspace   N  }}\smallskip
\ce{\bf Center for the Mathematical Sciences} \smallskip
\ce{\littleroman 610 Walnut St.}
\ce{\littleroman Madison, WI 53705}
\centerline{\littleroman Tel. 608-262-1204}\vskip .5cm}

\def\uwcshead{
\centerline{\bigboldroman{
U\thinspace N\thinspace I\thinspace V\thinspace E\thinspace R\thinspace 
S\thinspace I\thinspace T\thinspace Y \ O\thinspace F \ 
W\thinspace I\thinspace S\thinspace C\thinspace 
O\thinspace N\thinspace S\thinspace I\thinspace 
N\ -\ M\thinspace A\thinspace D\thinspace I\thinspace S\thinspace O\thinspace   N  }}\smallskip
\ce{\bf Computer Sciences Department} \smallskip
\ce{\littleroman 1210 West Dayton Street}
\ce{\littleroman Madison, WI 53706}
\centerline{\littleroman Tel. 608-262-1204}
\centerline{\littleroman Fax. 608-262-9777}\vskip .5cm}

\def\uwmathhead{
\centerline{\bigboldroman{
U\thinspace N\thinspace I\thinspace V\thinspace E\thinspace R\thinspace 
S\thinspace I\thinspace T\thinspace Y \ O\thinspace F \ 
W\thinspace I\thinspace S\thinspace C\thinspace 
O\thinspace N\thinspace S\thinspace I\thinspace 
N\ -\ M\thinspace A\thinspace D\thinspace I\thinspace S\thinspace O\thinspace   N  }}\smallskip
\ce{\bf Department of Mathematics} \smallskip
\ce{\littleroman 213 Van Vleck Hall}
\ce{\littleroman 480 Lincoln Dr., Madison, WI 53706}
\centerline{\littleroman Tel. 608-263-3054}
\centerline{\littleroman Fax. 608-263-8891}\vskip .5cm}

\def\paulr{\littleroman {\noindent} Paul Rabinowitz\vskip -1pt
{\noindent} Tel. 608-263-4700\vskip -1pt
{\noindent} E-mail: rabinowi@math.wisc.edu\vskip .5cm\mroman}

\def\amosjat{\littleroman {\noindent} Amos Ron, Editor\vskip -1pt
{\noindent} Journal of Approximation Theory\vskip -1pt
{\noindent} Tel. 608-262-6621/608-262-1204\vskip -1pt
{\noindent} E-mail: amos@cs.wisc.edu\vskip .5cm\mroman}

\def\amosron{\littleroman {\noindent} Amos Ron\vskip -1pt
{\noindent} Tel. 608-262-6621/608-262-1204\vskip -1pt
{\noindent} E-mail: amos@cs.wisc.edu\vskip .5cm\mroman}

\def\carldeboor{\littleroman {\noindent} Carl de Boor\vskip -1pt
{\noindent} E-mail: deboor@cs.wisc.edu\vskip .5cm\mroman}



\def\bks{\backslash}
\def\ce{\centerline}
 
%Greek letters
\def\alp{\alpha}                \def\Alp{\Alpha}
\def\bet{\beta}
\def\gam{\gamma}                \def\Gam{\Gamma}
\def\del{\delta}                \def\Del{\Delta}
\def\eps{\varepsilon}
\def\zet{\zeta}
\def\tet{\theta}                \def\Tet{\Theta}
\def\vtet{\vartheta}
\def\iot{\iota}
\def\kap{\kappa}
\def\lam{\lambda}               \def\Lam{\Lambda}
\def\sig{\sigma}                \def\Sig{\Sigma}
\def\vphi{\varphi}
\def\ome{\omega}                \def\Ome{\Omega}
 
%Caligraphic roman letters
\def\calA{{\cal A}}
\def\calB{{\cal B}}
\def\calC{{\cal C}}
\def\calD{{\cal D}}
\def\calE{{\cal E}}
\def\calF{{\cal F}}
\def\calG{{\cal G}}
\def\calH{{\cal H}}
\def\calI{{\cal I}}
\def\calJ{{\cal J}}
\def\calK{{\cal K}}
\def\calL{{\cal L}}
\def\calM{{\cal M}}
\def\calN{{\cal N}}
\def\calO{{\cal O}}
\def\calP{{\cal P}}
\def\calQ{{\cal Q}}
\def\calR{{\cal R}}
\def\calS{{\cal S}}
\def\calT{{\cal T}}
\def\calU{{\cal U}}
\def\calV{{\cal V}}
\def\calW{{\cal W}}
\def\calX{{\cal X}}
\def\calY{{\cal Y}}
\def\calZ{{\cal Z}}
 
%Bold roman letters
\def\bfa{{\bf a}}               \def\bfA{{\bf A}}
\def\bfb{{\bf b}}               \def\bfB{{\bf B}}
\def\bfc{{\bf c}}               \def\bfC{{\bf C}}
\def\bfd{{\bf d}}               \def\bfD{{\bf D}}
\def\bfe{{\bf e}}               \def\bfE{{\bf E}}
\def\bff{{\bf f}}               \def\bfF{{\bf F}}
\def\bfg{{\bf g}}               \def\bfG{{\bf G}}
\def\bfh{{\bf h}}               \def\bfH{{\bf H}}
\def\bfi{{\bf i}}               \def\bfI{{\bf I}}
\def\bfj{{\bf j}}               \def\bfJ{{\bf J}}
\def\bfk{{\bf k}}               \def\bfK{{\bf K}}
\def\bfl{{\bf l}}               \def\bfL{{\bf L}}
\def\bfm{{\bf m}}               \def\bfM{{\bf M}}
\def\bfn{{\bf n}}               \def\bfN{{\bf N}}
\def\bfo{{\bf o}}               \def\bfO{{\bf O}}
\def\bfp{{\bf p}}               \def\bfP{{\bf P}}
\def\bfq{{\bf q}}               \def\bfQ{{\bf Q}}
\def\bfr{{\bf r}}               \def\bfR{{\bf R}}
\def\bfs{{\bf s}}               \def\bfS{{\bf S}}
\def\bft{{\bf t}}               \def\bfT{{\bf T}}
\def\bfu{{\bf u}}               \def\bfU{{\bf U}}
\def\bfv{{\bf v}}               \def\bfV{{\bf V}}
\def\bfw{{\bf w}}               \def\bfW{{\bf W}}
\def\bfx{{\bf x}}               \def\bfX{{\bf X}}
\def\bfy{{\bf y}}               \def\bfY{{\bf Y}}
\def\bfz{{\bf z}}               \def\bfZ{{\bf Z}}
 
%bold Greek capital letters
\def\bfTet{{\bf\Theta}}
\def\bftet{{\bf\Theta}}
\def\bfpsi{{\bf\Psi}}
\def\bfphi{{\bf\Phi}}
 
%roman letters followed by a prime
\def\atag{a^\prime}             \def\Atag{A^\prime}
\def\btag{b^\prime}             \def\Btag{B^\prime}
\def\ctag{c^\prime}             \def\Ctag{C^\prime}
\def\dtag{d^\prime}             \def\Dtag{D^\prime}
\def\etag{e^\prime}             \def\Etag{E^\prime}
\def\ftag{f^\prime}             \def\Ftag{F^\prime}
\def\gtag{g^\prime}             \def\Gtag{G^\prime}
\def\htag{h^\prime}             \def\Htag{H^\prime}
\def\itag{i^\prime}             \def\Itag{I^\prime}
\def\jtag{j^\prime}             \def\Jtag{J^\prime}
\def\ktag{k^\prime}             \def\Ktag{K^\prime}
\def\ltag{l^\prime}             \def\Ltag{L^\prime}
\def\mtag{m^\prime}             \def\Mtag{M^\prime}
\def\ntag{n^\prime}             \def\Ntag{N^\prime}
\def\otag{o^\prime}             \def\Otag{O^\prime}
\def\ptag{p^\prime}             \def\Ptag{P^\prime}
\def\qtag{q^\prime}             \def\Qtag{Q^\prime}
\def\rtag{r^\prime}             \def\Rtag{R^\prime}
\def\stag{s^\prime}             \def\Stag{S^\prime}
\def\ttag{t^\prime}             \def\Ttag{T^\prime}
\def\utag{u^\prime}             \def\Utag{U^\prime}
\def\vtag{v^\prime}             \def\Vtag{V^\prime}
\def\wtag{w^\prime}             \def\Wtag{W^\prime}
\def\xtag{x^\prime}             \def\Xtag{X^\prime}
\def\ytag{y^\prime}             \def\Ytag{Y^\prime}
\def\ztag{z^\prime}             \def\Ztag{Z^\prime}
 
%Capital roman double letters
%\def\FF{{\rm I\!\!F}}
%\def\NN{{\rm I\!\!N}}
\def\PP{{\rm I\hskip-2pt P}}
\def\QQ{{\rm \rlap {\raise 0.4ex \hbox{$\scriptscriptstyle |$}}
\hskip -0.1em Q}}
%\def\RR{{\rm I\!\!R}}
%\def\ZZ{{\rm Z\!\!\! Z}}
\def\KK{{\rm I\!\!K}}
%\def\CC{{\rlap {\raise 0.4ex \hbox{$\scriptscriptstyle |$}}
%\hskip -0.1em C}}
\def\AA{{\mathchoice
{\rm I\hskip -3.7pt A}
{\rm I\hskip -3.7pt A}
{\rm I\hskip -3.1pt A}
{\rm I\hskip -2.5pt A}}}
 
\def\all{\forall}
\def\func#1#2#3{#1\colon \,#2\rightarrow #3} %functio:from...to...
\def\incl{\subseteq}
\def\isom{\cong}
\def\nek{,\ldots,}
\def\onto{\mapsto}
\def\sdp{\times \hskip -0.3em {\raise 0.3ex
\hbox{$\scriptscriptstyle |$}}} % semidirect product
\def\union{\bigcup}
 
%words in roman font
\def\Aut{\mathop{\rm Aut}}
\def\Char{\mathop{\rm Char}}
\def\codim{\rm codim\hskip 1pt}
\def\diag{\mathop{\rm diag}}
\def\Dom{{\rm Dom}}
\def\esssup{\mathop{\rm ess\ sup}}
\def\essinf{\mathop{\rm ess\ inf}}
\def\Ran{{\rm Ran}}
\def\GL{{\rm GL}}
\def\Hom{{\rm Hom}}
\def\Ind{\mathop{\rm Ind}}
\def\Inf{\mathop{\rm Inf}}
\def\Min{\mathop{\rm Min}}
\def\Ker{{\rm Ker}}
\def\PGL{{\rm PGL}}
\def\Re{\mathop{\rm Re}}
\def\Res{\mathop{\rm Res}}
\def\rot{\mathop{\rm rot}}
\def\mod{\mathop{\rm mod}}
\def\Max{\mathop{\rm Max}}
\def\Prob{\mathop{\rm Prob}}
\def\sgn{\mathop{\rm sgn}}
\def\supess{\mathop{\rm sup\ ess}}
\def\supp{\mathop{\rm supp}}
\def\Sup{\mathop{\rm Sup}}
\def\Sym{\mathop{\rm Sym}}
\def\tr{\mathop{\rm tr}}
\def\Var{\mathop{\rm Var}}
 
%overlined math alphabet
\def\oa{{\overline a}}
\def\oA{{\overline A}}
\def\ob{{\overline b}}
\def\oB{{\overline B}}
\def\oc{{\overline c}}
\def\oC{{\overline C}}
\def\od{{\overline d}}
\def\oD{{\overline D}}
\def\oe{{\overline e}}
\def\oE{{\overline E}}
\def\of{{\overline f}}
\def\oF{{\overline F}}
\def\og{{\overline g}}
\def\oG{{\overline G}}
\def\oh{{\overline h}}
\def\oH{{\overline H}}
\def\oi{{\overline i}}
\def\oI{{\overline I}}
\def\oj{{\overline j}}
\def\oJ{{\overline J}}
\def\ok{{\overline k}}
\def\oK{{\overline K}}
\def\ol{{\overline l}}
\def\oL{{\overline L}}
\def\om{{\overline m}}
\def\oM{{\overline M}}
\def\on{{\overline n}}
\def\oN{{\overline N}}
\def\oo{{\overline o}}
\def\oO{{\overline O}}
\def\op{{\overline p}}
\def\oP{{\overline P}}
\def\oq{{\overline q}}
\def\oQ{{\overline Q}}
\def\oS{{\overline S}}
\def\os{{\overline s}}
\def\ot{{\overline t}}
\def\oT{{\overline T}}
\def\ou{{\overline u}}
\def\oU{{\overline U}}
\def\ov{{\overline v}}
\def\oV{{\overline V}}
\def\ow{{\overline w}}
\def\oW{{\overline W}}
\def\ox{{\overline x}}
\def\oX{{\overline X}}
\def\oy{{\overline y}}
\def\oY{{\overline Y}}
\def\oz{{\overline z}}
\def\oZ{{\overline Z}}
 
%overlined Greek alphabet
\def\oalp{{\overline\alpha}}
\def\obet{{\overline \bet}}
\def\ophi{{\overline \phi}}
\def\ovarphi{{\overline\varphi}}
\def\ochi{{\overline\chi}}
\def\olam{{\overline\lambda}}
\def\omu{{\overline\mu}}
\def\oOme{{\overline\Ome}}
\def\oPhi{{\overline\Phi}}
\def\oPsi{{\overline\Psi}}
\def\opsi{{\overline\psi}}
\def\otet{{\overline\theta}}
\def\otau{{\overline\tau}}
\def\oeta{{\overline\eta}}
\def\oxi{{\overline\xi}}





%underlined math alphabet
\def\ua{{\underline a}}
\def\ub{{\underline b}}
\def\uk{{\underline k}}
\def\ue{{\underline e}}
\def\uj{{\underline j}}
\def\ul{{\underline l}}
\def\uo{{\underline o}}
\def\uO{{\underline O}}
\def\un{{\underline n}}
\def\us{{\underline s}}
\def\ut{{\underline t}}
\def\uu{{\underline u}}
\def\ux{{\underline x}}
\def\uX{{\underline X}}
\def\uy{{\underline y}}
\def\uz{{\underline z}}
 
%underline Greek alphabet
\def\ualp{{\underline\alp}}
\def\ubet{{\underline\bet}}
\def\uchi{{\underline\chi}}
\def\udel{{\underline\del}}
\def\ueps{{\underline\eps}}
\def\ueta{{\underline\eta}}
\def\uGam{{\underline\Gamma}}
\def\unu{{\underline\nu}}
\def\uome{{\underline\omega}}
\def\utet{{\underline\tet}}
\def\ulam{{\underline\lam}}
 
%math alphabet with hat
\def\hata{{\widehat a}}
\def\hatA{{\widehat A}}
\def\hatb{{\widehat b}}
\def\hatB{{\widehat B}}
\def\hatc{{\widehat c}}
\def\hatC{{\widehat C}}
\def\hatd{{\widehat d}}
\def\hatD{{\widehat D}}
\def\hate{{\widehat e}}
\def\hatE{{\widehat E}}
\def\hatf{{\widehat f}}
\def\hatF{{\widehat F}}
\def\hatg{{\widehat g}}
\def\hatG{{\widehat G}}
\def\hath{{\widehat h}}
\def\hatH{{\widehat H}}
\def\hati{{\widehat i}}
\def\hatI{{\widehat I}}
\def\hatj{{\widehat j}}
\def\hatJ{{\widehat J}}
\def\hatk{{\widehat k}}
\def\hatK{{\widehat K}}
\def\hatl{{\widehat l}}
\def\hatL{{\widehat L}}
\def\hatm{{\widehat m}}
\def\hatM{{\widehat M}}
\def\hatn{{\widehat n}}
\def\hatN{{\widehat N}}
\def\hato{{\widehat o}}
\def\hatO{{\widehat O}}
\def\hatp{{\widehat p}}
\def\hatP{{\widehat P}}
\def\hatq{{\widehat q}}
\def\hatQ{{\widehat Q}}
\def\hatr{{\widehat r}}
\def\hatR{{\widehat R}}
\def\hats{{\widehat s}}
\def\hatS{{\widehat S}}
\def\hatt{{\widehat t}}
\def\hatT{{\widehat T}}
\def\hatu{{\widehat u}}
\def\hatU{{\widehat U}}
\def\hatv{{\widehat v}}
\def\hatV{{\widehat V}}
\def\hatw{{\widehat w}}
\def\hatW{{\widehat W}}
\def\hatx{{\widehat x}}
\def\hatX{{\widehat X}}
\def\haty{{\widehat y}}
\def\hatY{{\widehat Y}}
\def\hatz{{\widehat z}}
\def\hatZ{{\widehat Z}}
 
%Greek alphabet with hat
\def\hatalp{{\widehat\alpha}}
\def\hatbet{{\widehat\beta}}
\def\hatGam{{\widehat\Gamma}}
\def\hatgam{{\widehat\gamma}}
\def\hatdel{{\widehat\del}}
\def\hateta{{\widehat\eta}}
\def\hatlam{{\widehat\lam}}
\def\hatmu{{\widehat\mu}}
\def\hatnu{{\widehat\nu}}
\def\hatPhi{{\widehat\Phi}}
\def\hatphi{{\widehat\phi}}
\def\hatPsi{{\widehat\Psi}}
\def\hatpsi{{\widehat\psi}}
\def\hatrho{{\widehat\rho}}
\def\hattau{{\widehat\tau}}
\def\hattet{{\widehat\theta}}
\def\hatome{{\widehat\ome}}
\def\hatvarphi{{\widehat\varphi}}
%\def\hatchi{{\widehat\charf}}
\def\hatchi{{\widehat\chi}}
\def\hatChi{{\widehat\charf{}{}}}
\def\hatxi{{\widehat \xi}}
\def\hatOme{{\widehat \Ome}}
\def\hatome{{\widehat \ome}}
\def\hatzet{{\widehat \zeta}}
\def\hat#1{{\widehat {#1}}}
 
 
%roman with widetilde
 
\def\tilA{{\widetilde A}}
\def\tila{{\widetilde a}}
\def\tilB{{\widetilde B}}
\def\tilb{{\widetilde b}}
\def\tilC{{\widetilde C}}
\def\tilc{{\widetilde c}}
\def\tilD{{\widetilde D}}
\def\tild{{\widetilde d}}
\def\tilE{{\widetilde E}}
\def\tile{{\widetilde e}}
\def\tilF{{\widetilde F}}
\def\tilf{{\widetilde f}}
\def\tilG{{\widetilde G}}
\def\tilg{{\widetilde g}}
\def\tilH{{\widetilde H}}
\def\tilh{{\widetilde h}}
\def\tilI{{\widetilde I}}
\def\tili{{\widetilde i}}
\def\tilJ{{\widetilde J}}
\def\tilj{{\widetilde j}}
\def\tilK{{\widetilde K}}
\def\tilk{{\widetilde k}}
\def\tilL{{\widetilde L}}
\def\till{{\widetilde l}}
\def\tilM{{\widetilde M}}
\def\tilm{{\widetilde m}}
\def\tilP{{\widetilde P}}
\def\tilN{{\widetilde N}}
\def\tiln{{\widetilde n}}
\def\tilO{{\widetilde O}}
\def\tilo{{\widetilde o}}
\def\tilP{{\widetilde P}}
\def\tilp{{\widetilde p}}
\def\tilQ{{\widetilde Q}}
\def\tilq{{\widetilde q}}
\def\tilR{{\widetilde R}}
\def\tilr{{\widetilde r}}
\def\tilS{{\widetilde S}}
\def\tils{{\widetilde s}}
\def\tilT{{\widetilde T}}
\def\tilt{{\widetilde t}}
\def\tilU{{\widetilde U}}
\def\tilu{{\widetilde u}}
\def\tilV{{\widetilde V}}
\def\tilX{{\widetilde X}}
\def\tilv{{\widetilde v}}
\def\tilW{{\widetilde W}}
\def\tilw{{\widetilde w}}
\def\tilx{{\widetilde x}}
\def\tilY{{\widetilde Y}}
\def\tily{{\widetilde y}}
\def\tilZ{{\widetilde Z}}
\def\tilz{{\widetilde z}}
 
%Greek alphabet with widetilde
\def\tilGam{{\widetilde\Gamma}}
\def\tilgam{{\widetilde\gam}}
\def\tilphi{{\widetilde\phi}}
\def\tilPhi{{\widetilde\Phi}}
\def\tilpsi{{\widetilde\psi}}
\def\tilPsi{{\widetilde\Psi}}
\def\tilOme{{\widetilde\Ome}}
\def\tilvarphi{{\widetilde\varphi}}
\def\tillam{{\widetilde\lam}}
\def\tilLam{{\widetilde\Lam}}
\def\tiltet{{\widetilde\theta}}
\def\tilrho{{\widetilde\rho}}
\def\tiltau{{\widetilde\tau}}
\def\tileta{{\widetilde\eta}}
\def\tilmu{{\widetilde\mu}}
\def\tilsig{{\widetilde\sig}}
\def\til#1{{\widetilde #1}}
 
\def\sqr#1#2{{\vcenter{\hrule height.#2pt\hbox{\vrule
width.#2pt height#1pt \kern#1pt \vrule width.#2pt}\hrule
height.#2pt}}}
\def\square{\mathchoice\sqr34\sqr34\sqr{2.1}3\sqr{1.5}3}
 
\def\buildrul#1\under#2{\mathrel{\mathop{\ \null#2}\limits_{#1}\ }}
\def\wtx{{\widetilde x}}
 
\def\bigucdot{\mathop{\bigcup\hskip -7.5pt\cdot}}
 
\def\lesim{\vbox{\baselineskip=5pt{\hbox{$<$}\hbox{$\sim$}}}}
\def\suml{\sum\limits}
\def\prodl{\prod\limits}
\def\intl{\int\limits}
 
\def\subsetneq{\baselineskip=5pt\vcenter{\hbox{$\subset$}\hbox{$\ne$}}}
 
\def\subheading#1{\medskip\goodbreak\noindent{\bf
#1.}\smallskip}
\def\sect#1{\goodbreak\bigskip\centerline{\bf#1}\medskip}
\def\pr{\smallskip\noindent{\bf Proof:\quad}}
 
\def\longmapright #1 #2 {\smash{\mathop{\hbox to
#1pt {\rightarrowfill}}\limits^{#2}}}
 
\def\references#1{\goodbreak\bigskip\par\centerline{\bf
References}\medskip\parindent=#1pt}
\def\reff#1{\par\smallskip\hang\indent\llap{\hbox
to \parindent{#1\hfil\enspace}}\ignorespaces}




\def\astpp{\kern3pt'\kern-1.5pt{\ast}'}
\def\sspace{\lineskip=2pt\baselineskip=10pt\lineskiplimit=0pt}
\def\dspace{\lineskip=2pt\baselineskip=18pt\lineskiplimit=0pt}
\def\mspace{\lineskip=2pt\baselineskip=14pt\lineskiplimit=0pt}
\def\lspace{\lineskip=2pt\baselineskip=12pt\lineskiplimit=0pt}
\def\least{_\downarrow}
\def\high{_\uparrow}
\def\title#1{\smallskip \ce{\bf #1}\smallskip}
\def\author#1{\ce{\bf #1}\smallskip}

\def\abs#1{\bigskip\smallskip\centerline{\bf Abstract} \smallskip
    {\narrower \sl #1 \smallskip}}


\def\formeq{\the\sectionno.\the\equationno}

\def\all{\forall}
\def\codim{{\rm codim}}
\def\high{_{\uparrow}}
\def\least{_{\downarrow}}
\def\Cinf{C^\infty(\Rs)}
\def\piT{\pi_\gTh}
\def\expT{\exp_\gTh}
\def\expTl{(\expT)\least}
\def\IT{I_\gTh}
\def\gap{{\rm gap}}
\def\limt{\lim_{t\to0}}
\def\bfK{\openK}
\def\bfB{\openB}
\def\examp#1{\medskip\noindent{\bf \listitem\ #1.\   }}
\def\openT{{{\rm T}\kern-.43em {\rm T}}}
\def\subopenT{{{\scriptstyle\rm T}\kern-.35em {\scriptstyle\rm T}}}
\def\Td{\openT^d}
\def\subTd{\subopenT^d}
\def\enditems{\item{}\vskip -\baselineskip} % needed since TeX treats last


\def\Rmn{\openR^{m\times n}}
\def\Rnm{\openR^{n\times m}}
\def\Qd{\openQ^d}
\def\gamjk{\gam_{j,k}}
\def\lamjk{\lam_{j,k}}

\def\pemember#1{{\advance\equationno by 1\remember#1}}
\def\ppi{\Pi}
 \newif\ifshowfigname \showfignametrue
 \def\istitem{\global\advance\equationno by 1 \formeq}
 \def\charf#1{\chi_{\lower3pt\hbox{$\scriptstyle #1$}}} %better characteristic f
\def\divdif{\kern.43em\vrule width.6pt height4.95pt depth.28pt\kern-.43em\Delta}
\def\id#1{\mathop{\rm id}_{#1}}
\def\sopenC{{\rm C\kern-.15cm\vrule width.6pt height 4.1pt depth-.3pt \kern.15cm}}
\def\gI{{\rm I}}
\def\gK{{\rm K}}
\def\gM{\mathord{\rm M}}



%\def\fourper#1{{\tilde{\tilde{#1}}}{}}
\def\fourper#1{\buildrel\approx \over #1{}}
\def\dist{\mathop{\rm dist}\nolimits}
\def\hhat{\hskip 2.5pt\widehat{{}}}

\def\Cd{\openC^d}
\def\endproclaim{\par\rm\ifdim\lastskip<\medskipamount\removelastskip
\penalty55\medskip\fi}
\def\bar#1{\overline{#1}}
