反对排中律的是构造主义。它认为唯一的能证明某个对象存在的方法就是构造它。构造主义始于19世纪末。当时Hilbert等人给出了一些利用反证法证明存在性的证明,遭到强烈反对。当时研究不变量理论的数学家Paul Gordan说Hilbert等人给出的非构造性证明“是神学而不是数学”。当把排中律用到非构造性证明的程度时,它看起来确实有些奇怪。
我们这里先来看一个比较简单但是已经有些奇怪的非构造性证明:
命题:存在无理数 使得 是有理数。
证明:容易证明 是无理数。根据排中律, 或者是有理数,或者是无理数。如果 是有理数,那么取 ;否则,由于 是有理数,取 .
可以看到,在上面的证明中事实上并没有给出 的具体构造,只是证明了这样的一对无理数存在。当然这个证明还没有奇怪到不可接受的程度,因为上面的的命题还是有构造性证明的方法的,事实上 是无理数,所以后一种情况成立。但是 是无理数的证明并不简单。我本人第一次见到这个证明是在高中的时候,貌似是某个学校的一个综合评价的试题;这是当时的我见过的最奇怪的事情,就像鬼魅一样。当然其实在看到反证法证明抽屉原理(或者叫Dirichlet鸽巢原理)的时候就已经觉得有些奇怪了,只是抽屉原理处理的是有限的事情,所以显得不是那么奇怪。
当然Hilbert等人当时用排中律作出的非构造性证明远远比这个奇怪,比如说一系列用Noether升链条件给出的关于一些环论的证明。这里面最著名的就是Hilbert基定理:
命题:如果 是交换的Noether环,那么 也是Noether环。
(非交换情形也有类似结论)
证明非常经典,就不在这里打了,任何一本交换代数的书上都会有。
在我看来Hilbert零点定理和上面的命题的证明有一点是相似的,那就是排中律似乎在这里起到了“作弊”一般的作用,让证明变得“太容易”了。它确实会引起一些“反直觉”的事情。
构造主义和经典逻辑的分歧就是排中律,或者说利用反证法来证明对象存在的能力。而在今天,大多数数学家都认为Hilbert式的使用排中律的证明是有效的。反证法毕竟是一种非常强大的论证方法,尽管有许多人仍然认为反证法的能力过于强大。自十九世纪末至今产生的数学中已经有很多是在本质上不是构造性的。现在除了在数学基础方面工作的学者以外,几乎所有数学家都已经接受了非构造性的证明。