一阶逻辑与二阶逻辑的区别一元谓词多元谓词
https://blog.csdn.net/lengye7/article/details/89709244
命題邏輯 零階邏輯 表達句子與句子間的關系
一階對個體的(量詞)修飾 對于所有的個體 三段論
“對于任意individual x和y, 如果x和y相等, 那么對于任意性質P, Px當且僅當Py. ” 這段話里面的“對于任意性質”
?x,y (x=y → ?P (Px<->Py))
二階 對屬性的(量詞)修飾 對于任意屬性
一階二階這類的詞, 一是表達量化的程度, 二是表達邏輯系統多有表達能力.
我們一步步來, 首先是命題邏輯(很少部分人叫它作零階邏輯). 在命題邏輯里, 每一個字母就代表一個命題, 所以命題邏輯只能表達句子之間的關系, 比如“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))
總結
以上是生活随笔為你收集整理的一阶逻辑与二阶逻辑的区别一元谓词多元谓词的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 各种优化算法公式快速回忆优化器-深度学习
- 下一篇: 生成树计数Matrix-Tree定理-数