avatar🌌
思渡鸢思渡鸢的云栈

清梦溢栈-Dream_eve

韶华不再,吾辈须当惜阴;日月其除,志士正宜待旦

读《证明数学归纳法与反证法本身》有感

读《证明数学归纳法与反证法本身》有感

转载自 子虚栈

今天偶然读到子虚栈老师的一篇旧文,讲的是数学归纳法和反证法本身的证明问题。读完之后,有种豁然开朗的感觉,想写点东西记录一下。

我们真的理解这些方法吗

数学归纳法和反证法,这两个东西从初中就开始用了。数列求和用它,不等式证明用它,各种数学问题的证明都离不开它。

但说实话,用了这么多年,我从来没有想过一个问题:这两个方法本身为什么成立?

为什么假设 n 成立,就能推出 n+1 成立,然后就能说对所有自然数都成立?这不会太武断了吗?

为什么证明一个命题,要先假设它是错的,然后推出矛盾,就能说它是对的?这逻辑上说得通吗?

这些问题,可能很多人和我一样,从来没有想过。我们只是把它当作工具,用就完了。

但作者不一样,他真的要追问下去,追问到最底层的公理。

数学归纳法的根基

原来,数学归纳法不是凭空而来的,它是皮亚诺公理的第五条。

皮亚诺公理是什么?是自然数的定义。换句话说,数学归纳法之所以成立,是因为自然数本身就是这么定义的。

作者用集合论来解释,说自然数集是所有归纳集的交集,是最小归纳集。它只有以 0 为起点这一条链。所以,只要能证明 P(0) 成立,并且 P(n) 成立能推出 P(n+1) 成立,那么 P 对所有自然数都成立。

这个解释,让我第一次真正理解了数学归纳法。

以前用的时候,总觉得有点玄乎。现在明白了,它不是玄乎,而是建立在坚实的公理基础之上。

反证法的逻辑基础

反证法的依据,是矛盾律和排中律。

矛盾律说,两个互相矛盾的命题不能同时为真。排中律说,两个互相矛盾的命题必有一个是真的。

这两个定律,看起来简单,但却是整个逻辑推理的基础。

作者举了个例子,要证明"若人活着,则不需要吃饭",先假设它的否定命题"若人活着,则需要吃饭",然后推出这个否定命题是成立的,所以原命题不成立。

这个例子很生动,让我一下子明白了反证法的逻辑。

为什么我们要追问

读这篇文章,我最大的感触是:我们太习惯于接受现成的东西了。

老师教我们数学归纳法,我们就用它。老师教我们反证法,我们也用它。但很少有人会问:这些东西本身为什么成立?

这种追问的精神,可能才是学习的本质。

不是被动地接受知识,而是主动地探索知识的根基。不是满足于"怎么用",而是追问"为什么能用"。

这种精神,不仅适用于数学,也适用于其他领域。

技术学习中的追问

我想到了自己学编程的经历。

学一个框架,老师说要这么写,我就这么写。学一个算法,书上说要这么做,我就这么做。但很少会问:为什么这么写?为什么这么做?

结果就是,只会用,不会改。一旦遇到问题,就束手无策。

或许,我也应该多一点追问的精神。

追问这个算法为什么有效,追问这个框架为什么这么设计,追问这些技术背后的原理是什么。

只有这样,才能真正掌握一门技术,而不是只会用它。

最后

这篇文章让我看到了追问的力量。

追问到最底层的公理,追问到最本质的原理,才能真正理解一个东西。

这种理解,不是表面的理解,而是深入骨髓的理解。

有了这种理解,才能灵活运用,才能举一反三,才能创新。

感谢子虚栈老师的这篇文章,让我看到了学习的另一种可能。

不是浮于表面,而是深入本质。

不是被动接受,而是主动探索。

这或许才是学习的真谛。


原文证明数学归纳法与反证法本身
作者:秉
转载自子虚栈

读《命令行与猴头控制艺术》有感
关于我的个人博客网站