一般意义上推理分为演绎推理和归纳推理。对于归纳推理,一般人的印象大概是这样的:
A
燕子的颜色
燕子甲是黑色的。
燕子乙是黑色的。
燕子丙是黑色的。
……
综上,燕子是黑色的。
显然这种推理并不完备,因此证明力相比严格遵循一阶逻辑的演绎推理要差一些。但是所有的归纳推理中,有这么一种显得格格不入,那便是数学归纳法。为了仔细拆解推理过程,随便举个例子:
B
整数的质分解
a. 2可以表达为1个质数的积。
b. 假设[2, n]之间的所有整数均可以表达为1个或多个质数的积,则对于n+1:
c. n+1或者是质数(1个质数的积),或者表达为n+1 = p * q,其中p和q是[2, n]之间的整数。
d. 对于后一种情况,由b,p和q均能表示为质数的积,则n+1也能表达为质数的积。
e. 由a b d,所有2以上的整数都可以分解为若干个质数的积。
归纳是从部分推向整体的过程,因此一般归纳需要穷举整体中所有的部分才能完备。与此相反,上述的数学归纳过程仅仅列举了有限个部分(此处仅有一个)就实现了整体结论的完备。当然在这有限个部分结论之外,数学归纳法成立至少还有两个条件:
1. 整体中的所有部分按照一定次序排列,使得上面的有限个部分在该序列的开始。(例如案例中,所有2以上的整数可以按照递增方式排列)
2. 额外附加一个前提,使得上述序列中,从已经给出的有限个部分结论的下一个部分开始,某个部分以前的所有部分结论之总和能够推出该部分结论。
(假设“n<k的所有正整数……成立”当然也包括更弱的假设“n=k-1时……成立”)
在现实推理中构建一个符合上述模式的推理:
C
小麦亩产一千八
a. 将所有施用掺杂金坷垃肥料的试验田按照产量递增排序。
b. 第一片试验田的年产量为每亩1984斤。
c. 假设第k片试验田的产量高于每亩1800斤,则根据上述排序,第k+1片试验田产量也高于每亩1800斤。
d. 因此,肥料掺了金坷垃,小麦亩产一千八。
显然构建上述推理的过程并不困难,但是有一个问题:虽然在推理过程仅举一例,但排序过程仍然不可避免地运用了穷举法。换言之,如果不能使用穷举法,则只能要求无需手动排序即可找到证明归纳结论所需的前k个部分,这里称之为“天然排序”。
两种直观的天然排序分别是空间和时间:
D
行星公转周期
a. 将太阳系所有可能存在的行星按照轨道半径递增排序。
b. 太阳系离太阳最近的行星是水星,公转周期为88天,大于80天。
c. 由于公转周期和轨道半径成正相关,第k+1颗行星的公转周期大于第k颗行星的公转周期,相应大于80天。
d. 因此,太阳系所有行星的公转周期大于80天。
对比论证D和论证C,最大的区别是论证C的排序需要穷举所有试验田的产量才能知道产量最少的田,而论证D中,“距离最近”的另一种表述是“水星和太阳之间没有轨道更短的行星”,因此就无需考虑任何其他行星,仅需抽象地排序即可。据此可以进一步明确天然排序的概念:
天然排序要求:
1. 排序根据事物的内在属性或者和其他事物的关系。
2. 无需确知序列中的每个元素,但是对于任意一个给定的元素能够确保找出下一个元素。
3. 能够明确指出上述序列的起点。
相应地,时间也是一种天然排序:
E
苏格拉底之死新说
40万年前(大约为H. sapiens物种的起源)出生的所有人都已经死了。
以当时出生的人为第1代,已知当时的人和非人类物种杂交不能产生后代,可以推知所有人都是一个人和另一个人生下的。
假设:第1至第k代的所有人都会死。
由于第k+1代的每个人都是第1至k代的两个人生产的,又
由于两个会死的个体生下来的个体也会死,
可知第k+1代人也会死。
因此,所有人都会死。
又,苏格拉底是人。
因此,苏格拉底会死。
从这个论证中似乎可以看到解决“苏格拉底会死”论证中可能出现的丐题谬误的方法——至少上述论证是完备的。然而,注意到划线的前提——
两个会死的个体生下来的个体也会死。
是否可以认为这个前提本身也是一种丐题谬误,即其预设了目前已经由两个已经确证会死的个体生下来的人也会死(但是这些个体还没有确证会死)?即使这么认为,上述论证思路也相比简单地说“所有人都会死”有两大进步:它缩小了预设结论的范围,从预设当今存活的所有人会死减少到部分仍存活的人会死;同时上述前提本身具有直观的合理性,更容易用完备的演绎方法论证。
更重要的是,即使这个前提仍然是丐题,其也是一个可以通过同样手段继续“数学归纳”的论断。一般地,这种论证思路展开了一种对于归纳推理的想象空间,使得经过若干次“数学归纳”转换后,待证明的命题预设为真的部分被逐渐缩小,以至具有演绎的完备性或者足以穷举。虽然这种方法的适用范围仍然相当有限(仅限存在“天然排序”的各种实体集合),创造出一种不依赖穷举、现实适用的完备的归纳推理方法仍然是非常值得探索的。