本文修改于2025年5月31日,删去了一些废话,增加了一些暴论。
再修改于2025年12月25日,删去了一些暴论,使其更为模糊,并且修改了预告的主题。
再修改于2025年12月31日,修改了标题,删去了引子和预告。
为什么大家都能接受已发表论文里的证明是正确的呢?
正如小平邦彦曾说过的(大意):一个著名结论的证明是正确的这一事实是不言自明的。我们相信前人的判断,也相信领域内专家的判断。
然而,这两者都是不靠谱的。有非常多人们犯错的例子,最广为人知的就是所谓“数学危机”的爆发了。即使摒除了错的特别离谱的情况(例如结论完全错误),单就证明本身是否成立也仍值得怀疑。Typo导致的阅读障碍算是最轻的。糟糕一点的是表述不清,上下标混乱,导致一个结论有多种理解,使人误读。这些问题无法影响文章作为整体的正确性,但是会极大地妨碍读者对这篇文章的理解。最让人头疼的还是证明本身过不去。有些可能是要排除一些领域内熟知的已经被解决的例外情况;有些就更为糟糕:压根不对,后面有人补齐了证明或是说其实就是open problem,但是文章里就没讲,光看这篇文章谁也不知道。
因此,读文章的时候保持一颗check它正误的心,我觉得是非常有必要的。至少对自己领域内的文章应如此。最好的情况肯定是能完全搞清楚细节,但是“意识到原论文的证明正确”显然应当在此之前————而很多时候我们只需要这个结论。换言之,我们通常需要更简便的手段来理解文章本身。
一个快速且有效的方案是,先把文章包装成一个黑箱,然后用这个黑箱去算几个具体的例子看看结果是否符合自己的预期,尤其是那些已知的特殊情况。更具体地,先不纠结于why it works,而是搞明白how it works,也即搞明白使用这个工具需要的条件和输出的结论。然后检查一些已知的反例,观察它们是否不满足所需的条件;同时考虑一些便于计算的特殊情形,看它们是否回归到一些熟悉的结果。综合两方面的观察就容易排除掉对文章本身理解出错的问题,也能对原本陌生的定理证明产生一些直觉。这也可以用来初步判断猜想的正确性,能快速排除一些显然不对的猜想,也能帮忙找一些证明的头绪。
上述的初步方案虽然有效,但只能说明文章的结论可能正确,不能说明文章本身的证明正确。因此我们还需要更仔细的验证。在这一步,我通常会先假定文章的大体框架可行,然后找到文章中最明显的那些对象以及作者声称它们相互之间应有的关系。接着先看看逻辑上对不对,即假定这些关系都成立,是不是问题就被解决了,再直接试着自己将这些关系全部证出来,证不下去再去看文章中的细节。以我个人的理解,“框架”就是以对象为点,关系为线的有向图,文章的细节是要说明这些线确实存在。而读论文的过程就是自己用所学的知识作为“工具”把线画出来,你不知道怎么就画出来的所有线就需要所谓的“核心的新工具”。只要直觉上整个图上的线都能画出来,那就可以相信结论的正确性,至于到底怎么画出来似乎也就不那么重要了。由此可以看出,框架中不同的线的重要性是不同的,关键是大家都不知道该怎么画的线,这往往才是需要检查细节的部分。而其余的是大家都知道该怎么画的,你哪怕画的过程错了其实也无关紧要。换言之,当文章读到“剩下的部分感觉我自己都能做出来”的时候,大抵就明白这文章是对的了。