主题:【原创】数理逻辑发展的简单脉络(1) -- 泰让
在希腊黄金时代之后的2000年里,数学和逻辑学都在发展着,但却并没有机会再次碰撞。直到17世纪的莱布尼茨,二者才又有了互相影响的机会。
莱布尼茨
纵观数理逻辑领域内的大师们,很多是在多方面有开拓性贡献的全才,希腊时候的亚里士多德如此,后来的罗素如此,莱布尼茨也是这类的学者。他在数学上最知名的可以说是同牛顿各自独立地发明了微积分,比如我们现在微分时候使用的符号dx,就是他最先使用。但莱布尼茨的学术目标,其实比微积分更为宏大,他希望找到一套方法,可以让学者们学术交流时精确表达命题,不带歧义。甚至更甚一步,可以将逻辑演绎这件事情,完完全全地用类似算数运算的方法进行下去。莱氏的这个目标,是建立在他对人类理性思维本身可以形式化这一观点上的。因为在他眼中的宇宙各物体,都是由多种性质构成的,如果我们穷举了一物体的各个属性,我们也就描述了这个物体。如果我们可以把这些“性质”映射到数上,我们就有可能将数学作为描述世界的语言,从而演绎推理也就成了计算。
从这种意义上说,莱布尼茨是计算机理论的先驱。他甚至制作了一些可以进行自动运算的机械设备。但是,这种思维毕竟领先时代太多了,他的这方面工作并未立即引起重视,在他之后又150多年,布尔和德·摩根沿着此方向,提出了布尔代数。
德·摩根(De Morgan)
德摩根继承并发展了三段论逻辑。他的一个重要贡献是提出了连接词,也就是与、或、非。有了连接词,就可以用几个更基本的命题来表达复杂命题。这样很大程度地提高了逻辑命题的描述能力。比如,如果我们用p来代表“今天刮风”,用q来代表“今天下雨”,再用r代表“今天上课”,那么,“如果今天刮风或者下雨那么就不上课”这个命题就可以表示为
(p or q)-->(not r)
其中箭头也是一个链接词,表示如果。。。则。。。或者称为蕴含词
德·摩根更知名的是所谓德摩根律,表达成式子是这样的:
not ( p or q )=(not p) and (not q)
仍用刚刚的例子,等号左边表示的是“今天没有刮风或者下雨”,右边表示“今天没有刮风并且今天没有下雨”,两者是等价的。
乔治·布尔
布尔和德摩根是同时代的数学家,二人对数学逻辑问题应该有过讨论。布尔对逻辑的形式化更加推进了一步:如果把命题看作变量,把连接词看作运算的话,逻辑就可以转化成代数。这是一种特殊的代数:变量的值只能取{0,1},如果我们把与,或,非用数学符号*,+,-来表示的话,这个代数有特殊规则:
0+0=0,0+1=1,1+0=1,1+1=1
0*0=0,0*1=0,1*0=0,1*1=1
a+a=a, a*a=a
a+(-a)=1, a*(-a)=0
其他代数规则,比如交换律,结合律也成立。
(注意这里-是一元运算,并且也不是+的逆运算)
从近世抽象代数来说,这是个定义在集合{0,1}上的一个环(Ring)。
布尔发现,如果我们把0看作空集,1看作全集,a表示全集的某子集,而+,×,-分别表示集合的并,交和取补集运算的话,同样的规律也适合集合运算。不过当时集合论尚未成熟,但这预示着集合将成为数理逻辑的研究对象。
曾经有一个说法:当一门学科发展到可以运用数学作为工具的时候,就标志着这门学科变成了科学。布尔和德摩根成功地将数学引入逻辑研究中,他们也被认为是数理逻辑学科的开创者。特别是布尔代数的建立,为后世的开关电路提供了理论基础:无论多么复杂的计算机操作,最终都是分解成了由“门电路”完成的0与1的逻辑运算。为了纪念布尔,计算机编程语言中,取“真”或者“假”两种值的逻辑变量,以及逻辑表达式被命名为布尔变量和布尔表达式。
- 相关回复 上下关系8
🙂【原创】数理逻辑发展的简单脉络(1) 58 泰让 字2778 2008-01-01 12:04:35
🙂摘录一些名词作为补充 1 earthcolor 字421 2008-01-18 07:31:24
🙂-- 系统屏蔽 --。
🙂【原创】数理逻辑发展的简单脉络(2)
🙂【原创】数理逻辑发展的简单脉络(3) 15 泰让 字3162 2008-01-09 17:11:35
🙂花! 1 随心飞 字0 2008-01-19 13:14:40
🙂敬仰一下 1 爱莲 字8 2008-01-19 10:54:16
🙂怪不得,人工智能杂志上有不少意大利人的文章 1 njpower 字62 2008-01-19 06:12:42