1: % To: shlhetal@math.huji.ac.il
2: % Subject: E23 (bad day)
3: % Date: Tue, 19 Nov 2002 19:23:43 -0600
4: % From: Andrzej Roslanowski <roslanow@e-math.ams.org>
5: % Reply-To: Andrzej Roslanowski <roslanow@member.ams.org>
6: % Mime-Version: 1.0
7: % X-sliced-and-diced-by: 'savemail' 1.2, Sep 2002
8:
9:
10: % processed by citealice (2001-12-06) on Fri Feb 1 14:11:27 CST 2002
11:
12: \ifx\shlhetal\undefinedcontrolsequence\let\shlhetal\relax\fi
13:
14: %%%%%%%%%%%%%%%%%%%%%%%%%%
15: %% History:
16: %% Done: started in July 2000 for AMS meeting in UCLA;
17: %% file E23.xalom.a taken 01.08.03 to be revised
18: %% Converted from Latex to Ams-TeX - 01/Aug/15
19: %% Previous version - 02/Jan/25
20: %% Latest Revision - 02/Feb/1
21: %% Final version: prepared by AR on 11/18/2002
22:
23: % % \input amstex
24: % *** start including amstex.tex ***
25: %% @texfile{
26: %% filename="amstex.tex",
27: %% version="2.1",
28: %% date="5-APR-1991",
29: %% filetype="AMS-TeX: documentstyle",
30: %% copyright="Copyright (C) American Mathematical Society,
31: %% all rights reserved. Copying of this file is
32: %% authorized only if either:
33: %% (1) you make absolutely no changes to your copy
34: %% including name; OR
35: %% (2) if you do make changes, you first rename it to some
36: %% other name.",
37: %% author="American Mathematical Society",
38: %% address="American Mathematical Society,
39: %% Technical Support Department,
40: %% P. O. Box 6248,
41: %% Providence, RI 02940,
42: %% USA",
43: %% telephone="401-455-4080 or (in the USA) 800-321-4AMS",
44: %% email="Internet: Tech-Support@Math.AMS.org",
45: %% codetable="ISO/ASCII",
46: %% checksumtype="line count",
47: %% checksum="1797",
48: %% keywords="amstex, ams-tex, tex",
49: %% abstract="This file contains the AMS-TeX Version 2.1 macro
50: %% package. It is intended to be used in conjunction with
51: %% plain TeX. The macros defined herein are chiefly oriented
52: %% to the construction of mathematical formulas, both display
53: %% and nondisplay, using AMS conventions for fonts, spacing,
54: %% and other details."
55: %% }
56: \def\fmtname{AmS-TeX}
57: \let\plainfmtversion\fmtversion
58: \def\fmtversion{2.1}
59: \catcode`\@=11
60: \ifx\amstexloaded@\relax\catcode`\@=\active
61: \endinput\else\let\amstexloaded@\relax\fi
62: \newlinechar=`\^^J
63: \def\W@{\immediate\write\sixt@@n}
64: \def\CR@{\W@{^^J\fmtname - Version \fmtversion^^J%
65: COPYRIGHT 1985, 1990, 1991 - AMERICAN MATHEMATICAL SOCIETY^^J%
66: Use of this macro package is not restricted provided^^J%
67: each use is acknowledged upon publication.^^J}}
68: \CR@ \everyjob{\CR@}
69: \message{Loading definitions for}
70: \message{misc utility macros,}
71: \toksdef\toks@@=2
72: \long\def\rightappend@#1\to#2{\toks@{\\{#1}}\toks@@
73: =\expandafter{#2}\xdef#2{\the\toks@@\the\toks@}\toks@{}\toks@@{}}
74: \def\alloclist@{}
75: \newif\ifalloc@
76: \def\showallocations{{\def\\{\immediate\write\m@ne}\alloclist@}\alloc@true}
77: \def\alloc@#1#2#3#4#5{\global\advance\count1#1by\@ne
78: \ch@ck#1#4#2\allocationnumber=\count1#1
79: \global#3#5=\allocationnumber
80: \edef\next@{\string#5=\string#2\the\allocationnumber}%
81: \expandafter\rightappend@\next@\to\alloclist@}
82: \newcount\count@@
83: \newcount\count@@@
84: \def\FN@{\futurelet\next}
85: \def\DN@{\def\next@}
86: \def\DNii@{\def\nextii@}
87: \def\RIfM@{\relax\ifmmode}
88: \def\RIfMIfI@{\relax\ifmmode\ifinner}
89: \def\setboxz@h{\setbox\z@\hbox}
90: \def\wdz@{\wd\z@}
91: \def\boxz@{\box\z@}
92: \def\setbox@ne{\setbox\@ne}
93: \def\wd@ne{\wd\@ne}
94: \def\iterate{\body\expandafter\iterate\else\fi}
95: \def\err@#1{\errmessage{AmS-TeX error: #1}}
96: \newhelp\defaulthelp@{Sorry, I already gave what help I could...^^J
97: Maybe you should try asking a human?^^J
98: An error might have occurred before I noticed any problems.^^J
99: ``If all else fails, read the instructions.''}
100: \def\Err@{\errhelp\defaulthelp@\err@}
101: \def\eat@#1{}
102: \def\in@#1#2{\def\in@@##1#1##2##3\in@@{\ifx\in@##2\in@false\else\in@true\fi}%
103: \in@@#2#1\in@\in@@}
104: \newif\ifin@
105: \def\space@.{\futurelet\space@\relax}
106: \space@. %
107: \newhelp\athelp@
108: {Only certain combinations beginning with @ make sense to me.^^J
109: Perhaps you wanted \string\@\space for a printed @?^^J
110: I've ignored the character or group after @.}
111: {\catcode`\~=\active % just in case
112: \lccode`\~=`\@ \lowercase{\gdef~{\FN@\at@}}}
113: \def\at@{\let\next@\at@@
114: \ifcat\noexpand\next a\else\ifcat\noexpand\next0\else
115: \ifcat\noexpand\next\relax\else
116: \let\next\at@@@\fi\fi\fi
117: \next@}
118: \def\at@@#1{\expandafter
119: \ifx\csname\space @\string#1\endcsname\relax
120: \expandafter\at@@@ \else
121: \csname\space @\string#1\expandafter\endcsname\fi}
122: \def\at@@@#1{\errhelp\athelp@ \err@{\Invalid@@ @}}%%
123: \def\atdef@#1{\expandafter\def\csname\space @\string#1\endcsname}%%
124: \newhelp\defahelp@{If you typed \string\define\space cs instead of
125: \string\define\string\cs\space^^J
126: I've substituted an inaccessible control sequence so that your^^J
127: definition will be completed without mixing me up too badly.^^J
128: If you typed \string\define{\string\cs} the inaccessible control sequence^^J
129: was defined to be \string\cs, and the rest of your^^J
130: definition appears as input.}
131: \newhelp\defbhelp@{I've ignored your definition, because it might^^J
132: conflict with other uses that are important to me.}
133: \def\define{\FN@\define@}
134: \def\define@{\ifcat\noexpand\next\relax
135: \expandafter\define@@\else\errhelp\defahelp@ %1
136: \err@{\string\define\space must be followed by a control
137: sequence}\expandafter\def\expandafter\nextii@\fi} %2
138: \def\undefined@@@@@@@@@@{}
139: \def\preloaded@@@@@@@@@@{}
140: \def\next@@@@@@@@@@{}
141: \def\define@@#1{\ifx#1\relax\errhelp\defbhelp@ %1
142: \err@{\string#1\space is already defined}\DN@{\DNii@}\else
143: \expandafter\ifx\csname\expandafter\eat@\string %2
144: #1@@@@@@@@@@\endcsname\undefined@@@@@@@@@@\errhelp\defbhelp@
145: \err@{\string#1\space can't be defined}\DN@{\DNii@}\else
146: \expandafter\ifx\csname\expandafter\eat@\string#1\endcsname\relax %3
147: \global\let#1\undefined\DN@{\def#1}\else\errhelp\defbhelp@
148: \err@{\string#1\space is already defined}\DN@{\DNii@}\fi
149: \fi\fi\next@}
150: \let\redefine\def
151: \def\predefine#1#2{\let#1#2}
152: \def\undefine#1{\let#1\undefined}
153: \message{page layout,}
154: \newdimen\captionwidth@
155: \captionwidth@\hsize
156: \advance\captionwidth@-1.5in
157: \def\pagewidth#1{\hsize#1\relax
158: \captionwidth@\hsize\advance\captionwidth@-1.5in}
159: \def\pageheight#1{\vsize#1\relax}
160: \def\hcorrection#1{\advance\hoffset#1\relax}
161: \def\vcorrection#1{\advance\voffset#1\relax}
162: \message{accents/punctuation,}
163: \def\tie{\unskip\nobreak\ }
164: \let\graveaccent\`
165: \let\acuteaccent\'
166: \let\tildeaccent\~
167: \let\hataccent\^
168: \let\underscore\_
169: \let\B\=
170: \let\D\.
171: \let\ic@\/
172: \def\/{\unskip\ic@}
173: \def\textfonti{\the\textfont\@ne}
174: \def\t#1#2{{\edef\next@{\the\font}\textfonti\accent"7F \next@#1#2}}
175: \def~{\unskip\nobreak\ \ignorespaces}
176: \def\.{.\spacefactor\@m}
177: \atdef@;{\leavevmode\null;}
178: \atdef@:{\leavevmode\null:}
179: \atdef@?{\leavevmode\null?}
180: \edef\@{\string @}
181: \def\relaxnext@{\let\next\relax}
182: \atdef@-{\relaxnext@\leavevmode
183: \DN@{\ifx\next-\DN@-{\FN@\nextii@}\else
184: \DN@{\leavevmode\hbox{-}}\fi\next@}%
185: \DNii@{\ifx\next-\DN@-{\leavevmode\hbox{---}}\else
186: \DN@{\leavevmode\hbox{--}}\fi\next@}%
187: \FN@\next@}
188: \def\srdr@{\kern.16667em}
189: \def\drsr@{\kern.02778em}
190: \def\sldl@{\drsr@}
191: \def\dlsl@{\srdr@}
192: \atdef@"{\unskip\relaxnext@
193: \DN@{\ifx\next\space@\DN@. {\FN@\nextii@}\else
194: \DN@.{\FN@\nextii@}\fi\next@.}%
195: \DNii@{\ifx\next`\DN@`{\FN@\nextiii@}\else
196: \ifx\next\lq\DN@\lq{\FN@\nextiii@}\else
197: \DN@####1{\FN@\nextiv@}\fi\fi\next@}%
198: \def\nextiii@{\ifx\next`\DN@`{\sldl@``}\else\ifx\next\lq
199: \DN@\lq{\sldl@``}\else\DN@{\dlsl@`}\fi\fi\next@}%
200: \def\nextiv@{\ifx\next'\DN@'{\srdr@''}\else
201: \ifx\next\rq\DN@\rq{\srdr@''}\else\DN@{\drsr@'}\fi\fi\next@}%
202: \FN@\next@}
203: \def\flushpar{\par\noindent}
204: \def\textfontii{\the\textfont\tw@}
205: \def\lbrace@{\delimiter"4266308 }
206: \def\rbrace@{\delimiter"5267309 }
207: \def\{{\RIfM@\lbrace@\else{\textfontii f}\spacefactor\@m\fi}
208: \def\}{\RIfM@\rbrace@\else
209: \let\@sf\empty\ifhmode\edef\@sf{\spacefactor\the\spacefactor}\fi
210: {\textfontii g}\@sf\relax\fi}
211: \let\lbrace\{
212: \let\rbrace\}
213: \def\AmSTeX{{\textfontii A\kern-.1667em%
214: \lower.5ex\hbox{M}\kern-.125emS}-\TeX}
215: \message{line and page breaks,}
216: \def\vmodeerr@#1{\Err@{\string#1\space not allowed between paragraphs}}
217: \def\mathmodeerr@#1{\Err@{\string#1\space not allowed in math mode}}
218: \def\linebreak{\RIfM@\mathmodeerr@\linebreak\else
219: \ifhmode\unskip\unkern\break\else\vmodeerr@\linebreak\fi\fi}
220: \def\slash{\unskip/\penalty\exhyphenpenalty}
221: \newskip\saveskip@
222: \def\allowlinebreak{\RIfM@\mathmodeerr@\allowlinebreak\else
223: \ifhmode\saveskip@\lastskip\unskip
224: \allowbreak\ifdim\saveskip@>\z@\hskip\saveskip@\fi
225: \else\vmodeerr@\allowlinebreak\fi\fi}
226: \def\nolinebreak{\RIfM@\mathmodeerr@\nolinebreak\else
227: \ifhmode\saveskip@\lastskip\unskip
228: \nobreak\ifdim\saveskip@>\z@\hskip\saveskip@\fi
229: \else\vmodeerr@\nolinebreak\fi\fi}
230: \def\newline{\relaxnext@
231: \DN@{\RIfM@\expandafter\mathmodeerr@\expandafter\newline\else
232: \ifhmode\ifx\next\par\else
233: \expandafter\unskip\expandafter\null\expandafter\hfill\expandafter\break\fi
234: \else
235: \expandafter\vmodeerr@\expandafter\newline\fi\fi}%
236: \FN@\next@}
237: \def\dmatherr@#1{\Err@{\string#1\space not allowed in display math mode}}
238: \def\nondmatherr@#1{\Err@{\string#1\space not allowed in non-display math
239: mode}}
240: \def\onlydmatherr@#1{\Err@{\string#1\space allowed only in display math mode}}
241: \def\nonmatherr@#1{\Err@{\string#1\space allowed only in math mode}}
242: \def\mathbreak{\RIfMIfI@\break\else
243: \dmatherr@\mathbreak\fi\else\nonmatherr@\mathbreak\fi}
244: \def\nomathbreak{\RIfMIfI@\nobreak\else
245: \dmatherr@\nomathbreak\fi\else\nonmatherr@\nomathbreak\fi}
246: \def\allowmathbreak{\RIfMIfI@\allowbreak\else
247: \dmatherr@\allowmathbreak\fi\else\nonmatherr@\allowmathbreak\fi}
248: \def\pagebreak{\RIfM@
249: \ifinner\nondmatherr@\pagebreak\else\postdisplaypenalty-\@M\fi
250: \else\ifvmode\removelastskip\break\else\vadjust{\break}\fi\fi}
251: \def\nopagebreak{\RIfM@
252: \ifinner\nondmatherr@\nopagebreak\else\postdisplaypenalty\@M\fi
253: \else\ifvmode\nobreak\else\vadjust{\nobreak}\fi\fi}
254: \def\nonvmodeerr@#1{\Err@{\string#1\space not allowed within a paragraph
255: or in math}}
256: \def\vnonvmode@#1#2{\relaxnext@\DNii@{\ifx\next\par\DN@{#1}\else
257: \DN@{#2}\fi\next@}%
258: \ifvmode\DN@{#1}\else
259: \DN@{\FN@\nextii@}\fi\next@}
260: \def\newpage{\vnonvmode@{\vfill\break}{\nonvmodeerr@\newpage}}
261: \def\smallpagebreak{\vnonvmode@\smallbreak{\nonvmodeerr@\smallpagebreak}}
262: \def\medpagebreak{\vnonvmode@\medbreak{\nonvmodeerr@\medpagebreak}}
263: \def\bigpagebreak{\vnonvmode@\bigbreak{\nonvmodeerr@\bigpagebreak}}
264: \def\NoBlackBoxes{\global\overfullrule\z@}
265: \def\BlackBoxes{\global\overfullrule5\p@}
266: \def\Invalid@#1{\def#1{\Err@{\Invalid@@\string#1}}}
267: \def\Invalid@@{Invalid use of }
268: \message{figures,}
269: \Invalid@\caption
270: \Invalid@\captionwidth
271: \newdimen\smallcaptionwidth@
272: \def\topspace{\mid@false\ins@}
273: \def\midspace{\mid@true\ins@}
274: \newif\ifmid@
275: \def\captionfont@{}
276: \def\ins@#1{\relaxnext@\allowbreak
277: \smallcaptionwidth@\captionwidth@\gdef\thespace@{#1}%
278: \DN@{\ifx\next\space@\DN@. {\FN@\nextii@}\else
279: \DN@.{\FN@\nextii@}\fi\next@.}%
280: \DNii@{\ifx\next\caption\DN@\caption{\FN@\nextiii@}%
281: \else\let\next@\nextiv@\fi\next@}%
282: \def\nextiv@{\vnonvmode@
283: {\ifmid@\expandafter\midinsert\else\expandafter\topinsert\fi
284: \vbox to\thespace@{}\endinsert}
285: {\ifmid@\nonvmodeerr@\midspace\else\nonvmodeerr@\topspace\fi}}%
286: \def\nextiii@{\ifx\next\captionwidth\expandafter\nextv@
287: \else\expandafter\nextvi@\fi}%
288: \def\nextv@\captionwidth##1##2{\smallcaptionwidth@##1\relax\nextvi@{##2}}%
289: \def\nextvi@##1{\def\thecaption@{\captionfont@##1}%
290: \DN@{\ifx\next\space@\DN@. {\FN@\nextvii@}\else
291: \DN@.{\FN@\nextvii@}\fi\next@.}%
292: \FN@\next@}%
293: \def\nextvii@{\vnonvmode@
294: {\ifmid@\expandafter\midinsert\else
295: \expandafter\topinsert\fi\vbox to\thespace@{}\nobreak\smallskip
296: \setboxz@h{\noindent\ignorespaces\thecaption@\unskip}%
297: \ifdim\wdz@>\smallcaptionwidth@\centerline{\vbox{\hsize\smallcaptionwidth@
298: \noindent\ignorespaces\thecaption@\unskip}}%
299: \else\centerline{\boxz@}\fi\endinsert}
300: {\ifmid@\nonvmodeerr@\midspace
301: \else\nonvmodeerr@\topspace\fi}}%
302: \FN@\next@}
303: \message{comments,}
304: \def\newcodes@{\catcode`\\12\catcode`\{12\catcode`\}12\catcode`\#12%
305: \catcode`\%12\relax}
306: \def\oldcodes@{\catcode`\\0\catcode`\{1\catcode`\}2\catcode`\#6%
307: \catcode`\%14\relax}
308: \def\comment{\newcodes@\endlinechar=10 \comment@}
309: {\lccode`\0=`\\
310: \lowercase{\gdef\comment@#1^^J{\comment@@#10endcomment\comment@@@}%
311: \gdef\comment@@#10endcomment{\FN@\comment@@@}%
312: \gdef\comment@@@#1\comment@@@{\ifx\next\comment@@@\let\next\comment@
313: \else\def\next{\oldcodes@\endlinechar=`\^^M\relax}%
314: \fi\next}}}
315: \def\pr@m@s{\ifx'\next\DN@##1{\prim@s}\else\let\next@\egroup\fi\next@}
316: \def\prime{{\null\prime@\null}}
317: \mathchardef\prime@="0230
318: \let\dsize\displaystyle
319: \let\tsize\textstyle
320: \let\ssize\scriptstyle
321: \let\sssize\scriptscriptstyle
322: \message{math spacing,}
323: \def\,{\RIfM@\mskip\thinmuskip\relax\else\kern.16667em\fi}
324: \def\!{\RIfM@\mskip-\thinmuskip\relax\else\kern-.16667em\fi}
325: \let\thinspace\,
326: \let\negthinspace\!
327: \def\medspace{\RIfM@\mskip\medmuskip\relax\else\kern.222222em\fi}
328: \def\negmedspace{\RIfM@\mskip-\medmuskip\relax\else\kern-.222222em\fi}
329: \def\thickspace{\RIfM@\mskip\thickmuskip\relax\else\kern.27777em\fi}
330: \let\;\thickspace
331: \def\negthickspace{\RIfM@\mskip-\thickmuskip\relax\else
332: \kern-.27777em\fi}
333: \atdef@,{\RIfM@\mskip.1\thinmuskip\else\leavevmode\null,\fi}
334: \atdef@!{\RIfM@\mskip-.1\thinmuskip\else\leavevmode\null!\fi}
335: \atdef@.{\RIfM@&&\else\leavevmode.\spacefactor3000 \fi}
336: \def\and{\DOTSB\;\mathchar"3026 \;}
337: \def\implies{\DOTSB\;\Longrightarrow\;}
338: \def\impliedby{\DOTSB\;\Longleftarrow\;}
339: \message{fractions,}
340: \def\frac#1#2{{#1\over#2}}
341: \def\dfrac#1#2{{\displaystyle{#1\over#2}}}
342: \def\tfrac#1#2{{\textstyle{#1\over#2}}}
343: \newdimen\ex@
344: \ex@.2326ex
345: \Invalid@\thickness
346: \def\thickfrac{\relaxnext@
347: \DN@{\ifx\next\thickness\let\next@\nextii@\else
348: \DN@{\nextii@\thickness1}\fi\next@}%
349: \DNii@\thickness##1##2##3{{##2\above##1\ex@##3}}%
350: \FN@\next@}
351: \def\fracwithdelims#1#2#3#4{{#3\overwithdelims#1#2#4}}
352: \def\thickfracwithdelims#1#2{\relaxnext@\def\ldelim@{#1}\def\rdelim@{#2}%
353: \DN@{\ifx\next\thickness\let\next@\nextii@\else
354: \DN@{\nextii@\thickness1}\fi\next@}%
355: \DNii@\thickness##1##2##3{{##2\abovewithdelims
356: \ldelim@\rdelim@##1\ex@##3}}%
357: \FN@\next@}
358: \def\binom#1#2{{#1\choose#2}}
359: \def\dbinom#1#2{{\displaystyle{#1\choose#2}}}
360: \def\tbinom#1#2{{\textstyle{#1\choose#2}}}
361: \def\:{\nobreak\hskip.1111em\mathpunct{}\nonscript\mkern-\thinmuskip{:}\hskip
362: .3333emplus.0555em\relax}
363: \def\snug{\unskip\kern-\mathsurround}
364: \message{smash commands,}
365: \def\topsmash{\top@true\bot@false\smash@}
366: \def\botsmash{\top@false\bot@true\smash@}
367: \newif\iftop@
368: \newif\ifbot@
369: \def\smash{\top@true\bot@true\smash@}
370: \def\smash@{\RIfM@\expandafter\mathpalette\expandafter\mathsm@sh\else
371: \expandafter\makesm@sh\fi}
372: \def\finsm@sh{\iftop@\ht\z@\z@\fi\ifbot@\dp\z@\z@\fi\leavevmode\boxz@}
373: \message{large operator symbols,}
374: \def\LimitsOnSums{\global\let\slimits@\displaylimits}
375: \def\NoLimitsOnSums{\global\let\slimits@\nolimits}
376: \LimitsOnSums
377: \mathchardef\coprod@="1360 \def\coprod{\DOTSB\coprod@\slimits@}
378: \mathchardef\bigvee@="1357 \def\bigvee{\DOTSB\bigvee@\slimits@}
379: \mathchardef\bigwedge@="1356 \def\bigwedge{\DOTSB\bigwedge@\slimits@}
380: \mathchardef\biguplus@="1355 \def\biguplus{\DOTSB\biguplus@\slimits@}
381: \mathchardef\bigcap@="1354 \def\bigcap{\DOTSB\bigcap@\slimits@}
382: \mathchardef\bigcup@="1353 \def\bigcup{\DOTSB\bigcup@\slimits@}
383: \mathchardef\prod@="1351 \def\prod{\DOTSB\prod@\slimits@}
384: \mathchardef\sum@="1350 \def\sum{\DOTSB\sum@\slimits@}
385: \mathchardef\bigotimes@="134E \def\bigotimes{\DOTSB\bigotimes@\slimits@}
386: \mathchardef\bigoplus@="134C \def\bigoplus{\DOTSB\bigoplus@\slimits@}
387: \mathchardef\bigodot@="134A \def\bigodot{\DOTSB\bigodot@\slimits@}
388: \mathchardef\bigsqcup@="1346 \def\bigsqcup{\DOTSB\bigsqcup@\slimits@}
389: \message{integrals,}
390: \def\LimitsOnInts{\global\let\ilimits@\displaylimits}
391: \def\NoLimitsOnInts{\global\let\ilimits@\nolimits}
392: \NoLimitsOnInts
393: \def\int{\DOTSI\intop\ilimits@}
394: \def\oint{\DOTSI\ointop\ilimits@}
395: \def\intic@{\mathchoice{\hskip.5em}{\hskip.4em}{\hskip.4em}{\hskip.4em}}
396: \def\negintic@{\mathchoice
397: {\hskip-.5em}{\hskip-.4em}{\hskip-.4em}{\hskip-.4em}}
398: \def\intkern@{\mathchoice{\!\!\!}{\!\!}{\!\!}{\!\!}}
399: \def\intdots@{\mathchoice{\plaincdots@}
400: {{\cdotp}\mkern1.5mu{\cdotp}\mkern1.5mu{\cdotp}}
401: {{\cdotp}\mkern1mu{\cdotp}\mkern1mu{\cdotp}}
402: {{\cdotp}\mkern1mu{\cdotp}\mkern1mu{\cdotp}}}
403: \newcount\intno@
404: \def\iint{\DOTSI\intno@\tw@\FN@\ints@}
405: \def\iiint{\DOTSI\intno@\thr@@\FN@\ints@}
406: \def\iiiint{\DOTSI\intno@4 \FN@\ints@}
407: \def\idotsint{\DOTSI\intno@\z@\FN@\ints@}
408: \def\ints@{\findlimits@\ints@@}
409: \newif\iflimtoken@
410: \newif\iflimits@
411: \def\findlimits@{\limtoken@true\ifx\next\limits\limits@true
412: \else\ifx\next\nolimits\limits@false\else
413: \limtoken@false\ifx\ilimits@\nolimits\limits@false\else
414: \ifinner\limits@false\else\limits@true\fi\fi\fi\fi}
415: \def\multint@{\int\ifnum\intno@=\z@\intdots@ %1
416: \else\intkern@\fi %2
417: \ifnum\intno@>\tw@\int\intkern@\fi %3
418: \ifnum\intno@>\thr@@\int\intkern@\fi %4
419: \int} %5
420: \def\multintlimits@{\intop\ifnum\intno@=\z@\intdots@\else\intkern@\fi
421: \ifnum\intno@>\tw@\intop\intkern@\fi
422: \ifnum\intno@>\thr@@\intop\intkern@\fi\intop}
423: \def\ints@@{\iflimtoken@ %1
424: \def\ints@@@{\iflimits@\negintic@\mathop{\intic@\multintlimits@}\limits %2
425: \else\multint@\nolimits\fi %3
426: \eat@} %4
427: \else %5
428: \def\ints@@@{\iflimits@\negintic@
429: \mathop{\intic@\multintlimits@}\limits\else
430: \multint@\nolimits\fi}\fi\ints@@@}
431: \def\LimitsOnNames{\global\let\nlimits@\displaylimits}
432: \def\NoLimitsOnNames{\global\let\nlimits@\nolimits@}
433: \LimitsOnNames
434: \def\nolimits@{\relaxnext@
435: \DN@{\ifx\next\limits\DN@\limits{\nolimits}\else
436: \let\next@\nolimits\fi\next@}%
437: \FN@\next@}
438: \message{operator names,}
439: \def\newmcodes@{\mathcode`\'"27\mathcode`\*"2A\mathcode`\."613A%
440: \mathcode`\-"2D\mathcode`\/"2F\mathcode`\:"603A }
441: \def\operatorname#1{\mathop{\newmcodes@\kern\z@\fam\z@#1}\nolimits@}
442: \def\operatornamewithlimits#1{\mathop{\newmcodes@\kern\z@\fam\z@#1}\nlimits@}
443: \def\qopname@#1{\mathop{\fam\z@#1}\nolimits@}
444: \def\qopnamewl@#1{\mathop{\fam\z@#1}\nlimits@}
445: \def\arccos{\qopname@{arccos}}
446: \def\arcsin{\qopname@{arcsin}}
447: \def\arctan{\qopname@{arctan}}
448: \def\arg{\qopname@{arg}}
449: \def\cos{\qopname@{cos}}
450: \def\cosh{\qopname@{cosh}}
451: \def\cot{\qopname@{cot}}
452: \def\coth{\qopname@{coth}}
453: \def\csc{\qopname@{csc}}
454: \def\deg{\qopname@{deg}}
455: \def\det{\qopnamewl@{det}}
456: \def\dim{\qopname@{dim}}
457: \def\exp{\qopname@{exp}}
458: \def\gcd{\qopnamewl@{gcd}}
459: \def\hom{\qopname@{hom}}
460: \def\inf{\qopnamewl@{inf}}
461: \def\injlim{\qopnamewl@{inj\,lim}}
462: \def\ker{\qopname@{ker}}
463: \def\lg{\qopname@{lg}}
464: \def\lim{\qopnamewl@{lim}}
465: \def\liminf{\qopnamewl@{lim\,inf}}
466: \def\limsup{\qopnamewl@{lim\,sup}}
467: \def\ln{\qopname@{ln}}
468: \def\log{\qopname@{log}}
469: \def\max{\qopnamewl@{max}}
470: \def\min{\qopnamewl@{min}}
471: \def\Pr{\qopnamewl@{Pr}}
472: \def\projlim{\qopnamewl@{proj\,lim}}
473: \def\sec{\qopname@{sec}}
474: \def\sin{\qopname@{sin}}
475: \def\sinh{\qopname@{sinh}}
476: \def\sup{\qopnamewl@{sup}}
477: \def\tan{\qopname@{tan}}
478: \def\tanh{\qopname@{tanh}}
479: \def\varinjlim{\mathop{\vtop{\ialign{##\crcr
480: \hfil\rm lim\hfil\crcr\noalign{\nointerlineskip}\rightarrowfill\crcr
481: \noalign{\nointerlineskip\kern-\ex@}\crcr}}}}
482: \def\varprojlim{\mathop{\vtop{\ialign{##\crcr
483: \hfil\rm lim\hfil\crcr\noalign{\nointerlineskip}\leftarrowfill\crcr
484: \noalign{\nointerlineskip\kern-\ex@}\crcr}}}}
485: \def\varliminf{\mathop{\underline{\vrule height\z@ depth.2exwidth\z@
486: \hbox{\rm lim}}}}
487: \def\varlimsup{\mathop{\overline{\hbox{\rm lim}}}}
488: \newdimen\buffer@
489: \buffer@\fontdimen13 \tenex
490: \newdimen\buffer
491: \buffer\buffer@
492: \def\ChangeBuffer#1{\fontdimen13 \tenex#1\relax
493: \global\buffer\fontdimen13 \tenex}
494: \def\ResetBuffer{\fontdimen13 \tenex\buffer@\global\buffer\buffer@}
495: \def\shave#1{\mathop{\hbox{$\m@th\fontdimen13 \tenex\z@ %1
496: \displaystyle{#1}$}}\fontdimen13 \tenex\buffer}
497: \def\topshave#1{\mathop{\topsmash{\displaystyle{#1}}\vphantom{\shave{#1}}}}
498: \def\botshave#1{\mathop{\botsmash{\displaystyle{#1}}\vphantom{\shave{#1}}}}
499: \message{multilevel sub/superscripts,}
500: \Invalid@\\
501: \def\Let@{\relax\iffalse{\fi\let\\=\cr\iffalse}\fi}
502: \Invalid@\vspace
503: \def\vspace@{\def\vspace##1{\crcr\noalign{\vskip##1\relax}}}
504: \def\multilimits@{\bgroup\vspace@\Let@
505: \baselineskip\fontdimen10 \scriptfont\tw@
506: \advance\baselineskip\fontdimen12 \scriptfont\tw@
507: \lineskip\thr@@\fontdimen8 \scriptfont\thr@@
508: \lineskiplimit\lineskip
509: \vbox\bgroup\ialign\bgroup\hfil$\m@th\scriptstyle{##}$\hfil\crcr}
510: \def\Sb{_\multilimits@}
511: \def\endSb{\crcr\egroup\egroup\egroup}
512: \def\Sp{^\multilimits@}
513: \let\endSp\endSb
514: \def\spreadlines#1{\RIfMIfI@\onlydmatherr@\spreadlines\else
515: \openup#1\relax\fi\else\onlydmatherr@\spreadlines\fi}
516: \def\Mathstrut@{\copy\Mathstrutbox@}
517: \newbox\Mathstrutbox@
518: \setbox\Mathstrutbox@\null
519: \setboxz@h{$\m@th($}
520: \ht\Mathstrutbox@\ht\z@
521: \dp\Mathstrutbox@\dp\z@
522: \message{matrices,}
523: \newdimen\spreadmlines@
524: \def\spreadmatrixlines#1{\RIfMIfI@
525: \onlydmatherr@\spreadmatrixlines\else
526: \spreadmlines@#1\relax\fi\else\onlydmatherr@\spreadmatrixlines\fi}
527: \def\matrix{\null\,\vcenter\bgroup\Let@\vspace@
528: \normalbaselines\openup\spreadmlines@\ialign
529: \bgroup\hfil$\m@th##$\hfil&&\quad\hfil$\m@th##$\hfil\crcr
530: \Mathstrut@\crcr\noalign{\kern-\baselineskip}}
531: \def\endmatrix{\crcr\Mathstrut@\crcr\noalign{\kern-\baselineskip}\egroup
532: \egroup\,}
533: \def\format{\crcr\egroup\iffalse{\fi\ifnum`}=0 \fi\format@}
534: \newtoks\hashtoks@
535: \hashtoks@{#}
536: \def\format@#1\\{\def\preamble@{#1}%
537: \def\l{$\m@th\the\hashtoks@$\hfil}%
538: \def\c{\hfil$\m@th\the\hashtoks@$\hfil}%
539: \def\r{\hfil$\m@th\the\hashtoks@$}%
540: \edef\preamble@@{\preamble@}\ifnum`{=0 \fi\iffalse}\fi
541: \ialign\bgroup\span\preamble@@\crcr}
542: \def\smallmatrix{\null\,\vcenter\bgroup\vspace@\Let@
543: \baselineskip9\ex@\lineskip\ex@
544: \ialign\bgroup\hfil$\m@th\scriptstyle{##}$\hfil&&\thickspace\hfil
545: $\m@th\scriptstyle{##}$\hfil\crcr}
546: \def\endsmallmatrix{\crcr\egroup\egroup\,}
547: \def\pmatrix{\left(\matrix}
548: \def\endpmatrix{\endmatrix\right)}
549: \def\bmatrix{\left[\matrix}
550: \def\endbmatrix{\endmatrix\right]}
551: \def\vmatrix{\left|\matrix}
552: \def\endvmatrix{\endmatrix\right|}
553: \def\Vmatrix{\left\|\matrix}
554: \def\endVmatrix{\endmatrix\right\|}
555: \def\hdots{\mathinner{\ldotp\ldotp\ldotp}}
556: \newmuskip\dotsspace@
557: \dotsspace@1.5mu
558: \def\strip@#1 {#1}
559: \def\spacehdots#1\for#2{\multispan{#2}\xleaders
560: \hbox{$\m@th\mkern\strip@#1 \dotsspace@.\mkern\strip@#1 \dotsspace@$}\hfill}
561: \def\hdotsfor#1{\spacehdots\@ne\for{#1}}
562: \def\multispan@#1{\omit\mscount#1\unskip\loop\ifnum\mscount>\@ne\sp@n\repeat}
563: \def\spaceinnerhdots#1\for#2\after#3{\multispan@{\strip@#2 }#3\xleaders
564: \hbox{$\m@th\mkern\strip@#1 \dotsspace@.\mkern\strip@#1 \dotsspace@$}\hfill}
565: \def\innerhdotsfor#1\after#2{\spaceinnerhdots\@ne\for#1\after{#2}}
566: \def\cases{\bgroup\spreadmlines@\jot\left\{\,\matrix\format\l&\quad\l\\}
567: \def\endcases{\endmatrix\right.\egroup}
568: \message{multiline displays,}
569: \newif\ifinany@
570: \newif\ifinalign@
571: \newif\ifingather@
572: \def\strut@{\copy\strutbox@}
573: \newbox\strutbox@
574: \setbox\strutbox@\hbox{\vrule height8\p@ depth3\p@ width\z@}
575: \def\topaligned{\null\,\vtop\aligned@}
576: \def\botaligned{\null\,\vbox\aligned@}
577: \def\aligned{\null\,\vcenter\aligned@}
578: \def\aligned@{\bgroup\vspace@\Let@
579: \ifinany@\else\openup\jot\fi\ialign
580: \bgroup\hfil\strut@$\m@th\displaystyle{##}$&
581: $\m@th\displaystyle{{}##}$\hfil\crcr}
582: \def\endaligned{\crcr\egroup\egroup}
583: \let\endtopaligned\endaligned
584: \let\endbotaligned\endaligned
585: \def\alignedat#1{\null\,\vcenter\bgroup\doat@{#1}\vspace@\Let@
586: \ifinany@\else\openup\jot\fi\ialign\bgroup\span\preamble@@\crcr}
587: \newcount\atcount@
588: \def\doat@#1{\toks@{\hfil\strut@$\m@th
589: \displaystyle{\the\hashtoks@}$&$\m@th\displaystyle
590: {{}\the\hashtoks@}$\hfil}% %1
591: \atcount@#1\relax\advance\atcount@\m@ne %2
592: \loop\ifnum\atcount@>\z@\toks@=\expandafter{\the\toks@&\hfil$\m@th
593: \displaystyle{\the\hashtoks@}$&$\m@th
594: \displaystyle{{}\the\hashtoks@}$\hfil}\advance
595: \atcount@\m@ne\repeat %3
596: \xdef\preamble@{\the\toks@}\xdef\preamble@@{\preamble@}}
597: \let\endalignedat\endaligned
598: \def\gathered{\null\,\vcenter\bgroup\vspace@\Let@
599: \ifinany@\else\openup\jot\fi\ialign
600: \bgroup\hfil\strut@$\m@th\displaystyle{##}$\hfil\crcr}
601: \def\endgathered{\crcr\egroup\egroup}
602: \newif\iftagsleft@
603: \def\TagsOnLeft{\global\tagsleft@true}
604: \def\TagsOnRight{\global\tagsleft@false}
605: \TagsOnLeft
606: \newif\ifmathtags@
607: \def\TagsAsMath{\global\mathtags@true}
608: \def\TagsAsText{\global\mathtags@false}
609: \TagsAsText
610: \def\tagform@#1{\hbox{\rm(\ignorespaces#1\unskip)}}
611: \def\thetag{\leavevmode\tagform@}
612: \def\tag#1$${\iftagsleft@\leqno\else\eqno\fi %1
613: \maketag@#1\maketag@ %2
614: $$} %3
615: \def\maketag@{\FN@\maketag@@}
616: \def\maketag@@{\ifx\next"\expandafter\maketag@@@\else\expandafter\maketag@@@@
617: \fi}
618: \def\maketag@@@"#1"#2\maketag@{\hbox{\rm#1}} %1
619: \def\maketag@@@@#1\maketag@{\ifmathtags@\tagform@{$\m@th#1$}\else
620: \tagform@{#1}\fi}
621: \interdisplaylinepenalty\@M
622: \def\allowdisplaybreaks{\RIfMIfI@
623: \onlydmatherr@\allowdisplaybreaks\else
624: \interdisplaylinepenalty\z@\fi\else\onlydmatherr@\allowdisplaybreaks\fi}
625: \Invalid@\allowdisplaybreak
626: \Invalid@\displaybreak
627: \Invalid@\intertext
628: \def\allowdisplaybreak@{\def\allowdisplaybreak{\crcr\noalign{\allowbreak}}}
629: \def\displaybreak@{\def\displaybreak{\crcr\noalign{\break}}}
630: \def\intertext@{\def\intertext##1{\crcr\noalign{%
631: \penalty\postdisplaypenalty \vskip\belowdisplayskip
632: \vbox{\normalbaselines\noindent##1}%
633: \penalty\predisplaypenalty \vskip\abovedisplayskip}}}
634: \newskip\centering@
635: \centering@\z@ plus\@m\p@
636: \def\align{\relax\ifingather@\DN@{\csname align (in
637: \string\gather)\endcsname}\else
638: \ifmmode\ifinner\DN@{\onlydmatherr@\align}\else
639: \let\next@\align@\fi
640: \else\DN@{\onlydmatherr@\align}\fi\fi\next@}
641: \newhelp\andhelp@
642: {An extra & here is so disastrous that you should probably exit^^J
643: and fix things up.}
644: \newif\iftag@
645: \newcount\and@
646: \def\align@{\inalign@true\inany@true
647: \vspace@\allowdisplaybreak@\displaybreak@\intertext@
648: \def\tag{\global\tag@true\ifnum\and@=\z@\DN@{&&}\else
649: \DN@{&}\fi\next@}%
650: \iftagsleft@\DN@{\csname align \endcsname}\else
651: \DN@{\csname align \space\endcsname}\fi\next@}
652: \def\Tag@{\iftag@\else\errhelp\andhelp@\err@{Extra & on this line}\fi}
653: \newdimen\lwidth@
654: \newdimen\rwidth@
655: \newdimen\maxlwidth@
656: \newdimen\maxrwidth@
657: \newdimen\totwidth@
658: \def\measure@#1\endalign{\lwidth@\z@\rwidth@\z@\maxlwidth@\z@\maxrwidth@\z@
659: \global\and@\z@ %1
660: \setbox@ne\vbox %2
661: {\everycr{\noalign{\global\tag@false\global\and@\z@}}\Let@ %3
662: \halign{\setboxz@h{$\m@th\displaystyle{\@lign##}$}% %4
663: \global\lwidth@\wdz@ %5
664: \ifdim\lwidth@>\maxlwidth@\global\maxlwidth@\lwidth@\fi %6
665: \global\advance\and@\@ne %7
666: &\setboxz@h{$\m@th\displaystyle{{}\@lign##}$}\global\rwidth@\wdz@ %8
667: \ifdim\rwidth@>\maxrwidth@\global\maxrwidth@\rwidth@\fi %9
668: \global\advance\and@\@ne %10
669: &\Tag@
670: \eat@{##}\crcr#1\crcr}}% %11
671: \totwidth@\maxlwidth@\advance\totwidth@\maxrwidth@} %12
672: \def\displ@y@{\global\dt@ptrue\openup\jot
673: \everycr{\noalign{\global\tag@false\global\and@\z@\ifdt@p\global\dt@pfalse
674: \vskip-\lineskiplimit\vskip\normallineskiplimit\else
675: \penalty\interdisplaylinepenalty\fi}}}
676: \def\black@#1{\noalign{\ifdim#1>\displaywidth
677: \dimen@\prevdepth\nointerlineskip %1
678: \vskip-\ht\strutbox@\vskip-\dp\strutbox@ %2
679: \vbox{\noindent\hbox to#1{\strut@\hfill}}% %3
680: \prevdepth\dimen@ %4
681: \fi}}
682: \expandafter\def\csname align \space\endcsname#1\endalign
683: {\measure@#1\endalign\global\and@\z@ %1
684: \ifingather@\everycr{\noalign{\global\and@\z@}}\else\displ@y@\fi %2
685: \Let@\tabskip\centering@ %3
686: \halign to\displaywidth
687: {\hfil\strut@\setboxz@h{$\m@th\displaystyle{\@lign##}$}% %4
688: \global\lwidth@\wdz@\boxz@\global\advance\and@\@ne %5
689: \tabskip\z@skip %6
690: &\setboxz@h{$\m@th\displaystyle{{}\@lign##}$}% %7
691: \global\rwidth@\wdz@\boxz@\hfill\global\advance\and@\@ne %8
692: \tabskip\centering@ %9
693: &\setboxz@h{\@lign\strut@\maketag@##\maketag@}% %10
694: \dimen@\displaywidth\advance\dimen@-\totwidth@
695: \divide\dimen@\tw@\advance\dimen@\maxrwidth@\advance\dimen@-\rwidth@ %11
696: \ifdim\dimen@<\tw@\wdz@\llap{\vtop{\normalbaselines\null\boxz@}}% %12
697: \else\llap{\boxz@}\fi %13
698: \tabskip\z@skip %14
699: \crcr#1\crcr %15
700: \black@\totwidth@}} %16
701: \newdimen\lineht@
702: \expandafter\def\csname align \endcsname#1\endalign{\measure@#1\endalign
703: \global\and@\z@
704: \ifdim\totwidth@>\displaywidth\let\displaywidth@\totwidth@\else
705: \let\displaywidth@\displaywidth\fi %1
706: \ifingather@\everycr{\noalign{\global\and@\z@}}\else\displ@y@\fi
707: \Let@\tabskip\centering@\halign to\displaywidth
708: {\hfil\strut@\setboxz@h{$\m@th\displaystyle{\@lign##}$}%
709: \global\lwidth@\wdz@\global\lineht@\ht\z@ %2
710: \boxz@\global\advance\and@\@ne
711: \tabskip\z@skip&\setboxz@h{$\m@th\displaystyle{{}\@lign##}$}%
712: \global\rwidth@\wdz@\ifdim\ht\z@>\lineht@\global\lineht@\ht\z@\fi %3
713: \boxz@\hfil\global\advance\and@\@ne
714: \tabskip\centering@&\kern-\displaywidth@ %4
715: \setboxz@h{\@lign\strut@\maketag@##\maketag@}%
716: \dimen@\displaywidth\advance\dimen@-\totwidth@
717: \divide\dimen@\tw@\advance\dimen@\maxlwidth@\advance\dimen@-\lwidth@
718: \ifdim\dimen@<\tw@\wdz@
719: \rlap{\vbox{\normalbaselines\boxz@\vbox to\lineht@{}}}\else
720: \rlap{\boxz@}\fi
721: \tabskip\displaywidth@\crcr#1\crcr\black@\totwidth@}}
722: \expandafter\def\csname align (in \string\gather)\endcsname
723: #1\endalign{\vcenter{\align@#1\endalign}}
724: \Invalid@\endalign
725: \newif\ifxat@
726: \def\alignat{\RIfMIfI@\DN@{\onlydmatherr@\alignat}\else
727: \DN@{\csname alignat \endcsname}\fi\else
728: \DN@{\onlydmatherr@\alignat}\fi\next@}
729: \newif\ifmeasuring@
730: \newbox\savealignat@
731: \expandafter\def\csname alignat \endcsname#1#2\endalignat %1
732: {\inany@true\xat@false
733: \def\tag{\global\tag@true\count@#1\relax\multiply\count@\tw@
734: \xdef\tag@{}\loop\ifnum\count@>\and@\xdef\tag@{&\tag@}\advance\count@\m@ne
735: \repeat\tag@}%
736: \vspace@\allowdisplaybreak@\displaybreak@\intertext@
737: \displ@y@\measuring@true %2
738: \setbox\savealignat@\hbox{$\m@th\displaystyle\Let@
739: \attag@{#1}% %3
740: \vbox{\halign{\span\preamble@@\crcr#2\crcr}}$}%
741: \measuring@false %4
742: \Let@\attag@{#1}% %5
743: \tabskip\centering@\halign to\displaywidth
744: {\span\preamble@@\crcr#2\crcr %6
745: \black@{\wd\savealignat@}}} %7
746: \Invalid@\endalignat
747: \def\xalignat{\RIfMIfI@
748: \DN@{\onlydmatherr@\xalignat}\else
749: \DN@{\csname xalignat \endcsname}\fi\else
750: \DN@{\onlydmatherr@\xalignat}\fi\next@}
751: \expandafter\def\csname xalignat \endcsname#1#2\endxalignat
752: {\inany@true\xat@true
753: \def\tag{\global\tag@true\def\tag@{}\count@#1\relax\multiply\count@\tw@
754: \loop\ifnum\count@>\and@\xdef\tag@{&\tag@}\advance\count@\m@ne\repeat\tag@}%
755: \vspace@\allowdisplaybreak@\displaybreak@\intertext@
756: \displ@y@\measuring@true\setbox\savealignat@\hbox{$\m@th\displaystyle\Let@
757: \attag@{#1}\vbox{\halign{\span\preamble@@\crcr#2\crcr}}$}%
758: \measuring@false\Let@
759: \attag@{#1}\tabskip\centering@\halign to\displaywidth
760: {\span\preamble@@\crcr#2\crcr\black@{\wd\savealignat@}}}
761: \def\attag@#1{\let\Maketag@\maketag@\let\TAG@\Tag@ %1
762: \let\Tag@=0\let\maketag@=0% %2
763: \ifmeasuring@\def\llap@##1{\setboxz@h{##1}\hbox to\tw@\wdz@{}}%
764: \def\rlap@##1{\setboxz@h{##1}\hbox to\tw@\wdz@{}}\else
765: \let\llap@\llap\let\rlap@\rlap\fi %3
766: \toks@{\hfil\strut@$\m@th\displaystyle{\@lign\the\hashtoks@}$\tabskip\z@skip
767: \global\advance\and@\@ne&$\m@th\displaystyle{{}\@lign\the\hashtoks@}$\hfil
768: \ifxat@\tabskip\centering@\fi\global\advance\and@\@ne}% %4
769: \iftagsleft@
770: \toks@@{\tabskip\centering@&\Tag@\kern-\displaywidth
771: \rlap@{\@lign\maketag@\the\hashtoks@\maketag@}%
772: \global\advance\and@\@ne\tabskip\displaywidth}\else
773: \toks@@{\tabskip\centering@&\Tag@\llap@{\@lign\maketag@
774: \the\hashtoks@\maketag@}\global\advance\and@\@ne\tabskip\z@skip}\fi %5
775: \atcount@#1\relax\advance\atcount@\m@ne
776: \loop\ifnum\atcount@>\z@
777: \toks@=\expandafter{\the\toks@&\hfil$\m@th\displaystyle{\@lign
778: \the\hashtoks@}$\global\advance\and@\@ne
779: \tabskip\z@skip&$\m@th\displaystyle{{}\@lign\the\hashtoks@}$\hfil\ifxat@
780: \tabskip\centering@\fi\global\advance\and@\@ne}\advance\atcount@\m@ne
781: \repeat %6
782: \xdef\preamble@{\the\toks@\the\toks@@}% %7
783: \xdef\preamble@@{\preamble@}% %8
784: \let\maketag@\Maketag@\let\Tag@\TAG@} %9
785: \Invalid@\endxalignat
786: \def\xxalignat{\RIfMIfI@
787: \DN@{\onlydmatherr@\xxalignat}\else\DN@{\csname xxalignat
788: \endcsname}\fi\else
789: \DN@{\onlydmatherr@\xxalignat}\fi\next@}
790: \expandafter\def\csname xxalignat \endcsname#1#2\endxxalignat{\inany@true
791: \vspace@\allowdisplaybreak@\displaybreak@\intertext@
792: \displ@y\setbox\savealignat@\hbox{$\m@th\displaystyle\Let@
793: \xxattag@{#1}\vbox{\halign{\span\preamble@@\crcr#2\crcr}}$}%
794: \Let@\xxattag@{#1}\tabskip\z@skip\halign to\displaywidth
795: {\span\preamble@@\crcr#2\crcr\black@{\wd\savealignat@}}}
796: \def\xxattag@#1{\toks@{\tabskip\z@skip\hfil\strut@
797: $\m@th\displaystyle{\the\hashtoks@}$&%
798: $\m@th\displaystyle{{}\the\hashtoks@}$\hfil\tabskip\centering@&}%
799: \atcount@#1\relax\advance\atcount@\m@ne\loop\ifnum\atcount@>\z@
800: \toks@=\expandafter{\the\toks@&\hfil$\m@th\displaystyle{\the\hashtoks@}$%
801: \tabskip\z@skip&$\m@th\displaystyle{{}\the\hashtoks@}$\hfil
802: \tabskip\centering@}\advance\atcount@\m@ne\repeat
803: \xdef\preamble@{\the\toks@\tabskip\z@skip}\xdef\preamble@@{\preamble@}}
804: \Invalid@\endxxalignat
805: \newdimen\gwidth@
806: \newdimen\gmaxwidth@
807: \def\gmeasure@#1\endgather{\gwidth@\z@\gmaxwidth@\z@\setbox@ne\vbox{\Let@
808: \halign{\setboxz@h{$\m@th\displaystyle{##}$}\global\gwidth@\wdz@
809: \ifdim\gwidth@>\gmaxwidth@\global\gmaxwidth@\gwidth@\fi
810: &\eat@{##}\crcr#1\crcr}}}
811: \def\gather{\RIfMIfI@\DN@{\onlydmatherr@\gather}\else
812: \ingather@true\inany@true\def\tag{&}%
813: \vspace@\allowdisplaybreak@\displaybreak@\intertext@
814: \displ@y\Let@
815: \iftagsleft@\DN@{\csname gather \endcsname}\else
816: \DN@{\csname gather \space\endcsname}\fi\fi
817: \else\DN@{\onlydmatherr@\gather}\fi\next@}
818: \expandafter\def\csname gather \space\endcsname#1\endgather
819: {\gmeasure@#1\endgather\tabskip\centering@
820: \halign to\displaywidth{\hfil\strut@\setboxz@h{$\m@th\displaystyle{##}$}%
821: \global\gwidth@\wdz@\boxz@\hfil&
822: \setboxz@h{\strut@{\maketag@##\maketag@}}%
823: \dimen@\displaywidth\advance\dimen@-\gwidth@
824: \ifdim\dimen@>\tw@\wdz@\llap{\boxz@}\else
825: \llap{\vtop{\normalbaselines\null\boxz@}}\fi
826: \tabskip\z@skip\crcr#1\crcr\black@\gmaxwidth@}}
827: \newdimen\glineht@
828: \expandafter\def\csname gather \endcsname#1\endgather{\gmeasure@#1\endgather
829: \ifdim\gmaxwidth@>\displaywidth\let\gdisplaywidth@\gmaxwidth@\else
830: \let\gdisplaywidth@\displaywidth\fi\tabskip\centering@\halign to\displaywidth
831: {\hfil\strut@\setboxz@h{$\m@th\displaystyle{##}$}%
832: \global\gwidth@\wdz@\global\glineht@\ht\z@\boxz@\hfil&\kern-\gdisplaywidth@
833: \setboxz@h{\strut@{\maketag@##\maketag@}}%
834: \dimen@\displaywidth\advance\dimen@-\gwidth@
835: \ifdim\dimen@>\tw@\wdz@\rlap{\boxz@}\else
836: \rlap{\vbox{\normalbaselines\boxz@\vbox to\glineht@{}}}\fi
837: \tabskip\gdisplaywidth@\crcr#1\crcr\black@\gmaxwidth@}}
838: \newif\ifctagsplit@
839: \def\CenteredTagsOnSplits{\global\ctagsplit@true}
840: \def\TopOrBottomTagsOnSplits{\global\ctagsplit@false}
841: \TopOrBottomTagsOnSplits
842: \def\split{\relax\ifinany@\let\next@\insplit@\else
843: \ifmmode\ifinner\def\next@{\onlydmatherr@\split}\else
844: \let\next@\outsplit@\fi\else
845: \def\next@{\onlydmatherr@\split}\fi\fi\next@}
846: \def\insplit@{\global\setbox\z@\vbox\bgroup\vspace@\Let@\ialign\bgroup
847: \hfil\strut@$\m@th\displaystyle{##}$&$\m@th\displaystyle{{}##}$\hfill\crcr}
848: \def\endsplit{\crcr\egroup\egroup\iftagsleft@\expandafter\lendsplit@\else
849: \expandafter\rendsplit@\fi}
850: \def\rendsplit@{\global\setbox9 \vbox
851: {\unvcopy\z@\global\setbox8 \lastbox\unskip}% %1
852: \setbox@ne\hbox{\unhcopy8 \unskip\global\setbox\tw@\lastbox
853: \unskip\global\setbox\thr@@\lastbox}% %2
854: \global\setbox7 \hbox{\unhbox\tw@\unskip}% %3
855: \ifinalign@\ifctagsplit@ %4
856: \gdef\split@{\hbox to\wd\thr@@{}&
857: \vcenter{\vbox{\moveleft\wd\thr@@\boxz@}}}% %5
858: \else\gdef\split@{&\vbox{\moveleft\wd\thr@@\box9}\crcr
859: \box\thr@@&\box7}\fi %6
860: \else %7
861: \ifctagsplit@\gdef\split@{\vcenter{\boxz@}}\else
862: \gdef\split@{\box9\crcr\hbox{\box\thr@@\box7}}\fi
863: \fi
864: \split@} %8
865: \def\lendsplit@{\global\setbox9\vtop{\unvcopy\z@}% %1
866: \setbox@ne\vbox{\unvcopy\z@\global\setbox8\lastbox}% %2
867: \setbox@ne\hbox{\unhcopy8\unskip\setbox\tw@\lastbox
868: \unskip\global\setbox\thr@@\lastbox}% %3
869: \ifinalign@\ifctagsplit@ %4
870: \gdef\split@{\hbox to\wd\thr@@{}&
871: \vcenter{\vbox{\moveleft\wd\thr@@\box9}}}% %5
872: \else %6
873: \gdef\split@{\hbox to\wd\thr@@{}&\vbox{\moveleft\wd\thr@@\box9}}\fi
874: \else
875: \ifctagsplit@\gdef\split@{\vcenter{\box9}}\else
876: \gdef\split@{\box9}\fi
877: \fi\split@}
878: \def\outsplit@#1$${\align\insplit@#1\endalign$$}
879: \newdimen\multlinegap@
880: \multlinegap@1em
881: \newdimen\multlinetaggap@
882: \multlinetaggap@1em
883: \def\MultlineGap#1{\global\multlinegap@#1\relax}
884: \def\multlinegap#1{\RIfMIfI@\onlydmatherr@\multlinegap\else
885: \multlinegap@#1\relax\fi\else\onlydmatherr@\multlinegap\fi}
886: \def\nomultlinegap{\multlinegap{\z@}}
887: \def\multline{\RIfMIfI@
888: \DN@{\onlydmatherr@\multline}\else
889: \DN@{\multline@}\fi\else
890: \DN@{\onlydmatherr@\multline}\fi\next@}
891: \newif\iftagin@
892: \def\tagin@#1{\tagin@false\in@\tag{#1}\ifin@\tagin@true\fi}
893: \def\multline@#1$${\inany@true\vspace@\allowdisplaybreak@\displaybreak@
894: \tagin@{#1}\iftagsleft@\DN@{\multline@l#1$$}\else
895: \DN@{\multline@r#1$$}\fi\next@}
896: \newdimen\mwidth@
897: \def\rmmeasure@#1\endmultline{%
898: \def\shoveleft##1{##1}\def\shoveright##1{##1}% %1
899: \setbox@ne\vbox{\Let@\halign{\setboxz@h
900: {$\m@th\@lign\displaystyle{}##$}\global\mwidth@\wdz@
901: \crcr#1\crcr}}}
902: \newdimen\mlineht@
903: \newif\ifzerocr@
904: \newif\ifonecr@
905: \def\lmmeasure@#1\endmultline{\global\zerocr@true\global\onecr@false
906: \everycr{\noalign{\ifonecr@\global\onecr@false\fi
907: \ifzerocr@\global\zerocr@false\global\onecr@true\fi}}% %1
908: \def\shoveleft##1{##1}\def\shoveright##1{##1}%
909: \setbox@ne\vbox{\Let@\halign{\setboxz@h
910: {$\m@th\@lign\displaystyle{}##$}\ifonecr@\global\mwidth@\wdz@
911: \global\mlineht@\ht\z@\fi\crcr#1\crcr}}}
912: \newbox\mtagbox@
913: \newdimen\ltwidth@
914: \newdimen\rtwidth@
915: \def\multline@l#1$${\iftagin@\DN@{\lmultline@@#1$$}\else
916: \DN@{\setbox\mtagbox@\null\ltwidth@\z@\rtwidth@\z@
917: \lmultline@@@#1$$}\fi\next@}
918: \def\lmultline@@#1\endmultline\tag#2$${%
919: \setbox\mtagbox@\hbox{\maketag@#2\maketag@}% %1
920: \lmmeasure@#1\endmultline\dimen@\mwidth@\advance\dimen@\wd\mtagbox@
921: \advance\dimen@\multlinetaggap@ %2
922: \ifdim\dimen@>\displaywidth\ltwidth@\z@\else\ltwidth@\wd\mtagbox@\fi %3
923: \lmultline@@@#1\endmultline$$}
924: \def\lmultline@@@{\displ@y
925: \def\shoveright##1{##1\hfilneg\hskip\multlinegap@}%
926: \def\shoveleft##1{\setboxz@h{$\m@th\displaystyle{}##1$}%
927: \setbox@ne\hbox{$\m@th\displaystyle##1$}%
928: \hfilneg
929: \iftagin@
930: \ifdim\ltwidth@>\z@\hskip\ltwidth@\hskip\multlinetaggap@\fi
931: \else\hskip\multlinegap@\fi\hskip.5\wd@ne\hskip-.5\wdz@##1}% %1
932: \halign\bgroup\Let@\hbox to\displaywidth
933: {\strut@$\m@th\displaystyle\hfil{}##\hfil$}\crcr
934: \hfilneg %2
935: \iftagin@ %3
936: \ifdim\ltwidth@>\z@ %4
937: \box\mtagbox@\hskip\multlinetaggap@ %5
938: \else
939: \rlap{\vbox{\normalbaselines\hbox{\strut@\box\mtagbox@}%
940: \vbox to\mlineht@{}}}\fi %6
941: \else\hskip\multlinegap@\fi} %7
942: \def\multline@r#1$${\iftagin@\DN@{\rmultline@@#1$$}\else
943: \DN@{\setbox\mtagbox@\null\ltwidth@\z@\rtwidth@\z@
944: \rmultline@@@#1$$}\fi\next@}
945: \def\rmultline@@#1\endmultline\tag#2$${\ltwidth@\z@
946: \setbox\mtagbox@\hbox{\maketag@#2\maketag@}%
947: \rmmeasure@#1\endmultline\dimen@\mwidth@\advance\dimen@\wd\mtagbox@
948: \advance\dimen@\multlinetaggap@
949: \ifdim\dimen@>\displaywidth\rtwidth@\z@\else\rtwidth@\wd\mtagbox@\fi
950: \rmultline@@@#1\endmultline$$}
951: \def\rmultline@@@{\displ@y
952: \def\shoveright##1{##1\hfilneg\iftagin@\ifdim\rtwidth@>\z@
953: \hskip\rtwidth@\hskip\multlinetaggap@\fi\else\hskip\multlinegap@\fi}%
954: \def\shoveleft##1{\setboxz@h{$\m@th\displaystyle{}##1$}%
955: \setbox@ne\hbox{$\m@th\displaystyle##1$}%
956: \hfilneg\hskip\multlinegap@\hskip.5\wd@ne\hskip-.5\wdz@##1}%
957: \halign\bgroup\Let@\hbox to\displaywidth
958: {\strut@$\m@th\displaystyle\hfil{}##\hfil$}\crcr
959: \hfilneg\hskip\multlinegap@}
960: \def\endmultline{\iftagsleft@\expandafter\lendmultline@\else
961: \expandafter\rendmultline@\fi}
962: \def\lendmultline@{\hfilneg\hskip\multlinegap@\crcr\egroup}
963: \def\rendmultline@{\iftagin@ %1
964: \ifdim\rtwidth@>\z@ %2
965: \hskip\multlinetaggap@\box\mtagbox@ %3
966: \else\llap{\vtop{\normalbaselines\null\hbox{\strut@\box\mtagbox@}}}\fi %4
967: \else\hskip\multlinegap@\fi %5
968: \hfilneg\crcr\egroup}
969: \def\bmod{\mskip-\medmuskip\mkern5mu\mathbin{\fam\z@ mod}\penalty900
970: \mkern5mu\mskip-\medmuskip}
971: \def\pmod#1{\allowbreak\ifinner\mkern8mu\else\mkern18mu\fi
972: ({\fam\z@ mod}\,\,#1)}
973: \def\pod#1{\allowbreak\ifinner\mkern8mu\else\mkern18mu\fi(#1)}
974: \def\mod#1{\allowbreak\ifinner\mkern12mu\else\mkern18mu\fi{\fam\z@ mod}\,\,#1}
975: \message{continued fractions,}
976: \newcount\cfraccount@
977: \def\cfrac{\bgroup\bgroup\advance\cfraccount@\@ne\strut
978: \iffalse{\fi\def\\{\over\displaystyle}\iffalse}\fi}
979: \def\lcfrac{\bgroup\bgroup\advance\cfraccount@\@ne\strut
980: \iffalse{\fi\def\\{\hfill\over\displaystyle}\iffalse}\fi}
981: \def\rcfrac{\bgroup\bgroup\advance\cfraccount@\@ne\strut\hfill
982: \iffalse{\fi\def\\{\over\displaystyle}\iffalse}\fi}
983: \def\gloop@#1\repeat{\gdef\body{#1}\iterate}
984: \def\endcfrac{\gloop@\ifnum\cfraccount@>\z@\global\advance\cfraccount@\m@ne
985: \egroup\hskip-\nulldelimiterspace\egroup\repeat}
986: \message{compound symbols,}
987: \def\binrel@#1{\setboxz@h{\thinmuskip0mu
988: \medmuskip\m@ne mu\thickmuskip\@ne mu$#1\m@th$}%
989: \setbox@ne\hbox{\thinmuskip0mu\medmuskip\m@ne mu\thickmuskip
990: \@ne mu${}#1{}\m@th$}%
991: \setbox\tw@\hbox{\hskip\wd@ne\hskip-\wdz@}}
992: \def\overset#1\to#2{\binrel@{#2}\ifdim\wd\tw@<\z@
993: \mathbin{\mathop{\kern\z@#2}\limits^{#1}}\else\ifdim\wd\tw@>\z@
994: \mathrel{\mathop{\kern\z@#2}\limits^{#1}}\else
995: {\mathop{\kern\z@#2}\limits^{#1}}{}\fi\fi}
996: \def\underset#1\to#2{\binrel@{#2}\ifdim\wd\tw@<\z@
997: \mathbin{\mathop{\kern\z@#2}\limits_{#1}}\else\ifdim\wd\tw@>\z@
998: \mathrel{\mathop{\kern\z@#2}\limits_{#1}}\else
999: {\mathop{\kern\z@#2}\limits_{#1}}{}\fi\fi}
1000: \def\oversetbrace#1\to#2{\overbrace{#2}^{#1}}
1001: \def\undersetbrace#1\to#2{\underbrace{#2}_{#1}}
1002: \def\sideset#1\and#2\to#3{%
1003: \setbox@ne\hbox{$\dsize{\vphantom{#3}}#1{#3}\m@th$}%
1004: \setbox\tw@\hbox{$\dsize{#3}#2\m@th$}%
1005: \hskip\wd@ne\hskip-\wd\tw@\mathop{\hskip\wd\tw@\hskip-\wd@ne
1006: {\vphantom{#3}}#1{#3}#2}}
1007: \def\rightarrowfill@#1{\setboxz@h{$#1-\m@th$}\ht\z@\z@
1008: $#1\m@th\copy\z@\mkern-6mu\cleaders
1009: \hbox{$#1\mkern-2mu\box\z@\mkern-2mu$}\hfill
1010: \mkern-6mu\mathord\rightarrow$}
1011: \def\leftarrowfill@#1{\setboxz@h{$#1-\m@th$}\ht\z@\z@
1012: $#1\m@th\mathord\leftarrow\mkern-6mu\cleaders
1013: \hbox{$#1\mkern-2mu\copy\z@\mkern-2mu$}\hfill
1014: \mkern-6mu\box\z@$}
1015: \def\leftrightarrowfill@#1{\setboxz@h{$#1-\m@th$}\ht\z@\z@
1016: $#1\m@th\mathord\leftarrow\mkern-6mu\cleaders
1017: \hbox{$#1\mkern-2mu\box\z@\mkern-2mu$}\hfill
1018: \mkern-6mu\mathord\rightarrow$}
1019: \def\overrightarrow{\mathpalette\overrightarrow@}
1020: \def\overrightarrow@#1#2{\vbox{\ialign{##\crcr\rightarrowfill@#1\crcr
1021: \noalign{\kern-\ex@\nointerlineskip}$\m@th\hfil#1#2\hfil$\crcr}}}
1022: \let\overarrow\overrightarrow
1023: \def\overleftarrow{\mathpalette\overleftarrow@}
1024: \def\overleftarrow@#1#2{\vbox{\ialign{##\crcr\leftarrowfill@#1\crcr
1025: \noalign{\kern-\ex@\nointerlineskip}$\m@th\hfil#1#2\hfil$\crcr}}}
1026: \def\overleftrightarrow{\mathpalette\overleftrightarrow@}
1027: \def\overleftrightarrow@#1#2{\vbox{\ialign{##\crcr\leftrightarrowfill@#1\crcr
1028: \noalign{\kern-\ex@\nointerlineskip}$\m@th\hfil#1#2\hfil$\crcr}}}
1029: \def\underrightarrow{\mathpalette\underrightarrow@}
1030: \def\underrightarrow@#1#2{\vtop{\ialign{##\crcr$\m@th\hfil#1#2\hfil$\crcr
1031: \noalign{\nointerlineskip}\rightarrowfill@#1\crcr}}}
1032: \let\underarrow\underrightarrow
1033: \def\underleftarrow{\mathpalette\underleftarrow@}
1034: \def\underleftarrow@#1#2{\vtop{\ialign{##\crcr$\m@th\hfil#1#2\hfil$\crcr
1035: \noalign{\nointerlineskip}\leftarrowfill@#1\crcr}}}
1036: \def\underleftrightarrow{\mathpalette\underleftrightarrow@}
1037: \def\underleftrightarrow@#1#2{\vtop{\ialign{##\crcr$\m@th\hfil#1#2\hfil$\crcr
1038: \noalign{\nointerlineskip}\leftrightarrowfill@#1\crcr}}}
1039: \message{various kinds of dots,}
1040: \let\DOTSI\relax
1041: \let\DOTSB\relax
1042: \let\DOTSX\relax
1043: \newif\ifmath@
1044: {\uccode`7=`\\ \uccode`8=`m \uccode`9=`a \uccode`0=`t \uccode`!=`h
1045: \uppercase{\gdef\math@#1#2#3#4#5#6\math@{\global\math@false\ifx 7#1\ifx 8#2%
1046: \ifx 9#3\ifx 0#4\ifx !#5\xdef\meaning@{#6}\global\math@true\fi\fi\fi\fi\fi}}}
1047: \newif\ifmathch@
1048: {\uccode`7=`c \uccode`8=`h \uccode`9=`\"
1049: \uppercase{\gdef\mathch@#1#2#3#4#5#6\mathch@{\global\mathch@false
1050: \ifx 7#1\ifx 8#2\ifx 9#5\global\mathch@true\xdef\meaning@{9#6}\fi\fi\fi}}}
1051: \newcount\classnum@
1052: \def\getmathch@#1.#2\getmathch@{\classnum@#1 \divide\classnum@4096
1053: \ifcase\number\classnum@\or\or\gdef\thedots@{\dotsb@}\or
1054: \gdef\thedots@{\dotsb@}\fi}
1055: \newif\ifmathbin@
1056: {\uccode`4=`b \uccode`5=`i \uccode`6=`n
1057: \uppercase{\gdef\mathbin@#1#2#3{\relaxnext@
1058: \DNii@##1\mathbin@{\ifx\space@\next\global\mathbin@true\fi}%
1059: \global\mathbin@false\DN@##1\mathbin@{}%
1060: \ifx 4#1\ifx 5#2\ifx 6#3\DN@{\FN@\nextii@}\fi\fi\fi\next@}}}
1061: \newif\ifmathrel@
1062: {\uccode`4=`r \uccode`5=`e \uccode`6=`l
1063: \uppercase{\gdef\mathrel@#1#2#3{\relaxnext@
1064: \DNii@##1\mathrel@{\ifx\space@\next\global\mathrel@true\fi}%
1065: \global\mathrel@false\DN@##1\mathrel@{}%
1066: \ifx 4#1\ifx 5#2\ifx 6#3\DN@{\FN@\nextii@}\fi\fi\fi\next@}}}
1067: \newif\ifmacro@
1068: {\uccode`5=`m \uccode`6=`a \uccode`7=`c
1069: \uppercase{\gdef\macro@#1#2#3#4\macro@{\global\macro@false
1070: \ifx 5#1\ifx 6#2\ifx 7#3\global\macro@true
1071: \xdef\meaning@{\macro@@#4\macro@@}\fi\fi\fi}}}
1072: \def\macro@@#1->#2\macro@@{#2}
1073: \newif\ifDOTS@
1074: \newcount\DOTSCASE@
1075: {\uccode`6=`\\ \uccode`7=`D \uccode`8=`O \uccode`9=`T \uccode`0=`S
1076: \uppercase{\gdef\DOTS@#1#2#3#4#5{\global\DOTS@false\DN@##1\DOTS@{}%
1077: \ifx 6#1\ifx 7#2\ifx 8#3\ifx 9#4\ifx 0#5\let\next@\DOTS@@\fi\fi\fi\fi\fi
1078: \next@}}}
1079: {\uccode`3=`B \uccode`4=`I \uccode`5=`X
1080: \uppercase{\gdef\DOTS@@#1{\relaxnext@
1081: \DNii@##1\DOTS@{\ifx\space@\next\global\DOTS@true\fi}%
1082: \DN@{\FN@\nextii@}%
1083: \ifx 3#1\global\DOTSCASE@\z@\else
1084: \ifx 4#1\global\DOTSCASE@\@ne\else
1085: \ifx 5#1\global\DOTSCASE@\tw@\else\DN@##1\DOTS@{}%
1086: \fi\fi\fi\next@}}}
1087: \newif\ifnot@
1088: {\uccode`5=`\\ \uccode`6=`n \uccode`7=`o \uccode`8=`t
1089: \uppercase{\gdef\not@#1#2#3#4{\relaxnext@
1090: \DNii@##1\not@{\ifx\space@\next\global\not@true\fi}%
1091: \global\not@false\DN@##1\not@{}%
1092: \ifx 5#1\ifx 6#2\ifx 7#3\ifx 8#4\DN@{\FN@\nextii@}\fi\fi\fi
1093: \fi\next@}}}
1094: \newif\ifkeybin@
1095: \def\keybin@{\keybin@true
1096: \ifx\next+\else\ifx\next=\else\ifx\next<\else\ifx\next>\else\ifx\next-\else
1097: \ifx\next*\else\ifx\next:\else\keybin@false\fi\fi\fi\fi\fi\fi\fi}
1098: \def\dots{\RIfM@\expandafter\mdots@\else\expandafter\tdots@\fi}
1099: \def\tdots@{\unskip\relaxnext@
1100: \DN@{$\m@th\mathinner{\ldotp\ldotp\ldotp}\,
1101: \ifx\next,\,$\else\ifx\next.\,$\else\ifx\next;\,$\else\ifx\next:\,$\else
1102: \ifx\next?\,$\else\ifx\next!\,$\else$ \fi\fi\fi\fi\fi\fi}%
1103: \ \FN@\next@}
1104: \def\mdots@{\FN@\mdots@@}
1105: \def\mdots@@{\gdef\thedots@{\dotso@}% %1
1106: \ifx\next\boldkey\gdef\thedots@\boldkey{\boldkeydots@}\else %2
1107: \ifx\next\boldsymbol\gdef\thedots@\boldsymbol{\boldsymboldots@}\else %3
1108: \ifx,\next\gdef\thedots@{\dotsc}% %4
1109: \else\ifx\not\next\gdef\thedots@{\dotsb@}% %5
1110: \else\keybin@
1111: \ifkeybin@\gdef\thedots@{\dotsb@}% %6
1112: \else\xdef\meaning@{\meaning\next..........}\xdef\meaning@@{\meaning@}% %7
1113: \expandafter\math@\meaning@\math@
1114: \ifmath@
1115: \expandafter\mathch@\meaning@\mathch@
1116: \ifmathch@\expandafter\getmathch@\meaning@\getmathch@\fi %8
1117: \else\expandafter\macro@\meaning@@\macro@ %9
1118: \ifmacro@ %10
1119: \expandafter\not@\meaning@\not@\ifnot@\gdef\thedots@{\dotsb@}% %11
1120: \else\expandafter\DOTS@\meaning@\DOTS@
1121: \ifDOTS@
1122: \ifcase\number\DOTSCASE@\gdef\thedots@{\dotsb@}%
1123: \or\gdef\thedots@{\dotsi}\else\fi %12
1124: \else\expandafter\math@\meaning@\math@ %13
1125: \ifmath@\expandafter\mathbin@\meaning@\mathbin@
1126: \ifmathbin@\gdef\thedots@{\dotsb@}% %14
1127: \else\expandafter\mathrel@\meaning@\mathrel@
1128: \ifmathrel@\gdef\thedots@{\dotsb@}% %15
1129: \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
1130: \thedots@}
1131: \def\plainldots@{\mathinner{\ldotp\ldotp\ldotp}}
1132: \def\plaincdots@{\mathinner{\cdotp\cdotp\cdotp}}
1133: \def\dotsi{\!\plaincdots@}
1134: \let\dotsb@\plaincdots@
1135: \newif\ifextra@
1136: \newif\ifrightdelim@
1137: \def\rightdelim@{\global\rightdelim@true %1
1138: \ifx\next)\else %2
1139: \ifx\next]\else
1140: \ifx\next\rbrack\else
1141: \ifx\next\}\else
1142: \ifx\next\rbrace\else
1143: \ifx\next\rangle\else
1144: \ifx\next\rceil\else
1145: \ifx\next\rfloor\else
1146: \ifx\next\rgroup\else
1147: \ifx\next\rmoustache\else
1148: \ifx\next\right\else
1149: \ifx\next\bigr\else
1150: \ifx\next\biggr\else
1151: \ifx\next\Bigr\else %3
1152: \ifx\next\Biggr\else\global\rightdelim@false
1153: \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}
1154: \def\extra@{%
1155: \global\extra@false\rightdelim@\ifrightdelim@\global\extra@true %1
1156: \else\ifx\next$\global\extra@true %2
1157: \else\xdef\meaning@{\meaning\next..........}% %3
1158: \expandafter\macro@\meaning@\macro@\ifmacro@ %4
1159: \expandafter\DOTS@\meaning@\DOTS@
1160: \ifDOTS@
1161: \ifnum\DOTSCASE@=\tw@\global\extra@true %5
1162: \fi\fi\fi\fi\fi}
1163: \newif\ifbold@
1164: \def\dotso@{\relaxnext@
1165: \ifbold@
1166: \let\next\delayed@
1167: \DNii@{\extra@\plainldots@\ifextra@\,\fi}%
1168: \else
1169: \DNii@{\DN@{\extra@\plainldots@\ifextra@\,\fi}\FN@\next@}%
1170: \fi
1171: \nextii@}
1172: \def\extrap@#1{%
1173: \ifx\next,\DN@{#1\,}\else
1174: \ifx\next;\DN@{#1\,}\else
1175: \ifx\next.\DN@{#1\,}\else\extra@
1176: \ifextra@\DN@{#1\,}\else
1177: \let\next@#1\fi\fi\fi\fi\next@}
1178: \def\ldots{\DN@{\extrap@\plainldots@}%
1179: \FN@\next@}
1180: \def\cdots{\DN@{\extrap@\plaincdots@}%
1181: \FN@\next@}
1182: \let\dotso\ldots
1183: \let\dotsb\cdots
1184: \let\dotsm\dotsb
1185: \def\dotsc{\relaxnext@
1186: \DN@{\ifx\next;\plainldots@\,\else
1187: \ifx\next.\plainldots@\,\else\extra@\plainldots@
1188: \ifextra@\,\fi\fi\fi}%
1189: \FN@\next@}
1190: \def\cdot{\mathchar"2201 }
1191: \def\longrightarrow{\DOTSB\relbar\joinrel\rightarrow}
1192: \def\Longrightarrow{\DOTSB\Relbar\joinrel\Rightarrow}
1193: \def\longleftarrow{\DOTSB\leftarrow\joinrel\relbar}
1194: \def\Longleftarrow{\DOTSB\Leftarrow\joinrel\Relbar}
1195: \def\longleftrightarrow{\DOTSB\leftarrow\joinrel\rightarrow}
1196: \def\Longleftrightarrow{\DOTSB\Leftarrow\joinrel\Rightarrow}
1197: \def\mapsto{\DOTSB\mapstochar\rightarrow}
1198: \def\longmapsto{\DOTSB\mapstochar\longrightarrow}
1199: \def\hookrightarrow{\DOTSB\lhook\joinrel\rightarrow}
1200: \def\hookleftarrow{\DOTSB\leftarrow\joinrel\rhook}
1201: \def\doteq{\DOTSB\buildrel\textstyle.\over=}
1202: \def\iff{\DOTSB\;\Longleftrightarrow\;}
1203: \message{special superscripts,}
1204: \def\dddot#1{{\mathop{#1}\limits^{\vbox to-1.4\ex@{\kern-\tw@\ex@
1205: \hbox{\rm...}\vss}}}}
1206: \def\ddddot#1{{\mathop{#1}\limits^{\vbox to-1.4\ex@{\kern-\tw@\ex@
1207: \hbox{\rm....}\vss}}}}
1208: \def\sphat{^{\mathchoice{}{}%
1209: {\,\,\botsmash{\hbox{\lower4\ex@\hbox{$\m@th\widehat{\null}$}}}}%
1210: {\,\botsmash{\hbox{\lower3\ex@\hbox{$\m@th\hat{\null}$}}}}}}
1211: \def\spcheck{^\vee}
1212: \def\sptilde{^\sim}
1213: \def\spacute{^{\!\botsmash{\hbox{\lower\@ne ex\hbox{\'{}}}}}}
1214: \def\spgrave{^{\mathchoice{}{}{}{\!}%
1215: \botsmash{\hbox{\lower\@ne ex\hbox{\`{}}}}}}
1216: \def\spdot{^{\hbox{\raise\ex@\hbox{\rm.}}}}
1217: \def\spddot{^{\hbox{\raise\ex@\hbox{\rm..}}}}
1218: \def\spdddot{^{\hbox{\raise\ex@\hbox{\rm...}}}}
1219: \def\spddddot{^{\hbox{\raise\ex@\hbox{\rm....}}}}
1220: \def\spbreve{^{\!\botsmash{\hbox{\lower4\ex@\hbox{\u{}}}}}}
1221: \def\spbar{^-}
1222: \def\spvec{^\rightarrow}
1223: \message{\string\text,}
1224: \def\textonlyfont@#1#2{\def#1{\RIfM@
1225: \Err@{Use \string#1\space only in text}\else#2\fi}}
1226: \textonlyfont@\rm\tenrm
1227: \textonlyfont@\it\tenit
1228: \textonlyfont@\sl\tensl
1229: \textonlyfont@\bf\tenbf
1230: \def\oldnos#1{\RIfM@{\mathcode`\,="013B \fam\@ne#1}\else
1231: \leavevmode\hbox{$\m@th\mathcode`\,="013B \fam\@ne#1$}\fi}
1232: \def\text{\RIfM@\expandafter\text@\else\expandafter\text@@\fi}
1233: \def\text@@#1{\leavevmode\hbox{#1}}
1234: \def\mathhexbox@#1#2#3{\text{$\m@th\mathchar"#1#2#3$}}
1235: \def\dag{{\mathhexbox@279}}
1236: \def\ddag{{\mathhexbox@27A}}
1237: \def\S{{\mathhexbox@278}}
1238: \def\P{{\mathhexbox@27B}}
1239: \newif\iffirstchoice@
1240: \firstchoice@true
1241: \def\text@#1{\mathchoice
1242: {\hbox{\everymath{\displaystyle}\def\textfonti{\the\textfont\@ne}%
1243: \def\textfontii{\the\textfont\tw@}\textdef@@ T#1}}
1244: {\hbox{\firstchoice@false
1245: \everymath{\textstyle}\def\textfonti{\the\textfont\@ne}%
1246: \def\textfontii{\the\textfont\tw@}\textdef@@ T#1}}
1247: {\hbox{\firstchoice@false
1248: \everymath{\scriptstyle}\def\textfonti{\the\scriptfont\@ne}%
1249: \def\textfontii{\the\scriptfont\tw@}\textdef@@ S\rm#1}}
1250: {\hbox{\firstchoice@false
1251: \everymath{\scriptscriptstyle}\def\textfonti
1252: {\the\scriptscriptfont\@ne}%
1253: \def\textfontii{\the\scriptscriptfont\tw@}\textdef@@ s\rm#1}}}
1254: \def\textdef@@#1{\textdef@#1\rm\textdef@#1\bf\textdef@#1\sl\textdef@#1\it}
1255: \def\rmfam{0}
1256: \def\textdef@#1#2{%
1257: \DN@{\csname\expandafter\eat@\string#2fam\endcsname}%
1258: \if S#1\edef#2{\the\scriptfont\next@\relax}%
1259: \else\if s#1\edef#2{\the\scriptscriptfont\next@\relax}%
1260: \else\edef#2{\the\textfont\next@\relax}\fi\fi}
1261: \scriptfont\itfam\tenit \scriptscriptfont\itfam\tenit
1262: \scriptfont\slfam\tensl \scriptscriptfont\slfam\tensl
1263: \newif\iftopfolded@
1264: \newif\ifbotfolded@
1265: \def\topfoldedtext{\topfolded@true\botfolded@false\foldedtext@}
1266: \def\botfoldedtext{\botfolded@true\topfolded@false\foldedtext@}
1267: \def\foldedtext{\topfolded@false\botfolded@false\foldedtext@}
1268: \Invalid@\foldedwidth
1269: \def\foldedtext@{\relaxnext@
1270: \DN@{\ifx\next\foldedwidth\let\next@\nextii@\else
1271: \DN@{\nextii@\foldedwidth{.3\hsize}}\fi\next@}%
1272: \DNii@\foldedwidth##1##2{\setbox\z@\vbox
1273: {\normalbaselines\hsize##1\relax
1274: \tolerance1600 \noindent\ignorespaces##2}\ifbotfolded@\boxz@\else
1275: \iftopfolded@\vtop{\unvbox\z@}\else\vcenter{\boxz@}\fi\fi}%
1276: \FN@\next@}
1277: \message{math font commands,}
1278: \def\bold{\RIfM@\expandafter\bold@\else
1279: \expandafter\nonmatherr@\expandafter\bold\fi}
1280: \def\bold@#1{{\bold@@{#1}}}
1281: \def\bold@@#1{\fam\bffam\relax#1}
1282: \def\slanted{\RIfM@\expandafter\slanted@\else
1283: \expandafter\nonmatherr@\expandafter\slanted\fi}
1284: \def\slanted@#1{{\slanted@@{#1}}}
1285: \def\slanted@@#1{\fam\slfam\relax#1}
1286: \def\roman{\RIfM@\expandafter\roman@\else
1287: \expandafter\nonmatherr@\expandafter\roman\fi}
1288: \def\roman@#1{{\roman@@{#1}}}
1289: \def\roman@@#1{\fam\rmfam\relax#1}
1290: \def\italic{\RIfM@\expandafter\italic@\else
1291: \expandafter\nonmatherr@\expandafter\italic\fi}
1292: \def\italic@#1{{\italic@@{#1}}}
1293: \def\italic@@#1{\fam\itfam\relax#1}
1294: \def\Cal{\RIfM@\expandafter\Cal@\else
1295: \expandafter\nonmatherr@\expandafter\Cal\fi}
1296: \def\Cal@#1{{\Cal@@{#1}}}
1297: \def\Cal@@#1{\noaccents@\fam\tw@#1}
1298: \mathchardef\Gamma="0000
1299: \mathchardef\Delta="0001
1300: \mathchardef\Theta="0002
1301: \mathchardef\Lambda="0003
1302: \mathchardef\Xi="0004
1303: \mathchardef\Pi="0005
1304: \mathchardef\Sigma="0006
1305: \mathchardef\Upsilon="0007
1306: \mathchardef\Phi="0008
1307: \mathchardef\Psi="0009
1308: \mathchardef\Omega="000A
1309: \mathchardef\varGamma="0100
1310: \mathchardef\varDelta="0101
1311: \mathchardef\varTheta="0102
1312: \mathchardef\varLambda="0103
1313: \mathchardef\varXi="0104
1314: \mathchardef\varPi="0105
1315: \mathchardef\varSigma="0106
1316: \mathchardef\varUpsilon="0107
1317: \mathchardef\varPhi="0108
1318: \mathchardef\varPsi="0109
1319: \mathchardef\varOmega="010A
1320: \let\alloc@@\alloc@
1321: \def\hexnumber@#1{\ifcase#1 0\or 1\or 2\or 3\or 4\or 5\or 6\or 7\or 8\or
1322: 9\or A\or B\or C\or D\or E\or F\fi}
1323: \def\loadmsam{%
1324: \font@\tenmsa=msam10
1325: \font@\sevenmsa=msam7
1326: \font@\fivemsa=msam5
1327: \alloc@@8\fam\chardef\sixt@@n\msafam
1328: \textfont\msafam=\tenmsa
1329: \scriptfont\msafam=\sevenmsa
1330: \scriptscriptfont\msafam=\fivemsa
1331: \edef\next{\hexnumber@\msafam}%
1332: \mathchardef\dabar@"0\next39
1333: \edef\dashrightarrow{\mathrel{\dabar@\dabar@\mathchar"0\next4B}}%
1334: \edef\dashleftarrow{\mathrel{\mathchar"0\next4C\dabar@\dabar@}}%
1335: \let\dasharrow\dashrightarrow
1336: \edef\ulcorner{\delimiter"4\next70\next70 }%
1337: \edef\urcorner{\delimiter"5\next71\next71 }%
1338: \edef\llcorner{\delimiter"4\next78\next78 }%
1339: \edef\lrcorner{\delimiter"5\next79\next79 }%
1340: \edef\yen{{\noexpand\mathhexbox@\next55}}%
1341: \edef\checkmark{{\noexpand\mathhexbox@\next58}}%
1342: \edef\circledR{{\noexpand\mathhexbox@\next72}}%
1343: \edef\maltese{{\noexpand\mathhexbox@\next7A}}%
1344: \global\let\loadmsam\empty}%
1345: \def\loadmsbm{%
1346: \font@\tenmsb=msbm10 \font@\sevenmsb=msbm7 \font@\fivemsb=msbm5
1347: \alloc@@8\fam\chardef\sixt@@n\msbfam
1348: \textfont\msbfam=\tenmsb
1349: \scriptfont\msbfam=\sevenmsb \scriptscriptfont\msbfam=\fivemsb
1350: \global\let\loadmsbm\empty
1351: }
1352: \def\widehat#1{\ifx\undefined\msbfam \DN@{362}%
1353: \else \setboxz@h{$\m@th#1$}%
1354: \edef\next@{\ifdim\wdz@>\tw@ em%
1355: \hexnumber@\msbfam 5B%
1356: \else 362\fi}\fi
1357: \mathaccent"0\next@{#1}}
1358: \def\widetilde#1{\ifx\undefined\msbfam \DN@{365}%
1359: \else \setboxz@h{$\m@th#1$}%
1360: \edef\next@{\ifdim\wdz@>\tw@ em%
1361: \hexnumber@\msbfam 5D%
1362: \else 365\fi}\fi
1363: \mathaccent"0\next@{#1}}
1364: \message{\string\newsymbol,}
1365: \def\newsymbol#1#2#3#4#5{\define#1{}%
1366: \count@#2\relax \advance\count@\m@ne % to push case 0 to the \else clause
1367: \ifcase\count@
1368: \ifx\undefined\msafam\loadmsam\fi \let\next@\msafam
1369: \or \ifx\undefined\msbfam\loadmsbm\fi \let\next@\msbfam
1370: \else \Err@{\Invalid@@\string\newsymbol}\let\next@\tw@\fi
1371: \mathchardef#1="#3\hexnumber@\next@#4#5\space}
1372: \def\UseAMSsymbols{\loadmsam\loadmsbm \input amssym.tex }
1373: \def\Bbb{\RIfM@\expandafter\Bbb@\else
1374: \expandafter\nonmatherr@\expandafter\Bbb\fi}
1375: \def\Bbb@#1{{\Bbb@@{#1}}}
1376: \def\Bbb@@#1{\noaccents@\fam\msbfam\relax#1}
1377: \message{bold Greek and bold symbols,}
1378: \def\loadbold{%
1379: \font@\tencmmib=cmmib10 \font@\sevencmmib=cmmib7 \font@\fivecmmib=cmmib5
1380: \skewchar\tencmmib'177 \skewchar\sevencmmib'177 \skewchar\fivecmmib'177
1381: \alloc@@8\fam\chardef\sixt@@n\cmmibfam
1382: \textfont\cmmibfam\tencmmib
1383: \scriptfont\cmmibfam\sevencmmib \scriptscriptfont\cmmibfam\fivecmmib
1384: \font@\tencmbsy=cmbsy10 \font@\sevencmbsy=cmbsy7 \font@\fivecmbsy=cmbsy5
1385: \skewchar\tencmbsy'60 \skewchar\sevencmbsy'60 \skewchar\fivecmbsy'60
1386: \alloc@@8\fam\chardef\sixt@@n\cmbsyfam
1387: \textfont\cmbsyfam\tencmbsy
1388: \scriptfont\cmbsyfam\sevencmbsy \scriptscriptfont\cmbsyfam\fivecmbsy
1389: \let\loadbold\empty
1390: }
1391: \def\boldnotloaded#1{\Err@{\ifcase#1\or First\else Second\fi
1392: bold symbol font not loaded}}
1393: \def\mathchari@#1#2#3{\ifx\undefined\cmmibfam
1394: \boldnotloaded@\@ne
1395: \else\mathchar"#1\hexnumber@\cmmibfam#2#3\space \fi}
1396: \def\mathcharii@#1#2#3{\ifx\undefined\cmbsyfam
1397: \boldnotloaded\tw@
1398: \else \mathchar"#1\hexnumber@\cmbsyfam#2#3\space\fi}
1399: \edef\bffam@{\hexnumber@\bffam}
1400: \def\boldkey#1{\ifcat\noexpand#1A%
1401: \ifx\undefined\cmmibfam \boldnotloaded\@ne
1402: \else {\fam\cmmibfam#1}\fi
1403: \else
1404: \ifx#1!\mathchar"5\bffam@21 \else
1405: \ifx#1(\mathchar"4\bffam@28 \else\ifx#1)\mathchar"5\bffam@29 \else
1406: \ifx#1+\mathchar"2\bffam@2B \else\ifx#1:\mathchar"3\bffam@3A \else
1407: \ifx#1;\mathchar"6\bffam@3B \else\ifx#1=\mathchar"3\bffam@3D \else
1408: \ifx#1?\mathchar"5\bffam@3F \else\ifx#1[\mathchar"4\bffam@5B \else
1409: \ifx#1]\mathchar"5\bffam@5D \else
1410: \ifx#1,\mathchari@63B \else
1411: \ifx#1-\mathcharii@200 \else
1412: \ifx#1.\mathchari@03A \else
1413: \ifx#1/\mathchari@03D \else
1414: \ifx#1<\mathchari@33C \else
1415: \ifx#1>\mathchari@33E \else
1416: \ifx#1*\mathcharii@203 \else
1417: \ifx#1|\mathcharii@06A \else
1418: \ifx#10\bold0\else\ifx#11\bold1\else\ifx#12\bold2\else\ifx#13\bold3\else
1419: \ifx#14\bold4\else\ifx#15\bold5\else\ifx#16\bold6\else\ifx#17\bold7\else
1420: \ifx#18\bold8\else\ifx#19\bold9\else
1421: \Err@{\string\boldkey\space can't be used with #1}%
1422: \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
1423: \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}
1424: \def\boldsymbol#1{%
1425: \DN@{\Err@{You can't use \string\boldsymbol\space with \string#1}#1}%
1426: \ifcat\noexpand#1A%
1427: \let\next@\relax
1428: \ifx\undefined\cmmibfam \boldnotloaded\@ne
1429: \else {\fam\cmmibfam#1}\fi
1430: \else
1431: \xdef\meaning@{\meaning#1.........}%
1432: \expandafter\math@\meaning@\math@
1433: \ifmath@
1434: \expandafter\mathch@\meaning@\mathch@
1435: \ifmathch@
1436: \expandafter\boldsymbol@@\meaning@\boldsymbol@@
1437: \fi
1438: \else
1439: \expandafter\macro@\meaning@\macro@
1440: \expandafter\delim@\meaning@\delim@
1441: \ifdelim@
1442: \expandafter\delim@@\meaning@\delim@@
1443: \else
1444: \boldsymbol@{#1}%
1445: \fi
1446: \fi
1447: \fi
1448: \next@}
1449: \def\mathhexboxii@#1#2{\ifx\undefined\cmbsyfam
1450: \boldnotloaded\tw@
1451: \else \mathhexbox@{\hexnumber@\cmbsyfam}{#1}{#2}\fi}
1452: \def\boldsymbol@#1{\let\next@\relax\let\next#1%
1453: \ifx\next\cdot\mathcharii@201 \else
1454: \ifx\next\prime{{\null\mathcharii@030 \null}}\else
1455: \ifx\next\lbrack\mathchar"4\bffam@5B \else
1456: \ifx\next\rbrack\mathchar"5\bffam@5D \else
1457: \ifx\next\{\mathcharii@466 \else
1458: \ifx\next\lbrace\mathcharii@466 \else
1459: \ifx\next\}\mathcharii@567 \else
1460: \ifx\next\rbrace\mathcharii@567 \else
1461: \ifx\next\surd{{\mathcharii@170}}\else
1462: \ifx\next\S{{\mathhexboxii@78}}\else
1463: \ifx\next\P{{\mathhexboxii@7B}}\else
1464: \ifx\next\dag{{\mathhexboxii@79}}\else
1465: \ifx\next\ddag{{\mathhexboxii@7A}}\else
1466: \DN@{\Err@{You can't use \string\boldsymbol\space with \string#1}#1}%
1467: \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}
1468: \def\boldsymbol@@#1.#2\boldsymbol@@{\classnum@#1 \count@@@\classnum@ %1
1469: \divide\classnum@4096 \count@\classnum@ %2
1470: \multiply\count@4096 \advance\count@@@-\count@ \count@@\count@@@ %3
1471: \divide\count@@@\@cclvi \count@\count@@ %4
1472: \multiply\count@@@\@cclvi \advance\count@@-\count@@@ %5
1473: \divide\count@@@\@cclvi %6
1474: \multiply\classnum@4096 \advance\classnum@\count@@ %7
1475: \ifnum\count@@@=\z@ %8
1476: \count@"\bffam@ \multiply\count@\@cclvi
1477: \advance\classnum@\count@
1478: \DN@{\mathchar\number\classnum@}%
1479: \else
1480: \ifnum\count@@@=\@ne %9
1481: \ifx\undefined\cmmibfam \DN@{\boldnotloaded\@ne}%
1482: \else \count@\cmmibfam \multiply\count@\@cclvi
1483: \advance\classnum@\count@
1484: \DN@{\mathchar\number\classnum@}\fi
1485: \else
1486: \ifnum\count@@@=\tw@ %10
1487: \ifx\undefined\cmbsyfam
1488: \DN@{\boldnotloaded\tw@}%
1489: \else
1490: \count@\cmbsyfam \multiply\count@\@cclvi
1491: \advance\classnum@\count@
1492: \DN@{\mathchar\number\classnum@}%
1493: \fi
1494: \fi
1495: \fi
1496: \fi}
1497: \newif\ifdelim@
1498: \newcount\delimcount@
1499: {\uccode`6=`\\ \uccode`7=`d \uccode`8=`e \uccode`9=`l
1500: \uppercase{\gdef\delim@#1#2#3#4#5\delim@
1501: {\delim@false\ifx 6#1\ifx 7#2\ifx 8#3\ifx 9#4\delim@true
1502: \xdef\meaning@{#5}\fi\fi\fi\fi}}}
1503: \def\delim@@#1"#2#3#4#5#6\delim@@{\if#32%
1504: \let\next@\relax
1505: \ifx\undefined\cmbsyfam \boldnotloaded\@ne
1506: \else \mathcharii@#2#4#5\space \fi\fi}
1507: \def\vert{\delimiter"026A30C }
1508: \def\Vert{\delimiter"026B30D }
1509: \let\|\Vert
1510: \def\backslash{\delimiter"026E30F }
1511: \def\boldkeydots@#1{\bold@true\let\next=#1\let\delayed@=#1\mdots@@
1512: \boldkey#1\bold@false} % = required!
1513: \def\boldsymboldots@#1{\bold@true\let\next#1\let\delayed@#1\mdots@@
1514: \boldsymbol#1\bold@false}
1515: \message{Euler fonts,}
1516: \def\loadeufm{\loadmathfont{eufm}}
1517: \def\loadeufb{\loadmathfont{eufb}}
1518: \def\loadeusm{\loadmathfont{eusm}}
1519: \def\loadeusb{\loadmathfont{eusb}}
1520: \def\loadeurm{\loadmathfont{eurm}}
1521: \def\loadeurb{\loadmathfont{eurb}}
1522: \def\frak{\mathfont@\frak}
1523: \def\frakfam{\eufmfam}
1524: \let\goth\frak
1525: \def\loadmathfont#1{%
1526: \expandafter\font@\csname ten#1\endcsname=#110
1527: \expandafter\font@\csname seven#1\endcsname=#17
1528: \expandafter\font@\csname five#1\endcsname=#15
1529: \edef\next{\noexpand\alloc@@8\fam\chardef\sixt@@n
1530: \expandafter\noexpand\csname#1fam\endcsname}%
1531: \next
1532: \textfont\csname#1fam\endcsname \csname ten#1\endcsname
1533: \scriptfont\csname#1fam\endcsname \csname seven#1\endcsname
1534: \scriptscriptfont\csname#1fam\endcsname \csname five#1\endcsname
1535: \expandafter\def\csname #1\expandafter\endcsname\expandafter{%
1536: \expandafter\mathfont@\csname#1\endcsname}%
1537: \expandafter\gdef\csname load#1\endcsname{}%
1538: }
1539: \def\mathfont@#1{\RIfM@\expandafter\mathfont@@\expandafter#1\else
1540: \expandafter\nonmatherr@\expandafter#1\fi}
1541: \def\mathfont@@#1#2{{\mathfont@@@#1{#2}}}
1542: \def\mathfont@@@#1#2{\noaccents@
1543: \fam\csname\expandafter\eat@\string#1fam\endcsname
1544: \relax#2}
1545: \message{math accents,}
1546: \def\accentclass@{7}
1547: \def\noaccents@{\def\accentclass@{0}}
1548: \def\makeacc@#1#2{\def#1{\mathaccent"\accentclass@#2 }}
1549: \makeacc@\hat{05E}
1550: \makeacc@\check{014}
1551: \makeacc@\tilde{07E}
1552: \makeacc@\acute{013}
1553: \makeacc@\grave{012}
1554: \makeacc@\dot{05F}
1555: \makeacc@\ddot{07F}
1556: \makeacc@\breve{015}
1557: \makeacc@\bar{016}
1558: \def\vec{\mathaccent"017E }
1559: \newcount\skewcharcount@
1560: \newcount\familycount@
1561: \def\theskewchar@{\familycount@\@ne
1562: \global\skewcharcount@\the\skewchar\textfont\@ne %1
1563: \ifnum\fam>\m@ne\ifnum\fam<16
1564: \global\familycount@\the\fam\relax
1565: \global\skewcharcount@\the\skewchar\textfont\the\fam\relax\fi\fi %2
1566: \ifnum\skewcharcount@>\m@ne
1567: \ifnum\skewcharcount@<128
1568: \multiply\familycount@256
1569: \global\advance\skewcharcount@\familycount@
1570: \global\advance\skewcharcount@28672
1571: \mathchar\skewcharcount@\else
1572: \global\skewcharcount@\m@ne\fi\else
1573: \global\skewcharcount@\m@ne\fi} %3
1574: \newcount\pointcount@
1575: \def\getpoints@#1.#2\getpoints@{\pointcount@#1 }
1576: \newdimen\accentdimen@
1577: \newcount\accentmu@
1578: \def\dimentomu@{\multiply\accentdimen@ 100
1579: \expandafter\getpoints@\the\accentdimen@\getpoints@
1580: \multiply\pointcount@18
1581: \divide\pointcount@\@m
1582: \global\accentmu@\pointcount@}
1583: \def\Makeacc@#1#2{\def#1{\RIfM@\DN@{\mathaccent@
1584: {"\accentclass@#2 }}\else\DN@{\nonmatherr@{#1}}\fi\next@}}
1585: \def\unbracefonts@{\let\Cal@\Cal@@\let\roman@\roman@@\let\bold@\bold@@
1586: \let\slanted@\slanted@@}
1587: \def\mathaccent@#1#2{\ifnum\fam=\m@ne\xdef\thefam@{1}\else
1588: \xdef\thefam@{\the\fam}\fi %1
1589: \accentdimen@\z@ %2
1590: \setboxz@h{\unbracefonts@$\m@th\fam\thefam@\relax#2$}% %3
1591: \ifdim\accentdimen@=\z@\DN@{\mathaccent#1{#2}}% %4
1592: \setbox@ne\hbox{\unbracefonts@$\m@th\fam\thefam@\relax#2\theskewchar@$}% %5a
1593: \setbox\tw@\hbox{$\m@th\ifnum\skewcharcount@=\m@ne\else
1594: \mathchar\skewcharcount@\fi$}% %5b
1595: \global\accentdimen@\wd@ne\global\advance\accentdimen@-\wdz@
1596: \global\advance\accentdimen@-\wd\tw@ %5c
1597: \global\multiply\accentdimen@\tw@
1598: \dimentomu@\global\advance\accentmu@\@ne %5d
1599: \else\DN@{{\mathaccent#1{#2\mkern\accentmu@ mu}%
1600: \mkern-\accentmu@ mu}{}}\fi %6
1601: \next@}\Makeacc@\Hat{05E}
1602: \Makeacc@\Check{014}
1603: \Makeacc@\Tilde{07E}
1604: \Makeacc@\Acute{013}
1605: \Makeacc@\Grave{012}
1606: \Makeacc@\Dot{05F}
1607: \Makeacc@\Ddot{07F}
1608: \Makeacc@\Breve{015}
1609: \Makeacc@\Bar{016}
1610: \def\Vec{\RIfM@\DN@{\mathaccent@{"017E }}\else
1611: \DN@{\nonmatherr@\Vec}\fi\next@}
1612: \def\accentedsymbol#1#2{\csname newbox\expandafter\endcsname
1613: \csname\expandafter\eat@\string#1@box\endcsname
1614: \expandafter\setbox\csname\expandafter\eat@
1615: \string#1@box\endcsname\hbox{$\m@th#2$}\define
1616: #1{\copy\csname\expandafter\eat@\string#1@box\endcsname{}}}
1617: \message{roots,}
1618: \def\sqrt#1{\radical"270370 {#1}}
1619: \let\underline@\underline
1620: \let\overline@\overline
1621: \def\underline#1{\underline@{#1}}
1622: \def\overline#1{\overline@{#1}}
1623: \Invalid@\leftroot
1624: \Invalid@\uproot
1625: \newcount\uproot@
1626: \newcount\leftroot@
1627: \def\root{\relaxnext@
1628: \DN@{\ifx\next\uproot\let\next@\nextii@\else
1629: \ifx\next\leftroot\let\next@\nextiii@\else
1630: \let\next@\plainroot@\fi\fi\next@}%
1631: \DNii@\uproot##1{\uproot@##1\relax\FN@\nextiv@}%
1632: \def\nextiv@{\ifx\next\space@\DN@. {\FN@\nextv@}\else
1633: \DN@.{\FN@\nextv@}\fi\next@.}%
1634: \def\nextv@{\ifx\next\leftroot\let\next@\nextvi@\else
1635: \let\next@\plainroot@\fi\next@}%
1636: \def\nextvi@\leftroot##1{\leftroot@##1\relax\plainroot@}%
1637: \def\nextiii@\leftroot##1{\leftroot@##1\relax\FN@\nextvii@}%
1638: \def\nextvii@{\ifx\next\space@
1639: \DN@. {\FN@\nextviii@}\else
1640: \DN@.{\FN@\nextviii@}\fi\next@.}%
1641: \def\nextviii@{\ifx\next\uproot\let\next@\nextix@\else
1642: \let\next@\plainroot@\fi\next@}%
1643: \def\nextix@\uproot##1{\uproot@##1\relax\plainroot@}%
1644: \bgroup\uproot@\z@\leftroot@\z@\FN@\next@}
1645: \def\plainroot@#1\of#2{\setbox\rootbox\hbox{$\m@th\scriptscriptstyle{#1}$}%
1646: \mathchoice{\r@@t\displaystyle{#2}}{\r@@t\textstyle{#2}}
1647: {\r@@t\scriptstyle{#2}}{\r@@t\scriptscriptstyle{#2}}\egroup}
1648: \def\r@@t#1#2{\setboxz@h{$\m@th#1\sqrt{#2}$}%
1649: \dimen@\ht\z@\advance\dimen@-\dp\z@
1650: \setbox@ne\hbox{$\m@th#1\mskip\uproot@ mu$}\advance\dimen@ 1.667\wd@ne
1651: \mkern-\leftroot@ mu\mkern5mu\raise.6\dimen@\copy\rootbox
1652: \mkern-10mu\mkern\leftroot@ mu\boxz@}
1653: \def\boxed#1{\setboxz@h{$\m@th\displaystyle{#1}$}\dimen@.4\ex@
1654: \advance\dimen@3\ex@\advance\dimen@\dp\z@
1655: \hbox{\lower\dimen@\hbox{%
1656: \vbox{\hrule height.4\ex@
1657: \hbox{\vrule width.4\ex@\hskip3\ex@\vbox{\vskip3\ex@\boxz@\vskip3\ex@}%
1658: \hskip3\ex@\vrule width.4\ex@}\hrule height.4\ex@}%
1659: }}}
1660: \message{commutative diagrams,}
1661: \let\ampersand@\relax
1662: \newdimen\minaw@
1663: \minaw@11.11128\ex@
1664: \newdimen\minCDaw@
1665: \minCDaw@2.5pc
1666: \def\minCDarrowwidth#1{\RIfMIfI@\onlydmatherr@\minCDarrowwidth
1667: \else\minCDaw@#1\relax\fi\else\onlydmatherr@\minCDarrowwidth\fi}
1668: \newif\ifCD@
1669: \def\CD{\bgroup\vspace@\relax\iffalse{\fi\let\ampersand@&\iffalse}\fi
1670: \CD@true\vcenter\bgroup\Let@\tabskip\z@skip\baselineskip20\ex@
1671: \lineskip3\ex@\lineskiplimit3\ex@\halign\bgroup
1672: &\hfill$\m@th##$\hfill\crcr}
1673: \def\endCD{\crcr\egroup\egroup\egroup}
1674: \newdimen\bigaw@
1675: \atdef@>#1>#2>{\ampersand@ %1
1676: \setboxz@h{$\m@th\ssize\;{#1}\;\;$}% %2
1677: \setbox@ne\hbox{$\m@th\ssize\;{#2}\;\;$}% %3
1678: \setbox\tw@\hbox{$\m@th#2$}% %4
1679: \ifCD@\global\bigaw@\minCDaw@\else\global\bigaw@\minaw@\fi %5
1680: \ifdim\wdz@>\bigaw@\global\bigaw@\wdz@\fi
1681: \ifdim\wd@ne>\bigaw@\global\bigaw@\wd@ne\fi %6
1682: \ifCD@\enskip\fi %7
1683: \ifdim\wd\tw@>\z@
1684: \mathrel{\mathop{\hbox to\bigaw@{\rightarrowfill@\displaystyle}}%
1685: \limits^{#1}_{#2}}% %8
1686: \else\mathrel{\mathop{\hbox to\bigaw@{\rightarrowfill@\displaystyle}}%
1687: \limits^{#1}}\fi %9
1688: \ifCD@\enskip\fi %10
1689: \ampersand@} %11
1690: \atdef@<#1<#2<{\ampersand@\setboxz@h{$\m@th\ssize\;\;{#1}\;$}%
1691: \setbox@ne\hbox{$\m@th\ssize\;\;{#2}\;$}\setbox\tw@\hbox{$\m@th#2$}%
1692: \ifCD@\global\bigaw@\minCDaw@\else\global\bigaw@\minaw@\fi
1693: \ifdim\wdz@>\bigaw@\global\bigaw@\wdz@\fi
1694: \ifdim\wd@ne>\bigaw@\global\bigaw@\wd@ne\fi
1695: \ifCD@\enskip\fi
1696: \ifdim\wd\tw@>\z@
1697: \mathrel{\mathop{\hbox to\bigaw@{\leftarrowfill@\displaystyle}}%
1698: \limits^{#1}_{#2}}\else
1699: \mathrel{\mathop{\hbox to\bigaw@{\leftarrowfill@\displaystyle}}%
1700: \limits^{#1}}\fi
1701: \ifCD@\enskip\fi\ampersand@}
1702: \begingroup
1703: \catcode`\~=\active \lccode`\~=`\@
1704: \lowercase{%
1705: \global\atdef@)#1)#2){~>#1>#2>}
1706: \global\atdef@(#1(#2({~<#1<#2<}}
1707: \endgroup
1708: \atdef@ A#1A#2A{\llap{$\m@th\vcenter{\hbox
1709: {$\ssize#1$}}$}\Big\uparrow\rlap{$\m@th\vcenter{\hbox{$\ssize#2$}}$}&&}
1710: \atdef@ V#1V#2V{\llap{$\m@th\vcenter{\hbox
1711: {$\ssize#1$}}$}\Big\downarrow\rlap{$\m@th\vcenter{\hbox{$\ssize#2$}}$}&&}
1712: \atdef@={&\enskip\mathrel
1713: {\vbox{\hrule width\minCDaw@\vskip3\ex@\hrule width
1714: \minCDaw@}}\enskip&}
1715: \atdef@|{\Big\Vert&&}
1716: \atdef@\vert{\Big\Vert&&}
1717: \def\pretend#1\haswidth#2{\setboxz@h{$\m@th\scriptstyle{#2}$}\hbox
1718: to\wdz@{\hfill$\m@th\scriptstyle{#1}$\hfill}}
1719: \message{poor man's bold,}
1720: \def\pmb{\RIfM@\expandafter\mathpalette\expandafter\pmb@\else
1721: \expandafter\pmb@@\fi}
1722: \def\pmb@@#1{\leavevmode\setboxz@h{#1}%
1723: \dimen@-\wdz@
1724: \kern-.5\ex@\copy\z@
1725: \kern\dimen@\kern.25\ex@\raise.4\ex@\copy\z@
1726: \kern\dimen@\kern.25\ex@\box\z@
1727: }
1728: \def\binrel@@#1{\ifdim\wd2<\z@\mathbin{#1}\else\ifdim\wd\tw@>\z@
1729: \mathrel{#1}\else{#1}\fi\fi}
1730: \newdimen\pmbraise@
1731: % Note: because of the use of \mathpalette, if \pmb@ is
1732: % applied to a single math italic character (or a single
1733: % character from some other slanted math font), the italic
1734: % correction will be added. This will cause subscripts
1735: % to fall too far away from the character in some
1736: % cases, e.g., $\pmb{T}_1$ or $\pmb{\Cal T}_1$.
1737: \def\pmb@#1#2{\setbox\thr@@\hbox{$\m@th#1{#2}$}%
1738: \setbox4\hbox{$\m@th#1\mkern.5mu$}\pmbraise@\wd4\relax
1739: \binrel@{#2}%
1740: \dimen@-\wd\thr@@
1741: \binrel@@{%
1742: \mkern-.8mu\copy\thr@@
1743: \kern\dimen@\mkern.4mu\raise\pmbraise@\copy\thr@@
1744: \kern\dimen@\mkern.4mu\box\thr@@
1745: }}
1746: \def\documentstyle#1{\W@{}\input #1.sty\relax}
1747: \message{syntax check,}
1748: \font\dummyft@=dummy
1749: \fontdimen1 \dummyft@=\z@
1750: \fontdimen2 \dummyft@=\z@
1751: \fontdimen3 \dummyft@=\z@
1752: \fontdimen4 \dummyft@=\z@
1753: \fontdimen5 \dummyft@=\z@
1754: \fontdimen6 \dummyft@=\z@
1755: \fontdimen7 \dummyft@=\z@
1756: \fontdimen8 \dummyft@=\z@
1757: \fontdimen9 \dummyft@=\z@
1758: \fontdimen10 \dummyft@=\z@
1759: \fontdimen11 \dummyft@=\z@
1760: \fontdimen12 \dummyft@=\z@
1761: \fontdimen13 \dummyft@=\z@
1762: \fontdimen14 \dummyft@=\z@
1763: \fontdimen15 \dummyft@=\z@
1764: \fontdimen16 \dummyft@=\z@
1765: \fontdimen17 \dummyft@=\z@
1766: \fontdimen18 \dummyft@=\z@
1767: \fontdimen19 \dummyft@=\z@
1768: \fontdimen20 \dummyft@=\z@
1769: \fontdimen21 \dummyft@=\z@
1770: \fontdimen22 \dummyft@=\z@
1771: \def\fontlist@{\\{\tenrm}\\{\sevenrm}\\{\fiverm}\\{\teni}\\{\seveni}%
1772: \\{\fivei}\\{\tensy}\\{\sevensy}\\{\fivesy}\\{\tenex}\\{\tenbf}\\{\sevenbf}%
1773: \\{\fivebf}\\{\tensl}\\{\tenit}}
1774: \def\font@#1=#2 {\rightappend@#1\to\fontlist@\font#1=#2 }
1775: \def\dodummy@{{\def\\##1{\global\let##1\dummyft@}\fontlist@}}
1776: \def\nopages@{\output{\setbox\z@\box\@cclv \deadcycles\z@}%
1777: \alloc@5\toks\toksdef\@cclvi\output}
1778: \let\galleys\nopages@
1779: \newif\ifsyntax@
1780: \newcount\countxviii@
1781: \def\syntax{\syntax@true\dodummy@\countxviii@\count18
1782: \loop\ifnum\countxviii@>\m@ne\textfont\countxviii@=\dummyft@
1783: \scriptfont\countxviii@=\dummyft@\scriptscriptfont\countxviii@=\dummyft@
1784: \advance\countxviii@\m@ne\repeat %1
1785: \dummyft@\tracinglostchars\z@\nopages@\frenchspacing\hbadness\@M}
1786: \def\first@#1#2\end{#1}
1787: \def\printoptions{\W@{Do you want S(yntax check),
1788: G(alleys) or P(ages)?}%
1789: \message{Type S, G or P, followed by <return>: }%
1790: \begingroup % to localize the following change to \endlinechar:
1791: \endlinechar\m@ne % to prevent a space or \par in \ans@ from ^^M
1792: \read\m@ne to\ans@
1793: % Define \ans@ to uppercase itself, and default to P if the user
1794: % just pressed <return>.
1795: \edef\ans@{\uppercase{\def\noexpand\ans@{%
1796: \expandafter\first@\ans@ P\end}}}%
1797: % Cast the new definition of \ans@ outside the group
1798: \expandafter\endgroup\ans@
1799: \if\ans@ P% fine, no action needs to be taken
1800: \else \if\ans@ S\syntax
1801: \else \if\ans@ G\galleys
1802: \else\message{? Unknown option: \ans@; using the `pages' option.}%
1803: \fi\fi\fi}
1804: \def\alloc@#1#2#3#4#5{\global\advance\count1#1by\@ne
1805: \ch@ck#1#4#2\allocationnumber=\count1#1
1806: \global#3#5=\allocationnumber
1807: \ifalloc@\wlog{\string#5=\string#2\the\allocationnumber}\fi}
1808: \def\document{\def\alloclist@{}\def\fontlist@{}}
1809: \let\enddocument\bye
1810: \let\plainproclaim\proclaim
1811: \let\plainfootnote\footnote
1812: \let\proclaim\undefined
1813: \let\footnote\undefined
1814: \let\=\undefined
1815: \let\>\undefined
1816: \let\cal\undefined
1817: \let\mit\undefined
1818: \let\oldstyle\undefined
1819: \catcode`\@=\active
1820: \message{... finished}
1821:
1822: % *** end including amstex.tex ***
1823: % % \input mathdefs
1824: % *** start including mathdefs.tex ***
1825: \expandafter\ifx\csname mathdefs.tex\endcsname\relax
1826: \expandafter\gdef\csname mathdefs.tex\endcsname{}
1827: \else \message{Hey! Apparently you were trying to
1828: \string\input{mathdefs.tex} twice. This does not make sense.}
1829: \errmessage{Please edit your file (probably \jobname.tex) and remove
1830: any duplicate ``\string\input'' lines}\endinput\fi
1831:
1832:
1833: %mathdefs.tex v1.3.2
1834:
1835: %%% Changes from v1.0: footnote macros, warning for duplicated tags,
1836: %%% control sequences \( and \verbatimtags.
1837: %%% From v1.2: \pretags, redefinition of \( using \ifinner, multi-part
1838: %%% equation numbering, control sequences \[, \references, and
1839: %%% \resetbracket.
1840: %%% From v1.3: \rm in \lastpart; write root of multi-part tag to .tgs
1841:
1842: %See file texdefs.doc for documentation.
1843:
1844: \catcode`\X=12\catcode`\@=11
1845:
1846: %Minor control sequences:
1847: \def\n@wcount{\alloc@0\count\countdef\insc@unt}
1848: \def\n@wwrite{\alloc@7\write\chardef\sixt@@n}
1849: \def\n@wread{\alloc@6\read\chardef\sixt@@n}
1850: \def\r@s@t{\relax}\def\v@idline{\par}\def\@mputate#1/{#1}
1851: \def\l@c@l#1X{\firstpart.#1}\def\gl@b@l#1X{#1}\def\t@d@l#1X{{}}
1852:
1853: %Creation of tag families and output of assignments and citations:
1854: \def\crossrefs#1{\ifx\all#1\let\tr@ce=\all\else\def\tr@ce{#1,}\fi
1855: \n@wwrite\cit@tionsout\openout\cit@tionsout=\jobname.cit
1856: \write\cit@tionsout{\tr@ce}\expandafter\setfl@gs\tr@ce,}
1857: \def\setfl@gs#1,{\def\@{#1}\ifx\@\empty\let\next=\relax
1858: \else\let\next=\setfl@gs\expandafter\xdef
1859: \csname#1tr@cetrue\endcsname{}\fi\next}
1860: \def\m@ketag#1#2{\expandafter\n@wcount\csname#2tagno\endcsname
1861: \csname#2tagno\endcsname=0\let\tail=\all\xdef\all{\tail#2,}
1862: \ifx#1\l@c@l\let\tail=\r@s@t\xdef\r@s@t{\csname#2tagno\endcsname=0\tail}\fi
1863: \expandafter\gdef\csname#2cite\endcsname##1{\expandafter
1864: \ifx\csname#2tag##1\endcsname\relax?\else\csname#2tag##1\endcsname\fi
1865: \expandafter\ifx\csname#2tr@cetrue\endcsname\relax\else
1866: \write\cit@tionsout{#2tag ##1 cited on page \folio.}\fi}
1867: \expandafter\gdef\csname#2page\endcsname##1{\expandafter
1868: \ifx\csname#2page##1\endcsname\relax?\else\csname#2page##1\endcsname\fi
1869: \expandafter\ifx\csname#2tr@cetrue\endcsname\relax\else
1870: \write\cit@tionsout{#2tag ##1 cited on page \folio.}\fi}
1871: \expandafter\gdef\csname#2tag\endcsname##1{\expandafter
1872: \ifx\csname#2check##1\endcsname\relax
1873: \expandafter\xdef\csname#2check##1\endcsname{}%
1874: \else\immediate\write16{Warning: #2tag ##1 used more than once.}\fi
1875: \multit@g{#1}{#2}##1/X%
1876: \write\t@gsout{#2tag ##1 assigned number \csname#2tag##1\endcsname\space
1877: on page \number\count0.}%
1878: \csname#2tag##1\endcsname}}
1879:
1880:
1881: \def\multit@g#1#2#3/#4X{\def\t@mp{#4}\ifx\t@mp\empty%
1882: \global\advance\csname#2tagno\endcsname by 1
1883: \expandafter\xdef\csname#2tag#3\endcsname
1884: {#1\number\csname#2tagno\endcsnameX}%
1885: \else\expandafter\ifx\csname#2last#3\endcsname\relax
1886: \expandafter\n@wcount\csname#2last#3\endcsname
1887: \global\advance\csname#2tagno\endcsname by 1
1888: \expandafter\xdef\csname#2tag#3\endcsname
1889: {#1\number\csname#2tagno\endcsnameX}
1890: \write\t@gsout{#2tag #3 assigned number \csname#2tag#3\endcsname\space
1891: on page \number\count0.}\fi
1892: \global\advance\csname#2last#3\endcsname by 1
1893: \def\t@mp{\expandafter\xdef\csname#2tag#3/}%
1894: \expandafter\t@mp\@mputate#4\endcsname
1895: {\csname#2tag#3\endcsname\lastpart{\csname#2last#3\endcsname}}\fi}
1896: \def\t@gs#1{\def\all{}\m@ketag#1e\m@ketag#1s\m@ketag\t@d@l p
1897: \let\realscite\scite
1898: \let\realstag\stag
1899: \m@ketag\gl@b@l r \n@wread\t@gsin
1900: \openin\t@gsin=\jobname.tgs \re@der \closein\t@gsin
1901: \n@wwrite\t@gsout\openout\t@gsout=\jobname.tgs }
1902: \outer\def\localtags{\t@gs\l@c@l}
1903: \outer\def\globaltags{\t@gs\gl@b@l}
1904: \outer\def\newlocaltag#1{\m@ketag\l@c@l{#1}}
1905: \outer\def\newglobaltag#1{\m@ketag\gl@b@l{#1}}
1906:
1907: %Reading in tag information:
1908: \newif\ifpr@
1909: \def\m@kecs #1tag #2 assigned number #3 on page #4.%
1910: {\expandafter\gdef\csname#1tag#2\endcsname{#3}
1911: \expandafter\gdef\csname#1page#2\endcsname{#4}
1912: \ifpr@\expandafter\xdef\csname#1check#2\endcsname{}\fi}
1913: \def\re@der{\ifeof\t@gsin\let\next=\relax\else
1914: \read\t@gsin to\t@gline\ifx\t@gline\v@idline\else
1915: \expandafter\m@kecs \t@gline\fi\let \next=\re@der\fi\next}
1916: \def\pretags#1{\pr@true\pret@gs#1,,}
1917: \def\pret@gs#1,{\def\@{#1}\ifx\@\empty\let\n@xtfile=\relax
1918: \else\let\n@xtfile=\pret@gs \openin\t@gsin=#1.tgs \message{#1} \re@der
1919: \closein\t@gsin\fi \n@xtfile}
1920:
1921: %Sections and subsections; local numbering:
1922: \newcount\sectno\sectno=0\newcount\subsectno\subsectno=0
1923: \newif\ifultr@local \def\ultralocal{\ultr@localtrue}
1924: \def\firstpart{\number\sectno}
1925: \def\lastpart#1{\ifcase#1 \or a\or b\or c\or d\or e\or f\or g\or h\or
1926: i\or k\or l\or m\or n\or o\or p\or q\or r\or s\or t\or u\or v\or w\or
1927: x\or y\or z \fi}
1928: \def\closeup{\vskip-\bigskipamount}
1929: \def\resetall{\global\advance\sectno by 1\subsectno=0
1930: \gdef\firstpart{\number\sectno}\r@s@t}
1931: \def\resetsub{\global\advance\subsectno by 1
1932: \gdef\firstpart{\number\sectno.\number\subsectno}\r@s@t}
1933: \def\newsection#1\par{\resetall\vskip0pt plus.3\vsize\penalty-250
1934: \vskip0pt plus-.3\vsize\bigskip\bigskip
1935: \message{#1}\leftline{\bf#1}\nobreak\bigskip}
1936: \def\subsection#1\par{\ifultr@local\resetsub\fi
1937: \vskip0pt plus.2\vsize\penalty-250\vskip0pt plus-.2\vsize
1938: \bigskip\smallskip\message{#1}\leftline{\bf#1}\nobreak\medskip}
1939:
1940: %jj tags:
1941: % On Andrzej's request: we want to be able
1942: % to show tags as in noverbatim, with verbatim in the margin,
1943: % and cites as in verbatim, with nonverbatim in the margin
1944: % mg -- July 2000
1945:
1946: \newdimen\marginshift
1947:
1948: \newdimen\margindelta
1949: \newdimen\marginmax
1950: \newdimen\marginmin
1951:
1952: \def\margininit{
1953: \marginmax=3 true cm % how much room, approximately
1954:
1955: \margindelta=0.1 true cm % distance between entries
1956: \marginmin=0.1true cm % where will leftmost entry be
1957: \marginshift=\marginmin
1958: } % we cannot execute this right now, since
1959: % there may be a \magnification coming later in the
1960: % main file. So we call \margininit at the end of
1961: % alice2jlem
1962:
1963: \def\t@gsjj#1,{\def\@{#1}\ifx\@\empty\let\next=\relax\else\let\next=\t@gsjj
1964: \def\@@{p}\ifx\@\@@\else
1965: \expandafter\gdef\csname#1cite\endcsname##1{\citejj{##1}}
1966: \expandafter\gdef\csname#1page\endcsname##1{?}
1967: \expandafter\gdef\csname#1tag\endcsname##1{\tagjj{##1}}\fi\fi\next}
1968: \newif\ifshowstuffinmargin
1969: \showstuffinmarginfalse
1970: \def\jjtags{\ifx\shlhetal\relax
1971: % so this is a public version --> no-op
1972: \else
1973: \ifx\shlhetal\undefinedcontrolseq
1974: % again, this is a public version --> no-op
1975: \else
1976: \showstuffinmargintrue
1977: \ifx\all\relax\else\expandafter\t@gsjj\all,\fi\fi \fi
1978: }
1979:
1980: % \def\zeigentag#1{\def\xxy{#1}\show\xxy\show\realstag\realstag#1\mginpar{\hbox{$\langle$}#1\hbox{$\rangle$}}}
1981: % \def\zeigencite#1{\hbox{$\langle$}#1\hbox{$\rangle$}\mginpar{\realscite#1}}
1982:
1983:
1984: \def\tagjj#1{\realstag{#1}\mginpar{\zeigen{#1}}}
1985: % \def\citejj#1{\zeigen{#1}\mginpar{\rechnen{#1}}}
1986: \def\citejj#1{\rechnen{#1}\mginpar{\zeigen{#1}}} % modified Sep 02, saharon's suggestion
1987:
1988: % \def\rechnen#1{rechnen(\expandafter\ifx\csname stag#1\endcsname\relax ??\else
1989: % \csname stag#1\endcsname\fi)endrech }
1990: \def\rechnen#1{\expandafter\ifx\csname stag#1\endcsname\relax ??\else
1991: \csname stag#1\endcsname\fi}
1992:
1993: % \def\zeigentag#1{//#1--\csname stag#1\endcsname::}
1994:
1995: \newdimen\theight
1996:
1997:
1998:
1999: \def\marginfont{\sevenrm}
2000:
2001:
2002:
2003: \def\trymarginbox#1{\setbox0=\hbox{\marginfont\hskip\marginshift #1}%
2004: \global\marginshift\wd0
2005: \global\advance\marginshift\margindelta}
2006:
2007:
2008: \def \mginpar#1{%
2009: \ifvmode\setbox0\hbox to \hsize{\hfill\rlap{\marginfont\quad#1}}%
2010: \ht0 0cm
2011: \dp0 0cm
2012: \box0\vskip-\baselineskip
2013: \else
2014: \vadjust{\trymarginbox{#1}%
2015: \ifdim\marginshift>\marginmax \global\marginshift\marginmin
2016: \trymarginbox{#1}%
2017: \fi
2018: \theight=\ht0
2019: \advance\theight by \dp0 \advance\theight by \lineskip
2020: \kern -\theight \vbox to \theight{\rightline{\rlap{\box0}}%
2021: \vss}}\fi}
2022:
2023:
2024: % \def\mginpar#1{mg-#1-mg }
2025:
2026:
2027:
2028: %Verbatim tags:
2029: \def\t@gsoff#1,{\def\@{#1}\ifx\@\empty\let\next=\relax\else\let\next=\t@gsoff
2030: \def\@@{p}\ifx\@\@@\else
2031: \expandafter\gdef\csname#1cite\endcsname##1{\zeigen{##1}}
2032: \expandafter\gdef\csname#1page\endcsname##1{?}
2033: \expandafter\gdef\csname#1tag\endcsname##1{\zeigen{##1}}\fi\fi\next}
2034: \def\verbatimtags{\showstuffinmarginfalse
2035: \ifx\all\relax\else\expandafter\t@gsoff\all,\fi}
2036: %%% \def\zeigen#1{zeigen(\hbox{$\langle$}#1\hbox{$\rangle$})endz }
2037: \def\zeigen#1{\hbox{$\langle$}#1\hbox{$\rangle$}}
2038: \def\margincite#1{\ifshowstuffinmargin\mginpar{\rechnen{#1}}\fi}
2039:
2040: %Equation numbering:
2041: \def\(#1){\edef\dot@g{\ifmmode\ifinner(\hbox{\noexpand\etag{#1}})
2042: \else\noexpand\eqno(\hbox{\noexpand\etag{#1}})\fi
2043: \else(\noexpand\ecite{#1})\fi}\dot@g}
2044:
2045: %Reference numbering:
2046: \newif\ifbr@ck
2047: \def\eat#1{}
2048: \def\[#1]{\br@cktrue[\br@cket#1'X]}
2049: \def\br@cket#1'#2X{\def\temp{#2}\ifx\temp\empty\let\next\eat
2050: \else\let\next\br@cket\fi
2051: \ifbr@ck\br@ckfalse\br@ck@t#1,X\else\br@cktrue#1\fi\next#2X}
2052: \def\br@ck@t#1,#2X{\def\temp{#2}\ifx\temp\empty\let\neext\eat
2053: \else\let\neext\br@ck@t\def\temp{,}\fi
2054: \def\teemp{#1}\ifx\teemp\empty\else\rcite{#1}\fi\temp\neext#2X}
2055: \def\resetbr@cket{\gdef\[##1]{[\rtag{##1}]}}
2056: \def\references{\resetbr@cket\newsection References\par}
2057:
2058: %Footnotes:
2059: \newtoks\symb@ls\newtoks\s@mb@ls\newtoks\p@gelist\n@wcount\ftn@mber
2060: \ftn@mber=1\newif\ifftn@mbers\ftn@mbersfalse\newif\ifbyp@ge\byp@gefalse
2061: \def\defm@rk{\ifftn@mbers\n@mberm@rk\else\symb@lm@rk\fi}
2062: \def\n@mberm@rk{\xdef\m@rk{{\the\ftn@mber}}%
2063: \global\advance\ftn@mber by 1 }
2064: \def\rot@te#1{\let\temp=#1\global#1=\expandafter\r@t@te\the\temp,X}
2065: \def\r@t@te#1,#2X{{#2#1}\xdef\m@rk{{#1}}}
2066: \def\b@@st#1{{$^{#1}$}}\def\str@p#1{#1}
2067: \def\symb@lm@rk{\ifbyp@ge\rot@te\p@gelist\ifnum\expandafter\str@p\m@rk=1
2068: \s@mb@ls=\symb@ls\fi\write\f@nsout{\number\count0}\fi \rot@te\s@mb@ls}
2069: \def\byp@ge{\byp@getrue\n@wwrite\f@nsin\openin\f@nsin=\jobname.fns
2070: \n@wcount\currentp@ge\currentp@ge=0\p@gelist={0}
2071: \re@dfns\closein\f@nsin\rot@te\p@gelist
2072: \n@wread\f@nsout\openout\f@nsout=\jobname.fns }
2073: \def\m@kelist#1X#2{{#1,#2}}
2074: \def\re@dfns{\ifeof\f@nsin\let\next=\relax\else\read\f@nsin to \f@nline
2075: \ifx\f@nline\v@idline\else\let\t@mplist=\p@gelist
2076: \ifnum\currentp@ge=\f@nline
2077: \global\p@gelist=\expandafter\m@kelist\the\t@mplistX0
2078: \else\currentp@ge=\f@nline
2079: \global\p@gelist=\expandafter\m@kelist\the\t@mplistX1\fi\fi
2080: \let\next=\re@dfns\fi\next}
2081: \def\symbols#1{\symb@ls={#1}\s@mb@ls=\symb@ls}
2082: \def\bigsymbol{\textstyle}
2083: \symbols{\bigsymbol\ast,\dagger,\ddagger,\sharp,\flat,\natural,\star}
2084: \def\ftnumbers{\ftn@mberstrue} \def\ftsymbols{\ftn@mbersfalse}
2085: \def\paginal{\byp@ge} \def\resetftnumbers{\ftn@mber=1}
2086: \def\ftnote#1{\defm@rk\expandafter\expandafter\expandafter\footnote
2087: \expandafter\b@@st\m@rk{#1}}
2088:
2089: %Miscellaneous macros:
2090: \long\def\jump#1\endjump{}
2091: \def\ssum{\mathop{\lower .1em\hbox{$\textstyle\Sigma$}}\nolimits}
2092: \def\down#1{_{{}_{\scriptstyle #1}}}
2093: \def\qed{\nobreak\kern 1em \vrule height .5em width .5em depth 0em}
2094: \def\newneq{\hbox{\rlap{\hbox to 1\wd9{\hss$=$\hss}}\raise .1em
2095: \hbox to 1\wd9{\hss$\scriptscriptstyle/$\hss}}}
2096: \def\subsetne{\setbox9 = \hbox{$\subset$}\mathrel{\hbox{\rlap
2097: {\lower .4em \newneq}\raise .13em \hbox{$\subset$}}}}
2098: \def\supsetne{\setbox9 = \hbox{$\subset$}\mathrel{\hbox{\rlap
2099: {\lower .4em \newneq}\raise .13em \hbox{$\supset$}}}}
2100:
2101: %Blackboard bold:
2102: \def\vbar{\mathchoice{\vrule height6.3ptdepth-.5ptwidth.8pt\kern-.8pt}
2103: {\vrule height6.3ptdepth-.5ptwidth.8pt\kern-.8pt}
2104: {\vrule height4.1ptdepth-.35ptwidth.6pt\kern-.6pt}
2105: {\vrule height3.1ptdepth-.25ptwidth.5pt\kern-.5pt}}
2106: \def\f@dge{\mathchoice{}{}{\mkern.5mu}{\mkern.8mu}}
2107: \def\b@c#1#2{{\rm \mkern#2mu\vbar\mkern-#2mu#1}}
2108: \def\b@b#1{{\rm I\mkern-3.5mu #1}}
2109: \def\b@a#1#2{{\rm #1\mkern-#2mu\f@dge #1}}
2110: \def\bb#1{{\count4=`#1 \advance\count4by-64 \ifcase\count4\or\b@a A{11.5}\or
2111: \b@b B\or\b@c C{5}\or\b@b D\or\b@b E\or\b@b F \or\b@c G{5}\or\b@b H\or
2112: \b@b I\or\b@c J{3}\or\b@b K\or\b@b L \or\b@b M\or\b@b N\or\b@c O{5} \or
2113: \b@b P\or\b@c Q{5}\or\b@b R\or\b@a S{8}\or\b@a T{10.5}\or\b@c U{5}\or
2114: \b@a V{12}\or\b@a W{16.5}\or\b@a X{11}\or\b@a Y{11.7}\or\b@a Z{7.5}\fi}}
2115:
2116: \catcode`\X=11 \catcode`\@=12
2117:
2118: % *** end including mathdefs.tex ***
2119: % % \input citeadd
2120: % *** start including citeadd.tex ***
2121: % citeadd -- a few additions for
2122: % files from alice that were procesed with "citealice"
2123:
2124: \expandafter\ifx\csname citeadd.tex\endcsname\relax
2125: \expandafter\gdef\csname citeadd.tex\endcsname{}
2126: \else \message{Hey! Apparently you were trying to
2127: \string\input{citeadd.tex} twice. This does not make sense.}
2128: \errmessage{Please edit your file (probably \jobname.tex) and remove
2129: any duplicate ``\string\input'' lines}\endinput\fi
2130:
2131:
2132:
2133:
2134:
2135: \def\sciteu{\sciteerror{undefined}}
2136: \def\sciteuphantom{\complainaboutcitation{undefined}}
2137:
2138: \def\scitet{\sciteerror{ambiguous}}
2139: \def\scitetphantom{\complainaboutcitation{ambiguous}}
2140:
2141:
2142:
2143:
2144: \def\sciteerror#1#2{{\mathortextbf{\scite{#2}}}\complainaboutcitation{#1}{#2}}
2145: \def\mathortextbf#1{\hbox{\bf #1}}
2146: \def\complainaboutcitation#1#2{%
2147: \vadjust{\line{\llap{---$\!\!>$ }\qquad scite$\{$#2$\}$ #1\hfil}}}
2148:
2149:
2150:
2151:
2152:
2153: % *** end including citeadd.tex ***
2154: \sectno=-1 % start with sect 0
2155: \localtags
2156: \jjtags
2157: \NoBlackBoxes
2158: \define\mr{\medskip\roster}
2159: \define\sn{\smallskip\noindent}
2160: \define\mn{\medskip\noindent}
2161: \define\bn{\bigskip\noindent}
2162: \define\ub{\underbar}
2163: \define\wilog{\text{without loss of generality}}
2164: \define\ermn{\endroster\medskip\noindent}
2165: \define\dbca{\dsize\bigcap}
2166: \define\dbcu{\dsize\bigcup}
2167: \define \nl{\newline}
2168: \magnification=\magstep 1
2169: \documentstyle{amsppt}
2170: % % \input alice2000
2171: % *** start including alice2000.tex ***
2172: % This file should be inputted whenever we use amsppt.sty and
2173: % old tex.
2174: % Here we redefine \subjclass (use 1991 instead of 2000, otherwise
2175: % the following definition comes directly from
2176: %%
2177: %% `amsppt.sty', generated
2178: %% on <1997/2/2> with the docstrip utility (2.2i).
2179: %%
2180: %% The original source files were:
2181: %%
2182: %% amsppt.doc
2183: %%% ====================================================================
2184: %%% @AMSTeX-style-file{
2185: %%% filename = "amsppt.sty",
2186: %%% version = "2.1h",
2187: %%% date = "1997/02/02",
2188: %%% time = "09:27:44 EST",
2189: %%% checksum = "56844 3264 16617 137829",
2190: %%% author = "American Mathematical Society",
2191: %%% address = "PO Box 6248, Providence, RI 02940-6248, USA",
2192: %%% telephone = "401-455-4080 or (in the USA) 800-321-4AMS",
2193:
2194: { % the braces make the catcode-change local.
2195: \catcode`@11
2196:
2197: \ifx\alicetwothousandloaded@\relax
2198: \endinput\else\global\let\alicetwothousandloaded@\relax\fi
2199:
2200:
2201: \gdef\subjclass{\let\savedef@\subjclass
2202: \def\subjclass##1\endsubjclass{\let\subjclass\savedef@
2203: \toks@{\def\usualspace{{\rm\enspace}}\eightpoint}%
2204: \toks@@{##1\unskip.}%
2205: \edef\thesubjclass@{\the\toks@
2206: \frills@{{\noexpand\rm2000 {\noexpand\it Mathematics Subject
2207: Classification}.\noexpand\enspace}}%
2208: \the\toks@@}}%
2209: \nofrillscheck\subjclass}
2210: }
2211:
2212: % *** end including alice2000.tex ***
2213: % % \input alice2jlem
2214: % *** start including alice2jlem.tex ***
2215: %% # Keywords Input file to be used for texing Alice's files
2216:
2217: \expandafter\ifx\csname alice2jlem.tex\endcsname\relax
2218: \expandafter\xdef\csname alice2jlem.tex\endcsname{\the\catcode`@}
2219: \else \message{Hey! Apparently you were trying to
2220: \string\input{alice2jlem.tex} twice. This does not make sense.}
2221: \errmessage{Please edit your file (probably \jobname.tex) and remove
2222: any duplicate ``\string\input'' lines}\endinput\fi
2223:
2224:
2225:
2226: % % \input bib4plain
2227: % *** start including bib4plain.tex ***
2228: \expandafter\ifx\csname bib4plain.tex\endcsname\relax
2229: \expandafter\gdef\csname bib4plain.tex\endcsname{}
2230: \else \message{Hey! Apparently you were trying to \string\input
2231: bib4plain.tex twice. This does not make sense.}
2232: \errmessage{Please edit your file (probably \jobname.tex) and remove
2233: any duplicate ``\string\input'' lines}\endinput\fi
2234:
2235:
2236: % This file should be inputted if you want to use
2237: % bibtex fom within plain TeX.
2238: \def\makeatletter{\catcode`\@11 } % Not really need for standard
2239: \def\makeatother{\catcode`\@12 } % bibtex files, but these commands
2240: \def\renewcommand{\newcommand} % are used in our literal-unsrt.bst
2241: % and other files.
2242: % The above lines were written by Martin.Goldstern@tuwien.ac.at
2243: % The rest is just the file btxmac.tex.
2244: % (except for one small change below, regarding undefined citations)
2245:
2246: %% @texfile{
2247: %% author = "Karl Berry and Oren Patashnik",
2248: %% version = "0.99j",
2249: %% date = "14 Mar 1992",
2250: %% filename = "btxmac.tex",
2251: %% address = "Please use electronic mail",
2252: %% checksum = "834 4503 33061",
2253: %% email = "opbibtex@cs.stanford.edu",
2254: %% codetable = "ISO/ASCII",
2255: %% supported = "yes",
2256: %% docstring = "Defines macros that make BibTeX work with plain TeX",
2257: %% }
2258: % BibTeX-for-TeX macros, version 0.99j, for BibTeX 0.99c, TeX 3.0 or later.
2259: % Copyright (C) 1990--92 by Karl Berry and Oren Patashnik; all rights reserved.
2260: % You may copy this file provided: that it's accompanied by the
2261: % "BibTeXing" document, whose text is contained in the file `btxdoc.tex';
2262: % that any documentation you write for these macros also gives a
2263: % reference for "BibTeXing"; and that either you make absolutely no
2264: % changes to your copy, or if you do make changes, (1) you name the file
2265: % something other than `btxmac.tex' and you remove all occurrences of
2266: % `btxmac.tex' from the file, (2) you put, somewhere in the first twenty
2267: % lines of the file, your name, along with an electronic address at which
2268: % others who might use the file may reach you, and (3) you remove each
2269: % occurrence of Oren's name and electronic address from this file. These
2270: % restrictions help ensure that all standard versions of these macros are
2271: % identical, and that Oren doesn't get deluged with inappropriate e-mail.
2272: %
2273: % This file, btxmac.tex, contains TeX macros that allow BibTeX, a
2274: % bibliography program that was originally designed for use with LaTeX,
2275: % to work with plain TeX. Please report any bugs (outright goofs,
2276: % improvable macros, misfeatures, or unclear documentation) to Oren
2277: % Patashnik (opbibtex@cs.stanford.edu). These macros will become frozen
2278: % shortly after BibTeX version 1.00 is released.
2279: %
2280: % AMS-TEX WARNING: We tried very hard, for version .99i of these macros,
2281: % to make them compatible with AmS-TeX. We succeeded to the extent
2282: % that, if you use one of the standard bibliography styles, you probably
2283: % won't notice any problems with version 0.99i of btxmac.tex. But
2284: % ultimately we failed, in that the inherent incompatibilities between
2285: % plain TeX and AmS-TeX kept making these macros break, for certain
2286: % inputs or certain styles. Examples: (1) AmS-TeX treats at-signs as
2287: % special, in ways that plain TeX and LaTeX don't, so that, for example,
2288: % you can't have any `@' characters in an argument to the \cite command,
2289: % the way you can in TeX or LaTeX; (2) AmS-TeX decided that plain TeX's
2290: % and LaTeX's macron-accent control sequence `\=' should be undefined;
2291: % so you'll need to define `\=' to be `\B' to get the xampl.bib example
2292: % suggested below to work with AmS-TeX; (3) AmS-TeX redefines the tie
2293: % character `~' of plain TeX, and AmS-TeX's `amsppt' style redefines
2294: % plain TeX's `\nobreak' macro, so that if you use an author-date style
2295: % like `apalike' and you have a multiple-author reference for which the
2296: % author-date style automatically produces a citation in the text like
2297: % `(Jones et~al., 1992)' you will throw AmS-TeX's `amsppt' style into
2298: % an infinite loop, exceeding its input stack size. In practice, such
2299: % incompatibilities surface infrequently; but it is now clear to us that
2300: % it's not worth the effort (perhaps it's not even possible) to make the
2301: % btxmac.tex macros robust when used both with plain TeX and Ams-TeX.
2302: % If the BibTeX/AmS-TeX results attainable with the current btxmac.tex
2303: % macros are sufficient, fine. But if there's a demand for more robust
2304: % BibTeX/AmS-TeX behavior, then someone who's very familiar with the
2305: % AmS-TeX package should probably make an amsbtxmc.tex version of the
2306: % macros (remembering to follow the copyright restrictions above).
2307: % Until then, if you're an AmS-TeX user, or a LaTeX or plain TeX user
2308: % sharing files with an AmS-TeX user, beware.
2309: % END OF AMS-TEX WARNING.
2310: %
2311: % To use these macros you should be familiar with how BibTeX interacts
2312: % with LaTeX, since BibTeX's interaction with TeX is very similar; that
2313: % interaction is explained in the LaTeX manual. It also helps to
2314: % have read "BibTeXing", the documentation that accompanies BibTeX.
2315: % Then, if you want, you should redefine any of the macros that begin
2316: % with `\bbl' or `\biblabel' or `\print' that you need to get formatting
2317: % different from the default (the default settings are designed to
2318: % accompany a bibliography style like BibTeX's standard style `plain').
2319: % The macros you might want to change are described briefly a few
2320: % paragraphs hence. [To get started without reading any documentation,
2321: % try running the nine-line .tex file below through TeX and BibTeX.
2322: % Remember the general scheme: Running (La)TeX writes information on
2323: % the .aux (auxiliary) file; then running BibTeX reads information from
2324: % the .aux, .bst (style), and .bib (database) files, and writes
2325: % information (the bibliography) on a .bbl file; then running (La)TeX
2326: % incorporates the bibliography; then running (La)TeX once more fixes
2327: % the remaining forward references into the bibliography. Thus, to get
2328: % everything incorporated into your output, you'll have to run (La)TeX,
2329: % BibTeX, (La)TeX, (La)TeX. (Standup, sitdown, fight, fight, fight.)]
2330: %
2331: % These macros can stand alone or they can be \input into a macro
2332: % package, like Eplain, that is sufficiently compatible with plain TeX.
2333: % To use these macros to format the 0.99 version of the xampl.bib file
2334: % that's distributed with BibTeX (that version of the file has no
2335: % self-identification), you'll need to define \mbox, which is a LaTeX
2336: % command, to be \hbox, as in the example below.
2337: %
2338: % Here's a nine-line plain TeX file for trying out btxmac.tex; of course
2339: % you'll have to remove the comment characters at the beginning of each
2340: % line, and, depending on your system, you might have to take steps so
2341: % that BibTeX can "see" the files xampl.bib and plain.bst (BibTeX will
2342: % give you two empty-field warning messages that you should ignore).
2343: %
2344: % \def\mbox#1{\leavevmode\hbox{#1}}
2345: % \input btxmac
2346: % \noindent This cites Aamport's gnominious article~\cite{article-full}.
2347: % \medskip
2348: % \leftline{\bf References}
2349: % \nocite{*} % put all database entries into the reference list
2350: % \bibliography{xampl} % specify the database files; here, just xampl.bib
2351: % \bibliographystyle{plain} % specify plain.bst as the style file
2352: % \bye
2353: %
2354: %
2355: % HISTORY
2356: %
2357: % Karl Berry wrote the original version of these macros in 1989 and
2358: % 1990, for use in his `Eplain' package. Oren Patashnik modified them
2359: % slightly in July 1990, as part of the official BibTeX distribution.
2360: %
2361: % 1-Aug-90 Version 0.99a, not released to the general public.
2362: % 14-Aug-90 0.99b, first general release.
2363: % 26-Aug-90 0.99c, made \@undefinedmessage work with other macro packages.
2364: % 6-Sep-90 0.99d, allowed for general formatting of bibliography labels,
2365: % for general formatting of (in-text) citations, and for
2366: % changing certain catcodes while reading the .aux file.
2367: % 14-Nov-90 0.99e, changed the way \@setletters works, made some \new...'s
2368: % non-outer, and changed the way Eplain reads this file.
2369: % 12-Dec-90 0.99f, made \@resetnumerals change the `,' and `.' catcodes; and
2370: % added \biblabelextrahang, \@getoptionalarg, and \bblsc.
2371: % 11-Mar-91 0.99g, made a few minor changes required by the way Eplain reads
2372: % this file, but no functional changes.
2373: % 24-Apr-91 0.99h, inhibited the reading and writing of the .aux file if it
2374: % isn't used or if the \noauxfile macro is defined, and
2375: % removed some .aux-file-opening detritus; printed the
2376: % cite-key of undefined citations in \tt font; changed the
2377: % catcode of `_' inside \cite; and called \@resetnumerals
2378: % from inside a group.
2379: % 29-Feb-92 0.99i, made these macros semi-compatible with AmS-TeX; removed
2380: % \@resetnumerals, \@setletters, \@tokstostring, and
2381: % friends; changed the way \cite handles catcodes; changed
2382: % \@getoptionalarg, and had \bibitem and \newcommand use
2383: % it; added \@futurenonspacelet and (to facilitate the use
2384: % of multiple reference lists) \bblfilebasename; changed
2385: % \biblabelprint to use the new macros \biblabelprecontents
2386: % and \biblabelpostcontents, and to, by default, right-
2387: % justify numeric labels; and renamed \biblabelextrahang to
2388: % the more descriptive \biblabelextraspace.
2389: % 14-Mar-92 0.99j, made 0.99i's use of `\\' local to btxmac.tex.
2390: %
2391: %
2392: % The LaTeX-related commands defined in this file include (a) the four
2393: % commands that a user types (\bibliography, \bibliographystyle, \cite,
2394: % and \nocite); (b) the three commands that BibTeX looks for in the .aux
2395: % file (\bibdata, \bibstyle, and \citation---there is a fourth command
2396: % that BibTeX looks for, but that command is related to LaTeX's \include
2397: % facility, so these macros ignore that command); and (c) a LaTeX
2398: % command (\newcommand) that's written by one of the four standard
2399: % bibliography styles (alpha). The definitions here are not exactly the
2400: % same as the corresponding LaTeX definitions (those eight LaTeX
2401: % definitions depend on a significant fraction of LaTeX itself). But
2402: % the only substantial differences are with \newcommand, which here,
2403: % without complaining, lets you redefine a preexisting control sequence
2404: % (in LaTeX, \newcommand won't let you redefine a preexisting command),
2405: % and which here doesn't make the control sequences it defines \long (in
2406: % LaTeX, that happens automatically); there may also be other minor
2407: % differences. To summarize: Unless you know what you're doing, you
2408: % shouldn't define any control sequences with these eight names:
2409: %
2410: % \bibdata
2411: % \bibliography
2412: % \bibliographystyle
2413: % \bibstyle
2414: % \citation
2415: % \cite
2416: % \newcommand
2417: % \nocite
2418: %
2419: % There are three other commands written by one or more of the four
2420: % standard (plain, abbrv, alpha, unsrt) or four semistandard (acm,
2421: % apalike, ieeetr, siam) bibliography styles; they take effect only
2422: % within the bibliography, and are redefinable, as explained later:
2423: %
2424: % \em
2425: % \newblock
2426: % \sc
2427: %
2428: % There's one control sequence you might want to use (but not redefine)
2429: % in redefining \biblabelprint:
2430: %
2431: % \biblabelwidth
2432: %
2433: % There are fifteen other control sequences (explained later in more detail)
2434: % that the macros of this file will use if you define them---you should
2435: % define them after the \input btxmac command but before the \bibliography
2436: % command. The first six begin with `\bbl' and affect fonts, spacing,
2437: % perhaps other characteristics of the bibliography, and which .bbl files
2438: % get read; the next five begin with `\biblabel' and determine how labels
2439: % are formatted in the bibliography; and the last four begin with `\print'
2440: % and determine how the in-text citations are formatted:
2441: %
2442: % \bblem
2443: % \bblfilebasename
2444: % \bblhook
2445: % \bblnewblock
2446: % \bblrm
2447: % \bblsc
2448: % \biblabelcontents
2449: % \biblabelprecontents
2450: % \biblabelprint
2451: % \biblabelpostcontents
2452: % \biblabelextraspace
2453: % \printbetweencitations
2454: % \printcitefinish
2455: % \printcitenote
2456: % \printcitestart
2457: %
2458: % If it's defined before the \input btxmac command, the control sequence
2459: % below inhibits the reading and writing of the .aux file(s), and the
2460: % issuing of related warning messages. Any definition will do. This
2461: % feature might help when you're working on draft stages of a document:
2462: %
2463: % \noauxfile
2464: %
2465: %
2466: % Here's another control sequence (it's described later) that you
2467: % probably won't want to redefine unless you are writing another macro
2468: % package; if you do redefine it, however, do it before the \input btxmac
2469: % command (and notice that it has an `@' in its name):
2470: %
2471: % \@undefinedmessage
2472: %
2473: % Any other control sequence in this file that might conflict with
2474: % something you've defined will have an `@' in its name, so such conflicts
2475: % are unlikely; but if you're worried about a specific control sequence
2476: % name, do a text search of this file to look for it.
2477: %
2478: %
2479: % So to start things off we turn `@' into a letter (category code 11),
2480: % keeping track of the old category code for future restoration.
2481: % (Simply resetting it to 12 when we leave these macros is
2482: % insufficient.) The use of `\cite' as a temporary control sequence is
2483: % a kludge, but it's a reasonably simple way to accomplish what we need
2484: % without possibly overwriting something (without an `@' in its name)
2485: % that might already be defined.
2486: %
2487: \edef\cite{\the\catcode`@}%
2488: \catcode`@ = 11
2489: \let\@oldatcatcode = \cite
2490: \chardef\@letter = 11
2491: \chardef\@other = 12
2492: %
2493: %
2494: % Next come some things that will be useful later.
2495: %
2496: % Make an outer definition into an inner one (due to Chris Thompson).
2497: % The arguments should be the control sequence to be defined, and the
2498: % new of the \outer control sequence, as characters; the control
2499: % sequence #1 is defined to be just the same as \csname#2\endcsname, but
2500: % not \outer. For example, \@innerdef\innernewcount{newcount} would
2501: % define \innernewcount to be a non-outer version of \newcount.
2502: %
2503: \def\@innerdef#1#2{\edef#1{\expandafter\noexpand\csname #2\endcsname}}%
2504: %
2505: % We use \@innerdef to make some of our allocations local, because
2506: % Eplain includes our code inside a conditional. We put @'s in the
2507: % names to minimize the (already small) chance of conflicts.
2508: %
2509: \@innerdef\@innernewcount{newcount}%
2510: \@innerdef\@innernewdimen{newdimen}%
2511: \@innerdef\@innernewif{newif}%
2512: \@innerdef\@innernewwrite{newwrite}%
2513: %
2514: %
2515: % Swallow one parameter.
2516: %
2517: \def\@gobble#1{}%
2518: %
2519: %
2520: % Use TeX 3.0's \inputlineno to get the line number, for better error
2521: % messages, but if we're using an old version of TeX, don't do anything.
2522: %
2523: \ifx\inputlineno\@undefined
2524: \let\@linenumber = \empty % Pre-3.0.
2525: \else
2526: \def\@linenumber{\the\inputlineno:\space}%
2527: \fi
2528: %
2529: %
2530: % The following macro \@futurenonspacelet (from the TeXbook) behaves
2531: % essentially like \futurelet except that it discards any implicit or
2532: % explicit space tokens that intervene before a nonspace is scanned:
2533: %
2534: \def\@futurenonspacelet#1{\def\cs{#1}%
2535: \afterassignment\@stepone\let\@nexttoken=
2536: }%
2537: \begingroup % The grouping here avoids stepping on an outside use of `\\'.
2538: \def\\{\global\let\@stoken= }%
2539: \\ % now \@stoken is a space token (\\ is a control symbol, so that
2540: % space after it is seen).
2541: \endgroup
2542: \def\@stepone{\expandafter\futurelet\cs\@steptwo}%
2543: \def\@steptwo{\expandafter\ifx\cs\@stoken\let\@@next=\@stepthree
2544: \else\let\@@next=\@nexttoken\fi \@@next}%
2545: \def\@stepthree{\afterassignment\@stepone\let\@@next= }%
2546: %
2547: %
2548: % \@getoptionalarg\CS gets an optional argument from the input, enclosed
2549: % in brackets, then expands \CS. We set \@optionalarg to \empty if we
2550: % don't find one, otherwise to the text of the argument. This assumes
2551: % the brackets don't have a funny category code.
2552: %
2553: \def\@getoptionalarg#1{%
2554: \let\@optionaltemp = #1%
2555: \let\@optionalnext = \relax
2556: \@futurenonspacelet\@optionalnext\@bracketcheck
2557: }%
2558: %
2559: % The \expandafter's in this macro let us avoid the use of \aftergroup,
2560: % which is somewhat more expensive.
2561: %
2562: \def\@bracketcheck{%
2563: \ifx [\@optionalnext
2564: \expandafter\@@getoptionalarg
2565: \else
2566: \let\@optionalarg = \empty
2567: % We can't do the \temp after the \fi, because then the \temp gets
2568: % in the way of reading the optional argument from the input, if
2569: % we do have one.
2570: \expandafter\@optionaltemp
2571: \fi
2572: }%
2573: %
2574: \def\@@getoptionalarg[#1]{%
2575: \def\@optionalarg{#1}%
2576: \@optionaltemp
2577: }%
2578: %
2579: %
2580: % From LaTeX.
2581: %
2582: \def\@nnil{\@nil}%
2583: \def\@fornoop#1\@@#2#3{}%
2584: %
2585: \def\@for#1:=#2\do#3{%
2586: \edef\@fortmp{#2}%
2587: \ifx\@fortmp\empty \else
2588: \expandafter\@forloop#2,\@nil,\@nil\@@#1{#3}%
2589: \fi
2590: }%
2591: %
2592: \def\@forloop#1,#2,#3\@@#4#5{\def#4{#1}\ifx #4\@nnil \else
2593: #5\def#4{#2}\ifx #4\@nnil \else#5\@iforloop #3\@@#4{#5}\fi\fi
2594: }%
2595: %
2596: \def\@iforloop#1,#2\@@#3#4{\def#3{#1}\ifx #3\@nnil
2597: \let\@nextwhile=\@fornoop \else
2598: #4\relax\let\@nextwhile=\@iforloop\fi\@nextwhile#2\@@#3{#4}%
2599: }%
2600: %
2601: %
2602: % This macro tests if a file \jobname.#1 exists, and sets \if@fileexists
2603: % appropriately. If an optional argument is given, it is used as the
2604: % root part of the filename instead of \jobname.
2605: %
2606: \@innernewif\if@fileexists
2607: %
2608: \def\@testfileexistence{\@getoptionalarg\@finishtestfileexistence}%
2609: \def\@finishtestfileexistence#1{%
2610: \begingroup
2611: \def\extension{#1}%
2612: \immediate\openin0 =
2613: \ifx\@optionalarg\empty\jobname\else\@optionalarg\fi
2614: \ifx\extension\empty \else .#1\fi
2615: \space
2616: \ifeof 0
2617: \global\@fileexistsfalse
2618: \else
2619: \global\@fileexiststrue
2620: \fi
2621: \immediate\closein0
2622: \endgroup
2623: }%
2624: %
2625: %
2626: %% [[[start of BibTeX-specific stuff]]]
2627: %
2628: % Now come the four main LaTeX commands and their associated .aux
2629: % commands. Just as in LaTeX, \bibliographystyle defines the BibTeX
2630: % style name (.bst file, that is), and \bibliography defines the
2631: % database (.bib) file(s). The corresponding .aux-file commands are
2632: % \bibstyle and \bibdata, which are there only for BibTeX's (but not
2633: % LaTeX's) use.
2634: %
2635: \def\bibliographystyle#1{%
2636: \@readauxfile
2637: \@writeaux{\string\bibstyle{#1}}%
2638: }%
2639: \let\bibstyle = \@gobble
2640: %
2641: % As well as writing the \bibdata command to tell BibTeX which .bib
2642: % files to read, we read the .bbl file that BibTeX (or a person,
2643: % conceivably) has produced. We use \bblfilebasename as the root of the
2644: % filename to read; this defaults to \jobname.
2645: %
2646: \let\bblfilebasename = \jobname
2647: \def\bibliography#1{%
2648: \@readauxfile
2649: \@writeaux{\string\bibdata{#1}}%
2650: \@testfileexistence[\bblfilebasename]{bbl}%
2651: \if@fileexists
2652: % We just output a non-discardable item (the `whatsit' with the
2653: % \bibdata command). This means that the glue that will be
2654: % inserted next (\parskip or \baselineskip, most likely) will be a
2655: % legal breakpoint. Most likely, this is after some kind of
2656: % heading, where we don't want to allow a page break. So:
2657: \nobreak
2658: \@readbblfile
2659: \fi
2660: }%
2661: \let\bibdata = \@gobble
2662: %
2663: % The \nocite{label,label,...} command writes its argument to \@auxfile,
2664: % unless instructed not to, but produces no text in the document. Both
2665: % the \nocite and \cite commands produce \citation commands in the .aux file.
2666: %
2667: \def\nocite#1{%
2668: \@readauxfile
2669: \@writeaux{\string\citation{#1}}%
2670: }%
2671: %
2672: \@innernewif\if@notfirstcitation
2673: %
2674: % \cite[note]{label,label,...} produces the citations for the labels as
2675: % well. If the optional argument `note' is present, it's added after
2676: % the labels. Since \cite calls \nocite to do its .aux-file writing,
2677: % \cite doesn't need to call \@readauxfile (\nocite does).
2678: %
2679: \def\cite{\@getoptionalarg\@cite}%
2680: %
2681: % Typeset the citations for the labels in #1, followed by the note, if
2682: % it exists. To change the citation's format in the text, redefine one
2683: % or more `\print...' macros, whose defaults appear later in this file.
2684: %
2685: \def\@cite#1{%
2686: % Remember the optional argument, in case one of the macros we call
2687: % below ends up looking for an optional argument itself. For
2688: % example, if a \cite[note] triggers reading the .aux file, then the
2689: % [note] would be clobbered, since \@testfileexistence looks for an
2690: % optional arg.
2691: \let\@citenotetext = \@optionalarg
2692: % Start printing the text, beginning with a left bracket by default.
2693: \printcitestart
2694: % It's complicated, but because \nocite puts a `whatsit' onto the list,
2695: % \nocite should follow \printcitestart. It's conceivable, but very
2696: % unlikely, that this `whatsit' will cause a problem (glue that doesn't
2697: % disappear when you want it to is the most likely symptom), requiring
2698: % a change either to \printcitestart or to the label that the .bst file
2699: % produces.
2700: \nocite{#1}%
2701: \@notfirstcitationfalse
2702: \@for \@citation :=#1\do
2703: {%
2704: \expandafter\@onecitation\@citation\@@
2705: }%
2706: \ifx\empty\@citenotetext\else
2707: \printcitenote{\@citenotetext}%
2708: \fi
2709: \printcitefinish
2710: }%
2711: %
2712: \def\@onecitation#1\@@{%
2713: \if@notfirstcitation
2714: \printbetweencitations
2715: \fi
2716: %
2717: \expandafter \ifx \csname\@citelabel{#1}\endcsname \relax
2718: \if@citewarning
2719: \message{\@linenumber Undefined citation `#1'.}%
2720: \fi
2721: % Give it a dummy definition:
2722: \expandafter\gdef\csname\@citelabel{#1}\endcsname{%
2723: % Change: marginal remark added, goldstrn@math.huji.ac.il,
2724: % goldstern@tuwien.ac.at, May 1996 mg
2725: % !!! change !!!
2726: \strut
2727: \vadjust{\vskip-\dp\strutbox
2728: \vbox to 0pt{\vss\parindent0cm \leftskip=\hsize
2729: \advance\leftskip3mm
2730: \advance\hsize 4cm\strut\openup-4pt
2731: \rightskip 0cm plus 1cm minus 0.5cm ? #1 ?\strut}}
2732: {\tt
2733: \escapechar = -1
2734: \nobreak\hskip0pt
2735: \expandafter\string\csname#1\endcsname
2736: \nobreak\hskip0pt
2737: }%
2738: }%
2739: \fi
2740: % Now produce the text, whether it was undefined or not.
2741: \csname\@citelabel{#1}\endcsname
2742: \@notfirstcitationtrue
2743: }%
2744: %
2745: % Given a label `foo', the macro `\b@foo' is supposed to
2746: % hold the text that should be produced.
2747: %
2748: \def\@citelabel#1{b@#1}%
2749: %
2750: % So, how does a citation label get defined? When we read the .bbl file
2751: % (below), a \bibitem writes out a \@citedef command. And when we read
2752: % the \@citedef, we define \@citelabel{#1}, where #1 is the user's
2753: % label.
2754: %
2755: \def\@citedef#1#2{\expandafter\gdef\csname\@citelabel{#1}\endcsname{#2}}%
2756: %
2757: %
2758: % Reading the .bbl file also produces the typeset bibliography. Please
2759: % notice, however, that we do not produce the title for the references
2760: % (e.g., `References'), as LaTeX does. The formatting and spacing of
2761: % that title, whether it should go into the headline, and so on, are all
2762: % things determined by your format. We cannot know those things in
2763: % advance. If you wish, you can define \bblhook to produce the title.
2764: % Or just do it before the \bibliography command.
2765: %
2766: \def\@readbblfile{%
2767: % Define a counter to tell us which item number we are on, unless
2768: % we've already defined it (because the document has more than one
2769: % bibliography).
2770: \ifx\@itemnum\@undefined
2771: \@innernewcount\@itemnum
2772: \fi
2773: %
2774: \begingroup
2775: \def\begin##1##2{%
2776: % ##1 is just `thebibliography'.
2777: % ##2 is the widest label.
2778: % We set (new dimen) \biblabelwidth based on the widest label
2779: \setbox0 = \hbox{\biblabelcontents{##2}}%
2780: \biblabelwidth = \wd0
2781: }%
2782: \def\end##1{}% ##1 is `thebibliography' again.
2783: %
2784: % Here we have two possibilities:
2785: % \bibitem[typesetlabel]{citationlabel}
2786: % \bibitem{citationlabel}
2787: % If we have the second of these, the citations are numbered, starting
2788: % from one; we use our own count register \@itemnum for this.
2789: %
2790: \@itemnum = 0
2791: \def\bibitem{\@getoptionalarg\@bibitem}%
2792: \def\@bibitem{%
2793: \ifx\@optionalarg\empty
2794: \expandafter\@numberedbibitem
2795: \else
2796: \expandafter\@alphabibitem
2797: \fi
2798: }%
2799: \def\@alphabibitem##1{%
2800: % Need \xdef here for various reasons.
2801: \expandafter \xdef\csname\@citelabel{##1}\endcsname {\@optionalarg}%
2802: % Left-justify alpha labels, unless \biblabel{pre,post}contents
2803: % are already defined.
2804: \ifx\biblabelprecontents\@undefined
2805: \let\biblabelprecontents = \relax
2806: \fi
2807: \ifx\biblabelpostcontents\@undefined
2808: \let\biblabelpostcontents = \hss
2809: \fi
2810: \@finishbibitem{##1}%
2811: }%
2812: %
2813: \def\@numberedbibitem##1{%
2814: \advance\@itemnum by 1
2815: \expandafter \xdef\csname\@citelabel{##1}\endcsname{\number\@itemnum}%
2816: % Right-justify numeric labels, unless \biblabel{pre,post}contents
2817: % are already defined.
2818: \ifx\biblabelprecontents\@undefined
2819: \let\biblabelprecontents = \hss
2820: \fi
2821: \ifx\biblabelpostcontents\@undefined
2822: \let\biblabelpostcontents = \relax
2823: \fi
2824: \@finishbibitem{##1}%
2825: }%
2826: %
2827: \def\@finishbibitem##1{%
2828: \biblabelprint{\csname\@citelabel{##1}\endcsname}%
2829: \@writeaux{\string\@citedef{##1}{\csname\@citelabel{##1}\endcsname}}%
2830: \ignorespaces
2831: }%
2832: %
2833: % Do the printing (we're producing the bibliography, remember).
2834: %
2835: \let\em = \bblem
2836: \let\newblock = \bblnewblock
2837: \let\sc = \bblsc
2838: % Punctuation won't affect spacing;
2839: \frenchspacing
2840: % the penalties below are from LaTeX's [article,book,report].sty;
2841: \clubpenalty = 4000 \widowpenalty = 4000
2842: % the next two values come from LaTeX's \sloppy command;
2843: \tolerance = 10000 \hfuzz = .5pt
2844: \everypar = {\hangindent = \biblabelwidth
2845: \advance\hangindent by \biblabelextraspace}%
2846: \bblrm
2847: % the \parskip is a guess at what looks good;
2848: \parskip = 1.5ex plus .5ex minus .5ex
2849: % and the space between label and text comes from LaTeX's \labelsep.
2850: \biblabelextraspace = .5em
2851: \bblhook
2852: %
2853: \input \bblfilebasename.bbl
2854: \endgroup
2855: }%
2856: %
2857: % The widest label's width is useful for redefining \biblabelprint;
2858: % you redefine \biblabelwidth, in effect, by redefining the
2859: % \biblabelcontents macro that appears below. And \biblabelextraspace,
2860: % which is redefinable inside \bblhook, is added to \biblabelwidth to
2861: % determine the amount of hanging indentation.
2862: %
2863: \@innernewdimen\biblabelwidth
2864: \@innernewdimen\biblabelextraspace
2865: %
2866: % Now come the main macros that are related to the printing of the
2867: % bibliography. Since you might want to redefine them, they are given
2868: % default definitions outside of \@readbblfile.
2869: %
2870: % The first one controls the printing of a bibliography entry's label.
2871: % If you change it, make sure that it starts with something like
2872: % \noindent or \indent or \leavevmode that puts TeX into horizontal mode
2873: % (even if the label itself is empty); otherwise, the hanging
2874: % indentation will get messed up in certain circumstances.
2875: %
2876: \def\biblabelprint#1{%
2877: \noindent
2878: \hbox to \biblabelwidth{%
2879: \biblabelprecontents
2880: \biblabelcontents{#1}%
2881: \biblabelpostcontents
2882: }%
2883: \kern\biblabelextraspace
2884: }%
2885: %
2886: % If you are using numeric labels, and you want them left-justified
2887: % (numeric labels by default are right-justified), do something like:
2888: % \def\biblabelprecontents{\relax}
2889: % \def\biblabelpostcontents{\hss}
2890: %
2891: % By default the labels are typeset in \bblrm, and enclosed in brackets.
2892: %
2893: \def\biblabelcontents#1{{\bblrm [#1]}}%
2894: %
2895: % The main text, too, is typeset using \bblrm, which is \rm by default.
2896: %
2897: \def\bblrm{\rm}%
2898: %
2899: % Emphasis for producing, e.g., titles, is done with \it by default.
2900: %
2901: \def\bblem{\it}%
2902: %
2903: % Some styles use a caps-and-small-caps font for author names. LaTeX
2904: % defines an \sc command but plain TeX doesn't, so we need one here.
2905: % The definition below doesn't load the font unless it's needed, but it
2906: % tries to load only the 10pt version, because it might not exist at
2907: % other point sizes.
2908: %
2909: \def\bblsc{\ifx\@scfont\@undefined
2910: \font\@scfont = cmcsc10
2911: \fi
2912: \@scfont
2913: }%
2914: %
2915: % The major parts of an entry are separated with \bblnewblock. The
2916: % numbers below are taken from LaTeX's `article' style.
2917: %
2918: \def\bblnewblock{\hskip .11em plus .33em minus .07em }%
2919: %
2920: % Here's where you stick any other bibliography-formatting goodies, or
2921: % redefine the values above.
2922: %
2923: \let\bblhook = \empty
2924: %
2925: %
2926: % Here are the four default definitions for formatting the in-text
2927: % citations. These are what you redefine (after your \input btxmac but
2928: % before your \bibliography) to get parens instead of brackets, or
2929: % superscripts, or footnotes, or whatever.
2930: %
2931: \def\printcitestart{[}% left bracket
2932: \def\printcitefinish{]}% right bracket
2933: \def\printbetweencitations{, }% comma, space
2934: \def\printcitenote#1{, #1}% comma, space, note (if it exists)
2935: %
2936: % That scheme is pretty flexible. For example you could use
2937: % \def\printcitestart{\unskip $^\bgroup}
2938: % \def\printcitefinish{\egroup$}
2939: % \def\printbetweencitations{,}
2940: % \def\printcitenote#1{\hbox{\sevenrm\space (#1)}}
2941: % \font\eighttt = cmtt8
2942: % \scriptfont\ttfam = \eighttt
2943: % to get superscripted in-text citations. (The scriptfont stuff
2944: % exists only to print an undefined citation; it's in cmtt8 because
2945: % there is no cmtt7.) To get something radically different, however,
2946: % you'll have to define your own \cite command.
2947: %
2948: % When we read `\citation' from the .aux file, it means nothing.
2949: %
2950: \let\citation = \@gobble
2951: %
2952: %
2953: % Now comes the stuff for dealing with LaTeX's \newcommand. As
2954: % mentioned earlier, this \newcommand will redefine a preexisting
2955: % command; that's different from how LaTeX's \newcommand behaves.
2956: %
2957: \@innernewcount\@numparams
2958: %
2959: % \newcommand{\foo}[n]{text} defines the control sequence \foo to have
2960: % n parameters, and replacement text `text'.
2961: %
2962: \def\newcommand#1{%
2963: \def\@commandname{#1}%
2964: \@getoptionalarg\@continuenewcommand
2965: }%
2966: %
2967: % Figure out if this definition has parameters.
2968: %
2969: \def\@continuenewcommand{%
2970: % If no optional argument, we have zero parameters. Otherwise, we
2971: % have that many.
2972: \@numparams = \ifx\@optionalarg\empty 0\else\@optionalarg \fi \relax
2973: \@newcommand
2974: }%
2975: %
2976: % \@numparams is how many arguments this command has. The name of the
2977: % command is \@commandname. The replacement text for the new macro is #1.
2978: %
2979: \def\@newcommand#1{%
2980: \def\@startdef{\expandafter\edef\@commandname}%
2981: \ifnum\@numparams=0
2982: \let\@paramdef = \empty
2983: \else
2984: \ifnum\@numparams>9
2985: \errmessage{\the\@numparams\space is too many parameters}%
2986: \else
2987: \ifnum\@numparams<0
2988: \errmessage{\the\@numparams\space is too few parameters}%
2989: \else
2990: \edef\@paramdef{%
2991: % This is disgusting, but \loop doesn't work inside \edef,
2992: % because \body isn't defined.
2993: \ifcase\@numparams
2994: \empty No arguments.
2995: \or ####1%
2996: \or ####1####2%
2997: \or ####1####2####3%
2998: \or ####1####2####3####4%
2999: \or ####1####2####3####4####5%
3000: \or ####1####2####3####4####5####6%
3001: \or ####1####2####3####4####5####6####7%
3002: \or ####1####2####3####4####5####6####7####8%
3003: \or ####1####2####3####4####5####6####7####8####9%
3004: \fi
3005: }%
3006: \fi
3007: \fi
3008: \fi
3009: \expandafter\@startdef\@paramdef{#1}%
3010: }%
3011: %
3012: %% [[[end of BibTeX-specific stuff]]]
3013: %
3014: %
3015: % Names of references (arguments given in the \cite and \nocite
3016: % commands) and file names (arguments given in the \bibliography and
3017: % \bibliographystyle commands) are recorded in \jobname.aux, called the
3018: % \@auxfile in these macros. Here's how they get read in.
3019: %
3020: \def\@readauxfile{%
3021: \if@auxfiledone \else % remember: \@auxfiledonetrue if \noauxfile is defined
3022: \global\@auxfiledonetrue
3023: \@testfileexistence{aux}%
3024: \if@fileexists
3025: \begingroup
3026: % Because we might be in horizontal mode when \@readauxfile
3027: % is called (if it's in response to a \cite or \nocite), we
3028: % want to ignore all the would-be spaces at the ends of
3029: % lines in the aux file. Fortunately, it's highly unlikely
3030: % an end-of-line might actually be desired.
3031: % And because we don't change the category code of anything
3032: % but @, primitives like \gdef can't be used to define labels
3033: % in the aux file. The solution adopted by btxmac.tex is to
3034: % write `\@citedef{LABEL}{DEFINITION}' to the aux file, and
3035: % use \csname on LABEL.
3036: \endlinechar = -1
3037: \catcode`@ = 11
3038: \input \jobname.aux
3039: \endgroup
3040: \else
3041: \message{\@undefinedmessage}%
3042: \global\@citewarningfalse
3043: \fi
3044: \immediate\openout\@auxfile = \jobname.aux
3045: \fi
3046: }%
3047: %
3048: % The \@readauxfile macro does all that work the first time it's called.
3049: % Since it's called once for every \cite, \nocite, \bibliography, and
3050: % \bibliographystyle command that the user issues, we need to remember
3051: % whether the work's been done. It's considered done if we're not to do
3052: % it---that is, if \noauxfile is defined.
3053: %
3054: \newif\if@auxfiledone
3055: \ifx\noauxfile\@undefined \else \@auxfiledonetrue\fi
3056: %
3057: % It's conceivable you'd want to change how other characters are read;
3058: % to do that, change their category code before doing \input btxmac.
3059: %
3060: %
3061: % After reading the .aux file, \@readauxfile opens it for writing.
3062: % The \@writeaux macro does the actual writing (as long as
3063: % \noauxfile is undefined).
3064: %
3065: \@innernewwrite\@auxfile
3066: \def\@writeaux#1{\ifx\noauxfile\@undefined \write\@auxfile{#1}\fi}%
3067: %
3068: %
3069: % A macro package that uses btxmac.tex might define
3070: % \@undefinedmessage (before doing an \input btxmac).
3071: %
3072: \ifx\@undefinedmessage\@undefined
3073: \def\@undefinedmessage{No .aux file; I won't give you warnings about
3074: undefined citations.}%
3075: \fi
3076: %
3077: % Even if citations are undefined, we want to complain only if
3078: % \@citewarningtrue. The default is to set \@citewarningtrue unless
3079: % \noauxfile is defined. Again, a macro package that uses
3080: % btxmac.tex might want to redefine this.
3081: %
3082: \@innernewif\if@citewarning
3083: \ifx\noauxfile\@undefined \@citewarningtrue\fi
3084: %
3085: %
3086: % Finally, before leaving we restore @'s old category code.
3087: %
3088: \catcode`@ = \@oldatcatcode
3089:
3090: % *** end including bib4plain.tex ***
3091: % This will define \cite and make sure it works as in latex
3092:
3093:
3094: \def\widestnumber#1#2{}
3095: % Our amstex-ppt style does not know about \widestnumber
3096:
3097:
3098:
3099:
3100: \def\citewarning#1{\ifx\shlhetal\relax
3101: % normal mode, do not write anything
3102: \else
3103: % private mode
3104: \par{#1}\par
3105: \fi
3106: }
3107:
3108:
3109:
3110:
3111: \def\rm{\fam0 \tenrm}
3112:
3113:
3114: \def\fakesubhead#1\endsubhead{\bigskip\noindent{\bf#1}\par}
3115:
3116:
3117: % % \input rsfs
3118: % *** start including rsfs.tex ***
3119:
3120: % # Keywords: Script or Calligraphic (Caligraphic) letters with the RSFS Font
3121:
3122: % The story so far: July 1998 -- Saharon would like to have a
3123: % ``nicer'' calligraphic font. In particualr, the leters S and P in
3124: % the usual calligraphic font do not look ``special'' enough.
3125: %
3126: % I found out that ``rsfs'' (``Ralph Smith Formal Script'') may be
3127: % what he wants. I installed the mf file, the .tfm file, as well as
3128: % a few pk files in ~/TeX/rsfs. Let's hope that this is enough.
3129: % Using amstex, all you have to do is to \input rsfs.tex
3130: % Files prepared with citealice willdothis automatically.
3131: %
3132: % Note: for some reason xdvi calls MakeTeXpk, then Maketexpk
3133: % complains about wrong resolution, but still writes commands to
3134: % missfont.log...
3135: %
3136:
3137:
3138:
3139: % we redefine a macro inside amstex's \Cal command , so that it calls
3140: % our nice font ``rsfs'' rather than the usual calligraphic font.
3141: % Note thisworks for amstex only.
3142: % In plain tex, would have to add definitions of \Cal
3143: % in latex... we should insteaduse mathrsfs.sty
3144: %
3145:
3146:
3147:
3148: \font\textrsfs=rsfs10
3149: \font\scriptrsfs=rsfs7
3150: \font\scriptscriptrsfs=rsfs5
3151:
3152:
3153: \newfam\rsfsfam
3154: \textfont\rsfsfam=\textrsfs
3155: \scriptfont\rsfsfam=\scriptrsfs
3156: \scriptscriptfont\rsfsfam=\scriptscriptrsfs
3157:
3158:
3159: \edef\oldcatcodeofat{\the\catcode`\@}
3160: \catcode`\@11
3161:
3162: \def\Cal@@#1{\noaccents@ \fam \rsfsfam #1}
3163:
3164: \catcode`\@\oldcatcodeofat
3165:
3166: % *** end including rsfs.tex ***
3167:
3168: \expandafter\ifx \csname margininit\endcsname \relax\else\margininit\fi
3169:
3170: % *** end including alice2jlem.tex ***
3171: \pageheight{8.5truein}
3172: %\pageheight{48.5pc}
3173: \topmatter
3174: \title{Logical Dreams} \endtitle
3175: \author {Saharon Shelah \thanks {\null\newline I would like to thank
3176: Alice Leonhardt for the beautiful typing. \null\newline
3177: This paper is based on my lecture (and the preparations to the lecture)
3178: during the conference {\bf Mathematical Challenges of the 21$^{th}$
3179: Century}. Publication E23 } \endthanks} \endauthor
3180:
3181:
3182: \affil{Institute of Mathematics\\
3183: The Hebrew University\\
3184: Jerusalem, Israel
3185: \medskip
3186: Rutgers University\\
3187: Mathematics Department\\
3188: New Brunswick, NJ USA} \endaffil
3189:
3190: \subjclass{{{03-02, 03Exx}}} \endsubjclass
3191: \keywords mathematical logic,
3192: set theory, independence, incompleteness, forcing, large cardinals
3193: \endkeywords
3194:
3195: \abstract We discuss the past and future of set theory,
3196: axiom systems and independence results. We deal in particular with
3197: cardinal arithmetic. \endabstract
3198:
3199: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3200: %%%%%%%%%%%%%% \mathunderaccent and \name %%%%%%%%%%%%%%
3201: %%%%%%%%%%%%%% original by Raymond Chen, %%%%%%%%%%%%%%
3202: %%%%%%%%%%%%%% slightly modified by Martin Goldstern %%%%%%%%%%%%%%
3203: %%%%%%%%%%%%%% Copyright (C) 1990, 1993. %%%%%%%%%%%%%%
3204: %
3205: % Copyleft (L) 1993. See GNU license for details.
3206: %
3207: % NO WARRANTY
3208: % Because the macro is licensed free of charge, there is no warranty
3209: % for the macro, to the extent permitted by applicable law. The macro
3210: % is provided "as is" without warranty of any kind, either expressed
3211: % or implied, including, but not limited to, the implied warranties of
3212: % merchantability and fitness for a particular purpose. The entire risk as
3213: % to the quality and performance of the macro is with you. Should the
3214: % macro prove defective, you assume the cost of all necessary servicing,
3215: % repair or correction.
3216: % In no event unless required by applicable law or agreed to in writing
3217: % will any copyright holder, or any other party who may modify and/or
3218: % redistribute the macro as permitted above, be liable to you for damages,
3219: % including any general, special, incidental or consequential damages arising
3220: % out of the use or inability to use the macro (including but not limited
3221: % to loss of data or data being rendered inaccurate or losses sustained by
3222: % you or third parties or a failure of the macro to operate with any other
3223: % macros), even if such holder or other party has been advised of the
3224: % possibility of such damages.
3225: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3226:
3227: % \Name will produce a tilde of varying width. E.g., try
3228: % \name{x}, \Name{x}, \name{W}, \Name{W}, \name{xyz}. \Name{xyz}.
3229: \toc
3230: %\widestnumber\subhead{}
3231: \subhead ${{}}$ {\bf Reading instructions} \endsubhead
3232: \subhead 0. {\bf Introductory remarks} \endsubhead
3233: \subhead 1 {\bf What does mathematical logic do for you?} \endsubhead
3234: \subhead 2 {\bf The glory of proven ignorance} \endsubhead
3235: \subhead 3 {\bf Set theory and additional axioms} \endsubhead
3236: \subhead 4 {\bf ZFC indecisiveness} \endsubhead
3237: \subhead 5 {\bf Is ZFC really so weak?} \endsubhead
3238: \subhead 6 {\bf Concluding remarks} \endsubhead
3239: \endtoc
3240: \endtopmatter
3241: \document
3242:
3243: \newpage
3244:
3245: \head {Annotated Content} \endhead \resetall
3246: % \resetall
3247: \bn
3248: \ \ \ \ $\quad$ Reading instructions.
3249: \bn
3250: \S0 $\quad$ Introductory remarks.
3251: \mr
3252: \item "{${{}}$}" [How to read; what this article tries to do; what is
3253: cardinal arithmetic.]
3254: \ermn
3255: \S1 $\quad$ What does mathematical logic do for me?
3256: \mr
3257: \item "{${{}}$}" [Why is it needed; what is this animal ZFC; thesis:
3258: general results; the Jeffersonian thesis for the
3259: best framework; the scale thesis.]
3260: \ermn
3261: \S2 $\quad$ The glory of proven ignorance.
3262: \mr
3263: \item "{${{}}$}" [G\"odel's diet, Cohen's fattening; independence in number
3264: theory; primes are random; the Riemann hypothesis, consistency strength.]
3265: \ermn
3266: \S3 $\quad$ Set theory and additional axioms.
3267: \mr
3268: \item "{${{}}$}" [G\"odel sentences and large cardinals; semi-axioms;
3269: new axioms; semi-axioms on $AD_{{\bold L}[{\Bbb R}]}$ positive but not true;
3270: is there just one nice descriptive set theory? cardinal invariants for
3271: the continuum.]
3272: \ermn
3273: \S4 $\quad$ ZFC indecisiveness.
3274: \mr
3275: \item "{${{}}$}" [Large cardinals, equi-consistency;
3276: supercompacts; significance of values of $2^{\aleph_0}$;
3277: dividing lines/watershed lines; independence over $\bold L$.]
3278: \ermn
3279: \S5 $\quad$ Is ZFC really so weak?
3280: \mr
3281: \item "{${{}}$}" [A new perspective on cardinal arithmetic; rubble
3282: removal thesis; treasures thesis; pcf; relatives of GCH, dividing
3283: lines/watershed lines.]
3284: \ermn
3285: \S6 $\quad$ Concluding Remarks.
3286: \newpage
3287:
3288: \noindent {\bf Reading instructions}: The real instructions, i.e., my hopes,
3289: are that you start in the beginning and read untill the end. But if you look
3290: for advice on how much not to read and still get what you like, note that
3291: the sections are essentially independent. If you wonder what is the
3292: relevance of mathematical logic to the rest of mathematics and whether you
3293: implicitly accept the usual axioms of set theory (that is, the axioms of
3294: E.~{\bf Z}ermelo and A.~{\bf F}raenkel with the Axiom of {\bf C}hoice,
3295: further referred to as ZFC), you should read mainly \S1.
3296:
3297: If you are excited about the independence phenomenon you should read \S2.
3298: If you are interested in considerations on new additional axioms, and/or in
3299: looking at definable sets of reals (as in descriptive set theory) or general
3300: sets of reals, and in looking more deeply into independence, you should go to
3301: \S3. For more on independence in set theory see \S4. If you really are
3302: interested in cardinal arithmetic, i.e., the arithmetic of infinite numbers
3303: of G.~Cantor, go to \S5.
3304:
3305: I had intended to also write a section on ``Pure model theory", ``Applied
3306: model theory", and ``On Speculations and Nonsense" but only \S6
3307: materialized.
3308:
3309: I thank J. Baldwin, A. Blass, G. Cherlin, P. Eklof, U. Hrushovski,
3310: J. Kennedy, C. Laskowski, A. Levy, A. Ros{\l}anowski, J. V\"a\"an\"anen and
3311: A. Villaveces for many comments.
3312:
3313: \bn
3314: \head {\S0 Introductory remarks} \endhead \resetall \sectno=0
3315: \medskip
3316:
3317: The intention to set the agenda for the $21^{\text{th}}$ century for
3318: mathematical logic is certainly over-ambitious, if not to say megalomaniac.
3319:
3320: Unavoidably, I will speak mostly on directions I am interested in and/or
3321: relatively knowledgeable in (which are quite close to those I have worked
3322: on), so this selection will be riddled with prejudices but at least they are
3323: mine; hopefully some others will be infuriated enough to offer differing
3324: opinions.
3325: \medskip
3326:
3327: I will try to make this article accessible to any mathematician (if (s)he
3328: ignores some more specialized parts), as this is intended for a general
3329: audience (of mathematicians); this differs from my recent papers on open
3330: problems, \cite{Sh:666}, \cite{Sh:702}. Also, as readers tend to get lost,
3331: each section makes a fresh start and even subsections can be read separately
3332: (so from a negative point of view, there are repetitions and a somewhat
3333: fragmented character).
3334:
3335: Usually we try to appeal to non-expert readers, do our best, fail, and
3336: barely make it interesting for the professional, but I am doomed to make the
3337: attempt. {\it Many of the issues discussed below have been very popular and
3338: everyone has an opinion; I will mention some other opinions in order to
3339: disagree with them}.
3340: \medskip
3341:
3342: \ub{Cardinal Arithmetic}: We shall deal several times with \ub{cardinal
3343: arithmetic}, so recall that two (possibly infinite) sets
3344: $A,B$ are called equinumerous (in short: $A\sim B$), if there is a
3345: one-to-one mapping from one onto the other. Essentially, a cardinal number
3346: $\lambda$ is $A/{\sim}$ written as $|A|$. We define addition,
3347: multiplication and exponentiation of those numbers by
3348: \mr
3349: \item "{}" $|A| + |B| = |A\cup B|$, when $A,B$ are disjoint,
3350: \item "{}" $|A| \times |B| = |A \times B|$,
3351: \item "{}" $|A|^{|B|} = |{}^B A| = |\{f:f$ a function from $B$ into $A\}|$,
3352: also
3353: \item "{}" $\prod\limits_{i\in I} |A_i| = |\prod\limits_{i \in I} A_i|$.
3354: \endroster
3355: Then all the usual equalities and weak $(\le)$ inequalities hold, but for
3356: infinite cardinals $\lambda,\mu$ we have $\lambda +1=\lambda$, $\lambda+\mu=
3357: \max\{\lambda,\mu\}=\lambda\times\mu$, but $2^\lambda>\lambda$ for every $\lambda$.
3358:
3359: Let $\aleph_0$ be the number of natural numbers, $\aleph_{n+1}$ the
3360: successor of $\aleph_n$, $\aleph_\omega = \sum\{\aleph_n:n \in \Bbb
3361: N\}$.
3362:
3363: The {\bf C}ontinuum {\bf H}ypothesis (CH) is the statement $2^{\aleph_0} =
3364: \aleph_1$, and the {\bf G}eneralized {\bf C}ontinuum {\bf H}ypothesis (GCH)
3365: says that $2^\lambda$ is $\lambda^+$ (the successor of $\lambda$) for every
3366: infinite $\lambda$. In fact, GCH says that not only the rules of addition
3367: and multiplication of infinite numbers are simple, but also the rules of
3368: exponentiation.
3369:
3370: An ordinal is the order type of a linear order which is well ordered,
3371: i.e., whose every non empty subset has a first element. In fact we can
3372: choose a representative; for ordinals $\alpha,\beta$ the meaning of $\alpha <
3373: \beta$ is clear and, in fact, $(\{\alpha:\alpha < \beta\},<)$ is of
3374: order type $\alpha$. A cardinal number $\lambda$ is identified with
3375: $\{\alpha:\alpha$ is an ordinal and $|\{\beta:\beta < \alpha\}| <
3376: \lambda\}$, a set of cardinality $\lambda$; this is the representative.
3377:
3378: We denote by $\aleph_\alpha$ the $\alpha$-th infinite cardinal.
3379: \bigskip\bigskip
3380:
3381: \noindent
3382: \head{\S1 What does mathematical logic do for you?}
3383: \endhead \resetall \sectno=1
3384: \medskip
3385:
3386: What does {\it mathematical logic} deal with?
3387:
3388: It is {\bf mathematics applied to mathematics itself} (and to some problems
3389: in philosophy).
3390:
3391: But what does it do for you, a mathematician from another field? It does
3392: not help you to solve a thorny differential equation or anything like
3393: that. But if you suspect that the Riemann Hypothesis or P=NP is {\it
3394: undecidable}, or, say, cannot be decided by your present methods by whatever
3395: ingenuity which can be mastered, then you are on the hook: how can you even
3396: phrase this coherently, let alone {\it prove} anything like this?
3397:
3398: For such questions you need to phrase a general framework for doing
3399: mathematics (this is set theory -- usually axiomatized in the ``ZFC set of
3400: axioms\footnote{axioms of Zermelo and Fraenkel with Axiom of Choice}'' or
3401: relatives of it).
3402:
3403: You also need to {\it define} what a mathematical proof is (G\"odel's
3404: completeness theorem as well as G\"odel's incompleteness theorem speak about
3405: the relationship between provability and truth; more on this than I would
3406: like to know is the subject of proof theory).
3407:
3408: You may develop mathematical theories well enough without looking for
3409: mathematical logic, but if you like a formalization of ``a mathematical
3410: theory'' and consider investigation at such a level of generality, you
3411: arrive at model theory. You may wonder whether anything interesting can be
3412: said about such an arbitrary theory; does model theory just grind water or
3413: does it have theorems with meat? Does model theory pass this test?
3414: Certainly, I definitely think that it does. Does model theory have
3415: relevance to other parts of mathematics? I think that for a general theory
3416: to give interesting results when specialized to older contexts is strong
3417: evidence of its being deep (though certainly not a necessary condition).
3418: Naturally, I think that model theory passes this test too, and notions which
3419: arise from investigating structure of a general class of structures, in
3420: arbitrary cardinality later serve in investigating classical objects.
3421: Though I have much to say on model theory, I have not managed to write what
3422: I would like to say on it, so except for \S6 the present paper does not deal
3423: with model theory, but only with set theory.
3424:
3425: Similarly if you like to know about inherent limitations of algorithms and the
3426: semi-lattice of Turing degrees, you turn to
3427: computability (of old called recursion theory).
3428: \medskip
3429:
3430: \ub{What is this animal ``ZFC''?}
3431: \smallskip
3432:
3433: Fundamental for us is ZFC. I feel it is not something esoteric for
3434: you. Rather, most mathematicians ``do not know'' of ZFC just as Monsieur
3435: Jourdain in Moli\`ere's {\it Bourgeois Gentilhomme} ``did not know'' he was
3436: speaking in prose; or, in the same way that most of us use freely the law of
3437: the excluded middle, ``$A$ or non-$A$'', without any scruples, because we do
3438: not even notice that we are using it. Many times, we can read but not
3439: understand (mathematical writings). However, I guarantee you will
3440: understand, though not necessarily be able to read (including most of my
3441: audience in LA and unfortunately myself) the following paragraph:
3442:
3443: \block
3444: {\it
3445: \noindent MONSIEUR JOURDAIN: Quoi? quand je dis: ``Nicole, apportez-moi mes
3446: pantoufles, et me donnez mon bonnet de nuit" , c'est de la prose?
3447:
3448: \noindent MAITRE DE PHILOSOPHIE: Oui, Monsieur.
3449:
3450: \noindent MONSIEUR JOURDAIN: Par ma foi! il y a plus de quarante ans que
3451: je dis de la prose sans que j'en susse rien, et je vous suis le plus
3452: oblig\'e du monde de m'avoir appris cela.}
3453: \endblock
3454: When I explain the axioms of ZFC, the usual response is ``fine, but by what
3455: right do you assume CH?" (the Continuum Hypothesis, see below, which is not
3456: included).
3457: \medskip
3458:
3459: In non-technical terms,
3460: \medskip
3461:
3462: \ub{{\stag{1.0} The Jourdain Thesis}}:\quad If you deal freely with the set
3463: of reals, or the vector space of functions from the reals to the reals or,
3464: e.g., with Hom$(G,H)$ for groups $G,H$, then you -- for all practical
3465: purposes -- work within and accept the axioms of ZFC, that is they formalize
3466: whatever proofs you accept. Even other positions (like omitting the axiom of
3467: choice or replacing it by weak versions) are best dealt within this
3468: framework.
3469: \medskip
3470:
3471: \ub{{\stag{1.1} The Generality Thesis}}: \quad If you would like to have
3472: {\it general} results, you have to use a set theoretic framework. While by
3473: now we know well how to generate ``generalized nonsense" which grinds water
3474: and tells us nothing new, many times a general framework shows you that
3475: isolated claims are parts of general phenomena; the real test is whether you
3476: discover deep beautiful mathematics.
3477: \medskip
3478:
3479: That is, if you want to know something about {\bf ALL} structures of some
3480: kind (all groups, all manifolds, etc), then you need to be able to deal with
3481: infinite unions or infinite products of sets, which are inherently
3482: set-theoretical concepts.
3483:
3484: Moreover, even if your main interest is in, say, finitely generated groups,
3485: you will be drawn into more general ones, e.g., taking some
3486: compactification, or using infinite products.
3487:
3488: How far should you go? When to stop? I suggest that we adopt the following
3489: position:
3490: \medskip
3491:
3492: \ub{{\stag{1.2} The Jeffersonian Thesis}}:\quad The best framework, the best
3493: foundation, is the one that governs you least; that is you do not notice
3494: its restrictions (except when really necessary, like arriving at a
3495: contradiction).
3496: \medskip
3497:
3498: For instance, look at the following scheme of a proof: given a colouring
3499: of the natural numbers with red and green, we look at the Stone-\v Cech
3500: compactification $\beta({\Bbb N})$ of ${\Bbb N}$, which is just the set of
3501: ultrafilters on ${\Bbb N}$ (the principal ultrafilters are identified
3502: with the natural numbers); we define on it an operation $+$:
3503: $$p+q=\{A\subseteq{\Bbb N}:\{n:n+A \in p\}\in q\},$$
3504: and using an easy fixed point theorem in the semi-group $(\beta({\Bbb
3505: N}),+)$ we get an infinite monochromatic set such that its members and all
3506: (finite non-trivial) sums of members (with no repetition) have the same
3507: color (this is a well known, very elegant alternative proof of Hindman's
3508: theorem). Would you object to such a proof? Or, would you stop at the power
3509: set ${\Cal P}({\Bbb N})$ of $\Bbb N$? First it seems to me unnatural not to
3510: have ${\Cal P}({\Cal P}({\Bbb N}))$ and second you will not gain much, e.g.,
3511: the problems of cardinal arithmetic are replaced by relatives even if you
3512: consider only cardinalities of sets of reals (on pcf theory see \S5; also
3513: definable sets may give such phenomena).
3514:
3515: There is a natural scale of theories, some stronger than ZFC (large
3516: cardinals), some weaker (e.g., PA = Peano arithmetic = a set of axioms for
3517: the natural numbers in first order logic, describing addition,
3518: multiplication, and the scheme of mathematical induction).
3519:
3520: PA already tells us that the universe is infinite, but PA ``stops'' after we
3521: have all the natural numbers. ZFC goes beyond the natural numbers; in ZFC we
3522: can distinguish different infinite cardinalities such as ``countable'' and
3523: ``uncountable'', and we can show that there are infinitely many
3524: cardinalities, uncountably many, etc.
3525:
3526: But there are also set theories stronger than ZFC, which are as high above
3527: ZFC as ZFC is above PA, and even higher.
3528: \medskip
3529:
3530: \ub{{\stag{1.3} The Scale Thesis}}:\quad Even if you feel ZFC assumes too
3531: much or too little (and you do not work artificially), you will end up
3532: somewhere along this scale, going from PA to the large cardinals. \nl
3533: (What does ``artificial'' mean? For Example, there are 17 strongly
3534: inaccessible \footnote{that is, an uncountable cardinal $\lambda$ satisfying
3535: $\mu<\lambda\Rightarrow 2^\mu<\lambda$ and: if $\lambda_t < \lambda$ for
3536: $t\in I$ where $|I|<\lambda$, then $\sum\limits_{t\in I}\lambda_t<\lambda$;
3537: in other words is strong limit and regular} cardinals, the theory ZFC +
3538: ``there are 84 strongly inaccessible cardinals" is contradictory and the
3539: theory ZFC + ``there are 49 strongly inaccessible cardinals" is consistent
3540: but has no well found model.)
3541: \medskip
3542:
3543: An extreme skeptic goes ``below PA", e.g., (s)he may doubt not only whether
3544: $2^n$ (for every natural number $n$) necessarily exists but even whether
3545: $n^{[\log n]}$ exists. [In the latter case (s)he still has a chance to prove
3546: ``there are infinitely many primes".] The difference between two such
3547: positions will be just where they put their belief; so the theory is quite
3548: translatable, just a matter of stress. For instance, by one we know that
3549: there are infinitely many primes, by the other we have an implication.
3550: There is a body of work supporting this, the so called equi-consistency
3551: results (e.g., on real valued measurable cardinals, see later).
3552:
3553: So far I have mainly defended accepting ZFC, as for believing in more,
3554: see later.
3555: \bn
3556:
3557: \head {\S2 The glory of proven ignorance: To {\it show} that we cannot
3558: know!} \endhead \resetall
3559: \medskip
3560:
3561: In short: The Continuum Problem asks:
3562:
3563: How many real numbers are there?
3564: \medskip
3565:
3566: G.~Cantor proved: There are {\it more} reals than rationals. (In a
3567: technical sense: ``uncountable'', ``there is no bijection from $\Bbb R$ into
3568: $\Bbb Q$'').
3569:
3570: The Continuum Hypothesis (CH) says: yes, more, but barely so. Every set $A
3571: \subseteq {\Bbb R}$ is either countable or equinumerous with $\Bbb R$.
3572: \medskip
3573:
3574: K.~G\"odel proved: Perhaps CH holds.
3575:
3576: P.~Cohen proved: Perhaps CH does not hold.
3577: \medskip
3578:
3579: What is a better starting point, than Hilbert's first problem, {\it the
3580: Continuum Problem}? It deals with the arithmetic of infinite numbers,
3581: called cardinals, discovered by Cantor; they are just the equivalence
3582: classes of the relation ``there is a one-to-one mapping from $A$ onto $B$"
3583: with natural operations. Specifically, it asks whether the continuum, the
3584: number of reals, is the successor of the number of natural numbers. In
3585: other words, can we for any infinite set of real numbers find a one-to-one
3586: map from it onto the set of all reals or onto the set of natural
3587: numbers. {\it I find this a great problem, in particular it has induced
3588: much of the 20th century achievements in set theory.}
3589:
3590: G\"odel has shown that the Generalized Continuum Hypothesis (GCH) may hold.
3591: In fact, it holds if we restrict ourselves to the class of the constructible
3592: sets: the universe $\bold L$ consisting of the constructible sets, which
3593: satisfies all the axioms of set theory and also GCH (see \S3). The
3594: class $\bold L$ can be described as the minimal family of sets you have to
3595: have as long as you have the same ordinals (that is, order types of linear
3596: orders which are well founded, i.e., linear orders for which every nonempty
3597: set has a first element). On the other hand Cohen has proved that
3598: you cannot prove the Continuum Hypothesis. Whereas G\"odel has ``shrunk" the
3599: universe, Cohen has ``extended" it, adding ``generic" subsets to old
3600: partially ordered sets (which from this perspective are called forcing
3601: notions).
3602: \medskip
3603:
3604: {\bf G\"odel}: CH cannot be refuted. Moreover, the {\it Generalized
3605: Continuum Hypothesis} may hold, in fact it holds if we restrict ourselves to
3606: the class $\bold L$ = the class of constructible sets.
3607: \medskip
3608:
3609: {\bf Cohen}: You cannot prove that all sets are constructible, and you
3610: cannot even prove the weaker statement CH.
3611: \medskip
3612:
3613: Cohen discovered the method of {\it forcing} and used it to prove this
3614: ``independence'' result.
3615:
3616: So the history of set theory is like that of many people - first non
3617: self-awareness, happiness of discovering the world (not paying too much
3618: attention to B.~Russell), then going on a crash diet for a look of thinness
3619: ($\bold L$ of G\"odel) and then discovering the comforts of growing a nice
3620: belly (after Cohen).
3621:
3622: In this section we treat the ``independence of CH'' not for its own sake but
3623: as a prototype for an independence result (= proof of unprovability).
3624: \medskip
3625:
3626: \ub{{\stag{2.1} Dream}}:\quad 1) Find a ``forcing method'' relative to PA
3627: which shows that PA and even ZFC does not decide ``reasonable" arithmetical
3628: statements, just like the known forcing method works for showing that
3629: ZFC cannot decide reasonable set theoretic questions; even showing the
3630: unprovability of various statements in bounded arithmetic (instead of PA) is
3631: formidable. \nl
3632: 2) In particular, in a way parallel to forcing, find independence
3633: results for classical problems in number theory; {\it for example}:
3634: \mr
3635: \item "{$(\boxdot)$}" prove that various statements formalizing the
3636: ``randomness of the prime numbers" (see below, e.g., there are infinitely
3637: many primes of the form $n^2+1$) are independent (from PA and even ZFC and
3638: other such statements).
3639: \endroster
3640: \medskip
3641:
3642: Of course, $(\boxdot)$ is a possible materialization of
3643: \medskip
3644:
3645: \ub{\stag{2.2q} Dream}:\quad Find a theory which will formalize the thesis
3646: that the primes behave like a random set of natural numbers gotten by
3647: tossing a coin with probability $1/\log(n)$ for deciding if $n$ is prime.
3648: \medskip
3649:
3650: Of course a parallel achievement for other classical problems in number
3651: theory will be very welcome too.
3652: \medskip
3653:
3654: {\bf Warning:} There are two major known kinds of ``independence results''.
3655: The method of forcing can only be used to make the universe ``fatter'', not
3656: ``taller''. In technical terms: if we use forcing starting from models of
3657: ZFC to prove that ``ZFC neither proves nor refutes statement A'' (or
3658: equivalently, each of ``ZFC + A'' and ``ZFC + non-A'' is consistent), then
3659: the ``consistency strengths'' of ``ZFC'', ``ZFC+A'', ``ZFC + non-A'' , are
3660: all equal.
3661:
3662: We should not confuse forcing with another method for proving independence:
3663: that of consistency strength. This means sentences like those gotten by
3664: G\"odel's incompleteness theorem and its many illustrious descendants; some
3665: of which are discussed below, for example:
3666: \smallskip
3667:
3668: ``in ZFC we cannot prove that ZFC is consistent".
3669: \smallskip
3670:
3671: \noindent (See more in the next section after \scite{3.1}.) Here we do not
3672: use forcing, rather we rely on the fact that the consistency strength of
3673: ``ZFC + ZFC {\it is consistent}'' is strictly higher than the consistency
3674: strength of ZFC alone.
3675:
3676: Independence results (=unprovability proofs) of this second kind (comparing
3677: consistency strengths) are possible also over much weaker theories such as
3678: Peano Arithmetic, a common axiomatization for the natural numbers.
3679:
3680: Note that if we take as our base PA instead ZFC, statements like: ``every
3681: definition $\{x \in \Bbb N:\varphi(x)\}$ defines a set'' play the role of
3682: large cardinals.
3683:
3684: There has been much work devoted to trying to find finitary combinatorial
3685: statements which are equiconsistent with such ``large cardinals
3686: statements'': Paris and Harrington \cite{PH77}, Kirby and Paris \cite{KP82}
3687: (the Hydra), Ketonen and Solovay \cite{KS81}, and many works of Harvey
3688: Friedman, see \cite{FOM} for much information and discussion. Friedman has
3689: been saying for some years that all this is irrelevant to ``mainstream
3690: mathematics'', and thinks that other mathematics relevant for his
3691: discoveries will be developed. So from his view it follows that Dream
3692: \scite{2.4} below is false.
3693:
3694: Let me stress that those two methods of forcing and of comparing consistency
3695: strength are incomparable: though both may prove sometimes the same theorem,
3696: they say different things; the forcing one is more specific to set theory,
3697: gives a strong ``no answer", whereas the method of comparing consistency
3698: strength (or large cardinals) gives an answer whose meaning may naturally
3699: lead to debate. It depends on our degree of confidence in the consistency
3700: of the large cardinal considered. Also it has a limitation as a method of
3701: proving independence: if ZFC $+ \varphi_1$ is equiconsistent with ZFC $+
3702: ``\exists$ a strongly inaccessible cardinal" whereas ZFC $+ \varphi_2$ is
3703: equiconsistent with ZFC, then ZFC $+\varphi_2+\neg\varphi_1$ is consistent,
3704: but we cannot do anything about ZFC $+\varphi_1+\neg\varphi_2$.
3705:
3706: My ``dream'' about classical problems in number theory refers to
3707: independence results of the first kind, such as those obtained by forcing,
3708: where consistency strength is not increased. Concerning the other method:
3709: \medskip
3710:
3711: \ub{{\stag{2.4} Dream}}:\quad Prove that the Riemann Hypothesis is
3712: unprovable in PA, but is provable in some higher theory.
3713: \medskip
3714:
3715: What basis does my hope for this dream have? First, the solution of
3716: Hilbert's 10th problem tells us that each problem of the form ``is the
3717: theory ZFC $+ \varphi$ consistent" can be translated to a (specific)
3718: Diophantine equation being unsolvable in the integers, moreover the
3719: translation is uniform (this works for any reasonable (defined) theory,
3720: where consistent means that no contradiction can be proved from it).
3721: Second, we may look at parallel development ``higher up"; as the world is
3722: quite ordered and reasonable.
3723:
3724: Note that there is a significant difference between $\Pi_2$ sentences (which
3725: say, e.g., for a given polynomial $f$, the sentence $\varphi_f$ saying that
3726: for all natural numbers $x_0,\dotsc,x_{n-1}$ there are natural numbers
3727: $y_0,\dotsc,y_m$ such that $f(x_0,\dotsc,y_0,\ldots) = 0$) and $\Pi_1$
3728: sentences saying just that, e.g., a certain Diophantine equation is
3729: unsolvable. The first ones can be proved not to follow from PA by
3730: restricting ourselves to a proper initial ``segment" of a nonstandard model
3731: of PA. For $\Pi_1$ sentences, in some sense proving their consistency show
3732: they are true (as otherwise PA is inconsistent). Naturally, concerning
3733: statements in set theory, models of ZFC are more malleable, as the method of
3734: forcing shows.
3735: \medskip
3736:
3737: \ub{\stag{2.4m} Problem}:\quad Show that forcing is the unique method in a
3738: non-trivial sense.
3739: \medskip
3740:
3741: I have the impression that number theorists were generally not so excited
3742: about the unsolvability of Diophantine equations. Probably they reasoned
3743: that anyway they did not hope for such a grand solution and all this has no
3744: direct bearing on their work. So far they are right, but several times
3745: researchers in other fields have felt similarly (true, in a posteriori
3746: wisdom we can explain the difference but we all do not lack this kind of
3747: wisdom), clearly my dream contradicts this feeling.
3748: \bigskip\bigskip
3749:
3750: \head {\S3 Set theory and additional axioms} \endhead \resetall \sectno=3
3751: \medskip
3752:
3753: \ub{G\"odel's sentences and large cardinals}:
3754:
3755: So the sentence saying `` there is no proof of contradiction in PA (Peano
3756: Arithmetic)" or similarly in ZFC is undecidable in this theory ( but in ZFC
3757: we can prove the consistency of PA). Now it seems strange to believe in PA
3758: while not believing in ``PA+ CON(PA)'' where CON(T) is the assertion that
3759: the theory $T$ is consistent, (but where to stop?), so though we prove
3760: independence, this is not like the proof of the independence of CH, which
3761: leaves us with no indication what is true; a related difference is also
3762: expressed by ``those sentences are metamathematical''. Related to this
3763: incompleteness method are large cardinals. The so called ``large cardinal
3764: axioms'' states that a ``large cardinal $\kappa$" exists which means it
3765: resembles $\aleph_0$ in some senses in particular with properties implying
3766: that ${\Cal H}(\kappa)$, the family of sets with hereditary closure of
3767: cardinality $< \kappa$, form a model of ZFC and more. Noticeable among them
3768: is ``$\kappa$ is a measurable cardinal", which says that there is a 0-1
3769: measure on the family of subsets of $\kappa$, which gives singletons measure
3770: zero and is ${<}\kappa$-complete (that is, the union of $<\kappa$ sets of
3771: measure zero is of measure zero). The first large cardinal property is
3772: ``$\kappa$ is a strongly inaccessible cardinal" which means that it is
3773: strong limit (i.e., $\mu < \kappa \Rightarrow 2^\mu <\kappa$ ), regular
3774: (i.e., is not the sum of $<\kappa$ cardinals each $<\kappa$) and uncountable
3775: (the other two properties are enjoyed by $\aleph_0$). I feel those are
3776: mathematical statements in set theory; some others will call them not
3777: mathematical, but logical or set-theoretical. They reserve ``mathematical''
3778: for number theory or generally what they call ``mainstream mathematics''.
3779: \medskip
3780:
3781: \ub{Strengthening ZFC, new axioms}
3782:
3783: Should we add more axioms to ZFC? There were some options on various
3784: grounds. For some time using GCH was quite popular; it gives a coherent
3785: theory for set theory of the real line (e.g., there is an uncountable set
3786: $S$ of reals such that every uncountable subset of $S$ is not of Lebesgue
3787: measure zero (or is not meagre), see, e.g., the writing of W.~Sierpi\'nski).
3788: It was also used extensively in the partition calculus investigation see
3789: Erd\"os, Hajnal and Rado \cite{EHR} and in model theory in the 1950's and
3790: 60's, e.g., the use of saturated models and in Keisler's theorem that every
3791: two elementary equivalent models have isomorphic ultrapowers.
3792:
3793: It became reasonable to assume GCH (and clearly if you prove a statement
3794: using ZFC + GCH, then you cannot refute in ZFC that statement, by G\"odel's
3795: work on $\bold L$). Some people look at this behaviour as adopting GCH, and
3796: it could be argued that you do not lose much (e.g., ZFC and ZFC + GCH have
3797: the same arithmetical consequences). Still most mathematicians, even those
3798: who have worked with GCH do it because they like to prove theorems and they
3799: could not otherwise solve their problems (or get a reasonable picture),
3800: i.e., they have no alternative in the short run. Clearly, even after
3801: forcing was found, it seems better to prove that something follows from GCH
3802: than just proving it is consistent; statements which we treat like this we
3803: shall call semi-axioms (later we explicate more). Of course, the extent to
3804: which we consider a statement a semi-axiom is open to opinion and may change
3805: in time. I give statements in cardinal arithmetic a high score in this
3806: respect.
3807:
3808: Note that a semi-axiom may be (consistent with ZFC and) very atypical
3809: (= the family of universes satisfying it is ``negligible") but still very
3810: interesting as for some set of problems it gives a coherent nice
3811: picture.
3812:
3813: After the works of K.~G\"odel and R.~B.~Jensen on $\bold L$, when it became
3814: clear that there is very little independence over ZFC + $\bold V = \bold L$,
3815: adopting $\bold V = \bold L$ as an axiom became an issue. It is useful, it
3816: decides many problems (in particular it implies GCH so we understand
3817: cardinal arithmetic), it also is a natural statement. Just one problem: why
3818: the hell should it be true? (What does true mean here? See below.) Jensen
3819: has thought that to prove a statement holds in $\bold L$ or just in a
3820: universe which is canonical, has a structure (a parallel of his fine
3821: structure theory) is better than just proving consistency.
3822:
3823: I think so too and give $\bold V = \bold L$ and other inner models
3824: semi-axiom status, though probably less high than Jensen does.
3825: \medskip
3826:
3827: J.~Kennedy wondered what I mean by ``$\bold V = \bold L$ is not true".
3828:
3829: Some believe that compelling, additional axioms for set theory which settle
3830: problems of real interest will be found or even have been found. It is hard
3831: to argue with hope and problematic to consider arguments which have not yet
3832: been suggested. However, I do not agree with the pure Platonic view that
3833: the interesting problems in set theory can be decided, we just have to
3834: discover the additional axiom. My mental picture is that we have many
3835: possible set theories, all conforming to ZFC. I do not feel ``a universe of
3836: ZFC" is like ``the sun", it is rather like ``a human being" or ``a human
3837: being of some fixed nationality", see more in \cite{Sh:E16}.
3838:
3839: So my meaning in saying ``why the hell should it be true", is not that it is
3840: provably false, just as ``the national lottery in the last ten years was won
3841: successively in turn by the nephews of the manager, so we know that
3842: there was cheating" is mathematically not proved. Clearly $\bold L$ is
3843: very special, to some extent unique, thus, the statement $\bold V = \bold L$
3844: should get probability zero (thought not being impossible).
3845: So $\bold L$ is certainly a citizen with full rights but a very atypical
3846: one. Also a typical citizen will not satisfy $(\forall
3847: \alpha)[2^{\aleph_\alpha} = \aleph_{\alpha + \alpha +7}]$ but probably
3848: will satisfy $(\exists \alpha)(2^{\aleph_\alpha} = \aleph_{\alpha +
3849: \alpha + 7})$. However, some statements do not seem to me clearly
3850: classified as typical or atypical. You may think ``does CH, i.e.,
3851: $2^{\aleph_0} = \aleph_1$ hold?" being like ``can a typical American be
3852: Catholic". More reasonably CH has a small measure, still much much more than
3853: $\bold V = \bold L$. For set theorists I will add that $\exists 0^\#$
3854: is for me a candidate for a statement with positive measure and with a
3855: positive measure for its negation.
3856:
3857: What about ZFC + ``ZFC is inconsistent"? Clearly we would not consider such
3858: theories except that G\"odel incompleteness theorems forces us to do it; so
3859: if $\bold V = \bold L$ is an atypical citizen, such a theory should perhaps
3860: be a permanent illegal immigrant.
3861: \medskip
3862:
3863: But I am very interested in
3864: \medskip
3865:
3866: \ub{\stag{3.1} Dream}:\quad Find statements which yield a wonderful theory,
3867: so will therefore be accepted as additional semi-axioms in the sense above,
3868: which are not just other cases of those above.
3869: \medskip
3870:
3871: Large cardinals are certainly natural statements, as their role in finding a
3872: quite linear scale of consistency strength on statements (arising
3873: independently of them) shows. But there is an important group with stronger
3874: beliefs - the California school of set theory which holds that AD$_{{\bold
3875: L}[\Bbb R]}$ (and relatives which we explain below) is true. They are
3876: interested mainly in descriptive set theory so let me first try to explain
3877: it. The point is that we know that some sets of reals are not Lebesgue
3878: measurable, but Borel sets are, and even $\Sigma^1_1$-sets (projections to
3879: $\Bbb R$ of Borel subsets of $\Bbb R \times \Bbb R$). But this is not
3880: necessarily true for projective sets (= the sets belonging to the closure of
3881: the family of Borel subsets of the $\Bbb R^n$-s under projection and
3882: complement).
3883:
3884: In particular if $\bold V = \bold L$ this is false (i.e., not all projective
3885: set of reals are Lebesgue measurable) and the California school believes
3886: that generally it gives a ``false", uninteresting picture and the answers we
3887: get in this case are ``incidental", ``artificial". This is very reasonable.
3888: For them, the statement AD$_{L[\Bbb R]}$, and lately the star-axiom from
3889: Woodin \cite{Wd00}, are the remedies they adopt. Just as AD$_{\bold L[\Bbb
3890: R]}$ solves ``correctly" the theory of $({\Cal H}(\aleph_1),\in)$, so does
3891: the star-axiom solve correctly the problem of $({\Cal H}(\aleph_2),\in)$.
3892: In particular, AD$_{\bold L[\Bbb R]}$ implies that all projective sets of
3893: reals are Lebesgue measurable and generally gives the ``right theorems of
3894: descriptive set theory". The star-axiom gives much more, in particular it
3895: implies the continuum, i.e., the number of reals, is $\aleph_2$.
3896:
3897: The argument of the California school for AD$_{\bold L[\Bbb R]}$ is that it
3898: gives a coherent, true picture for a group of problems on the continuum,
3899: e.g., the behavior of the projective sets and implies that the natural
3900: problems in the theory of projective sets of reals are decidable and in the
3901: ``right way" and it is equi-consistent with suitable large cardinals,
3902: moreover they follow from their existence.
3903:
3904: Now they do not have an accepted catechism, different members may differ,
3905: and even the same reasonable person may vary according to time or place, but
3906: I heard many times that ``AD$_{L[\Bbb R]}$ is true". More specifically, for
3907: definitiveness, let me quote two major opinions. H.~Woodin, in a seminar at
3908: the Mittag-Leffler institute (Fall 2000), says that the work on problems on
3909: implications between variants of the axiom of choice (so prominent in set
3910: theory till the sixties) has been essentially deserted, marginalized as the
3911: axiom of choice is just accepted as true. Similarly, he thinks the
3912: star-axiom will be accepted as true, and research which was done on problems
3913: it answers by other approaches will be marginalized. In an informal
3914: symposium in V\"a\"an\"anen's apartment around the same time, after I
3915: explained my position on very interesting semi-axioms, J.~Steel persuasively
3916: argued ``so having agreed that not all set theories are equal, some are more
3917: interesting, they are better, so make one more step, is there not the best
3918: ... (star-axiom)"? Woodin \cite{Wd00} is an excellent presentation and is
3919: written in a non-polemic style.
3920:
3921: Let me stress: the mathematics of the California school is great: deep and
3922: interesting; the program succeeded to discover a major semi-axiom. Unlike
3923: Woodin I feel that probably the right analogy is between the status of
3924: AD$_{\bold L[\Bbb R]}$ and the star-axiom now with that of GCH and $\bold V
3925: = \bold L$ earlier. At the time they were much more informative then any
3926: alternative, now they are not marginalized, just not ``the favorite son" any
3927: more.
3928:
3929: I strongly reject the California school's position on several grounds.
3930: \mr
3931: \item "{$(a)$}" Generally I do not think that the fact that a
3932: statement solves everything
3933: really nicely, even deeply, even being the best semi-axioms (if there is
3934: such a thing, which I doubt)
3935: is a sufficient reason to say it is a ``true axiom". In
3936: particular I do not find it compelling at all to see it as true.
3937: \sn
3938: \item "{$(b)$}" The judgments of certain semi-axioms as best is based
3939: on the groups of problems you are interested in. For the California
3940: school descriptive set theory problems are central.
3941: While I agree that they are
3942: important and worth investigating, for me they are not ``the
3943: center". Other groups of problems suggest different semi-axioms as
3944: best, other universes may be the nicest from a different perspective.
3945: \sn
3946: \item "{$(c)$}" Even for descriptive set theory the adoption of the
3947: axioms they advocate is problematic.
3948: It makes many interesting distinctions disappear (see more below).
3949: \ermn
3950: Now I reject also the extreme formalistic attitude which
3951: says that we just scribble symbols on paper or all consistent set
3952: theories are equal (see above before \scite{3.1}).
3953: \medskip
3954:
3955: {\stag{3.2} \ub{ Dream}}:\quad Find universes with a different but
3956: interesting theory of projective sets (i.e., universes in which AD$_{\bold
3957: L[\Bbb R]}$ fails).
3958: \medskip
3959:
3960: Note that $\bold V = \bold L$ gives a very clear theory but one where, e.g.,
3961: we have a projective well ordering of reals (hence a non-Lebesgue-measurable
3962: set). Of course, AD$_{\bold L[\Bbb R]}$ is much more reasonable than the
3963: star-axiom which is very special though not as special as $\bold V = \bold
3964: L$; $\bold V = \bold L$ has probability zero whereas AD$_{\bold L[\Bbb R]}$
3965: has higher ``probability", \ub{but} it excludes no less interesting
3966: universes. Even for set theory of the reals, the possibility of the
3967: continuum being real valued measurable, is not less important (see on it
3968: later, anyhow it implies that the continuum is large).
3969:
3970: So according to the view presented here, AD$_{{\bold L}[\Bbb R]}$ is
3971: certainly a semi-axiom: a beautiful theory with fascinating theorems built
3972: on it. I may even agree it has ``positive measure", is not atypical. But
3973: ``there is no inner model with suitable large cardinal" seems to me also of
3974: positive measure. Also the large cardinals themselves seems to me of
3975: positive, co-positive measure (decreasing with largeness, of course).
3976:
3977: I think $\bold V = \bold L$ passes this criterion of being a great
3978: semi-axiom for many problems. It is extremely helpful in building examples,
3979: e.g., it gives a very coherent theory on an important group of problems in
3980: Abelian group theory (see Eklof and Mekler \cite{EM}, \cite{EM02}).
3981:
3982: The descriptive set theorists have reasonable reasons to reject the axiom
3983: $\bold V = \bold L$, but are there not similar grounds for rejecting the
3984: continuum being $\aleph_n$, $n$ a natural number, hence rejecting the star
3985: axiom? Various combinatorial properties of the continuum follows from
3986: $2^{\aleph_0} = \aleph_n$ which are akin to having a definable well order
3987: (on $(n+1)$-place function from reals to reals), see \cite{EHR}. Moreover,
3988: this applies even to problems with descriptive set theory flavours. For
3989: example I am currently interested in a very explicit definition of an
3990: Abelian group $G_n$ (for $n$ a natural number; we can represent the set of
3991: elements as the reals, and $x \in G$, $x + y$, $-x$ are not just Borel but
3992: even $F_\sigma$). Now this Abelian group is free iff $2^{\aleph_0} \ge
3993: \aleph_{n+1}$ (see \cite[\S5]{Sh:771}). It seems to me that its being free
3994: is accidental, just the continuum is not large enough for us to see how
3995: complicated it is, to see its true nature. So assuming $2^{\aleph_0} \le
3996: \aleph_n$ is artificial, wrong, just as $\bold V = \bold L$ is wrong for
3997: ``are projective set Lebesgue measurable".
3998:
3999: It may be more interesting to consider a family of problems on the
4000: continuum: investigate cardinal invariants. We may measure the continuum
4001: not only just in size but in other ways, like non(null) = the minimal
4002: cardinality of a non-null set or non(meagre) = the minimal cardinality a
4003: non-meagre set (= not first category set), ${\frak d} = \{|{\Cal F}|:{\Cal
4004: F}$ a family of functions from $\Bbb N$ to $\Bbb N$ such that every such
4005: function is bounded by one of them$\}$. There is a myriad of such measures
4006: many of them important in many directions (see Bartoszy\'nski \cite{Baxx},
4007: Blass \cite{Bsxx}) naturally they are uncountable but $\le 2^{\aleph_0}$.
4008:
4009: If the continuum is $\le \aleph_2$, we will not have (by a trivial
4010: pigeonhole principle) many relations, as no three can be simultaneously
4011: distinct. This seems to me not being less artificial than the answers to
4012: descriptive set theoretic problems in $\bold L$.
4013: \medskip
4014:
4015: \ub{\stag{3.3} Dream}:\quad Find a consistent axiom which gives a coherent true
4016: picture for cardinal invariants of the continuum, e.g., it implies
4017: that any two cardinal invariants which are ``not necessarily equal" will be not
4018: equal so necessarily the continuum is large (as there are many such
4019: invariants, see Goldstern and Shelah \cite{GoSh:448}).
4020: \medskip
4021:
4022: Such an axiom is not necessarily unique since for many pairs of cardinal
4023: invariants both inequalities are consistent.
4024:
4025: This is naturally connected to
4026: \medskip
4027:
4028: \ub{\stag{3.3a} Dream}:\quad 1) Develop a theory of iterated forcing for a
4029: large continuum as versatile as the one we have for $2^{\aleph_0} =
4030: \aleph_2$, and to a lesser extent, for $2^{\aleph_0} = \aleph_1$ (see
4031: \cite{Sh:f}, and a different approach in Woodin \cite{Woxx}); but see
4032: \scite{4.2a}. \nl
4033: 2) So far we have many independence results and few theorems but hopefully
4034: (see the rubble thesis in \S5) as in the case of cardinal arithmetic a
4035: positive theory will appear.
4036: \medskip
4037:
4038: Another approach, not disjoint to the descriptive set theory one, is to
4039: adopt large cardinal axioms, the argument being that they are the natural
4040: extension of how we arrive to ZFC.
4041:
4042: A large cardinal axiom is one stating there is an uncountable cardinal
4043: $\lambda$ which satisfies a property satisfied by $\aleph_0$ like ``strongly
4044: inaccessible", see above. A picture justifying it is defining by induction
4045: on the ordinal $\alpha$ the set $\bold V_\alpha$ by $\bold V_0 =\emptyset$,
4046: $\bold V_\alpha =\bigcup\{{\Cal P}(\bold V_\beta):\beta < \alpha\}$. The
4047: intuitive argument is that if we ``wait long enough", i.e., for some
4048: $\alpha$ large enough, whatever is not forbidden to happen will happen, so
4049: there are $\alpha$ which reflect well what the whole universe $\bold V =
4050: \bigcup\{\bold V_\alpha:\alpha$ an ordinal$\}$ satisfies. This seems to me
4051: reasonable (but see later). A motivation was the hope that this would decide
4052: classical problems about relatively small sets; it has failed for CH (though
4053: above a supercompact cardinal cardinal arithmetic is simple) but succeeded
4054: for problems like ``every projective set of reals is Lebesgue measure" (see
4055: above). In my view the analogy of arriving at large cardinals with ZFC is
4056: problematic: we arrive at ZFC by considering natural formations of sets
4057: (the set of natural numbers, taking Cartesian products and power sets); even
4058: the first strongly inaccessible has no parallel justification. If you go
4059: higher, up in the large cardinal hierarchy, the justification for their
4060: existence is decreasing so large cardinal axioms are great semi-axioms but
4061: not to be accepted as true.
4062:
4063: J.~Kennedy has wondered where do we make the comparison between various set
4064: theories, and by what criterions. Now we can do it informally, Cantor has
4065: understood set theory quite well and understood the Continuum Problem
4066: without sticking to a formalization. Alternatively, we may work within a
4067: ``bare bones set theory", just enough to formalize first order theories,
4068: proofs, and say, having the completeness theorem. We may well agree we are
4069: in a universe which is set theory and discuss it without apriori having a
4070: common agreement on all its properties.
4071:
4072: What are our criterions for semi-axioms? First of all, having many
4073: consequences, rich, deep beautiful theory is important. Second, it is
4074: preferable that it is reasonable and ``has positive measure". Third, it
4075: is preferred to be sure it leads to no contradiction (so lower consistency
4076: strength is better).
4077:
4078: Naturally, those are conflicting hopes. So $\bold V=\bold L$ is preferable
4079: on GCH as it has more consequences but as GCH is much more reasonable and
4080: still has a very large set of consequences, it is worthwhile to use it, and
4081: to try to prove from it what earlier was proved from $\bold V = \bold L$.
4082:
4083: Is the position presented here consistent? Can I on the one hand be opposed
4084: to ``the true, unique, set theory" and on the other hand not give equal
4085: place to all consistent set theories (measure zero to $\bold V = \bold L$)?
4086: Having pointed out a case where we accept such a position (typical
4087: American), I think I have shown the consistency of this position; in fact,
4088: considering any biography of a person is no better than the ``typical
4089: American", as any interesting statement about a person normally has such
4090: character.
4091:
4092: It may help the reader to note that my interest in mathematical logic has
4093: been mathematical, seeking generality, rather than philosophical. So we
4094: have not seriously addressed issues which do not seem to make a difference
4095: for mathematics: you may be a pure Platonist, telling me that there is a
4096: unique universe of set theory about which we know no more than ZFC, \ub{or}
4097: you believe in going to the sources, ``would Cantor have such a thing in
4098: mind", \ub{or} believe that the axioms of set theory reflect the
4099: relationship between the two hemispheres of the human brain \ub{or} that we
4100: discover (rather than invent it) by our research, \ub{or} you may think that
4101: starting with some mental picture, we change it as our knowledge increases
4102: and converge to a ``natural theory" (up to presentation). Very important
4103: and fascinating intellectual issues but will not make a real difference for
4104: the discussion here.
4105: \bigskip \bigskip
4106:
4107: \head {\S4 ZFC indecisiveness} \endhead \resetall \sectno=4
4108: \medskip
4109:
4110: Again, I certainly think large cardinals are natural notions, an
4111: indispensable part of our knowledge. For me the most
4112: compelling reason for their being important is the linear order
4113: phenomena and their roles in, see below.
4114:
4115: Two statements $\varphi,\psi$ are equi-consistent if we can prove (even
4116: in PA) that ZFC $+ \varphi$ is consistent iff ZFC $+ \psi$ is
4117: consistent, i.e., ZFC $\models \neg \varphi$ iff ZFC $\models \neg
4118: \psi$. Now:
4119: \mr
4120: \item "{$(A)$}" For a plethora of classical problems $\varphi$ in set
4121: theory, large cardinal statements $\varphi_{LC}(x)$
4122: were found such that $\varphi$ and $\exists \kappa \varphi_{LC}(\kappa)$ are
4123: equi-consistent or at least were sandwiched between two large cardinal
4124: statements; in fact, for most of the cases, if set theorists were really
4125: interested, they get equi-consistency results; for examples
4126: see below.
4127: \sn
4128: \item "{$(B)$}" The large cardinals are linearly ordered, i.e., for two
4129: such properties $\varphi^1_{LC}(\kappa)$, $\varphi^2_{LC}(\kappa)$ we can
4130: almost always prove for some $\ell \in \{1,2\}$ that
4131: {\roster
4132: \itemitem{ $(\boxdot_{\varphi^1_{LC},\varphi^2_{LC}})$ }
4133: CON(ZFC $+ \exists \kappa \varphi^\ell_{LC}(\kappa))$ implies
4134: CON(ZFC $+ \exists \kappa\varphi^{3 - \ell}_{LC}(\kappa))$
4135: \nl
4136: that is, relative consistency gives a linear order (transitivity holds
4137: trivially, the interesting phenomena is the comparability).
4138: \endroster}
4139: \ermn
4140: In fact, usually when $(\boxdot_{\varphi^1_{LC},\varphi^2_{LC}})$ holds,
4141: then the result is more explicit: if $\kappa_2$ satisfies
4142: $\varphi^2_{LC}(-)$, then we can find $\kappa_1 < \kappa_2$ such that
4143: $\varphi^1_{LC}(\kappa_1)$ (at least in a smaller universe).
4144:
4145: The way we prove from the consistency of ZFC $+ \varphi_{LC}(\kappa)$ the
4146: consistency of ZFC $+ \varphi$ is usually by forcing. The way we prove
4147: from the consistency of ZFC $+ \varphi$ the consistency ZFC $+
4148: \varphi_{LC}(\kappa)$ is by inner models like $\bold L$ (i.e., we shrink the
4149: universe of sets putting in only ``necessary sets").
4150: \medskip
4151:
4152: \ub{\stag{3.4} Dream}:\quad Explain the phenomena of linearity of
4153: consistency strength (and of large cardinal properties): to what extent is
4154: it the outcome of the history of set theory, the history of mathematics and
4155: human perceptions; of course, we hope this will lead to exciting
4156: mathematical discoveries.
4157: \medskip
4158:
4159: We may give a naive answer along the following lines:
4160:
4161: For a large cardinal statement $\varphi = \varphi_{LC}(\kappa)$, let
4162: $\alpha_\varphi = \text{ Min}\{\alpha:\alpha$ a countable ordinal and
4163: there is a countable set $\bold V^*$ which is transitive (i.e., $x\in y\in
4164: \bold V^* \Rightarrow x \in \bold V^*$) and an ordinal is in $\bold V^*$
4165: iff it is $<\alpha$, and $\bold V^*$ is a model of ZFC $+\exists\kappa
4166: \varphi(\kappa)\}$.
4167:
4168: So we actually investigate $\alpha_{\varphi^1} \le \alpha_{\varphi^2}$,
4169: which is linear. But this does not explain why the statements we are
4170: interested in so far tend to be equi-consistent with such statements; we can
4171: produce counterexamples but they are artificial; (see \cite{Sh:170} and
4172: lately I heard on recent lectures of Woodin). Like several other dreams
4173: here it is foggy, being an answer may well be disputable, may have no
4174: solution or several.
4175:
4176: As an illustration consider the classical case of real-valued measurable
4177: cardinals.
4178:
4179: We know that, unfortunately, we cannot have a measure on all sets of
4180: reals as good as Lebesgue measure, but mathematicians tried to remedy
4181: this. One way is to omit the requirement that the measure $\mu$ is
4182: preserved by translations (so restricting the attention to the unit
4183: interval, any $A\subseteq [0,1]_{\Bbb R}$ is given a measure which is a
4184: real number $\mu(A) \in [0,1]_{\Bbb R}$, the measure is $\sigma$-additive
4185: (if $A_n$ are pairwise disjoint, then $\mu(\bigcup\{A_n:n \in \Bbb N\}) =
4186: \sum\{\mu(A_n):n \in \Bbb N\}$), $\mu([0,1]_{\Bbb R})=1$, $\mu(\emptyset)
4187: = 0$ and $\mu(\{x\}) = 0$). If $\lambda = \text{ Min}\{|A|:\mu(A)=1\}$ we
4188: say that $\lambda$ is real-valued measurable since we can copy the measure
4189: from the set $A$ to $\lambda$.
4190:
4191: Investigations on such measures on bigger sets lead to measurable cardinals;
4192: a cardinal $\lambda$ is called measurable if on some set $A^*$ of
4193: cardinality $\lambda$ there is a $\{0,1\}$-measure, i.e., $\mu:{\Cal P}(A^*)
4194: \rightarrow \{0,1\}$ with $\mu(\emptyset)=0,\mu(A^*)=1,\mu(\{x\})=0$, which
4195: is even $(< \lambda)$-additive (i.e., if $A_i \subseteq A^*$ for $i \in I$
4196: are pairwise disjoint and $|I| < \lambda$ then $M(\bigcup\{A_i:i \in I\})=
4197: \text{ max}\{\mu(A_i):i\in I\}$). This is one of the most important large
4198: cardinal properties. In particular, its existence is unprovable in ZFC.
4199:
4200: R.~Solovay has shown that if there is a measurable cardinal then in some
4201: universe (obtained by a forcing extension) the continuum is real-valued
4202: measurable, thus showing the relative consistency. The reader may hope
4203: for a proof without a large cardinal or at least with a smaller large
4204: cardinal, but (s)he will hope in vain. Solovay proves that if there is a
4205: measure as above on the family of all subsets of $[0,1]_{\Bbb R}$,
4206: then if we shrink the universe (getting a so-called inner model) we
4207: can get a universe with a measurable cardinal. True, the two
4208: properties have some affinity to begin with, but this serves well as a
4209: measuring stick. To have AD$_{\bold L[\Bbb R]}$ requires much larger
4210: cardinals, to have ``all projective sets are Lebesgue measurable"
4211: requires much less. Moreover, this analysis leads sometimes to ZFC
4212: results, e.g., close to my heart is: if $A \subseteq [0,1]_{\Bbb R}$
4213: has positive outer Lebesgue measure, then we can find pairwise disjoint
4214: sets $A_n \subseteq A$ for $n \in \Bbb N$, each with the same outer
4215: Lebesgue measure as $A$, see Gitik and Shelah \cite{GiSh:582}.
4216:
4217: Note that consistency strength gives us independence and more, hence
4218: necessarily is less versatile than forcing; {\it consistency strength can
4219: give one side of independence}, forcing usually can give both; but, of
4220: course, the forcing may well start with large cardinals.
4221:
4222: The notable hole in the program above is the supercompact, a very high large
4223: cardinal which has been quite widely used in consistency proofs. The hole
4224: is that we do not know how to prove the consistency of ZFC + ``there is a
4225: supercompact cardinal" from ``low level statements".
4226: \medskip
4227:
4228: \ub{\stag{3.5} Problem}:\quad Find an inner model for
4229: supercompactness. Without this we may always hope to replace it as an
4230: assumption for consistency results by smaller large cardinals (as had been
4231: done in some important cases).
4232: \medskip
4233:
4234: \centerline {$* \qquad * \qquad *$}
4235: \medskip
4236:
4237: The theory of forcing and, in particular, of iterated forcing seems
4238: important to me. There is a reasonable amount of such theory for forcing
4239: notions for the continuum; in the beginning we had one kind of such forcing:
4240: Cohen forcing. Now we know more, though far from what we like to know as
4241: mentioned above. The case of continuum $> \aleph_2$ is a case where we miss
4242: much (in proof or in forcing, probably in both). For larger cardinals we
4243: know less, e.g., in work on the $2^\mu$ for $\mu$ singular, very
4244: sophisticated forcings were discovered (see writing of M.~Gitik, M.~Magidor,
4245: W.~Mitchell and H.~Woodin).
4246: \medskip
4247:
4248: \ub{\stag{3.7} Question}:\quad Can we find a theory of iterated forcing
4249: parallel to the one we have for the continuum, for the following purposes.
4250: \mr
4251: \item "{$(a)$}" For forcing as developed for the singular cardinal
4252: problem.
4253: \sn
4254: \item "{$(b)$}" For other cases see more in \cite{Sh:666}, on several
4255: missing theories of this kind.
4256: \endroster
4257: \medskip
4258:
4259: \ub{\stag{3.8} Dream}:\quad Find additional methods for independence (in
4260: addition to forcing and large cardinals/consistency strength), or prove the
4261: uniqueness of these methods.
4262: \medskip
4263:
4264: \ub{Dividing lines}:
4265:
4266: ``Dividing line" or ``watershed line" means here a property such that both
4267: it and its negation has strong consequences; hence it helps in proofs by
4268: cases; dividing lines were fruitful in my work in model theory.
4269:
4270: So $2^{\aleph_0} = \aleph_{\omega^3 + \omega+1}$ does not look like a
4271: good dividing line (or even a property). What about CH, i.e., $2^{\aleph_0}
4272: = \aleph_1$? This statement has many consequences and hence it is an
4273: impressive assertion but its negation seemingly does not, so it is an
4274: important semi-axiom but not a good dividing line.
4275: \medskip
4276:
4277: \ub{\stag{dl.1} Dream}:
4278: \mr
4279: \item "{$(a)$}" Find a real significance for $2^{\aleph_0}=\aleph_{753}$,
4280: \sn
4281: \item "{$(b)$}" or for $2^{\aleph_0} = \aleph_{\omega^3 + \omega +5}$,
4282: \sn
4283: \item "{$(c)$}" show that all values of $2^{\aleph_0}$ which are $>
4284: \aleph_2$ are similar in some sense (or at least all values $\aleph_n>
4285: \aleph_2$, all regular $\aleph_\alpha>\aleph_{\omega_1}$ or whatever).
4286: \endroster
4287: \medskip
4288:
4289: \ub{\stag{dl.2} Dream}:\quad Can we find important dividing lines and
4290: develop a theory for combinatorial set theory?
4291: \medskip
4292:
4293: Now Jensen has a different dream (I do not believe that it will
4294: materialize).
4295: \medskip
4296:
4297: \ub{\stag{dl.3} Dream}:
4298: Find a super-duper ``inner model'', so large that basically it always
4299: behaves like $\bold L$ in a universe with no $0^{\#}$; so we can answer
4300: questions by translating our problems to it were we will have fine structure
4301: to help us.
4302: \medskip
4303:
4304: Of course, his optimism has something to do with his success with $0^{\#}$;
4305: if there is no such real then the universe is ``close to $\bold L$",
4306: otherwise it is very far from it.
4307:
4308: Considering inner models there are good dividing lines for descriptive set
4309: theory. Consider the statement `` for every real $r$, $r^{\#}$ exists" (see,
4310: e.g., Jech \cite{J}). Why is it a good dividing line? If $r$ is a
4311: counterexample then descriptive set theory, the case where real parameters
4312: are allowed or just with parameter $r$, is very much like the one in $\bold
4313: L$, so all the questions traditionally asked are answerable, though, many
4314: say, in the ``wrong, uninteresting'' way. If it holds, we have determinacy
4315: for $\Sigma^1_1$ games (which gives nice consequences for ``low level''
4316: projective sets of reals).
4317:
4318: Let us consider two candidates for being dividing lines, unfortunately not
4319: impressive ones. The statement ``there is a nice normal filter on
4320: $\omega_1$", see \cite[Ch.V]{Sh:g}, helps to prove cardinal arithmetic
4321: inequalities; if it holds it is used to define rank on functions from
4322: $\omega_1$ to the ordinals, if it fails the universe is similar enough to
4323: $\bold L$ hence cardinal arithmetic is trivial by Dodd and Jensen
4324: (\cite{DJ1}); see a use in \cite{ShSt:419}.
4325:
4326: So far values of the continuum have not appeared to be good dividing lines,
4327: but we may look at another candidate. (Whereas $2^{\aleph_0} = \aleph_1$
4328: has many consequences, $2^{\aleph_0} = \aleph_2$ has few consequences but
4329: many consistency results.)
4330:
4331: The second candidate we consider is the cardinal arithmetic equality $2^\mu
4332: = \mu^+$, where $\mu$ is a strong limit singular cardinal, e.g., $\mu =
4333: \beth_\omega$, see \S5.
4334: \medskip
4335:
4336: \ub{Forcing for $\bold L$: base theory = ZFC:\quad highly developed
4337: ``forcing'' technology}:
4338:
4339: Forcing (as has been developed) was very successful to show that there are
4340: many problems which (like the continuum hypothesis) cannot be decided in set
4341: theory; moreover, this has become a method, which for a typical set
4342: theoretic problem, gives us a reasonable way to prove its consistency and
4343: its independence. This indicates that the axioms of set theory (ZFC) are
4344: weak, usually not able to decide given questions.
4345:
4346: However, these problems (such as CH) which can be attacked by forcing can
4347: typically be decided by the single additional axiom that {\it all sets are
4348: constructible}, $\bold V = \bold L$.
4349:
4350: (G\"odel proved that $\bold L$ is a model of ZFC+GCH, Jensen solved many
4351: specific problems and developed general methods under $\bold V = \bold L$).
4352:
4353: So this leads naturally to
4354: \medskip
4355:
4356: \ub{\stag{3.10} Dream}:\quad Can we find a method parallel to forcing for
4357: $\bold L$ (i.e., for the usual axioms of set theory + every set is
4358: constructible).
4359: \medskip
4360:
4361: Such a method would enable us to prove that certain statements are
4362: independent of ZFC + $\bold V = \bold L$; the current forcing results only
4363: give independence over ZFC.
4364:
4365: A major preliminary obstacle to this dream is the lack of a good candidate
4366: to be a test problem, since so many questions have already been settled
4367: under the assumption $\bold V = \bold L$.
4368:
4369: A negative answer, explaining why ``a large body of set theoretic problems
4370: is decidable'' would be marvelous too (this would give ``quasi-decidability"
4371: for $\bold L$).
4372: \bigskip\bigskip
4373:
4374: \head{\S5 Is ZFC really so weak?} \endhead \resetall \sectno=5
4375: \medskip
4376:
4377: In this section we deal with a (relatively) new perspective on cardinal
4378: arithmetic.
4379: \medskip
4380:
4381: \ub{\stag{4.1} The not so poor Thesis}:\quad The view that {\it ZFC is a
4382: deficient theory, since it does not decide so many basic questions, in
4383: contrast to classical theories} is one sided; in fact, a ``random''
4384: question in, say, number theory is similarly hopeless as far as
4385: answerability is concerned, certainly practically and, by G\"odel's
4386: incompleteness theorem + the undecidability of solvability of
4387: Diophantine equations, I think also fundamentally.
4388: \medskip
4389:
4390: Set theory has actually an {\it advantage} over many other fields of
4391: mathematics. When we seem to be unable to prove or refute something, we have
4392: strong methods to try to show that a proof or refutation may be {\it
4393: impossible}; such results, in addition to being interesting in their own
4394: right, also help to clear the air, directing us to what actually {\it is}
4395: decidable, discarding the undecidable ones.
4396:
4397: It also tells us, what kind of problems are, at least relatively, of the
4398: answerable kind.
4399: \medskip
4400:
4401: \ub{\stag{4.2} The Rubble Removal Thesis}:\quad
4402: Methods for proving independence, in addition to their intrinsic value, work
4403: for us like a sieve: when we have a myriad of problems in some directions,
4404: and we have tried to prove independence (and many times this results in
4405: discarding most of them), we are left with strong candidates for theorems of
4406: ZFC.
4407: \medskip
4408:
4409: In this connection we may hope (compare with \scite{3.3}):
4410: \medskip
4411:
4412: \ub{\stag{4.2a} Dream}:\quad Our problem in proving consistency results for
4413: continuum $> \aleph_2$ comes from the existence of some positive
4414: theory which will become trivialized if the continuum is too
4415: small, i.e., most of the theorems which we will prove become trivialized.
4416: \medskip
4417:
4418: The discussion in sections 2,4 may support the impression that ``all is
4419: independent in ZFC", this is not groundless but also not the whole truth.
4420: We shall now concentrate on cardinal arithmetic not assuming specialized
4421: knowledge (see \S0 for basic definitions).
4422:
4423: For an even more leisurely explanation on cardinal arithmetic and pcf
4424: for the general mathematical audience see \cite{Sh:E25}; a book devoted to
4425: this subject is \cite{Sh:g}.
4426:
4427: Cardinal arithmetic is a good example for \scite{4.2}; after proving there
4428: is nothing more to say on $2^{\aleph_0},2^{\aleph_1},2^{\aleph_{\alpha
4429: +1}}$, we had found that we can say something about $2^{\aleph_{\omega_1}}$
4430: and even on $2^{\aleph_\omega}$ and even on $\dsize \prod_{n < \omega}
4431: \aleph_n$. In fact, the Thesis of \cite{Sh:g} is that there are two
4432: separate phenomena. The first one is the behaviour of $2^\lambda$ for
4433: $\lambda$ regular (mainly $\lambda=\aleph_0,\aleph_{\alpha +1}$) for which
4434: everything is independent. The second one is the cofinality problem, the
4435: domain of pcf theory, which appears later.
4436:
4437: In other words, looking at the bright side, we know all
4438: the true rules we can know on $2^\lambda$ for regular $\lambda$ (no more
4439: rules than the classical ones: it is non-decreasing, i.e., $\lambda\le\mu
4440: \Rightarrow 2^\lambda \le 2^\mu$ and cf$(2^\lambda)>\lambda$; on cf see
4441: below). This leaves us with the singular cardinals like $\aleph_\omega =
4442: \sum\{\aleph_n:n$ a natural number$\}$
4443:
4444: First it has been ``clear" that the case of singular cardinals would be
4445: similar to that of the regular cardinals just more complicated, a
4446: ``technical problem"; in fact independence results were found for singular
4447: cardinals, however using large cardinals. Second, it was proved that there
4448: are some limitations. Third, it was proved that large cardinals are
4449: necessary, using the theory of inner models, (see Magidor \cite{Mg1},
4450: \cite{Mg2} for independence results; Silver \cite{Si}, Galvin and Hajnal
4451: \cite{GH}, \cite{Sh:111}, \cite[Ch.XIII]{Sh:b} on limitations on
4452: $2^\lambda$; Devlin and Jensen \cite{DeJ}, Dodd and Jensen \cite{DJ1} on
4453: inner models; for more on forcing see in the writings of M.~Gitik,
4454: M.~Magidor, W.~Mitchell, H.~Woodin; for more on inner models see in the
4455: writings of M.~Gitik, W.~Mitchell, J.~Steel).
4456:
4457: A thesis of \cite{Sh:g} is that
4458: \medskip
4459:
4460: \ub{\stag{4.3} Thesis}: [``Treasures are waiting for you'']\quad
4461: There are many laws of (infinite) cardinal arithmetic concerning
4462: exponentiation; in the past there seemed to be few and scattered ones
4463: because we have concentrated on $2^\lambda$, but if we deal with relatively
4464: small exponent and large base, there is much to be discovered; see more
4465: below.
4466: \medskip
4467:
4468: Cardinal arithmetic investigations have concentrated on the function
4469: $\lambda \mapsto 2^\lambda$ which had good reasons but made us ignore other
4470: directions. Even after the independence results, researchers tended to be
4471: influenced by remnants of GCH, e.g., the concentration on $2^\mu$ for $\mu$
4472: a strong limit singular cardinal.
4473: \medskip
4474:
4475: \ub{\stag{4.4} Dream}:\quad Find all the laws of (infinite) cardinal
4476: exponentiation.
4477: \medskip
4478:
4479: \ub{pcf theory}:
4480:
4481: Close to my heart is
4482: \medskip
4483:
4484: \ub{\stag{4.5} Thesis}:\quad Cardinal arithmetic is loaded with consistency
4485: results because we ask the wrong questions; the ``treasures'' thesis is not
4486: enough; we should replace cardinality by cofinality as explained below (pcf
4487: theory).
4488: \medskip
4489:
4490: \definition{\stag{4.6} Definition} 1) For a partially ordered set $P$ let
4491: cf$(P)$, the cofinality of $P$, be
4492: $$
4493: \min\{|Q|:Q \subseteq P \text{ satisfies }
4494: (\forall x \in P)(\exists y \in Q)[x \le_P y]\}.
4495: $$
4496: 2) cf$([\lambda]^\kappa) = \text{cf}([\lambda]^\kappa,\subseteq)$ is
4497: cf$({\Cal P})$ when for some set $A$ of cardinality $\lambda$, ${\Cal P}$
4498: is the family of subsets of $A$ of cardinality $\le \kappa$ partially
4499: ordered by inclusion. \nl
4500: 3) We usually identify any cardinal $\lambda$ with a linear order, in fact
4501: a well ordering of this cardinality; every initial segment of it has
4502: smaller cardinality. \nl
4503: 4) For a cardinal $\lambda$, let cf($\lambda$) be Min$\{|J|:\lambda =
4504: \sum\limits_{t\in J}\lambda_t$ for some $\lambda_t<\lambda$ for $t\in
4505: J\}$, this is compatible with the definition of cf in part (1); we call
4506: $\lambda$ regular if cf$(\lambda) = \lambda$ and singular otherwise; recall
4507: that $\aleph_0$ and every successor cardinal are regular whereas
4508: $\aleph_\omega=\sum\{\aleph_n:n$ a natural number$\}$ is the first
4509: singular cardinal, and cf$(\lambda)$ is always a regular cardinal.\nl
4510: 5) A partially ordered set $P$ is said to have true cofinality
4511: $\lambda$ and we write tcf$(P) = \lambda$ \ub{if} ($\lambda$ is a regular
4512: cardinal and) there is a $\le_P$-increasing sequence $\langle p_i:i <
4513: \lambda\rangle$ such that $(\forall q \in P)(\exists i)(q \le_P p_i)$; note
4514: that $\lambda$ is unique. (Can $P$ fail to have true cofinality? Yes,
4515: e.g., if it is $P_1 \times P_2$, ordered coordinate-wise, $P_1,P_2$
4516: have true cofinalities but different ones).
4517: \enddefinition
4518: \medskip
4519:
4520: \ub{\stag{4.7} Convention}:\quad Let ${\frak a}$ denote a set of regular
4521: cardinals $> |{\frak a}|$, also let ${\frak b},{\frak c}$ denote such sets.
4522: \medskip
4523:
4524: \definition{\stag{4.8} Definition}\quad 1) For an ideal $J$ on ${\frak
4525: a},<_J$ is the partial order on $\prod{\frak a}$ defined by
4526: $$f<_J g\ \ \Leftrightarrow\ \ \{\theta \in {\frak a}:f(\theta)<
4527: g(\theta)\}={\frak a}\mod J.$$
4528: If $J = \{\emptyset\}$, then we write $<$. \nl
4529: 2) pcf$({\frak a}) = \{\text{tcf}(\prod{\frak a},<_J):J$ an ideal on
4530: ${\frak a}$ and $(\prod{\frak a},<_J)$ has true cofinality$\}$\nl
4531: (it is enough to consider maximal ideals). \nl
4532: 3) pcf$_{\theta\text{-complete}}({\frak a}) = \{\text{tcf}(\prod{\frak
4533: a},<_J):J$ is a $\theta$-complete ideal on ${\frak a}$ and
4534: $(\prod{\frak a},<_J)$ has true cofinality$\}$. \nl
4535: 4) If $\mu$ is singular, i.e., $\mu>\text{cf}(\mu)$, let\nl
4536: pp$(\mu)=\sup\{\text{tcf}(\prod {\frak a},<_J):{\frak a} \subseteq \text{
4537: Reg} \cap \mu,\sup({\frak a}) = \mu,J$ an ideal on ${\frak a}$ such that
4538: $\lambda<\mu\Rightarrow {\frak a}\cap\lambda\in J$ and $(\prod {\frak
4539: a},<_J)$ has true cofinality$\}$. \nl
4540: 5) pp$_{\theta\text{-complete}}(\mu)$ is defined similarly
4541: restricting ourselves to $\theta$-complete ideals.
4542: \enddefinition
4543: \medskip
4544:
4545: \ub{\stag{4.9} Thesis}: [pp vs power set]\quad
4546: The power set function $\lambda \rightarrow 2^\lambda$ on regular cardinals
4547: is totally independent (the only rules are that it is not decreasing and
4548: cf$(2^\lambda ) > \lambda$). It is like hair colour today, easily
4549: manipulated, whereas pp($\lambda$), and pcf(${\frak a}$) are like the
4550: skeleton of set theory, not totally immune to ``plastic surgery'' (i.e.,
4551: forcing starting with large cardinals) but at great price (and pains).
4552: \medskip
4553:
4554: So the chaotic behaviour of cardinal arithmetic comes from the static noise
4555: of the interference of two different phenomena:
4556:
4557: One, the mapping $\lambda \rightarrow 2^\lambda$ for regular cardinals which
4558: actually is very well understood: we know all the rules; anything fulfilling
4559: them is permissible. The second speaks about pcf theory, there are many
4560: mysteries that have not disappeared but much is decided in ZFC. The claim
4561: that almost all is independent was wrong; the picture is more balanced.
4562:
4563: So ``the armies of god (fighting for resolution in ZFC)" and ``the armies of
4564: the devil (trying to prove independence)" have advanced much and arrive to a
4565: new stand-off. So we should reformulate \scite{4.4}.
4566: \medskip
4567:
4568: \ub{\stag{4.10} Dream}:\quad Find the laws of (infinite) cardinal
4569: exponentiation, under pcf interpretation.
4570: \medskip
4571:
4572: Note that pcf$({\frak a})$ replaces the cardinality product $\prod {\frak
4573: a}$ by a spectrum of possible cofinalities, a phenomena which has many
4574: honourable precedents (e.g., in decomposition into primes in algebraic
4575: extensions of $\Bbb Z$). On the calculus of pcf we know some rules:
4576: \medskip
4577:
4578: \proclaim{\stag{4.11} Theorem}\quad 1) {\rm pcf}$({\frak a})$ includes
4579: ${\frak a}$ and has cardinality $\le 2^{|{\frak a}|}$ (and not merely
4580: $2^{2^{|{\frak a}|}}$ which is the obvious upper bound being the number of
4581: ultrafilters on ${\frak a}$). \nl
4582: 2) {\rm pcf}$({\frak a})$ has a maximal member {\rm max pcf}$({\frak a})$
4583: which is equal to {\rm cf}$(\prod{\frak a})$. \nl
4584: 3) If ${\frak b} \subseteq {\text{\rm pcf\/}}({\frak a})$ and $|{\frak b}|
4585: < {\text{\rm Min\/}}({\frak b})$, \ub{then} {\rm pcf}$({\frak b})\subseteq
4586: {\text{\rm pcf\/}}({\frak a})$.
4587: \endproclaim
4588: \medskip
4589:
4590: In short, {\rm pcf}$({\frak a})$ is not as large as we may suspect, it has a
4591: last element which is a reasonable measure of $\prod{\frak a}$, in fact it
4592: is cf$(\prod{\frak a},<_J)$ for $J$ the trivial ideal $\{\emptyset\}$.
4593: Moreover, {\rm pcf} essentially acts like a closure operation, e.g.,
4594: it is increasing.
4595:
4596: Moreover
4597: \medskip
4598:
4599: \proclaim{\stag{4.12} Theorem}\quad 1) If a sequence $\langle \lambda_i:i<
4600: \aleph_1\rangle$ is increasing continuous with limit $\lambda$, \ub{then}
4601: for some closed unbounded set $C \subseteq \aleph_1$ we have {\rm max}
4602: ${\text{\rm pcf\/}}\{\lambda^+_i:i \in C\}=\lambda^+$. \nl
4603: 2) [\ub{Locality}]: If ${\frak b} \subseteq \text{\rm pcf\/}({\frak
4604: a}),|{\frak b}| < {\text{\rm Min\/}}({\frak b}),\theta \in \text{\rm
4605: pcf\/}({\frak b})$, \ub{then} for some ${\frak c} \subseteq {\frak b}$ of
4606: cardinality $\le |{\frak a}|$ we have $\theta \in \text{\rm pcf}({\frak
4607: c})$. \nl
4608: 3) [\ub{No hole}]: If ${\frak a}$ is an interval of the class of
4609: regular cardinals (i.e., ${\frak a}=\{\aleph_{\alpha +1}:\alpha_*\le\alpha
4610: <\beta\}$ so necessarily $\beta<\aleph_{\alpha_*}$), \ub{then} {\rm
4611: pcf}$({\frak a})$ is an interval too (necessarily end-extending ${\frak a}$,
4612: i.e., {\rm pcf}$({\frak a})$ is an initial segment of $\{\aleph_{\alpha
4613: +1}:\alpha \ge \alpha_*\}$).
4614: \endproclaim
4615: \medskip
4616:
4617: What does this mean? The closure operation inside {\rm pcf}$({\frak a})$
4618: has ``character" at most the cardinality of ${\frak a}$, and there are some
4619: forms of continuity and convexity.
4620: \medskip
4621:
4622: \demo{\stag{4.14} Observation}\quad $\lambda^\kappa = 2^\kappa +
4623: \text{ cf}([\lambda]^\kappa,\subseteq)$.
4624: \enddemo
4625: \medskip
4626:
4627: In general
4628: \medskip
4629:
4630: \ub{\stag{4.15} Thesis}:\quad The natural measures of $[\lambda]^\kappa$ can be
4631: expressed by cases of pp and of $2^\lambda$ for $\lambda$ regular.
4632: \medskip
4633:
4634: The measures which come to my mind are $\lambda^\kappa$,
4635: cf$([\lambda]^\kappa,\subseteq)$ from \scite{4.6}(1), and
4636: $$
4637: \align
4638: \lambda^{[\kappa]}=\text{ Min}\{|{\Cal P}|:&{\Cal P}\subseteq
4639: [\lambda]^\kappa\text{ and every subset of }\lambda\text{ of cardinality
4640: }\kappa\\
4641: &\text{ is the union of }< \kappa\text{ members of }{\Cal P}\},
4642: \endalign
4643: $$
4644: $$
4645: \align
4646: \lambda^{<\kappa>} = \text{ Min}\{|{\Cal P}|:&{\Cal P} \subseteq
4647: [\lambda]^\kappa\text{ and every subset of } \lambda \text{ of
4648: cardinality } \kappa \\
4649: &\text{ is included in the union of } < \kappa \text{ members of }
4650: {\Cal P}\}
4651: \endalign
4652: $$
4653:
4654: $$
4655: \lambda^{<\kappa>_{tr}} = \sup\{|\text{lim}_\kappa(T)|:T \text{
4656: is a tree with } \le \lambda \text{ nodes and } \kappa \text{
4657: levels}\}.
4658: $$
4659:
4660: For example
4661: \medskip
4662:
4663: \proclaim{\stag{4.13} Theorem}\quad {\rm cf}$([\aleph_\omega]^{\aleph_0},
4664: \subseteq) = \text{\rm pp}(\aleph_\omega) = \text{\rm max pcf}\{\aleph_n:n <
4665: \omega\}$.
4666: \endproclaim
4667: \medskip
4668:
4669: So pcf is a closure operation with some rules; those listed above were
4670: enough to prove a result, popular among my works: pp$(\aleph_\omega) <
4671: \aleph_{\aleph_4}$; i.e. by \scite{4.13} it is enough to investigate
4672: pcf$\{\aleph_n:0 < n < \omega\}$ which, if the desired inequality
4673: $({\text{\rm pp\/}}(\aleph_\omega) \ge \aleph_{\aleph_4})$ fails, includes
4674: $\{\aleph_{\alpha+1}:\alpha < \aleph_4\}$.
4675:
4676: Now pcf is a closure operation with several rules, \ub{but} there is much we
4677: do not know. Where are the new lines between what is known and what we do
4678: not know? Locality may be a poor substitute to a positive answer to:
4679: \medskip
4680:
4681: \ub{\stag{4.16} Question}: Is pcf$({\frak a})$ always of cardinality $\le
4682: |{\frak a}|$?
4683: \medskip
4684:
4685: In the scale of the problems (in this direction) which we do not know the
4686: answers, this question seems to me to lie in the middle.
4687:
4688: Less hopeless for forcing are:
4689: \medskip
4690:
4691: \ub{\stag{4.17} Question}:\quad Show the consistency of the failure of the
4692: Weak Hypothesis (WH), which means:
4693: \mr
4694: \item "{(WH)$_1$}" for every cardinal $\lambda$ the following set is
4695: finite: \nl
4696: $\{\mu < \lambda:\mu$ is singular of uncountable cofinality that is
4697: $\aleph_0 < \text{ cf}(\mu) < \mu$ and
4698: pp$_{\aleph_1\text{-complete}}(\mu) \ge \lambda\}$
4699: \sn
4700: \item "{(WH)$_2$}" for any cardinal $\lambda$ the following set is
4701: finite or at most countable:\nl
4702: $\{\mu < \lambda:\text{cf}(\mu) < \mu, {\text{\rm pp\/}}(\mu) \ge
4703: \lambda\}$.
4704: \ermn
4705: \medskip
4706:
4707: {\stag{4.18}\ub{ Dream}}:\quad Prove (WH), i.e., (WH)$_1$ or (WH)$_2$.
4708: \medskip
4709:
4710: This is really like a dream: I do not believe in it; but it is the best
4711: substitute for GCH which has not been proved impossible (essentially). The
4712: dual dream is not to prove its failure but essentially to prove that there
4713: are no more rules or at least to show that some pcf ``bizarre" structures
4714: are possible:
4715: \medskip
4716:
4717: \ub{\stag{4.19} The forcer Dream}:\quad Prove the consistency of: {\it there
4718: is a set ${\frak a}$ of regular cardinals $> |{\frak a}|$ such that for some
4719: inaccessible (= regular limit uncountable) cardinal $\lambda$ we have
4720: $\lambda = \sup(\lambda \cap \text{ pcf}({\frak a}))$}. This will be enough
4721: for proving the consistent failure of pcf(pcf$({\frak a})) = \text{
4722: pcf}({\frak a})$.
4723: \medskip
4724:
4725: A quite reasonable hope is:
4726: \medskip
4727:
4728: \ub{\stag{4.20} Question}:\quad For every $\lambda\ge\aleph_\omega$ there is
4729: $n<\omega$ for which we have:
4730: $$\text{for no }\mu < \lambda\text{ do we have cf}(\mu)>\aleph_n \and
4731: {\text{\rm pp\/}}_{\text{cf}(\mu)\text{-complete}}(\mu) > \lambda.$$
4732: \medskip
4733:
4734: A related statement for $\beth_\omega$ instead of $\aleph_\omega$ was proved
4735: in \cite{Sh:460} and put forward as a positive solution of Hilbert first
4736: problem, i.e., GCH; we have to see whether this is justified and/or
4737: accepted.
4738:
4739: Note that \scite{4.20} will be enough for deriving consequences of
4740: $2^{\aleph_0} > \aleph_\omega$, confirming the following
4741: \medskip
4742:
4743: \ub{\stag{4.21} Thesis}:\quad pcf theory will make failures of GCH
4744: semi-axioms, i.e., from some cardinal arithmetic equation or statement
4745: we shall prove many consequences. Note that whereas earlier $2^{\aleph_0} =
4746: \aleph_1$, and (in few cases) $2^{\aleph_0} < \aleph_\omega$ has been used
4747: as an assumption now there are some cases in which, e.g., $2^{\aleph_0} >
4748: \aleph_\omega$ is used.
4749: \medskip
4750:
4751: In particular we may consider a singular strong limit cardinal $\mu$, any
4752: $\mu=\sum\{\mu_n:n\in \Bbb N\}$ with $2^{\mu_n}<\mu_{n+1}$ will do. We
4753: already know that $2^\mu=\mu^+$ has serious consequences. Now we can hope
4754: that also $2^\mu>\mu^+$ has. It implies that there is a $\mu^+$-free
4755: non-free Abelian group of cardinality $\mu^+$ (\cite[5.5]{Sh:E12}). Also
4756: for some increasing sequence $\langle\lambda_n:n \in \Bbb N \rangle$ of
4757: regular cardinals with limit $\mu$, $\prod\limits_n\lambda_n$ (ordered by
4758: $<_J$ for the ideal $J$ of bounded subsets of $\Bbb N$) has the true
4759: cofinality $\mu^{++}$ (this is an instance of a major theme of \cite{Sh:g}
4760: that pp$(\mu)$ is the ``true" $\mu^{\text{cf}(\mu)}$, see \cite[IX]{Sh:g}).
4761: So it is not unreasonable to hope that this will provide a good dividing
4762: line.
4763:
4764: The proofs in pcf depend very little on the advances in set theory from the
4765: sixties on (in \cite{Sh:g} it has been claimed that Cantor, arising from his
4766: grave would be able to understand them; certainly he could understand the
4767: theorems). It may well be that the next stage in the evolution will be
4768: \medskip
4769:
4770: \ub{\stag{4.22} Dream}:\quad Combine the methods of pcf and inner models
4771: to answer questions as above, see \cite{Sh:413}.
4772: \bigskip \bigskip
4773:
4774: \head {\S6 Concluding remarks} \endhead \resetall \sectno=6
4775: \medskip
4776:
4777: We discuss here, usually concisely and with scant references and background
4778: various things. Not that they are less worthwhile than those discussed
4779: earlier, it's just that I have not found the time to write on them in
4780: leisure.
4781:
4782: What is model theory? Classically you have a theory $T$ and the class
4783: EC$(T)$ of all its models, i.e., structures of a fixed signature (e.g., for
4784: rings we have $+,\times,0,1$) that satisfy $T$; the main case was $T$ first
4785: order, then the class is called first order or elementary, but other logics
4786: have been important as well; the point has been the interplay between what
4787: can be seen in $T$ (syntactical side) and what can be said on EC($T$),
4788: semantical side. For example, a sentence $\psi$ (in first order logic) is
4789: preserved by submodels (a semantical property) iff $\psi$ is equivalent to a
4790: universal sentence (syntactical). See the introduction to the Berkeley
4791: Symposium in 1964.
4792:
4793: There were some other frameworks. Some have suggested to look at less
4794: general structures. We may look at computable (= recursive) structures, we
4795: may look at Polish structures (i.e., for a separable complete metric space
4796: with the universal of the model and function are continuous and relations,
4797: e.g., closed) we may look at Borel structures, at $\Sigma^1_n$-structures or
4798: structure from $\bold L[\Bbb R]$.
4799:
4800: Could you choose any of them as the main framework? If you look at
4801: computable structures, are the atomic relations computable or the first
4802: order definable ones are computable? Why Borel and not closed (like Polish
4803: structures) or $F_\sigma$? Also dealing with Borel forces you to deal with
4804: $\Sigma^1_1$ and hence higher. $\bold L[\Bbb R]$ is a natural stopping
4805: point but it is highly set-theoretic sensitive -- we have very different
4806: picture if $\bold V = \bold L$ on the one hand and if we assume AD$_{\bold
4807: L[\Bbb R]}$ on the other hand (which requires high consistency
4808: strength). Hence
4809: \medskip
4810:
4811: \ub{\stag{nf.0} Model Theory Content Thesis}:\quad 1) While all those
4812: ``restrictive frameworks" are interesting, their (absence of) closure
4813: properties make them unnatural as the focus of model theory. \nl
4814: 2) Also none of them is ``\ub{the} effective framework". \nl
4815: 3) To advance with most of them we should better start with a general theory
4816: of non-elementary classes (see below). \nl
4817: 4) Also if you are interested in universal first order classes or the
4818: existentially closed members of such classes, you better do it based on a
4819: theory for general first order classes.
4820: \medskip
4821:
4822: \ub{\stag{6.1A} ZFC vs Model Theory Thesis}:\quad 1) It is much preferable
4823: to have the theorem in ZFC or at least ZFC + a semi-axiom, like CH. \nl
4824: 2) If (1) fails, using a simple division of the $\lambda$'s or proving
4825: one side in ZFC, the other by consistency are reasonable substitutes.
4826: \medskip
4827:
4828: We may strengthen first order logic. We may allow infinite conjunction,
4829: i.e. $\bigwedge\limits_n \varphi_n$, while still every formula have finitely
4830: many free variables, this is $\Bbb L_{\aleph_1,\aleph_0}$ (similarly $\Bbb
4831: L_{\lambda^+,\aleph_0}$ if we allow $\bigwedge\limits_{\alpha<\lambda}
4832: \varphi_\alpha$). Now $\Bbb L_{\aleph_1,\aleph_0}$ has many good properties;
4833: every sentence with an infinite model has a countable one (the D.L.S.,
4834: downward L\"owenheim--Skolem theorem), a completeness theorem (with an
4835: infinitary rule), interpolation theorem (hence implicit definability implies
4836: explicit definability). $\Bbb L_{\lambda^+,\aleph_0}$ still has the
4837: D.L.S. but usually not the others.
4838:
4839: For me a central topic of model theory is classification\footnote{Note: it
4840: does not necessarily generalize stability theory. Probably better to say
4841: taxonomy theory, as some people mistakenly interpret my intention in
4842: ``classification theory" as finding the first order classes for which every
4843: model can be characterized up to isomorphism by (general) cardinal
4844: invariants (an important case, the major gap), harmless to let it have also
4845: this meaning.} theory for elementary classes, i.e., those defined as the
4846: class of models of a first order logic theory. The idea being finding
4847: natural dividing lines: positive theory for the lower halves (understanding
4848: the structure) and on the upper part (proving they have complicated models).
4849: Much has been done in the investigation of the theory of low classes
4850: (particularly stable but also simple and little on others). There is much to
4851: be done on them.
4852: \medskip
4853:
4854: \ub{\stag{nf.1} High Taxonomy Dream}:\quad Find a good dividing line (or
4855: lines), which is much higher than those mentioned above (see more in
4856: \cite{Sh:702}).
4857: \medskip
4858:
4859: \ub{\stag{nf.2} The Mountain Air Thesis}:\quad The air on high mountains is
4860: clearer, many aspects are more transparent when we work in a more general
4861: thesis. In particular:
4862: \mr
4863: \item "{$(a)$}" Even if you are interested just in the model theory
4864: of specific structures (like the real and the $p$-adic field), general model
4865: theory will help you.
4866: \sn
4867: \item "{$(b)$}" Even if you are interested just in countable models of
4868: first order classes EC$(T)$ you will be helped by looking at
4869: $\kappa$-saturated models of $T$ of cardinality $> \kappa$.
4870: \sn
4871: \item "{$(c)$}" It is good to prove an ``outside"
4872: property Pr$_T(\lambda)$ which speaks on $\{M:M \models T$ has cardinality
4873: $\lambda\}$ of a first order $T$ does not depend on $\lambda$ by proving it
4874: equivalent to an ``inside" syntactical property. It is also an excellent
4875: way to discover interesting syntactical properties of $T$ even if you have
4876: no interest in what occurs in every $\lambda$.
4877: \sn
4878: \item "{$(d)$}" Model theory of non-first-order classes will help the
4879: elementary case and may be more relevant than first order for investigating
4880: some natural uncountable structures.
4881: \endroster
4882: \medskip
4883:
4884: \ub{\stag{nf.3} The Specific Stability Dream}:\quad Find interesting
4885: natural first order classes EC$(T)$ with an interesting model theory and in
4886: particular stability theory; I mean that the general methods of model theory
4887: are really combined with the investigation of those specific classes (not
4888: just quoting the results).
4889: \medskip
4890:
4891: This has occurred for differentially closed fields (and to some
4892: extent, separably closed not algebraically closed fields).
4893: \medskip
4894:
4895: \ub{\stag{nf.4} Question}:\quad Are there infinite non-separably closed
4896: fields $F$ with stable Th$(F)$?
4897: \medskip
4898:
4899: \ub{\stag{nf.5} The Specific Taxonomy Dream}:\quad Carry out the
4900: classification program for the family of interesting specific classes
4901: EC$(T)$, i.e., on $\{EC(T'):T'\supseteq T$ is complete$\}$. This is not the
4902: same as \scite{nf.3}, there we are interested in $T$ in which we can say
4903: much on $M \in EC(T)$, here we look for dividing lines in the family of
4904: completions of $T$; e.g., $T =$ the theory of fields.
4905: \medskip
4906:
4907: \ub{\stag{ne.1} Problem}:\quad What are the right contexts for stability
4908: theory? Develop the in the various specific cases.
4909: \medskip
4910:
4911: Various contexts we are considering:
4912: \mr
4913: \item "{$(A)$}" first order classes (with $\prec$),
4914: \sn
4915: \item "{$(B)$}" EC$(T)$, for $T$ a universal first order theory with
4916: amalgamation under $\subseteq$,
4917: \sn
4918: \item "{$(C)$}" the class of existentially closed models of a first order
4919: theory $T$ under $\subseteq$ (here naturally we do not have negation, i.e.,
4920: the negation of a formula is an infinite disjunction of one),
4921: \sn
4922: \item "{$(D)$}" $D$-homogeneous models with $\prec$ (so we restrict EC$(T)$
4923: to $\{M:\{\text{tp}(\bar a,\emptyset,M):\bar a \in {}^{\omega>} M\}
4924: \subseteq D$ and assume a strong form of amalgamation),
4925: \sn
4926: \item "{$(E)$}" universal classes (\cite{Sh:300}),
4927: \sn
4928: \item "{$(F)$}" EC$(T),T \subseteq \Bbb L_{\lambda^+,\omega}$ and
4929: $\prec_\Delta,\Delta$ a fragment of $\Bbb L_{\lambda^+,\omega}$,
4930: \sn
4931: \item "{$(G)$}" abstract elementary class with amalgamation,
4932: \sn
4933: \item "{$(H)$}" abstract elementary class with no maximal model,
4934: \sn
4935: \item "{$(I)$}" abstract elementary class,
4936: \sn
4937: \item "{$(J)$}" good frames and relatives (\cite{Sh:705}).
4938: \ermn
4939: Note that one of the desired properties is having good closure properties
4940: (e.g., for interpreting groups); so a wider context may be of interest as it
4941: has better closure properties.
4942: \medskip
4943:
4944: A hard test is the following
4945: \medskip
4946:
4947: \ub{\stag{ne.2} The main gap Question}:\quad Prove a form of the main gap
4948: for $\psi \in \Bbb L_{\lambda^+,\omega}$ (or just $\Bbb
4949: L_{\aleph_1,\aleph_0}$); i.e., for every such $\psi$ either $I(\lambda,\psi)
4950: > \lambda$, see below, for every $\lambda$ large enough or there is an
4951: ordinal $\gamma$ such that for every ordinal $\alpha$, $I(\aleph_\alpha,\psi)
4952: \le \beth_\gamma(|\alpha|)$.
4953: \medskip
4954:
4955: \definition{\stag{ne.3} Definition}\quad $I(\lambda,\psi) = \{M/\cong:M
4956: \models \psi\}$, similarly $I(\lambda,K)$ for $K$ a class of models.
4957: \enddefinition
4958: \medskip
4959:
4960: As in the case of the first order, the intention is
4961: \medskip
4962:
4963: \ub{\stag{ne.3a} Main gap a good test Thesis}:\quad Solving \scite{ne.2}
4964: will force you to develop a theory, find interesting definitions and
4965: theorems on them.
4966: \medskip
4967:
4968: In the seventies soft model theory (i.e., with the logic as a variable) had
4969: been very popular (see \cite{BF}), but has gone out of fashion, probably as
4970: it seemed that there were many counterexamples and few theorems. I do not
4971: see it as a final verdict.
4972: \medskip
4973:
4974: \ub{\stag{ne.4} Dream}:\quad Find natural properties of logics and
4975: nontrivial implications between them (giving a substantial mathematical
4976: theory, of course).
4977: \medskip
4978:
4979: \ub{\stag{ne.5} Dream}:\quad Find a new logic with good model theory (like
4980: compactness, completeness theorem, interpolation and those from
4981: \scite{ne.4}) and strong expressive power preferably concerning other parts
4982: of mathematics (see \cite{Sh:702}, possibly specifically derive for them).
4983: \medskip
4984:
4985: \ub{\stag{ne.6} Problem}:\quad Develop the model theory of first order
4986: classes EC$(T)$ with $T$ having the finite model property (i.e., every
4987: finite subset of $T$ has a finite model).
4988: \medskip
4989:
4990: \ub{\stag{ne.7} Problem}:\quad Develop and investigate a logic for
4991: ``polynomial invariants for graphs and general structures" (there are many
4992: worthwhile definitions of polynomials (invariants) for a graph, which
4993: depend on the isomorphism type only).
4994: \medskip
4995:
4996: \centerline {$ * \qquad * \qquad *$}
4997: \medskip
4998:
4999: In fact, I am not fond of set theory without choice, nevertheless:
5000: \medskip
5001:
5002: \ub{\stag{st.1} Problem}:\quad Develop combinatorial set theory for
5003: universes with limited amount of choice (see in \cite{Sh:666}).
5004: \medskip
5005:
5006: \ub{\stag{st.2} Problem}:\quad Develop descriptive set theory for
5007: ${}^\kappa \mu$ in particular ${}^\omega \mu,\mu$ strong limit singular of
5008: cofinality $\aleph_0$ (see discussion in \cite{Sh:724}; probably we first of
5009: all need good questions as straight generalization of properties may not
5010: succeed).
5011: \medskip
5012:
5013: \ub{\stag{ns.1} Dream}:\quad Try to formalize and really say
5014: something\footnote{here, as elsewhere, e.g., \scite{ns.2}, \scite{3.4}
5015: the dream is not to suggest a reasonable framework for this, but build a
5016: mathematical theory} on mathematical beauty and depth. Of course (length of
5017: proof)/(length of theorem) is in the right direction, etc.
5018: \medskip
5019:
5020: \ub{\stag{ns.2} Dream}:\quad Make a reasonable mathematical theory when we
5021: restrict ourselves to the natural numbers up to $n$, where $n$ is a specific
5022: natural number (say $2^{2^{100}} + 1$) (e.g., thinking our universe is
5023: discrete with this size).
5024:
5025:
5026: % PRIVATE excursion starts here
5027: \shlhetal % number 1/1
5028: % back from PRIVATE part number 1/1
5029:
5030:
5031: \newpage
5032:
5033: REFERENCES.
5034: \bibliographystyle{lit-plain}
5035: \bibliography{lista,listb,listx,listf,liste}
5036:
5037:
5038: \enddocument
5039:
5040: