forked from yhwu-is/Linear-Algebra-Left-Undone
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path未竟专题1 预备思想.tex
More file actions
557 lines (404 loc) · 64.8 KB
/
未竟专题1 预备思想.tex
File metadata and controls
557 lines (404 loc) · 64.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
\LUchapter{预备思想}
\newcommand{\suc}{\operatorname{suc}}
在第一讲中我们介绍了一些预备知识,但是在正式开始我们的学习旅程前,我希望在这里先讨论一些和知识本身关系不大的话题,也就是一些学习这门课的一些数学思想的准备,目的主要是给刚刚进入大学的同学一个思维上升的台阶,以便更好地接受接下来抽象的内容.
\section{数学证明初探}
我想我们很有必要在入门课程的开头简要介绍一些关于数学证明的问题. 因为我们高中阶段很多时候的证明不过是计算性的验证——例如证明圆锥曲线的一些结论,或是导数题的证明,很多时候都只是通过计算验证这一结论是否正确,而非从定义出发对命题进行``证明''. 举一个简单的例子:
\begin{example}{}{}
\begin{enumerate}
\item 已知椭圆$C:\dfrac{x^2}{4}+\dfrac{y^2}{3}=1$,若直线$l\colon y=kx+m$与椭圆$C$相交于$A,B$两点($A,B$不是左右顶点),且以$AB$为直径的圆过椭圆$C$的右顶点. 求证:直线$l$过定点.
\item 设$A_i\enspace(i=1,2,\ldots,n)$是$X$的子集. 证明:$\overline{\displaystyle\bigcup_{i=1}^nA_i}=\displaystyle\bigcap_{i=1}^n\overline{A_i}$(其中集合上一横代表对全集$X$的补集).
\end{enumerate}
\end{example}
第一题一定是各位再熟悉不过的经典高中圆锥曲线习题了. 这一证明过程我们只需要联立方程,结合已知条件不断计算即可得出结论,事实上虽是证明题确更偏向于计算性验证,与第二题的风格相去甚远. 我们来分析并书写一下第二题的证明:
\begin{proof}
要证明两个集合相等,我们必须回忆两个集合相等的定义:即需要证明两个集合互相包含. 而要证明集合的包含,例如$A\subseteq B$,我们应当利用包含的定义,证明$\forall x\in A$,都有$x\in B$.
因此分成如下两个部分证明:
\begin{enumerate}
\item 根据补集的定义,$\forall x\in \overline{\displaystyle\bigcup_{i=1}^nA_i},\enspace x\notin \displaystyle\bigcup_{i=1}^nA_i$,因此根据并集的定义(属于并集表明至少属于参与并集的某一个,因此根据逆否命题不属于并集表明一定不属于任何一个参与并集的集合),即$x\notin A_i,\enspace i=1,2,\ldots,n$. 所以,根据补集的定义,$x\in \overline{A_i},\enspace i=1,2,\ldots,n$. 根据交集的定义(属于交集表示属于参与交集的每一个集合),$x\in \displaystyle\bigcap_{i=1}^n\overline{A_i}$,因此根据集合包含的定义,$\overline{\displaystyle\bigcup_{i=1}^nA_i}\subseteq \displaystyle\bigcap_{i=1}^n\overline{A_i}$.
\item 另一方面,$\forall x\in \displaystyle\bigcap_{i=1}^n\overline{A_i}$,根据交集的定义,$x\in \overline{A_i},\enspace i=1,2,\ldots,n$. 因此根据补集的定义,$x\notin A_i,\enspace i=1,2,\ldots,n$. 因此根据并集的定义,$x\notin \displaystyle\bigcup_{i=1}^nA_i$,因此根据补集的定义,$x\in \overline{\displaystyle\bigcup_{i=1}^nA_i}$,因此根据集合包含的定义,$\displaystyle\bigcap_{i=1}^n\overline{A_i}\subseteq \overline{\bigcup_{i=1}^nA_i}$.
综上,根据集合相等的定义有$\overline{\displaystyle\bigcup_{i=1}^nA_i}=\displaystyle\bigcap_{i=1}^n\overline{A_i}$.
\end{enumerate}
\end{proof}
可以看到,在整个证明过程中,我们的证明出发点就是集合相等、包含的定义,后面的证明中也在不断重复使用集合的交、并和补等运算的定义,这与之前的计算性验证风格完全不同. 事实上,未来的很多证明都要求我们从定义出发,而非计算性验证,因此我们希望在本节展示一些我们经常会遇到的``真正的''证明问题以及证明策略. 首先需要介绍一些读者在高中可能未接触过的简单逻辑以及真值表的概念.
\begin{definition}{}{}
设命题$p$和$q$为任意命题,我们规定:
\begin{itemize}
\item $\land$称为``合取'',$p\land q$表示命题``$p$且$q$'',当且仅当$p$和$q$均为真时,$p\land q$为真;
\item $\lor$称为``析取'',$p\lor q$表示命题``$p$或$q$'',当且仅当$p$和$q$均为假时,$p\lor q$为假;
\item $\to$称为``蕴含'',$p\to q$表示命题``若$p$则$q$'',当$p$为真且$q$为假时,$p\to q$为假;在其他情况下,$p\to q$均为真;
\item $\leftrightarrow$称为``等价'',$p \leftrightarrow q$表示命题``$p$与$q$等价'',当且仅当$p$和$q$真值相同时,$p \leftrightarrow q$为真;
\item $\neg$称为``否定'',$\neg p$表示命题``$p$的否定'',当$p$为真时,$\neg p$为假;当$p$为假时,$\neg p$为真.
\end{itemize}
对于包含多个命题变元的命题$f(p_1,p_2,\ldots,p_n)$,将$p_1,\ldots,p_n$取遍所有可能的真值组合,并将对应的$f$的真值列出,得到的表格称为$f$的真值表.
\end{definition}
以高中可能未接触过的两个逻辑运算符$\to$和$\leftrightarrow$为例,其真值表如下:
\begin{center}
\begin{minipage}[c]{0.45\textwidth}
\centering
\begin{tabular}{|c|c|c|}
\hline
\diagbox{$p$}{$q$} & 0 & 1 \\
\hline
0 & 1 & 1 \\ \hline
1 & 0 & 1 \\
\hline
\end{tabular}
\captionof{table}{$p\to q$}
\end{minipage}
\begin{minipage}[c]{0.45\textwidth}
\centering
\begin{tabular}{|c|c|c|}
\hline
\diagbox{$p$}{$q$} & 0 & 1 \\
\hline
0 & 1 & 0 \\ \hline
1 & 0 & 1 \\
\hline
\end{tabular}
\captionof{table}{$p\leftrightarrow q$}
\end{minipage}
\end{center}
事实上这很容易引起人们的困惑,因为我们直觉上会将$p\to q$认为是$p$可以推导出$q$,那么为什么$p$是错误的时候$p\to q$一定是正确的呢?以如下论断为例:如果猪会飞,那么你的线性代数会考59分. 这一论断我们会认为是正确的,因为事实上猪并不会飞,因此我们不必再关心你线性代数考不考59分——从谬误出发,你想怎么干就怎么干,因此对于$p\to q$,当$p$为假命题时,$p\to q$一定为真命题. 而$p$为真命题时,我们就会关心$q$的真值,比如我说``如果明天太阳东升西落,那么你的线性代数会考59分'',你一定会瞪大你的眼睛猛摇你的头说``不可能,不是这样的''.
而对于$p\leftrightarrow q$,我们不难看出,$p\leftrightarrow q$为真要求$p$与$q$的真值相同,这也符合``等价''二字的直觉. 当然,$p\leftrightarrow q$事实上就是$(p\to q)\land(q\to p)$,即$p$蕴含$q$且$q$蕴含$p$,这也是符合直觉的,因为一般的等价也需要两边能互相推导出.
当然我们必须强调逻辑上的蕴含和等价与数学问题中的推出、等价之间的区别. 对于推出($\implies$),我们需要依靠公理、定理等进行证明,而蕴含($\to$)不一定需要两边有什么实际的数学联系;对于等价,逻辑上$p$和$q$的等价($\leftrightarrow$)只要求两边真值相同,而数学上的等价($\iff$)则要求我们能通过数学的公理、定理从$p$推出$q$,从$q$推出$p$. 前者被称为语义层面上的推理(真值表符合),而后者是语法层面上的推理(能够通过一套形式规则给出). 比方说,以下规则在真值表意义上成立:$((p \to q) \land p) \to q$,这可以通过检查真值表的方式表明,而所谓的肯定前件(modus ponens)规则就是``如果 $p \to q$ 成立且 $p$ 成立,则 $q$ 成立'',这是我们的一条推理规则,它是语法层面的推理,因为它检查两个命题是否具备某个结构,然后通过它们的形式结构给出另一个成立的命题.
我们对推理系统(即这套语法层面检查的形式规则)的要求往往是它和语义上的结果一致,这是一个推理系统可靠性和完备性的问题,不在本书的讨论范围内,但可参见图灵系列丛书的有关离散数学的书目\href{https://github.com/FrightenedFoxCN/Discrete-Mathematics-Made-Concrete}{《Discrete\ Mathematics\ Made\ Concrete》}(下简称 DMMC).
因为我们通常采用的推理系统中,这二者是基本上等价的,我们就可以将它作为一些证明方法的基本依据. 接下来我们将考察几类最常见的证明方法与问题,并逐一进行分析. 可能有些内容比较枯燥,读者也可以先留个印象,或记住一些经典的例子,将来遇到此类问题再回过头来看.
\begin{enumerate}
\item 逆否命题、反证与否证:高中阶段我们都学习过逆否命题与原命题的等价性,即$p\to q$和$\lnot q\to\lnot p$等价. 事实上严谨而言,我们也可以用真值表验证$(p\to q)\leftrightarrow(\lnot q\to\lnot p)$一定是真命题,因此很多时候我们证明$p\to q$,正向证明有困难时,可以考虑$\lnot q\to\lnot p$,即导出了与条件的矛盾,这也是反证法的理论基础. 当然这只是反证法的一个情况,因为反证法不一定需要证明逆否命题,我只要假设$\lnot q$能够与任意的数学定理、公理等矛盾都可以,不一定需要得出$\lnot p$,如下面这一经典的例子:
\begin{example}{}{}
证明:$\sqrt{2}$不是有理数.
\end{example}
\begin{proof}
假设$\sqrt{2}$是有理数,即$\sqrt{2}=\dfrac{a}{b}$,其中$a,b$互素,$b\neq 0$,则平方后得到$a^2=2b^2$,因此$a^2$是偶数,因此$a$是偶数,设$a=2c$,则$(2c)^2=2b^2$,即$2c^2=b^2$,因此$b^2$是偶数,因此$b$是偶数,因此$a,b$不互素,矛盾,因此假设不成立.
\end{proof}
可以发现,这一结论甚至没有前提$p$,因此我们使用反证法并非是证明了逆否命题.
最后我们讨论一个题外话:上面的证明严格来说不应该称作反证法,而应称作否证法. 如果在中学,我们一定会倾向于将上面这一证明思想称为反证法——事实上所有假设条件成立然后推出矛盾的方法我们曾经都称之为反证法. 读者可能会产生疑问,仿佛我们只是在做一些文字游戏,但实际上,反证和否证是有一定区别的(注意区别不在于是否与逆否命题相关,而是更深层次的),简单而言反证法需要使用到排中律(即$p$和$\lnot p$必有一个为真),但排中律是否一定在逻辑系统中必要未有定论——这与直觉不符,但目前读者只需要接受这一点,或者忘记它们,将这种风格的证明都称为反证法. 如果读者希望深入理解反证和否证的区别,可以参考 DMMC,其中会较为仔细地讨论二者的区别,而在本书中我们不再区分反证和否证,统称反证.
\item 数学归纳法:我们将在本专题后半部分讲解公理化时,跟随皮亚诺公理系统的引入一起介绍数学归纳法.
\item 任意性证明:有时候我们会遇到这样的证明问题,要求证明对于任意的满足某一条件的元素,都有某一命题成立. 这一问题十分平凡,我们只需``任取''一个满足条件的元素,然后证明它满足命题即可,其关键就在于元素的选取是任意的. 例如证明整数集合关于加法运算构成群,验证运算封闭性、逆元存在性都是任意性证明.
\item 存在性证明:存在性证明相对于任意性较为复杂,我们通常有两种策略,先来看第一种最直观的例子:
\begin{example}{}{}
证明:素数有无穷多个.
\end{example}
\begin{proof}
反证法,假设素数只有有限个,由小到大记为$p_1,\ldots,p_n$(则$p_n$是最大素数). 事实上我们只需证明存在比$p_n$大的素数即可,这就将原问题转化为了``存在性''的问题.
事实上,我们可以构造$A=p_1\cdots p_n+1$,则$p_1,\ldots,p_n$都不可能是$A$的因数,否则若$p_i$能整除$A$,所得的商为$p_1\cdots p_{i-1}p_{i+1}\cdots p_n+\dfrac{1}{p_i}$不是整数. 因此$A$一定有不同于$p_1,\ldots,p_n$的素因子,由假设可知这样的素因子一定大于$p_n$,与我们假设的$p_n$是最大素数矛盾. 故素数有无穷多个.
\end{proof}
在上面的证明中,我们将问题转化为了证明``存在比$p_n$大的素数''这一问题,证明方法则是构造了出更大的素因子,非常的直接,因为只要构造出了那么一定就是``存在''的. 但事实上我们还有另一种证明存在性的方法,不一定要构造出对应的元素,如下例:
\begin{example*}{}{}
证明:存在无理数 $x, y$ 使得 $x^y$ 为有理数.
\end{example*}
\begin{proof}
假定 $\sqrt{2}^{\sqrt{2}}$ 为有理数,则原命题得证;假定其为无理数,则 $\left(\sqrt{2}^{\sqrt{2}}\right)^{\sqrt{2}}$ 为有理数,原命题仍得证.
\end{proof}
我们发现,这样的证明并没有实际构造出 $x, y$ 到底是什么. 这样的证明是非构造性的. 题外话是,这样的证明也依赖于排中律,因为我们的前提是``$\sqrt{2}^{\sqrt{2}}$ 要么是有理数,要么是无理数''这个命题一定是真的. 当然读者学习过数学分析或者微积分之后,应当熟悉单调有界数列有极限这一定理,事实上它经常被用来证明一个数列极限存在,但极限值是多少我们并不需要求出,因此也是非构造性证明的一个手段. 比方说下面的例子:
\begin{example*}{}{}
证明:欧拉常数存在,或者说数列
\[a_n=1+\dfrac{1}{2}+\cdots+\dfrac{1}{n}-\ln n\]
有极限(极限值记为$\gamma$,称之为欧拉常数).
\end{example*}
\begin{proof}
高中熟知对数不等式
\[\frac{x}{1+x}\leqslant\ln(1+x)\leqslant x,\enspace x>-1,\]
这一不等式使用求导的方法即可证明,等号成立当且仅当$x=0$,因此我们令$x=\dfrac{1}{n}$,则
\[\frac{1}{n+1}<\ln\left(1+\frac{1}{n}\right)<\frac{1}{n},\]
基于此,我们有
\[a_{n+1}-a_n=\frac{1}{n+1}-\ln\left(1+\frac{1}{n}\right)<0,\]
因此数列$\{a_n\}$单调递减,又因为
\begin{align*}
a_n & =\sum\limits_{k=1}^n\frac{1}{k}-\ln(\frac{n}{n-1}\cdot \frac{n-1}{n-2}\cdots\frac{2}{1}) \\
& =\sum\limits_{k=1}^n\frac{1}{k}-\sum\limits_{k=1}^{n-1}\ln(1+\frac{1}{k}) \\
& =\sum\limits_{k=1}^n\left(\frac{1}{k}-\ln(1+\frac{1}{k})\right)+\frac{1}{n} \\
& >\frac{1}{n}>0,
\end{align*}
因此数列$\{a_n\}$有下界,因此数列$\{a_n\}$收敛.
\end{proof}
\item 存在与任意:或许这一问题应该交给数学分析或是微积分老师来讲解,因为最简单的例子就是数列极限的定义:
\begin{definition}{}{}
设数列$\{a_n\}$,若存在常数$A$,对于任意给定的正数$\varepsilon$,总存在正整数$N$,使得当$n>N$时,有$|a_n-A|<\varepsilon$,则称数列$\{a_n\}$收敛于$A$,否则称数列$\{a_n\}$发散.
\end{definition}
相信你的老师或者教材一定介绍过这一命题的逆否命题,这里我们不再赘述. 这一问题的关键在于厘清含有存在、任意的命题如何正确地取否,事实上中学阶段我们就应该拥有这样的基础.
\item 合取式证明:即证明若$p$成立,则$q$和$r$都成立. 事实上这一类问题没有什么需要特殊说明的,就是将$q$和$r$都单独证明即可.
\item 析取式证明:即证明若$p$成立,则$q$或$r$二者之一成立. 析取的证明比合取原理复杂,一般而言我们的证明思路是:假设$q$不成立,证明$r$(即证明$\lnot q\to r$),或者假设$r$不成立,证明$q$(即证明$\lnot r\to q$),这样我们就证明了$q$或$r$二者必有其一成立,因为它们不会同时不成立. 最典型的例子在第一讲也见到了,我们这里重述并给出证明:
\begin{theorem}{}{}
设$R$是集合$A$上的等价关系,$a,b\in A$,则下面二者必成立其一:
\begin{enumerate}
\item $\overline{a}\cap\overline{b}=\varnothing$;
\item $\overline{a}=\overline{b}$.
\end{enumerate}
\end{theorem}
\begin{proof}
假设$\overline{a}\cap\overline{b}\neq\varnothing$,则存在$x\in\overline{a}\cap\overline{b}$,即$x\,R\,a$且$x\,R\,b$,因此由对称性有$a\,R\,x$,因此由传递性有$aRb$,因此根据等价类的定义可知,二者等价类必然相等,即$\overline{a}=\overline{b}$.
\end{proof}
事实上,上面用到的证明思想也涉及了排中律(即$p\lor\lnot p$为真). 因为证明若$p$成立,则$q$和$r$都成立. 那么我们的思想是,要么$q$成立,得证,要么$\lnot q$成立,然后得出$\lnot q\to r$成立,根据蕴含的真值表知此时$r$必然成立,得证. 显然这一过程需要基于要么$q$成立,要么$\lnot q$成立这一排中律.
\item 唯一性证明:在第一讲\autoref{thm:群的单位元逆元唯一} 的证明里我们就已经强调了如何证明唯一性:只需假设要证明唯一的东西有两个,然后说明这两个必然相等即可,此处不再赘述.
\item 等价性证明:熟知要证明两个命题$p$和$q$(在数学上)等价(很多时候也表达为当且仅当),即$p\iff q$,我们需要证明两边,即$p\implies q$和$q\implies p$. 但如果看到类似于\autoref{thm:可逆等价条件} 的多个命题等价情况该如何证明呢?
事实上,我们要做的就是证明任意两个命题之间都可以互相推导,也就是构造一条强连通的通路. 假设需要证明等价性的$n$个命题为$p_1,p_2,\ldots,p_n$,最常见的方法是找出一条``推出的链条'',比如证明$p_1\implies p_2,\enspace p_2\implies p_3,\enspace \cdots,\enspace p_{n-1}\implies p_n,\enspace p_n\implies p_1$(在这种情况下,任取$p_i, p_j, i<j$,上面的链条告诉我们$p_i\implies p_{i+1}\implies\cdots\implies p_j$,因此$p_i\implies p_j$,而$p_j\implies p_{j+1}\implies p_1\cdots\implies p_i$,因此$p_j\implies p_i$,因此$p_i\iff p_j$,这样我们就证明了任意两个命题之间都是等价的).
当然很多时候不必如此刻板地从$p_1$推导到$p_n$再推回$p_1$,这些命题的顺序显然都可以打乱,比如四个命题我们证明了$p_2\implies p_4\implies p_3\implies p_1 \implies p_2$也是完全可以的,我们可以根据哪些证明更加简单来决定证明的顺序.
有时也不需要去找出一个链条(或者说,不需要找出一个遍历全部命题的链条),某两个命题之间通过直接证明确定其等价有时比通过链条证明更方便,剩下的部分组成的链条可能也更容易证明. 比如四个命题我们证明$p_1\iff p_2$,$p_1 \implies p_3 \implies p_4 \implies p_1$更简单,就没必要去找出一个包含全部命题的链条.
\item 等号证明:如果要证明两个数$a,b$相等,当然可以直接说明,但有时候我们需要``曲线救国'',通过证明$a\geqslant b$和$b\geqslant a$同时成立来说明$a=b$,这种证明方法在将来证明秩不等式的时候非常常用.
对于集合相等也是同理,要证明两个集合$A$和$B$相等,我们经常会通过证明$A\subseteq B$和$B\subseteq A$来说明$A=B$.
\item 最大最小性证明:可以参考\autoref{thm:线性扩张构造子空间},事实上证明此类问题可以转化为之前所说的任意性证明:假设我们要证明某个元素或者集合是最大的,那么实际上等价于证明任意其他元素或者其他集合都不大于它或被它包含,最小性同理,此处不再赘述. 另一种证明方法则是反证法:如果存在一个更大的元素,则推出矛盾.
\end{enumerate}
\section{代数结构的引入}
在第一讲中,我们将引入代数结构的起源归于人们希望为一系列相似的结构找到一种统一的描述方式,然后就可以通过研究这种统一结构的特点来研究各个具体的结构. 本节我们希望给出一些实例展示这一思想,也简要介绍一下``抽象代数''这一学科的一些故事.
\subsection{群来源于对称}
本节主要介绍与群相关的几何直观,事实上它们与群的抽象定义有很大的关联. 回忆群的定义:在集合上定义了一种运算(运算本身满足封闭性),满足结合律、有单位元和逆元. 这一定义看起来非常抽象,但实际上它在描述一种很美丽的性质,我们来看几个例子.
\begin{example}{}{}
平面上的平移群、反射群、旋转群. 在平面直角坐标系中,$(x,y)$为任意点的坐标.
\begin{enumerate}
\item 平移群:由平移$\beta_{ab}\enspace(a,b\in\mathbf{R})$构成,定义如下:
\[\beta_{ab}(x,y)=(x+a,y+b).\]
不难看出$\beta_{ab}\beta_{cd}=\beta_{a+c,b+d}$,因此平移群满足结合律,单位元为$\beta_{00}$,逆元为$\beta_{-a,-b}$,因此平移群构成一个群.
\item 反射群:取平面上一直线$l$,对此直线的全体镜像映射构成群,这就是反射群. 为方便讨论,不妨假定这条直线是$y$轴,于是镜面映射$\gamma$的作用如下:
\[\gamma(x,y)=(-x,y).\]
不难看出$\gamma^2=e$($e$为幺映射,即$e(x,y)=(x,y)$),因此事实上反射群中只有两个元素,我们也很容易验证它真的构成群.
\item 旋转群:取平面上一点,对此点的全体旋转映射构成群,这就是旋转群. 为方便讨论,不妨假定这个点是原点,令旋转角为$\theta\enspace(0\leqslant\theta<360^\circ)$的旋转为$\rho_\theta$,则不难看出
\[\rho_{\theta_1}\rho_{\theta_2}=\rho_{[\theta_1+\theta_2]},\]
其中$[\theta_1+\theta_2]$表示$\theta_1+\theta_2$的模$360^\circ$的余数. 在此群中,单位元为$\rho_0$,逆元为$\rho_{-\theta}$,因此旋转群构成一个群.
\end{enumerate}
\end{example}
事实上,上面的例子中在集合上都具有一种所谓的``对称''美感,很巧的是这些对称都能用群描述. 因此实际上群的诞生实际上就是为了公理化(这一名词我们将在下一节中进一步阐释)描述这种对称性.
如果我们将群和对称性与物理学结合,或许会看到更多美丽的结果. 事实上,描述空间和时间变换的连续对称性需要用到Sophus Lie(1842--1899)引入的李群(Lie groups). 而诺特定理告诉我们:任何可微对称性都对应于守恒律. 例如,时间平移对称性蕴含能量守恒,空间平移对称性蕴含动量守恒,空间旋转对称性蕴含角动量守恒. 相信阅读本讲义的读者很多都具有物理学背景或对物理学感兴趣,那么在理论力学中大家将会进一步学习到这些内容,体会到群、对称性在物理学中更深层的应用.
\subsection{五次方程没有求根公式?}
事实上,群的三条公理的直接来历可能不及上一小节中的简单. 实际上,它来源于伽罗瓦(Evariste Galois,1811--1832)对五次方程没有根式解的思考. 或许我们初次见到很难想象五次方程没有求根公式会和群这三条公理产生什么联系,事实上历代很多数学家的尝试也与此无关,他们都在思考根与五次方程系数之间的联系. 然而我们可以回忆单位根在复平面上的分布,可以发现一元高次方程的根在一定程度上具有较强的对称性——这其中的奥秘似乎可以用群来描述. 伽罗瓦基于这些观察建立了群的概念,证明了多项式可解性等价于多项式根的置换群(伽罗瓦群)具有某种结构(可解性),从而解决了5次方程不可解性这一难题.
也许这里插入一些小历史故事是合适的——毕竟伽罗瓦的生平的确令人惋惜. 细心的读者可能已经在上一段计算过伽罗瓦的去世年龄——年仅21岁. 我们可能无法想象如此困难的问题竟然能有一个天才在21岁之前解决. 事实上,1829年,年仅18岁的伽罗瓦就将他在代数方程解的结果呈交给法国科学院,由著名的大数学家奥古斯丁·路易·柯西(Augustin Louis Cauchy,不用说,柯西-施瓦茨不等式、柯西收敛准则、柯西中值定理都有他的影子)负责审阅,但柯西却将文章连同摘要都弄丢了——事实上19世纪的两个短命数学天才尼尔斯·亨利克·阿贝尔(Niels Henrik Abel,1802-1829,正是阿贝尔群的那位)与伽罗瓦都不约而同地``栽''在柯西手中,而阿贝尔事实上早于伽罗瓦用另一种方式给出了证明(于1824年),因此一元四次以上方程没有求根公式这一定理由阿贝尔命名. 阿贝尔将论文发出后,科学院秘书傅里叶(Jean Baptiste Joseph Fourier, 1768-1830,傅里叶级数就是他的成果)读了论文的引言,然后委托勒让德和柯西负责审查. 柯西把稿件带回家中,究竟放在什么地方,竟记不起来了. 直到两年以后阿贝尔已经去世,失踪的论文原稿才重新找到,而论文的正式发表,则迁延了12年之久.
让我们回到伽罗瓦的生平. 1827年,16岁的伽罗瓦自信满满地投考他理想中的(学术的与政治的)大学:综合工科学校,却因为颟顸无能的主考官而名落孙山,而当伽罗瓦第二次要报考综合工科大学时,他的父亲却因为被人在选举时恶意中伤而自杀. 正直父亲的冤死,影响他考试失败,也导致他的政治观与人生观更趋向极端.
1829年,伽罗瓦进入高等师范学院就读,次年他再次将方程式论的结果写成三篇论文,争取当年科学院的数学大奖,但是文章在送到让·巴普蒂斯·约瑟夫·傅里叶手中后,却因傅里叶过世又遭蒙尘,伽罗瓦只能眼睁睁看着大奖落入阿贝尔与卡尔·雅可比(Carl Jacobi,雅可比行列式的发明人)的手里. 1830年法国七月革命发生,保皇势力出亡,高等师范学院校长将学生锁在高墙内,引起伽罗瓦强烈不满. 12月伽罗瓦在校报上抨击校长的作法,因此被学校退学. 由于强烈支持共和主义,从1831年5月后,伽罗瓦两度因政治原因下狱,他也曾企图自杀. 在监狱中,伽罗瓦仍然顽强地进行数学研究,一面修改他关于方程论的论文及其他数学工作,一面为将要出版的著作撰写序言.
据说1832年3月他在狱中结识了一个医生的女儿并陷入狂恋. 因为这段感情,他陷入一场决斗. 自知必死的伽罗瓦在决斗前夜将他的所有数学成果狂笔疾书记录下来,希望有朝一日自己的研究成果能大白于天下,并时不时在一旁写下``我没有时间''. 第二天他果然在决斗中身亡,时间是1832年5月31日. 这个传说富浪漫主义色彩,为后世史家所质疑.
他的朋友奥古斯特·舍瓦烈(Auguste Chevalier)遵照伽罗瓦的遗愿,将他的数学论文寄给卡尔·弗里德里希·高斯(Carl Friedrich Gauss)与卡尔·雅可比,但是都石沉大海. 要一直到1843年,才由刘维尔(Joseph Liouville)肯定伽罗瓦结果之正确、独创与深邃,并在1846年将它发表.
事实上,伽罗瓦带给我们的财富也不止于此,群与对称性的关联也不止于此. 事实上,高斯为什么能尺规作图作出正十七边形而非其它形状,也正是因为他漂亮地证明高斯的论断:若用尺规作图能作出正$p$边形,$p$为质数的充要条件为$p=2^{2^k}+1$(所以正十七边形可尺规作图). 除此之外,他的理论也直接解决了古代三大尺规作图问题中的两个:三等分任意角不可能、倍立方(求作一正方体的边,使其体积为给定正方体的两倍)不可能(第三个问题是化圆为方:求作一正方形,使其与给定的圆面积相等,这一问题的不可能性由林得曼(Linderman)在1882年证明$\pi$的超越性,即$\pi$不为任何整数系数多次式的根得以确立. 有趣的是,这个结论的证明也间接地与伽罗瓦理论有关).
总而言之,我们发现,代数结构的引入实际上也源于对一些常见概念的抽象,例如群的引入源于对于对称性的抽象. 实际上这种从直觉转化为抽象的规则定义的思想可以称为``公理化'',接下来我们便用完整的一节来介绍这一思想,让读者逐步由易到难接受这一与中学学习相去可能甚远的思想.
\section{公理化思想与布尔巴基学派}
\subsection{公理化思想}
事实上,在上一讲中我们介绍了群、环和域的定义,它们的定义都有一个共同的特点:在定义运算的时候,都是给出一些很基本的规则,而接下来的所有性质都只能依靠这些基本规则展开. 这种思想在数学中无疑是至关重要且在将来经常遇见的,实际上从下一讲开始,我们将直面线性空间的八条公理——我想这对于初次遇见的同学而言,大概率是很难直接接受并且理解其中的目的的. 所以我们在这里给出一些基本的例子做一个台阶,以便更好地理解公理化的思想.
首先我们介绍熟知的``距离''这一概念的公理化描述:
\begin{definition}{}{}
设$X$是一个非空集合,$d\colon X\times X\to \mathbf{R}$是一个函数,如果它满足
\begin{enumerate}
\item $d(x,y)\geqslant 0$,且$d(x,y)=0$当且仅当$x=y$;
\item $d(x,y)=d(y,x)$;
\item $d(x,y)\leqslant d(x,z)+d(z,y)$.
\end{enumerate}
则称$d$是$X$上的一个距离.
\end{definition}
这一定义首先表明,距离是一个双变量的函数,它能将集合$X$中两个元素映射到一个实数,这个实数代表了这两个元素的距离. 这一定义并没有给出距离的具体形式,而是给出了距离应该满足的一些性质. 我们审视这三条性质:
\begin{enumerate}
\item 第一条性质表明两个元素之间距离非负,并且距离为0当且仅当这两个元素相等;
\item 第二条性质表明距离是对称的,也就是说,$x$到$y$的距离和$y$到$x$的距离是相等的;
\item 第三条性质表明距离满足三角不等式,也就是说,$x$到$y$的距离不会超过$x$到$z$的距离和$z$到$y$的距离之和.
\end{enumerate}
或许读者会觉得这些性质过于显然. 的确,它们都来源于我们对于现实世界中对于``距离''这一名词的基本认识,但是它所定义的集合$X$不一定是平面或者空间中的两个点——它可以是任意的集合,因此这一定义具有了普遍意义,我们来看一些实际例子:
\begin{example}{}{}
定义全体$n$元实向量$(x_1,x_2,\ldots,x_n),\enspace x_i\in \mathbf{R}$构成的集合上的距离为
\[d((x_1,x_2,\ldots,x_n),(y_1,y_2,\ldots,y_n))=\sqrt[p]{\sum_{i=1}^n|x_i-y_i|^p},\]
其中$p \geqslant 1$,则这一定义满足距离的三条公理,其中前两条显然成立,第三条读者可以参考``闵可夫斯基不等式'',具体证明较为繁杂,此处不再赘述,我们放在习题中. 这一距离定义非常经典,我们称其为$\ell_p$范数.
\end{example}
事实上,在上面这一例子中,取定$p=2$实际上就是我们高中学习过的向量距离的定义,因此还是非常直观的. 下面我们给出的例子将涉及更为广泛的情况.
\begin{example}{}{}
将区间$[a,b]$上的所有连续函数构成的集合记为$C[a,b]$,定义$C[a,b]$上的距离为
\[d(f,g)=\max_{x\in [a,b]}|f(x)-g(x)|.\]
即我们这里定义了两个连续函数之间的距离为它们在区间$[a,b]$上的最大差值. 读者可以自行验证这一定义满足距离的三条公理.
\end{example}
这一距离不是定义在平面两点之间,而是定义在两个函数之间——这就体现出公理化定义的一个重要意义,它用更抽象的语言描述使得我们可以在更广泛的背景下讨论一个概念. 例如,在数学分析(或微积分)中我们刻画了数列极限和收敛的概念,即若实数轴上点列$\{x_n\}$趋于$x_0$,实际上就是当$n\to\infty$时$|x_n-x_0|\to 0$,即二者距离趋于0,此时称$\{x_n\}$收敛于$x_0$. 而在定义了函数的距离后我们可以讨论$C[a,b]$上的极限和收敛性,即在上面例子中给出的距离定义下,一列函数$\{f_n(x)\}$收敛于$f_0(x)$当且仅当$n\to\infty$时$f_n(x)$与$f_0(x)$在$[a,b]$上的最大差值趋于0. 这实际上就是函数列一致收敛的定义,学习数学分析的同学在将来会了解到这一十分核心的概念.
由此我们在距离的公理化中能体会到如下几点:
\begin{enumerate}
\item 公理化来源于直觉,或者说一条公理经常对应``常识''中某一条自然的性质;
\item 公理化使得我们在讨论一个概念时可以不局限于某一特定的背景,而是可以在更广泛的背景下讨论,但前提是我们需要构造出符合公理的背景.
\end{enumerate}
接下来我们将通过其它例子体现公理化的作用:它有助于构建完备的理论体系,让数学中的基础概念有依据可循. 一个很合适的例子是皮亚诺公理(接下来的内容参考《陶哲轩实分析》),它是一个定义自然数的标准方法(当然不是唯一的,也可以用集合的基数定义). 基于皮亚诺公理,我们将看到为什么$1+1=2$是合理的,为什么结合律、分配律、交换律总是正确的. 你会发现,即使一个命题是``显然的'',但在公理体系下它可能不易证明. 除此之外,我希望读者在这里忘记以前所学的一切运算规律,甚至忘记$1,2,3,\ldots$这些数字——因为它们都还没有被定义,我们只从接下来给出的简单公理出发,推出或许很显然的很多自然数的基本性质——这就是公理化的特点,我们只有最简单的抽象公理,但我们可以以此为基础利用自己的证明和抽象思考能力还原显然的世界,但这时整个世界都是严谨、有理可循的而非杂乱无章的.
接下来我们来看皮亚诺是如何基于一些从直觉而来的原理,转化为少数几条公理使其能够构成一个完备的自然数理论体系的. 我们先从一个直觉性的不正式的定义出发,然后看皮亚诺如何将其公理化.
\begin{definition}{非正式的自然数定义}{}
自然数是指集合
\[\mathbf{N}=\{0,1,2,3,4,\ldots\}\]
中的元素,此集合是由从0开始无休止地往前数所得到的一切数的集合. 我们将$\mathbf{N}$称为自然数集.
\end{definition}
实际上,这个定义在一定意义上解决了自然数是什么的问题,但这并不是完全可接受的,因为它遗留下许多没有回答的问题. 例如:怎么知道我们可以无休止地数下去而不会循环回到0?如何定义自然数的运算,如加法、乘法或指数运算?我们可以首先回答最后一个问题:可以通过简单的运算来定义复杂的运算. 指数运算只不过是重复的乘法运算:$5^3$是3个5乘在一起;乘法只不过是加法的重复:$5\times 3$是3个5加在一起;而加法只不过是每次增长一个的行为(称为增长运算,实际上与C语言代码中的$++$运算符非常类似)的重复运作:如果你把5加上3,你所做的只不过是让5增长3次. 另一方面,增长似乎是一个基本的运算,它没法再归结为更简单的运算. 于是,为了定义自然数,我们将使用两个基础性的概念:数0以及增长运算(称之为后继). 我们用$\suc(n)$代表$n$的后继,例如$\suc(3)=4$,$\suc(\suc(3))=5$等等. 于是,似乎我们要说自然数集是由0和每个可由0经增长而得者所组成,因此我们可以自然地想到如下两条公理:
\begin{axiom}{}{}
\begin{enumerate}
\item 0是自然数;
\item 如果$n$是自然数,那么$\suc(n)$也是自然数.
\end{enumerate}
\end{axiom}
现在我们的自然数集合只有0这个元素以及$\suc$运算(一定要忘记其他数字和加法,它们现在还不存在呢!),因此自然数集合可以写成
\[\mathbf{N}=\{0,\suc(0),\suc(\suc(0)),\suc(\suc(\suc(0))),\cdots\}.\]
这样的写法太复杂了,我们不妨记1是$\suc(0)$,2是$\suc(\suc(0))$,3是$\suc(\suc(\suc(0)))$,等等. 那么$1,2,3$实际上只是一个记号,表征它们不是0,并且互不相同. 但我们现在的公理并没有说明$\suc(3)$一定不是0,事实上$\suc(3)=0$并没有违反上面两条公理的任何一条,如果$\suc(3)=0$,那事实上自然数集合只能有$0,1,2,3$四个数字,这与自然数集有无穷个元素不符,因此我们需要一个公理来排除这种情况:
\begin{axiom}{无穷公理}{}
如果$n$是任意自然数,那么$\suc(n)\neq 0$. 即0不是任何自然数的后继.
\end{axiom}
基于此,我们可以给每个自然数集的元素一个记号,刚刚我们编到了3,事实上现在也可以引入$4=\suc(3)$等. 但是要注意的是我们现在也没有所谓十进制的说法,记住这些数字只是记号,我完全可以定义$\suc(3)=a$而不是4,只是记作4更符合我们的习惯.
然而即使我们加入了新的公理也不能阻止一些病态的情况,例如考虑由$0,1,2,3,4$组成的集合,这个集合中增长运算在4处``碰了顶'',即$\suc(0)=1$,$\suc(1)=2$,$\suc(2)=3$,$\suc(3)=4$,但$\suc(4)=4$,那么接下来所有递增后的元素都将逃不开4,这也和``无穷集合''矛盾,但没有违反之前定义的三条公理的任何一条,因此我们需要补充下面这一条公理:
\begin{axiom}{}{}
不同的自然数必有不同的后继者,即若$n,m$是自然数,且$n\neq m$,则$\suc(n)\neq \suc(m)$. 等价而言,如果$\suc(n)=\suc(m)$,则$n=m$.
\end{axiom}
到目前为止,我们大概可以保证全体自然数彼此两两不同,但我们并没有排除在0和1之间插入$0.5$这样的不该出现的元素出现在自然数集合中的可能性,于是需要引入接下来的这条公理,我们称之为数学归纳原理,或称第一数学归纳法:
\begin{axiom}{数学归纳原理}{数学归纳原理}\index{shuxueguinayuanli@数学归纳原理 (principle of mathematical induction)}
设$P(n)$是关于自然数的一个性质,假设$P(0)$是真的,而且$P(n) \rightarrow P(\suc(n))$也是真的,那么$P(n)$对于所有自然数$n$都是真的.
\end{axiom}
因此,假如我们有定义$\suc(0)=1$,$\suc(1)=2$,$\suc(2)=3$等构成自然数集合,但这个自然数集在0和1之间出现了数$0.5$,它不是任何数的后继,那么一定违反了上面的公理——因为假设$P(0)$是真的,我们只能保证$P(1),P(2),P(3)$是真的,$0.5$虽然也是自然数(因为它在我们定义的自然数集中),但我们没有规则保证$P(0.5)$成立,因此与``$P(n)$对于所有自然数$n$都是真的''矛盾. 所以这一公理合理防止了不应该出现的数出现在自然数集合中的可能性.
数学归纳原理事实上带来了更重要的结果,即引入了所谓的数学归纳法这一重要的证明方法. 相信在中学阶段各位也已熟知这一方法,并且这一方法实际上就是与这一公理完美对应的,因此不再赘述. 我们在这里只给出利用数学归纳法证明的一个框架:一般地,证明一个与自然数$n$有关的数学命题,可按如下两个步骤进行:
\begin{enumerate}
\item(归纳奠基)证明当$n=n_0$时命题成立;
\item(归纳递推)假设当$n=k$时命题成立,证明当$n=k+1$时命题也成立.
\end{enumerate}
由此就可以断定命题对于从$n_0$开始的所有自然数$n$都成立.
将上述五条公理合在一起,就得到了所谓\term{皮亚诺公理}\index{piyanuogongli@皮亚诺公理 (Peano axioms)}.
接下来需要解决一个更复杂的问题:我们还没有定义自然数之间的运算,例如加法、乘法以及指数运算等. 事实上,从增长到加法、从加法到乘法以及乘法到指数运算,我们都可以通过类似的方法定义,因此这里我们只严格证明加法的相关性质,而其它的运算的性质及详细证明读者可以自行证明或参考《陶哲轩实分析》.
事实上,我们在正式讨论皮亚诺公理之前就已经简单讨论过加法的思想,例如$5+3$实际上就是5增长3次,即$\suc(\suc(\suc(5)))$. 因此我们可以如下定义加法为:
\begin{definition}{}{}
设$m$是自然数,定义$0+m=m$. 对于任意自然数$n$,定义$\suc(n)+m=\suc(n+m)$.
\end{definition}
于是$0+m=m$,$1+m=\suc(0+m)=\suc(m)$,$2+m=\suc(1+m)=\suc(\suc(m))$,以此类推,我们也可以基于此得到$2+3=\suc(\suc(3))=\suc(4)=5$. 但我们目前不能仅仅依靠这些直觉推导,我们希望证明一些对于任意正整数都成立的运算规律,例如交换律. 要将一个性质推演至无穷的话我们自然会想到数学归纳法,接下来就来尝试使用数学归纳法证明这样定义的自然数满足加法交换律.
\begin{lemma}{}{}
对于任意自然数$n$,有$n+0=n$.
\end{lemma}
\begin{proof}
用归纳法. 由加法定义中$0+n=n$可知$0+0=0$,归纳基础成立. 现假设$n+0=n$,则$\suc(n)+0=\suc(n+0)=\suc(n)$,归纳步骤成立. 由数学归纳原理可知,对于任意自然数$n$,有$n+0=n$.
\end{proof}
\begin{lemma}{}{}
对于任意自然数$n,m$,有$n+\suc(m)=\suc(n+m)$.
\end{lemma}
\begin{proof}
此处归纳法要注意准确选取对谁使用归纳法. 事实上选取$n$进行归纳更为简单,因为在原式中没有出现过独立的$\suc(n)$,所以它可以在一定程度上避免套娃. $n=0$时,$0+\suc(m)=\suc(m)=\suc(0+m)$,归纳基础成立. 现假设$n+\suc(m)=\suc(n+m)$,则$\suc(n)+\suc(m)=\suc(n+\suc(m))=\suc(\suc(n+m))$,$\suc(\suc(n)+m)=\suc(\suc(n+m))=\suc(n)+\suc(m)$,归纳步骤成立. 由数学归纳原理可知,对于任意自然数$n,m$,有$n+\suc(m)=\suc(n+m)$.
\end{proof}
有了前面两个引理的铺垫,我们可以证明自然数的加法交换律:
\begin{theorem}{加法交换律}{}
\index{jiafajiaohuanlv@加法交换律 (commutative law of addition)}
对于任意自然数$n,m$,有$n+m=m+n$.
\end{theorem}
这里的证明仍然基于对$n$作归纳法,具体证明我们放在习题中供读者练习. 事实上我们还可以基于归纳法证明加法结合律、消去律(即由$a+c=b+c$推出$a=b$)等,以及乘法、指数运算(包括加法乘法分配律)等,但这已经超出我们的讨论范畴——我们的希望是基于皮亚诺公理给读者一个公理化构建完备体系的体验,事实上从最开始逐条加入公理排除不合理的情况,到定义加法之后不断证明一些很显然但不易证明的结论,都很好地体现了利用公理化构建完备数学体系的思想. 在讨论的最后我们为自然数引入最后一个结构——序结构,它定义了自然数之间的大小关系,这也是需要公理化的:
\begin{definition}{序结构}{}
设$m,n$是自然数,我们说$n$大于等于$m$,记作$n\geqslant m$,或$m\leqslant n$,如果存在一个自然数$k$使得$n=m+k$. 我们说$n$严格大于$m$,记作$n>m$,或$m<n$,当且仅当$n\geqslant m$且$n\neq m$.
\end{definition}
事实上,基于这一定义以及之前介绍的加法定义和导出的性质,我们可以得到以下定理:
\begin{theorem}{}{}
设$a$和$b$是自然数,那么下面三个命题中恰有一个是真的:
\begin{enumerate}
\item $a=b$;
\item $a<b$;
\item $a>b$.
\end{enumerate}
\end{theorem}
这事实上就表明上面的定义是合理的——因为任意两个自然数之间都可以比较,并且比较的结果是三种之中确定的一种. 定理证明只需对$a$作归纳,具体证明我们放在习题中供读者练习. 事实上,我们引入序结构主要目的是介绍下面的强归纳法原理,或称第二数学归纳法:
\begin{theorem}{强归纳法原理}{强归纳法原理}\index{qiangguinafayuanli@强归纳法原理 (principle of strong induction)}
设$m_0$是一个自然数,$P(m)$是一个依赖于任意自然数$m$的性质. 设$P(m_0)$成立,且对于每个$m > m_0$都有下述蕴含关系:如果$P(m')$对于一切满足$m_0\leqslant m'<m$的自然数$m'$都成立,那么$P(m)$也成立,那么我们可以断定$P(m)$对于所有自然数$m\geqslant m_0$都成立.
\end{theorem}
该定理的证明我们也留作习题,当然我们更多地是直接使用它. 或许上面的描述有些抽象,这里给出第二数学归纳法的框架,对照理解更为直观:
\begin{enumerate}
\item (归纳奠基) 证明当$m=m_0$时命题成立;
\item (归纳递推) 假设当$m_0\leqslant m \leqslant k\enspace(k\in\mathbf{N},\enspace k>m_0)$时命题成立,证明当$m=k+1$时命题也成立.
\end{enumerate}
由此就可以断定命题对于从$m_0$开始的所有自然数$m$都成立,取框架中$k+1=m'$容易看出这与强归纳法原理一致.
我们不难发现第二数学归纳法``更强''——能用第一数学归纳法证明的命题都可以用第二数学归纳法证明,但使用第二数学归纳法可证明的命题使用第一数学归纳法有时却难以下手,因为第二数学归纳法的归纳假设条件更强(不过很多时候使用第一归纳法证明就足够解决问题). 但实际上,数学归纳原理与强归纳法原理是等价的,证明我们留作习题供读者练习.
至此我们结束对皮亚诺公理的讨论——事实上我们已经讨论了非常多,而且显得有些枯燥,因此接下来最后一个例子我们会更轻松一些. 我们希望通过罗素悖论和公理化集合论的例子和故事进一步说明公理化如何助于构建完备公理体系. 事实上,我们可以穿插着谈一些简单的历史. 十九世纪下半叶,德国数学家康托(Georg Cantor)创立了著名的集合论,在集合论刚产生时,曾遭到许多人的猛烈攻击,但不久这一开创性成果就为广大数学家所接受了,并且获得广泛而高度的赞誉. 数学家们发现,从自然数与康托尔集合论出发可建立起整个数学大厦,因而集合论成为现代数学的基石. 这一发现使数学家们为之陶醉,数学界甚至整个科学界笼罩在一片喜悦祥和的气氛之中. 数学家,尤其是弗雷格(Gottlob Frege)等逻辑主义者普遍认为,数学的系统性和严密性已经达到,数学大厦已经基本建成. 然而,1903年,包括英国数学家罗素以及创始人康托在内的几位数学家先后提出了几条悖论,它们使集合论产生了危机,在弗雷格的著作《算数的基本规律》第二卷中,就留下了那个至今仍让人胆寒的段落:
\begin{quote}
\kaishu
在工作完美收官之际,却突然发现整个基础都必须要放弃,对一个科学家来说没有什么能比这个更加不幸的了. 是罗素的一封信件让我认识到这一点,我不得不在本书即将出版之际加以说明.
\end{quote}
罗素的版本非常浅显易懂,而且所涉及的只是集合论中最基本的东西. 所以,罗素悖论一提出就在当时的数学界与逻辑学界内引起了极大震动. 接下来我们便开始介绍这一引发第三次数学危机的悖论. 实际上,在康托的集合论中,有一条所谓的概括公理:
\begin{axiom}{概括公理}{}
设对于每个对象$x$,我们都有一个依赖于$x$的性质$P(x)$(从而对于每个$x$,$P(x)$要么是真命题,要么是假命题),则存在一个集合$A$,使得对于每个对象$x$,$x\in A$当且仅当$P(x)$为真.
\end{axiom}
事实上这一公理看起来非常符合直觉,因为它表明总是存在一个集合,它由满足某一性质的所有对象组成. 但是这一公理却导致了著名的罗素悖论:设$P(x)$是这样的命题
\[P(x)\iff x\text{~是一个集合,且~}x\notin x,\]
也就是说,$P(x)$为真当且仅当$x$是一个集合,且$x$不是自身的元素. 例如,$P(\{2,3,4\})$成立,因为集合$\{2,3,4\}$不是$\{2,3,4\}$的三个元素$2,3,4$中的任何一个.
接下来我们利用概括公理构造集合:
\[\Omega=\{x\mid P(x)\text{~成立~}\}=\{x\mid x\text{~是一个集合,且~}x\notin x\},\]
即$\Omega$是一切不以自己为元素的集合的集合,现在我们有这样一个问题,$\Omega$含有它自己为元素吗?即是否有$\Omega\in\Omega$:
\begin{enumerate}
\item 如果$\Omega\in \Omega$,则由$\Omega$的定义知$\Omega\notin \Omega$,矛盾!
\item 如果$\Omega\notin \Omega$,则由$\Omega$的定义知$\Omega\in \Omega$,矛盾!
\end{enumerate}
事实上这一悖论的构造是很简单的:我们只是构造了一个命题$P(x)$,然后利用概括公理基于这一命题构造出了一个集合$\Omega$,然后就发现$\Omega\in\Omega$这个问题无法回答,得到矛盾. 事实上我们有一个很经典的理发师的故事可以帮助我们理解罗素悖论:在某个城市中有一位理发师,他的广告词是这样写的:``本人的理发技艺十分高超,誉满全城. 我将为本城所有不给自己刮脸的人刮脸,我也只给这些人刮脸. 我对各位表示热诚欢迎!''来找他刮脸的人络绎不绝,自然都是那些不给自己刮脸的人. 可是,有一天,这位理发师从镜子里看见自己的胡子长了,他本能地抓起了剃刀,你们看他能不能给他自己刮脸呢?如果他不给自己刮脸,他就属于``不给自己刮脸的人'',他就要给自己刮脸,而如果他给自己刮脸呢?他又属于``给自己刮脸的人''他就不该给自己刮脸. 理发师悖论是罗素悖论的一种通俗表达:如果把每个人看成一个集合$x$,这个集合的元素被定义成这个人刮脸的对象,即$P(x)$在$x$不属于$x$时成立,即一个人不是自己的刮脸对象,即自己不给自己刮脸时成立. 那么,理发师宣称,他的元素是城里不属于自身的那些集合(即自己不给自己刮脸的人),那么理发师集合实际上就是上面的$\Omega$,那么理发师是否属于他自己这一问题就对应于罗素悖论最后导出矛盾的问题,由此我们可以看出理发师的故事和罗素悖论的对应关系.
事实上我们仔细思考理发师的故事,问题的关键就在于理发师是否考虑他自己,因为他只要不关心他自己是否给自己刮脸,他就不会陷入矛盾,因此罗素悖论的关键点也在于这一``自包含''逻辑的问题. 将来如果是学习计算机专业的同学一定会了解``停机问题'',事实上也是利用这一``自包含''思想构造的矛盾.
于是自然地,数学家们开始思考如何解决这一漏洞. 1908年,策梅罗(Ernst Zermelo)提出第一个公理化集合论体系,这一公理化集合系统很大程度上弥补了康托尔朴素集合论的缺陷,并且在通过弗兰克尔(Abraham Fraenkel)的改进后得到了著名的被称为ZF公理系统(如果有选择公理则称ZFC公理系统). 除ZF系统外,集合论的公理系统还有多种,如冯·诺伊曼(von Neumann)等人提出的NBG系统等. 在该公理系统中通过引入类(class)的概念以及相应的公理也避免了罗素悖论. 事实上,弗雷格本人也做出过一些尝试,关于他的休谟原则的讨论可以参见DMMC中相应的讨论.
总结而言,本小节我们介绍了三个公理化的例子:距离的公理化、皮亚诺公理和公理化集合论. 通过这三个例子我们可以体会到公理化很多都源于``常识'',公理通常与直觉对应,但它的表达力比常识或一些特例更强(例如公理化距离比平面两点距离公式表达力强),并且它有助于构建完备的数学体系. 因此公理化并不是``妖魔化'',虽然它让很多熟悉的概念变得陌生或是复杂,但它们只是数学家为了构建完备的数学体系而做出的努力,而这些努力很多时候仍然是基于正常人的直觉——以至于像康托那样的大数学家也可能会犯错误,即使是一些天才的设计,它们很多时候也是希望达到某个目标而进一步抽象做出的.
事实上公理化有几个重要的评价指标. 其一是一致性,即我们不能从一个公理体系导出矛盾. 其二是是否足够精简,一方面足够精简的公理系统会更加简洁美观,另一方面更多的公理使得互相之间可以推导也是没必要的. 这种观念被一些数学家奉为圭臬,其巅峰就是 Harvey Friedmann 开创的对公理的逆向工程——逆向数学(reverse mathematics),他们力求研究清楚某个结果所需的极小公理系统. 其二是表达力,事实上我们很容易提出这样的问题:为什么距离公理化只有这三条要求?群的定义为什么只有这几条?公理化集合论为什么是这些内容而不是其他,明明集合满足的基本要求我们可以有很多种表达?事实上这与表达力是分不开的. 对于这些东西的详尽讨论亦可见 DMMC. 上面介绍的这些公理化定义都能将我们最熟悉的其它可能导出的常识性性质推导出,因此表达力是足够的,例如皮亚诺公理完全可以体现出整数的特点. 而公理化集合论则更不必纠结,一方面整个数学的大厦都建立在其上,它们首先都在公理化设计中经历了反复检验和调整,然后也经历了上百年的检验和运用(除了选择公理存在一定争议),另一方面我们也不只有一套公理化集合论的方法,事实上它们在很大程度上是等价的(至少在一般的数学分析、线性代数学习中我们不关心它们的区别). 只是我们在学习这些公理的时候是被动的接受者,倘若我们站在设计者的角度思考,我们会发现这些公理的设计是自然而精妙的,是螺旋式上升的过程,并非妖魔化的. 因此相信经过这里的训练后,下一讲开始的线性空间 8 条运算公理不再能让读者产生很大的畏难心理.
\subsection{布尔巴基学派}
我们已经通过一些例子体会了公理化的思想,事实上我们要谈论公理化,不能避开的一个主题就是布尔巴基学派. 尼古拉·布尔巴基(法语:Nicolas Bourbaki)是20世纪一群法国数学家的笔名. 布尔巴基是个虚构的人物,布尔巴基团体的正式称呼是``尼古拉·布尔巴基合作者协会'',在巴黎的高等师范学校设有办公室,他们由1935年开始撰写一系列述说对现代高等数学探研所得的书籍. 以把整个数学建基于集合论为目的,在过程中,布尔巴基致力于做到最极端的严谨和泛化,建立了些新术语和概念.
布尔巴基在集合论的基础上用公理方法重新构造整个现代数学. 布尔巴基认为:数学,至少纯粹数学,是研究抽象结构的理论. 结构,就是以初始概念和公理出发的演绎系统. 有三种基本的抽象结构:代数结构——也就是我们之前一直在强调的集合上定义运算的想法;序结构——见\autoref{def:偏序关系};拓扑结构——见\autoref{def:拓扑空间}. 他们把全部数学看作按不同结构进行演绎的体系.
\begin{definition}{偏序关系}{偏序关系}
设$X$是一个集合,$R$是$X$上的一个二元关系,如果满足以下条件:
\begin{itemize}
\item 自反性:对任意$x\in X$,有$x R x$;
\item 反对称性:对任意$x,y\in X$,如果$x R y$且$y R x$,则$x=y$;
\item 传递性:对任意$x,y,z\in X$,如果$x R y$且$y R z$,则$x R z$.
\end{itemize}
则称$R$是$X$上的一个偏序关系.
\end{definition}
% 加点例子?
\begin{definition}{拓扑空间}{拓扑空间}
设$X$是一个集合,$\mathscr{T}$是$X$的一个子集族,如果$\mathscr{T}$满足
\begin{enumerate}
\item $\varnothing,X\in \mathscr{T}$;
\item 若$U,V\in \mathscr{T}$,则$U\cup V\in \mathscr{T}$;
\item 若$\underset{\alpha\in I}{\{U_\alpha\}}\subset \mathscr{T}$,则$\bigcap\limits_{\alpha\in I}U_\alpha\in \mathscr{T}$,其中$I$是一个指标集合.
\end{enumerate}
则称$(X,\mathscr{T})$是一个拓扑空间. 如果$U$是族$\mathscr{T}$中的元素,则称$U$是一个开集.
\end{definition}
我们无需明白上面的定义在表达什么,但至少它与我们日常科普中见到的``拓扑''一词从直观上看相去甚远,但事实上基于此我们可以得到更为本质的``连续性''概念——开集的原像是开集,这与数学分析中学习的一元函数连续性是一致的,我们也可以得到数学家笑话``拓扑学家分不清咖啡杯和甜甜圈'',得到连通性、紧致性、同伦等概念,这些概念在数学中有着重要的地位. 但是我们在这里不打算深入讨论拓扑学的内容,而是想通过这个例子说明,布尔巴基公理化的思想是如何在数学中发挥作用的.
布尔巴基著有九卷本,超过七千多页的《数学原本》,这是有史以来最大的数学巨著. 彻底追求严格性和一般性的叙述方法被称为``布尔巴基风格''. 最后的第9卷谱理论执笔始于1983年,出版工程至此告终. 只是在20世纪末,增补了交换代数的簇理论. 布尔巴基对严谨性的强调在当时产生了很大的影响. 这与当时昂利·庞加莱(Henry Poincar\'e)所强调的数学要依靠自由想像的数学直观的说法分庭抗礼. 布尔巴基的影响力随时间而减弱,一个原因是布尔巴基的抽象并不显得比发明者原初的想法更为有用,另一个原因是没有包含像范畴论等重要的现代数学理论. 尽管范畴论是由布尔巴基的成员艾伦堡(Samuel Eilenberg)所创立,格罗滕迪克(Alexander Grothendieck)所推广的,但是如果要容纳范畴论,就不得不对已经出版的著作进行根本性的改写.
布尔巴基在数学史上还承担了类似于``大一统''的工作,他们引入的记号有:$\varnothing$,代表空集;黑板粗体字母表示数集(例如:$\mathbf{N}$表示自然数集,$\mathbf{Q}$表示有理数集,$\mathbf{R}$表示实数集,$\mathbf{Z}$表示整数集);还发明了术语``单射''、``满射''和``双射''——你可能无法想象如此基本的数学名词曾经还有多种不统一的叫法. 事实上,现在我们用到的``紧集''(学习数学分析的同学应该知道,现在是用实数完备性中的有限覆盖定理表达的)在布尔巴基学派之前有数十种定义.
我们无法否认布尔巴基学派这一曾经诞生了如此众多顶级数学家的学派,同时,也作为一个曾经实践了这样一个雄心勃勃的数学统一计划的学派对数学本身的贡献. 当然他们曾经在20世纪50--60年代推行的所谓``新数学''运动,把抽象数学,特别是抽象代数的内容引入中学甚至小学的教科书当中. 这种突然的变革不但使学生无法接受新教材,就连教员都无法理解,造成了整个数学教育的混乱. 在高等数学教育方面,就连布尔巴基的奠基者们后来编的教科书也破除了布尔巴基的形式体系而采用比较自然、具体、循序渐进的体系. 所以我想对于一本教材而言,自然、具体、循序渐进是重要的,学习需要螺旋式上升的过程,而不是一蹴而就,这一点相信读者在未来学习中一定能体会到.
\begin{summary}
\end{summary}
\begin{exercise}
\exquote[苏格拉底]{教育不是灌输,而是点燃火焰.}
\begin{exgroup}[2] % start numbering from B
\item 依照皮亚诺公理的定义证明:对于任意自然数$n,m$,有$n+m=m+n$.
\begin{answer}
对$n$进行归纳,当$n=0$时,$0+m=m$,且已经证明$m+0=m$,归纳奠基成立.
现假设$n+m=m+n$成立,从而
\[\operatorname{suc}(n)+m=\operatorname{suc}(n+m)=\operatorname{suc}(m+n)=m+\operatorname{suc}(n).\]
其中第一个等号用到了加法的定义,第二个等号是归纳假设,第三个等号则用到了之前证明过的$n+\operatorname{suc}(m)=\operatorname{suc}(n+m)$,故归纳步骤成立. 由数学归纳原理可知,对于任意自然数$n,m$,有$n+m=m+n$.
\end{answer}
\end{exgroup}
\begin{exgroup}
\item 证明闵可夫斯基不等式,即对于$p \geqslant 1$与任意的$n$元实向量$\vec{x}=(x_1,\ldots,x_n),\vec{y}=(y_1,\ldots,y_n)$有
\[
\sqrt[p]{\sum_{i=1}^n|x_i+y_i|^p} \leqslant \sqrt[p]{\sum_{i=1}^n|x_i|^p} + \sqrt[p]{\sum_{i=1}^n|y_i|^p}.
\]
\begin{answer}
当$p=1$时,由三角不等式知成立. 现假设$p>1$,先介绍赫尔德不等式:对于$p,q>1$且$\dfrac{1}{p}+\dfrac{1}{q}=1$,有\[\sum_{k=1}^n |a_ib_i| \leqslant \left(\sum_{k=1}^n |a_k|^p\right)^{\frac{1}{p}}\left(\sum_{k=1}^n |b_k|^{q}\right)^{\frac{1}{q}}.\]
赫尔德不等式的证明需要用到Young不等式,感兴趣的读者可自行查找资料. 现在我们来证明闵可夫斯基不等式. 由三角不等式知
\[|x_i+y_i|^p = |x_i+y_i||x_i+y_i|^{p-1} \leqslant (|x_i|+|y_i|)|x_i+y_i|^{p-1},\]
设$a_i=|x_i|$,$b_i=|y_i|$,$c_i=|x_i+y_i|^{p-1}$,$q=\dfrac{p}{p-1}$,则$\dfrac{1}{p}+\dfrac{1}{q}=1$,从而由赫尔德不等式知
\begin{align*}
\sum_{i=1}^n |x_i+y_i|^p &\leqslant \sum_{i=1}^n |a_ic_i| + |b_ic_i| \\
&\leqslant \left(\sum_{k=1}^n |a_k|^p\right)^{\frac{1}{p}}\left(\sum_{k=1}^n |c_k|^{q}\right)^{\frac{1}{q}} + \left(\sum_{k=1}^n |b_k|^{p}\right)^{\frac{1}{p}}\left(\sum_{k=1}^n |c_k|^{q}\right)^{\frac{1}{q}} \\
&= \left(\sqrt[p]{\sum_{i=1}^n|x_i|^p} + \sqrt[p]{\sum_{i=1}^n|y_i|^p}\right) \left(\sum_{k=1}^n |x_k+y_k|^{(p-1)\times\frac{p}{p-1}}\right)^{\frac{p-1}{p}} \\
&= \left(\sqrt[p]{\sum_{i=1}^n|x_i|^p} + \sqrt[p]{\sum_{i=1}^n|y_i|^p}\right)\left(\sum_{k=1}^n |x_k+y_k|^p\right)^{\frac{p-1}{p}}.
\end{align*}
整理即有
\[
\sqrt[p]{\sum_{i=1}^n|x_i+y_i|^p} \leqslant \sqrt[p]{\sum_{i=1}^n|x_i|^p} + \sqrt[p]{\sum_{i=1}^n|y_i|^p}.
\]
得证.
\end{answer}
\item 利用皮亚诺公理,证明如下命题:设$a$和$b$是自然数,那么下面三个命题中恰有一个是真的:
\begin{enumerate}
\item $a=b$;
\item $a<b$;
\item $a>b$.
\end{enumerate}
\begin{answer}
对$a$进行归纳,当$a=0$时,$b=0$时成立第一个命题,$b\neq 0$时成立第二个命题,归纳奠基成立.
现假设当$a=k$时结论成立,现考虑$a=\operatorname{suc}(k)$的情况. 若$b=0$,则成立第三个命题;否则可设$b=\operatorname{suc}(b_1)$,则由归纳假设知下面三个命题中恰有一个是真的:
\begin{enumerate}
\item $k=b_1$;
\item $k<b_1$;
\item $k>b_1$.
\end{enumerate}
若$k=b_1$,则$\operatorname{suc}(k)=\operatorname{suc}(b_1)$,即$a=b$;
若$k<b_1$,设$b_1=k+m$,$m$是正整数,则$\operatorname{suc}(b_1)=\operatorname{suc}(k+m)=\operatorname{suc}(k)+m$,即$b=a+m$,$m$是正整数,则$a<b$;同理,若$k>b_1$,则$a>b$.
从而 $a=b$,$a<b$,$a>b$ 三个命题中恰有一个是真的,故归纳步骤成立. 由数学归纳法得证.
\end{answer}
\item 利用皮亚诺公理,证明\nameref{thm:强归纳法原理}.
\begin{answer}
设$P(m)$是一个依赖于任意自然数$m$的性质. $P(m_0)$成立,且对于每个$m > m_0$都有下述蕴含关系:如果$P(m')$对于一切满足$m_0\leqslant m'<m$的自然数$m'$都成立,那么$P(m)$也成立. 特别的,对于每个$m \geqslant m_0$,若$P(m')$对于$m'=m-1<m$成立,那么$P(m)$成立. 根据数学归纳原理,可知$P(m)$对于所有自然数$m\geqslant m_0$都成立. 从而强归纳法原理成立.
\end{answer}
\item 利用\nameref{thm:强归纳法原理}反推\nameref{axm:数学归纳原理}.
\begin{answer}
设$P(n)$是一个依赖于任意自然数$n$的性质. 设$P(n_0)$成立,且对于每个$n \geqslant n_0$都有下述蕴含关系:如果$P(n)$成立,那么$P(n+1)$也成立. 从而对于每个$n > n_0$,$P(n_0)$成立,$P(n_0+1)$成立,$\ldots$,$P(n-1)$成立,$P(n)$成立. 也就是说,$P(n')$对于一切满足$n_0\leqslant n'<n$的自然数$n'$都成立,且$P(n)$也成立. 根据强归纳法原理,可知$P(n)$对于所有自然数$n\geqslant n_0$都成立. 从而数学归纳原理成立.
\end{answer}
\end{exgroup}
\end{exercise}