加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

一阶逻辑与二阶逻辑的区别【整理】

(2018-02-07 15:50:49)
标签:

逻辑学

命题逻辑

谓词逻辑

逻辑推理

人工智能

分类: 人工智能与机器人
作者:ZS Chen
链接:https://www.zhihu.com/question/22915503/answer/151477106
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

一阶二阶这类的词, 一是表达量化的程度, 二是表达逻辑系统多有表达能力.
我们一步步来, 首先是命题逻辑(很少部分人叫它作零阶逻辑). 在命题逻辑里, 每一个字母就代表一个命题, 所以命题逻辑只能表达句子之间的关系, 比如“p&q”, “if p then q”等等的真值如何从p和q的真值中计算出来.
一阶逻辑则引入了两个量词, 即universal quantifier(倒A)和existential quantifier(倒E), 并且加入了一阶谓词和individual variables和individual constants. 这些导致一阶逻辑可以量化individuals in the domain. 比如经典的三段论就可以被一阶逻辑表达:
For all x, Hx->Mx
Hs
----
Ms
其中for all x就是量化了所有individuals, 即domain里的任意一对象, 用individual variable x来表示. Hx则是表示x属于H(Human)这个谓词的extension, Mx表示x属于M(Mortal)的extension. s则是individual constant, 代表苏格拉底. 然后通过Universal Instantiation和Modus Ponens推出结论Ms(Socrates is mortal). 这里要提到一个集合论的逻辑基础, 如果逻辑学的基础是集合论的话, 那么individuals就是最小的个体对象, 一阶谓词则是包含个体的集. 那么For all x, Hx->Mx则可以“翻译”成: 对于任意个体x, 如果x属于H这个集, 那么x就属于M这个集.
但注意, 我们的量词在这里只能表达“对于任意一个individual x”, 然而这个量词的表达能力是有限的. 比如说Leibniz Law: “对于任意individual x和y, 如果x和y相等, 那么对于任意性质P, Px当且仅当Py. ” 这段话里面的“对于任意性质”, 用一阶逻辑是表达不出来的. 因为一阶逻辑只能量化个体, 而性质却是包含个体的集, 所以我们要引入二阶variable, 才能量化性质, 从而表达“对于任意包含个体的集合”. 这句话用二阶逻辑写出来会是这样:
∀x,y (x=y → ∀P (Px<->Py))

注意看第二个量词, 量化的不是个体x或y, 而是性质P. 这个量化就叫做二阶量化.

集合论上来说, 一阶量化个体, 二阶量化包含个体的集合, 三阶量化包含包含个体的集合的集合, 等等等等如此类推
参考:https://www.zhihu.com/question/22915503

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有