反证法是一种思考方式。它从反面入手。我们要证明一个结论是真的。我们先假设这个结论是假的。从这个假设出发,我们进行推理。如果推理出一个不可能的结果,或者与已知事实矛盾的结果,那么最初的假设就是错的。最初的假设是“结论为假”。这个假设错了,就说明结论只能是真的。这就完成了证明。
人们很早就在使用这种方法。古希腊人用得很多。欧几里得写《几何原本》用了它。他证明质数有无穷多个。他先假设质数只有有限个。他把所有这些质数乘起来再加一。得到一个新数。这个新数不能被原先任何一个质数整除。这有两种可能。要么这个新数本身是质数,要么它能被别的质数整除。这个别的质数不在原先的名单里。这都说明原先的名单不全。假设“质数只有有限个”导致了矛盾。所以假设不成立。所以质数一定有无限个。这个证明很漂亮。它不需要找出所有质数。它从逻辑上就说明了问题。
反证法在生活中也能用到。比如你发现钥匙不见了。你记得早上带出门了。你假设钥匙丢在外面了。但你检查了所有去过的地方。都没有。这个假设和事实矛盾。所以钥匙不太可能丢在外面。你应该回家再仔细找。果然在沙发缝里找到了。这就是反证法的思路。你先假设一个情况。然后发现这个情况说不通。你就否定它。去找其他可能。
数学里反证法特别重要。有些命题直接证明很困难。从反面假设却可以推出明显错误。比如证明根号2不是有理数。有理数是可以写成两个整数比的数。我们假设根号2是有理数。那么它可以写成最简分数p/q。p和q没有公因数。两边平方得到2等于p的平方除以q的平方。所以p的平方等于2乘以q的平方。这说明p的平方是偶数。那么p本身也是偶数。设p等于2k。代入式子。得到4乘以k的平方等于2乘以q的平方。化简得2乘以k的平方等于q的平方。这说明q的平方也是偶数。那么q也是偶数。现在p和q都是偶数。这和“p/q是最简分数”矛盾。矛盾产生了。所以最初的假设错了。根号2不能写成有理数。它是无理数。这个证明清晰有力。
逻辑结构很明确。要证明命题A。我们假设非A成立。通过正确的推理规则。我们导出一个结论B。已知B是假的。或者B与已知真命题冲突。那么推理过程没问题。问题出在出发点上。所以非A不能成立。因此A必须成立。这个链条环环相扣。关键是找到矛盾。矛盾是证明的终点。
反证法需要谨慎。假设必须和原命题相反。推理的每一步都要正确。不能引入新的错误。矛盾的依据必须牢固。必须是公认的事实或公理。有时候矛盾不明显。需要仔细推导。有时候会推出两个互相矛盾的结论。这也行。比如推出一个东西同时既大又小。这也说明假设有问题。
它在各个领域都有用。计算机科学用它证明算法正确性。哲学用它进行思辨。比如证明“上帝不是万能的”。假设上帝是万能的。那么他能造出一块自己举不动的石头吗?如果能造出来,但他举不动,说明他不是万能的。如果造不出来,也说明他不是万能的。两种可能都导致矛盾。所以“上帝是万能的”这个假设不成立。这是一个著名的逻辑问题。
反证法教会我们换角度想问题。正面走不通,就走反面。它培养逻辑思维能力。它让我们看到。有些东西看起来对,但一推就倒。有些东西看起来很难证明,但从反面一击即中。它体现了逻辑的力量。逻辑比直观更可靠。直觉可能欺骗我们。逻辑推理不会。
使用反证法也有局限。它只能证明命题是真还是假。它不能告诉我们为什么真。它不能提供具体的例子或构造。比如证明质数无限。它没告诉我们第n个质数是多少。它只告诉我们质数找不完。有时我们想要更多的信息。反证法给不了。这时就需要直接证明。
有些人不喜欢反证法。觉得它不直观。好像绕了一个弯。它确实施加了逻辑压力。它迫使假设崩溃。这种美是内在的。是思维的美。它不依赖具体计算。它依赖纯粹的逻辑关系。这是人类理性的骄傲。
学习反证法有好处。它让我们说话办事更讲逻辑。它让我们避免轻易下结论。我们学会先假设一个观点。然后看看这个观点会导致什么。如果导致坏结果。我们就放弃这个观点。这是一种基本的决策方法。
数学课上经常教反证法。学生开始可能不习惯。他们喜欢直接计算。直接推导。反证法需要转弯。需要理解逻辑的必然性。一旦理解了。就会欣赏它的简洁。它像一把快刀。砍断乱麻。它不纠缠细节。它从高处俯瞰。找到逻辑的死结。
反证法和直接证明是伙伴。它们都是证明的工具。数学家工具箱里的宝贝。有的问题用直接证明。有的问题用反证法。聪明的人会选择合适的方法。有时两者结合。一部分直接证。一部分用反证。目标是相同的。就是确立真理。
理解反证法有助于理解数学本身。数学建立在公理上。公理是不证自明的基础。从公理出发。用逻辑规则推导。得到定理。反证法是重要的推导规则。它保证了。如果公理系统一致。那么推导出的定理就可靠。它维护了数学的严谨性。没有严谨。数学大厦就会倒塌。
我们看待世界也可以这样。先提出一个猜想。然后检验它。如果从这个猜想推出的结论与现实不符。我们就推翻这个猜想。科学就是这样进步的。反证法是一种基本的科学思维。它不仅仅是数学的。它是人类的。