怎样证明对所有的数 $a$ 和 $b$ 都有 $(a+b)^2=a^2+2ab+b^2$?不是靠代值试验:再多的例子也覆盖不了所有的数。证明的方法是写一条链:

$$\begin{aligned} (a+b)^2&=(a+b)(a+b)\\ &=a(a+b)+b(a+b)\\ &=a^2+ab+ba+b^2\\ &=a^2+2ab+b^2. \end{aligned}$$

每个等号连接两个相邻的式子,每一环都由一条已知的规则保证:平方的定义、分配律、再一次分配律、乘法交换律。根据第1篇介绍的欧几里得的那条定律——传递性——第一环等于最后一环。证明就是这条链。

带标签的链

在通常的写法中,理由都留在写的人脑子里,读者得去猜每个等号为什么成立。二十世纪八十年代,荷兰计算机科学家艾兹格·迪杰斯特拉和他的同事威姆·费延提出了一种格式:每一环都在花括号里带上自己的标签:

$$\begin{aligned} &(a+b)^2\\ =\;&\{\text{平方的定义}\}\\ &(a+b)(a+b)\\ =\;&\{\text{分配律}\}\\ &a(a+b)+b(a+b)\\ =\;&\{\text{分配律}\}\\ &a^2+ab+ba+b^2\\ =\;&\{\text{交换律:}ba=ab\}\\ &a^2+2ab+b^2 \end{aligned}$$

这种格式占的地方更多,说的也更多。式子行和理由行交替出现,等号放在左边缘,一目了然,正如它实际所是的链环。迪杰斯特拉把这种风格叫作演算式证明:证明就是计算,而计算就是在规则可见的情况下用相等的替换相等的。

从哪一边开始

证明恒等式的一条实用规则:从更复杂的一边开始。化简比猜出如何变复杂要容易。要证明

$$\frac1k-\frac1{k+1}=\frac1{k(k+1)},$$

就从左边开始,那里有两个分数,正等着被合并:

$$\begin{aligned} \frac1k-\frac1{k+1}&=\frac{k+1}{k(k+1)}-\frac{k}{k(k+1)}\\ &=\frac{(k+1)-k}{k(k+1)}=\frac1{k(k+1)}. \end{aligned}$$

从右边开始,就得事先知道 $1=(k+1)-k$ 是个好主意。从左边出发的证明在途中发现了这一点。

从结尾出发的错误

有一种出错的方式看起来像证明。一个学生想说明 $-1=1$,写道:

$$-1=1\quad\Longrightarrow\quad(-1)^2=1^2\quad\Longrightarrow\quad1=1.$$

“我得到了一个正确的东西,所以第一行是对的。”不对。一串从错误命题出发的 $\Rightarrow$ 完全可以到达一个正确的命题;这就是上一篇所说的会多出解的步骤。从要证明的结论出发、最后得到 $1=1$ 或 $0=0$,只有当每一步都是 $\Leftrightarrow$ 时才证明了什么;而那样的话,最好还是按正确的顺序写这条链,从已知走向未知。

练习:带标签的链

用迪杰斯特拉的格式证明 $(a-b)(a+b)=a^2-b^2$。

$$\begin{aligned} &(a-b)(a+b)\\ =\;&\{\text{分配律}\}\\ &a(a+b)-b(a+b)\\ =\;&\{\text{分配律}\}\\ &a^2+ab-ba-b^2\\ =\;&\{\text{交换律:}ba=ab\text{,且 }ab-ab=0\}\\ &a^2-b^2 \end{aligned}$$
练习:错在哪里?(4 = 5)
$$\begin{aligned} -20&=-20\\ 16-36&=25-45\\ 16-36+\tfrac{81}4&=25-45+\tfrac{81}4\\ \left(4-\tfrac92\right)^2&=\left(5-\tfrac92\right)^2\\ 4-\tfrac92&=5-\tfrac92\\ 4&=5 \end{aligned}$$

前四行都对:第四行两边都等于 $\frac14$。错误在于开平方。由 $x^2=y^2$ 可得 $x=y$ 或 $x=-y$,而这里 $4-\frac92=-\frac12$,$5-\frac92=\frac12$:成立的是第二种情形,不是第一种。这正是平方那一步,倒过来读。


本章目录 · ← ⇒ 与 ⇔:变形方程时得到什么、失去什么 · 证明里的词:设、假设、所以、∎ →