一階邏輯與二階邏輯的區別一元謂詞多元謂詞

2021-10-04 12:58:25 字數 1438 閱讀 5494

命題邏輯 零階邏輯 表達句子與句子間的關係

一階對個體的(量詞)修飾 對於所有的個體 三段論

「對於任意individual x和y, 如果x和y相等, 那麼對於任意性質p, px當且僅當py. 」 這段話裡面的「對於任意性質」

∀x,y (x=y → ∀p (pxpy))

二階 對屬性的(量詞)修飾 對於任意屬性

一階二階這類的詞, 一是表達量化的程度, 二是表達邏輯系統多有表達能力.

我們一步步來, 首先是命題邏輯(很少部分人叫它作零階邏輯). 在命題邏輯裡, 每乙個字母就代表乙個命題, 所以命題邏輯只能表達句子之間的關係, 比如「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 (pxpy))

一階邏輯 備忘

所有的無限迴圈小數都是有理數。即 對於論域中的所有個體,要麼它不是無限迴圈小數 要麼它是無限迴圈小數,同時是有理數。f x x是無限迴圈小數 g x x是有理數 x g 有的素數是偶數。即 存在乙個數,它是素數,同時它也是偶數。f x x是素數 g x x是偶數 x 並非所有的f都g x f x g...

一元二階 VS 二元一階 (ode45)

注意 t,y ode45 subfun,tspan,y0 t是變步長求解的時間 tspan是取樣時間 一元二階的程式 主程式 求解器 ode45 clear all close all clc y0 0 0 tspan 0 0.01 10 t,y ode45 subfun,tspan,y0 figu...

從 命題邏輯 到 一階邏輯 的過渡

數學就是不斷抽象的過程。我們來看個例子 所有的人都比 madao756 帥,你是人,所以你比我帥 在之前的 命題邏輯 中,我們只能把它抽成三個 簡單命題 符號化以後就變成 單從結果來看,其實損失了一些關鍵資訊 比如 所有人 於是數學家們想出了乙個更好的,更完美的方法,表示上述命題,我們把它叫做 一階...