在研究命題邏輯中,原子命題是命題演算中最基本的單位,再也不對原子命題進行分解,這樣會產生兩大缺點:函數
(1)不能研究命題內部的結構,成分和內部邏輯的特徵;post
(2)也不可能表達兩個原子命題所具備的共同特徵,甚至在命題邏輯中沒法處理一些簡單又常見的推理過程。spa
例如 著名的「蘇格拉底三段論」:
凡人都是要死的,
蘇格拉底是人,
因此蘇格拉底是要死的。翻譯
顯然,該論證是正確的,但不能用命題邏輯的推理規則推導出來。blog
咱們可將原子命題分解成兩部分:個體(名詞,代詞)+ 謂詞(動詞)。ci
例如: 人老是要死的作用域
是無理數。 get
小王比小明高。it
在命題的研究中,基於謂詞分析的邏輯,稱爲謂詞邏輯。謂詞邏輯是命題邏輯的擴充和發展。table
謂詞邏輯 (對原子命題分割)
簡單命題中表示主體或客體的詞,稱爲個體。一般用a,b,c,…表示。
用以刻畫客體的性質或關係的模式,稱爲謂詞。一般用大寫字母 F,G,H,…表示。
例如 張華是大學生。李明是大學生。
若 G:表示「是學生」,a:表示「張華」,b:表示「李明」.
則上述兩個命題可符號化爲: G(a)與G(b).
例如 小王比小明高。
若 H:表示「…比…高」; a:表示「小王」, b:表示「小明」.
則上述命題可符號化爲:H(a,b).毫不能夠寫爲:H(b, a).
1′謂詞填式:謂詞字母后填以客體所得的式子。 例如: G(a) 、G(b)、H(a, b)
2′若謂詞字母聯繫着一個客體,則稱做一元謂詞;
若謂詞字母聯繫着二個客體,則稱做二元謂詞;
若謂詞字母聯繫着n個客體,則稱做n元謂詞。
一元謂詞表示一個個體所具備的性質;
n 元謂詞表示n個個體之間的關係。
3′客體的次序必須是有規定的。
例如 F:「老是要死的。」
a:「張華」; a:「老虎」 ; c:「桌子」;
則 F(a),F(b), F(c)均爲命題。
在上例中,若令 x 表示個體變元, x ɛ {a,b,c},則 F(x):x 老是要死的.稱F(x)爲命題函數。 (變化的命題)
定義:由一個謂詞字母F和一個非空的個體變元集合D所組成的表達式,稱爲簡單命題函數。
分析:
a)當簡單命題函數僅有一個個體變元時,稱爲一元簡單命題函數;
當命題函數含有兩個個體變元時,則稱爲二元簡單命題函數。
b)用任何個體去取代客體變元以後,則命題函數就變爲命題;
c)命題函數中個體變元的取值範圍稱爲個體域(論述域)。
例如:F(x) : x 是質數。 (一元命題函數)
G(x , y): x 生於 y。(二元命題函數)
其值取決於個體域。
個體域的給定形式有二種:
①具體給定。 eg:{a, b, c}
②全總個體域:宇宙間的一切事物組成的個體域。全部的個體都從該域中取得。
將命題函數化爲命題,一般有兩種方法:
1)將 x 取定一個值。 如:F(4),F(5).
2)將謂詞量化。 如:∀ x F(x), ∃ x F(x).
例如:任何正整數都大於零。——命題
可表示爲 ∀x F(x).
謂詞與函數的比較
代數 |
自變量 |
函數 |
函數值 |
定義域 |
邏輯 |
個體變元 |
謂詞 |
命題 |
個體域 |
對個體變元數量限制的詞,稱爲量詞。
例如 「這裏全部的東西都是蘋果」
可寫成: ∀x A(x)或(∀x) A(x).
「∀」幾種表達式的讀法:
∀ x P(x): 「對全部的x,x 是…」;
∀ x ¬ P(x) : 「對全部x,x 不是…」;
¬∀ x P(x) : 「並非對全部的x,x 是…」;
¬∀ x ¬ P(x) : 「並非全部的x,x 不是…」。
例如:將「對於全部的 x 和任何的 y,若是 x高於 y,那麼 y 不高於 x」寫成命題表達形式。
解: ∀ x ∀ y (G(x , y) → ¬G(y , x))
G(x , y):x 高於 y.
「∃」幾種表達式的讀法:
∃ x P(x): 「存在一個 x,使 x 是…」;
∃ x ¬ P(x) : 「存在一個 x,使 x 不是…」;
¬ ∃ x P(x) : 「不存在一個 x,使 x 是…」;
¬ ∃ x ¬ P(x) : 「不存在一個 x,使 x 不是…」。
例如:(a)存在一我的;
(b)某我的很聰明;
(c)某些實數是有理數
將(a),(b),(c)寫成命題。
解:規定:M(x):x 是人;C(x):x 是很聰明;
R1(x):x 是實數(特性謂詞);
R2(x):x 是有理數;
則 (a) ∃ x M(x) ;
(b) ∃ x (M(x) ∧ C(x));
(c) ∃ x (R1(x) ∧ R2(x)) 。
量化命題的真值:決定於給定的個體域.
例如 給定個體域:{a1,…,an}。
以{a1,…,an}中的每個個體代入
量詞與否認聯結詞「¬」之間的關係:
例:設P(x)表示x今天來校上課, 比較能夠獲得:
¬(∀x)P(x) ⇔ (∃ x)¬ P(x)
¬( ∃ x)P(x) ⇔ (∀x)¬ P(x)
不出現命題聯結詞和量詞的謂詞命名式稱爲原子謂詞公式,並用P(x1,…,xn)來表示。
(P爲 n 元謂詞, x1,…,xn爲個體變元),當n=0 時稱爲零元謂詞公式。
謂詞公式的概括法定義:
⑴原子謂詞公式是謂詞公式;
⑵若A是謂詞公式,則¬A也是謂詞公式;
⑶若A, B都是謂詞公式,則(A∧B),(A∨B) ,(A→B)和(A↔B)都是謂詞公式;
⑷若A是謂詞公式,x 是任何變元,則
∀ x A, ∃ x A也都是謂詞公式;
⑸只有按⑴—⑷所生成得的那些公式纔是謂詞公式(謂詞公式又簡稱「公式」)。
例如 將下列命題翻譯成謂詞公式。
(1) 凡偶數均能被2整除。
(2) 存在着偶素數。
(3) 沒有不犯錯誤的人。
(4) 在北京工做的人未必是北京人。
(5) 儘管有些人聰明,但未必一切人都聰明。
(6) 每列火車都比某些汽車快。
某些汽車比全部的火車慢。
使用量詞時,應注意如下5點:
(1) 在不一樣個體域中,命題符號化的形式可能不同;
(2) 通常,除非有特別說明,均以全總個體域爲個體域;
(3)n元謂詞化爲命題至少須要n個量詞,
(4)多個命題變元出現時,不能隨意顛倒順序,不然命題的含義徹底改變。
(5) 在引入特性謂詞 M(x)時,M(x)以蘊含前件加在「∀」後,以合取項加在「∃」後。即,
對全稱量詞「∀」,用「 M(x)→? 」加入;
對存在量詞「∃」,用「 M(x)∧ ?」加入。
例1:將下面命題符號化。
(1) 全部的有理數都可表成分數。
(2) 有的有理數是整數。
例2:任何整數或是正的,或是負的。
例3:試將蘇格拉底論證符號化:「全部的人老是要死的。由於蘇格拉底是人,因此蘇格拉底是要死的。」
轄域:緊接在量詞後面括號內的謂詞公式。
例如 ∀x P(x) ,∃ x (P(x) ∧ Q(x)) 。
若量詞後括號內爲原子謂詞公式,則括號能夠省去。
約束變元:在量詞的轄域內,且與量詞下標相同的變元。
自由變元:當且僅當不受量詞的約束。
例如: ∀x P(x , y) , ∀x(P(x)→∃ y(P(x , y)) 。
在謂詞公式中,約束變元的符號是能夠更改的。
例如:
下面介紹約束變元的更名規則:
(a)若要更名,則該變元在量詞及其轄域內的全部出現均需一塊兒更改;
(b)更名時所用的變元符號必須是量詞轄域內不曾出現的符號。
例如:公式 ∀x P(x)→∃ y P(x , y) 可改寫成
∀x P(x)→∃ z P(x , z) ,
但不能改爲:∀x P(x)→∃ x P(x , x) ,
∃ x P(x , x)中前面的x原爲自由變元,如今變爲約束變元了。
(a)若在謂詞公式中出現有自由變元,則該公式爲命題函數;
(b)若在謂詞公式中的變元均爲約束出現,則該公式爲命題。
例如: ∀x P(x, y, z)是二元謂詞,
∃ y ∀x P(x, y, z)是一元謂詞,
∀x P(x)是命題
即謂詞公式中若是沒有自由變元出現,則該公式是一個命題。
例1:「沒有不犯錯的人。」
解:設 F(x) 爲「x犯錯誤」,
M(x) 爲「x是人」(特性謂詞)。
可把此命題寫成:
例2: 「x 是 z 的父親且 z 是 y 的母親」。
解:設P(z):z是人;
F(x , z):x是z的父親;
M(z , y):z是y的母親。
則謂詞公式可寫成:
且該命題函數表示「x 是 y 的外祖父」。
(1)個體域不一樣,則表示同一命題的謂詞公式的形式不一樣。
例如:「全部的人都是要死的。」
令D(x):x是要死的。
下面給出不一樣的個體域來討論:
(ⅰ)個體域爲:{人類},
則可寫成 ∀x D(x) ;
(ⅱ)個體域爲任意域(全總個體域),則人必須首先從任意域中分離出來.
設M(x):x是人,(M(x)爲特性謂詞)。
命題可寫成∀x(M(x) → D(x)).
(2) 個體域不一樣,則表示同一命題的值不一樣。
設 Q(x): x<5 |
{-1,0,3} |
{-3,6,2} |
{15,30} |
∀ x Q(x) |
T |
F |
F |
∃ x Q(x) |
T |
T |
F |
(3)對於同一個體域,用不一樣的量詞時,特性謂詞加入的方法不一樣。
對於全稱量詞,其特性謂詞之前件的方式加入;
對於存在量詞,其特性謂詞以與的形式加入。
(4)量詞對變元的約束,每每與量詞的次序有關。
例如:∀y ∃x (x < y-2))表示任何 y 均有 x, 使得x < y-2。
A,B爲兩個謂詞公式,E爲它們的共同個體域,
若對A和B的任一組變元進行賦值,都有A和B的值相同,
則稱A和B遍佈E是互爲等價的,記爲A ⇔ B.
給定謂詞公式A,E是A的個體域。
若給A中個體變元指派E中的每個個體所得命題的值均爲真,
則稱A在E中是永真的。
若E爲任意域則稱A是永真的。
給定謂詞公式A,E是A的個體域。
若給A中個體變元指派E中每個個體,在E中存在一些個體名稱,使得指派後的真值爲「T」,則A稱是可知足的。
若給A中個體變元指派個體域中的任一個體,命題的值均爲「F」,則稱A是永假的。
只要用原子謂詞公式去替換命題公式的永真式中的原子命題變元,則在第一章中永真蘊含式和等價公式都可變成謂詞演算中的永真式:
設個體域爲:S={a1,a2,…,an},咱們有:
說明:
若個體域是有限的,則可省掉量詞。
若個體域是無限的,則可將上述概念推廣從而省去量詞,不過要注意這是由無限項組成的命題。
例如:設個體域爲:N={0,1,2…},A(x):x>3 ,則可寫出:
∀ x A(x) ⇔ A(0) ∧ A(1) ∧ A(2)∧ …
∃ x A(x) ⇔ A(0) ∨ A(1) ∨ A(2) ∨ …
證實:設個體域爲: S={a1,a2,…,an}.
¬ ∃ x P(x) ⇔ ¬(P(a1) ∨ P(a2) ∨ … ∨ P(an))
⇔ ¬ P(a1) ∧ ¬ P(a2) ∧ … ∧ ¬ P(an)
⇔ ∀ x ¬P(x)
下面舉例說明量化命題和非量化命題的差異:否認形式不一樣
例如: 否認下列命題:
(a)上海是一個小城鎮 A(s)
(b)每個天然數都是偶數 ∀ x (N(x) → E(x))
上述二命題的否認爲:
(a)上海不是一個小城鎮 ¬ A(s)
(b)有一些天然數不是偶數
¬ ∀ x (N(x) → E(x))
(b)有一些天然數不是偶數
¬ ∀ x (N(x) → E(x)) ⇔ ∃ x ¬ (N(x) → E(x))
⇔ ∃ x ¬ (¬ N(x)∨E(x))
⇔ ∃ x (N(x)∧¬ E(x))
結論:對於非量化命題的否認只需將動詞否認,而對於量化命題的否認不但對動詞進行否認,並且對量詞同時進行否認,其方法是:
∀ x 的否認變爲∃ x , ∃ x 的否認變爲∀ x 。
證實:設個體域爲: S={a1,a2,…,an}.
∀x A(x)∨P
⇔ (A(a1) ∧ A(a2) ∧ … ∧ A(an) )∨ P
⇔ (A(a1) ∨ P) ∧ … ∧ (A(an) ∨ P)
⇔ ∀ x(A(x) ∨ P )
證實:設個體域爲: S={a1,a2,…,an}.
∃ x(A(x) → B )
⇔ (A(a1) → B) ∨ … ∨ (A(an) → B)
⇔ (¬ A(a1) ∨ B) ∨ … ∨ (¬ A(an) ∨ B)
⇔ (¬ A(a1) ∨ … ∨ ¬ A(an)) ∨ B
⇔ ∃ x ¬ A(x) ∨ B
⇔ ¬ ∀x A(x) ∨ B
⇔ ∀ x A(x) → B
證實:設個體域爲: S={a1,a2,…,an}.
1. ∀ x(A(x) ∧ B (x) )
⇔ (A(a1)∧B (a1) ) ∧ … ∧ (A(an)∧B (an) )
⇔ (A(a1)∧ … ∧A(an)) ∧ (B(a1)∧ … ∧B(an))
⇔ ∀ x A(x) ∧ ∀ x B (x)
下面列出對應的表達式能夠看出其不一樣處:
設 x 的個體域爲: {a1, a2, …, an} ,
y 的個體域爲: {b1, b2, …, bn} ,
則:
(1) ∀x ∃y P(x , y)
⇔ ∃y P(a1 , y) ∧ … ∧ ∃y P(an , y)
⇔ (P(a1 , b1) ∨ … ∨ P(a1 , bn) )∧ … ∧(P(an , b1) ∨ … ∨ P(an , bn) )
(2) ∃y ∀x P(x , y)
⇔ ∀x P(x , b1) ∨ … ∨ ∀x P(x , bn)
⇔ (P(a1 , b1) ∧ … ∧ P(an , b1) ) ∨ … ∨ (P(a1 , bn) ∧ … ∧ P(an , bn) )
例如:x , y的個體域{鞋子},
P(x , y) :x 和 y 配成一雙鞋子。
則
∀x ∃y P(x , y) ⇔ T
∃y ∀x P(x , y) ⇔ F
例如:x , y 的個體域爲 N={0,1,2…},則
∀x ∀y P(x , y)
⇔ ∀y P(0, y) ∧∀y P(1, y) ∧∀y P(2, y) ∧ …
⇔ (P(0, 0) ∧P(0, 1) ∧ … ∧ P(0, j) ∧ …)
∧… ∧
(P(i, 0) ∧P(i, 1) ∧ … ∧ P(i , j) ∧ …)
∧…
⇔ (P(0, 0) ∧P(1, 0) ∧ … ∧ P(i , 0) ∧ …)
(P(0, 1) ∧P(1, 1) ∧ … ∧ P(i , 1) ∧ …)
∧…
⇔ ∀x P(x, 0) ∧∀ x P(x, 1) ∧ … ∧ ∀ x P(x, j) ∧ …
⇔∀y ∀x P(x , y)
一樣: ∃ x ∃ y P(x , y) ⇔∃ y ∃x P(x , y)
例如 ¬ ∀ x ∃ y ∀ z P(x , y , z)
⇔ ∃ x ¬ ∃ y∀ z P(x , y , z)
⇔ ∃ x ∀ y ¬ ∀ z P(x , y , z)
⇔ ∃ x∀ y ∃ z ¬ P(x , y , z)
定義:一個公式,若是量詞均非否認地在全式的開頭,它們的做用域延伸到整個公式的末尾,則稱此公式叫前束範式
例如: ∀x ∃ y ∀z (¬ Q(x , y) ∨ R(z))
(前束範式)
定理:任何一個謂詞公式均和一個前束範式等價。
證實:
①利用量詞轉換把 ¬ 深刻到原子謂詞公式前;
②利用約束變元的更名規則;
③利用量詞轄域的擴張收縮律,把量詞移到全式的最前面,這樣必定可獲得等價的前束範式。
設A(x)是一個謂詞公式,x 是其中的自由變元,
若把 y 代入到A(x)裏而不會產生變元新的約束出現,則稱A(x)對於 y 是自由的。
例如:①下面A(x)對於 y 是自由的:
A(x) ⇔ ∀z P(z) ∧ Q(x , z),這裏 x 爲自由變元,若用 y 去取代A(x)中的x,
A(y) ⇔ ∀z P(z) ∧ Q(y , z),這裏 y 也爲自由變元.
例如:②下面A(x)對於 y 不是自由的:
A(x) ⇔ ∀y (S(x) → S(y)),這裏 x 爲自由變元,若用 y 去取代A(x)中的x,
A(y) ⇔ ∀y (S(y) → S(y)),這裏 y 變爲約束變元了,產生了新的約束出現.
若是必需要代入 y,則應先將A(x)中的約束變元 y 更名,即
A(x) ⇔ ∀z (S(x) → S(z)),
而後用 y 去取代A(x)中的x,得
∀z (S(y) → S(z)),y 仍爲自由變元.
總結: 斷定A(x)對於 y是自由的,只要看公式A(x)中∀y ,∃ y的轄域內有沒有 x 的自由出現就行:
如有 x 的自由出現,則A(x)對於 y 不是自由的,若無 x 的自由出現,則必定能夠確定A(x)對於 y 是自由的。
命題邏輯中的P規則,T規則,CP規則和間接證實法,均可以引用到謂詞邏輯的推理規則中來,
不過要注意對量詞作適當處理
其方法是:可用US,ES在推導中去掉量詞;可用UG,EG使結論量化。
四個推理規則的使用說明:
(1)在使用ES,US時,必定要是前束範式;
(2)推導中連續使用US規則時,可用相同變元
∀x P(x) ⇒ P(y)
∀x Q(x) ⇒ Q(y)
(3)推導中若既用ES,又用US, 則必須先用ES ,後用US,方可取相同變元,反之不行。
∃ x P(x) ⇒ P(y)
∀x Q(x) ⇒ Q(y)
(4)推導中連續使用ES規則時,使用一次更改一個變元。
例1:證實蘇格拉底三段論:「凡人都是要死的,蘇格拉底是人,因此蘇格拉底是要死的。」
證實:設 F(x):x是人;
G(x):x是要死的;
a:蘇格拉底
因而命題可化爲:
例2 證實 ∀x (H(x) → M(x)) ,∃x H(x) ⇒ ∃x M(x)
例3 證實 ∃x (P(x) → Q(x)) ⇒ ∀x P(x) → ∃x Q(x)
例4 證實
¬ ∀x ( P(x) ∧ Q(x) ) ,∀x P(x) ⇒ ¬ ∀x Q(x)
例5 下列結論可否從前提中推出:
∀x ( P(x) → Q(x) ) ,¬ Q(c) ⇒ ∀x ¬P(x)
注意:在使用US,ES,UG,EG這四條規則時,要嚴格按照它們的規定去使用。
構造下面定理的證實: