【舊文搬運】一階邏輯簡介

閱讀時間約 25 分鐘

命題邏輯基本概念

在開始基礎邏輯以前我們要先了解Metalanguage(後設語言),用來討論語言的語言。我們會將命題用字母表示。如果是修過大一邏輯的哲學系朋友一定知道,我們會用大寫英文字母來代指一個命題。比方說:
F:I fucked up the final exam.
這樣。
但如果是有深造過中階邏輯,無論是哪一種——模態邏輯、道義邏輯、時態邏輯等等,會知道我們會用小寫字母來代指原子命題,用大寫字母來代指複合命題,或者你要說複雜命題也行。
原子命題(atomic sentence):沒有連接詞的命題
複合命題(compound sentence):有連接詞的命題
下面開始我們會用中階邏輯的方法,以小寫字母表示原子命題,大寫表示複合命題。
那什麼叫做連接詞勒?
~ or ┐:It is not a case that...
& or ^:and
v:or
⊃ or →:If...then...
≡ or ←→:if and only if. 你也可以寫成iff
所以我們可以給原子命題和複合命題例子。
pi是原子命題
以下都是複合命題:
~p
p&q
pvq
p⊃q
p≡q
你可能會覺得奇怪,為什麼連接詞只有五個勒?這個叫做完備性(truth-functionally complete)。所有的連接詞都可以被化約到我們使用的這五個連接詞。這五個連接詞又可以被近一步化約到剩下~和&。這有一個完備性證明,但我前言說過我不會在這篇裡面加入任何我看到就想吐的數學證明。不過可以讓大家了解一下五個連接詞怎麼化約:
p≡q ∷ (p⊃q)&(q⊃p)
p⊃q ∷ ~pvq
pvq ∷ ~(~p&~q)
那你可能會覺得:那我在遇到命題牽涉到其他連接詞的時候該怎麼辦?
唉,別擔心,我都幫你想好了。
再來很重要的概念是遞迴定義(recursive definition)和proper initial segment。
什麼叫做遞迴定義?任何原子命題都是一個formula,任何原子命題使用任何以上連接詞都是一個formula。注意複合命題除了否定以外都需要使用一個以上的原子命題才是一個formula,否則就是一個proper initial segment。
那proper initial segment是啥餒?舉例來說好了,(p≡q)&r是一個formula,那麼它的proper initial segment就是:(、(p、(p≡、(p≡q、(p≡q)、(p≡q)&。因為我也不知道怎麼講,所以大家就看例子吧。應該能明白吧?proper initial segment不是一個formula。
那這就是數學歸納法表現的時候啦,遞迴定義和proper initial segment不是一個formula都可以用數學歸納法證明,但同樣地我只會提一下。順帶一提,連左括號右括號的數量相等都可以用數學歸納法證明哦。提示一下,這同樣是proper initial segment的概念。
講到這邊差不多可以進入賦值了。
每一個原子命題都有一個truthmaker,一個真值函項式(truth function)。命題符號是它的論域、輸入參數,真假值是它的值域、輸出。每一個複合命題也都有自己的函數,複合命題的函數值由它所包含的原子命題定義,這個接下來會提到,但我們先緩緩。
真值函數寫成這樣
原子命題:
複合命題:
要注意v上面有沒有一槓哦。
我們先來介紹一下真假值。真假值是真值函數的輸出值,分成T和F,也就是true和false。之後還會有U(unknown)和零小數整數,不過這看我有沒有心情講到三值邏輯和多值邏輯。
pi的輸出值是T的話,顧名思義該命題為真,F則命題為假。那這個真假值怎麼看?這邊就要語言哲學一下了。
外延性:命題的真假取決於實際現實中的事物。比方說"外面在下雨",其真假取決於外面是否在下雨。
內涵性:內涵性更多地就是一個概念分析。就是一個定義而已。
提到真假值就不能不提到檢證原則。只有有認知意義的命題才有值域。那些比方說「上帝是永恆的」或「人死後會輪迴」之類沒有認知意義的命題就沒有真假值。
接下來我們進入下一個章節,來談談復合命題的真值函數和真值表吧。
------------------------------------------------

真值表與複合命題的真假值定義

首先,真值表是什麼呢?就是將複合命題的所有真假值狀態陳列出來,以檢視在什麼樣的條件下命題會呈現什麼樣的真假值狀態的一種方法。通常是你想要攤開來檢視命題什麼情況下對什麼情況下錯,或者命題到底恆真偶真矛盾的時候用的。
我們看例子最快
見る通りだ
左邊陳列了原子命題的真假值狀態,右邊則是原子命題的真假值如何定義複合命題的真假值。以連言(p&q)來說,只有當and兩邊的命題都為真時,此連言的真假值才為真。然後標準畫法就是這樣,在這邊順便演示了一下。標準真值表畫法請參照上面。
以下是其他連接詞如何被其原子命題定義:
聰明的同學仔細思考一下條件句(p→q)這東西可能會覺得...有點玄有點妙。確實。關於反事實條件句和半事實條件句的話,唉...以我目前正在教的程度是沒有辦法回答的。如果哪天我有心情寫一篇模態邏輯寫到最後就會談到反事實條件句怎麼處理了。這要有點可能世界模型M ={W, R, V}和模態公理推算的基礎才能講。大家就先接受條件句的定義吧。
現在真值表知道怎麼畫了,複合命題的真假值如何被定義也清楚了,再來聊聊恆真偶真矛盾句吧。
恆真句(truth-functionally true):俗稱的套套句(tautology),命題在真值表上呈現所有情況都為真。不管怎麼樣它都是真的啦。
矛盾句(truth-functionally false):命題在真值表上呈現所有情況都為假。不管怎麼樣它都是假的啦。
偶真句(truth-functionally indeterminate):有時候真有時候假。什麼時候真什麼時候假,它同樣也呈現在真值表上自己看就好。
補充一下. 邏輯上不一致(Logically inconsistent):我有一組命題的集合{x:(x)φ},其中元素有些真值函數為T有些為F,這就叫不一致。
講到這邊也上了不少東西了呢,同學們可以試著做做題目,檢驗一下自己學了多少哦!
1. 這是盧卡希維茨的三值邏輯真值表,但我好像不小心把v⊃≡弄丟了,請試著用~和&推論出pvq、p⊃q、p≡q的真值表應該是怎樣的吧?
2. 請告訴我((p≡q)⊃(((svq)&(r&s))≡((p&q)⊃r))))是一個恆真偶真還是矛盾句吧!要附上真值表哦。
------------------------------------------------

謝菲爾線

不知道看到這裡的同學有沒有想過一個問題——我可不可以把連接詞化約到只剩下一個啊?可以哦。這就是謝菲爾線(sheffer stroke)出場的時候了。
~p ∷ p|p:若v(p)=T,則v(p|p)=F,反之亦然。基本上就是否定啦。
p|q:當p或q的輸出為F時,v(p|q)=T。不全真即真。全真即假。
p→q ∷ p|(q|q):取代條件句,語法參考上面。
不過通常不會用啦。而且因為只有一個連接詞,表達命題的方式也會跟著變得很複雜。
------------------------------------------------

論證與滿足

因為接下來我們就要進入基礎邏輯的推論與證明的部分,是時候我們來談談論證與滿足了。
根據定義,論證是一組語句(命題)的集合,分成前提和結論兩個部分。
論證的standard form:
前提
———
結論
比方說:
p→q
p
———
q
就是一個標準形式的論證。
同時也可以寫成{p→q, p}├ q,意即{p→q, p}滿足了q,q derive from{p→q, p}。從{p→q, p}我們可以得到q的意思。這就是滿足。記得Γ├ A就好。
還有幾個很重要的觀念——
真值保全(truth-preservation):若前提的集合{x:(x)φ},所有的元素都v(x)=T,則其所滿足的結論A同樣v(A)=T。或者我們說中文,如果前提的真值函數都為真,那麼前提滿足的結論真值函數也為真。
有效論證(valid argument):前提為真,結論不為假。
無效論證(invalid argument):It is not a case that it is a valid argument.
健全論證(sound argument):是有效論證,且前提都為真。
你可能覺得健全論證有點怪怪的,那你有聽過一個前提矛盾的論證嗎?一個前提矛盾的論證可以滿足任何結論,但它沒有意義。
不知道有沒有同學好奇為什麼是這樣呢?唉,後設邏輯和研究所在等著你哦。
------------------------------------------------

真值樹法

邏輯嘛,自然演繹法和公理系統的證明都是很講究天分的。但有沒有夠無腦,連猴子都可以做邏輯證明的方式呢?這不就來了嗎,接下來我們來談談真值樹吧。
首先呢,真值樹的核心策略是反證法。我們先假設結論為假,並根據語法規則開枝,最後所有枝葉都封閉的話則矛盾,原本的命題得證。
做法基本上就是把命題直直列舉下來,最後給結論加上否定,再按照真值樹開枝規則開枝,往上看如果出現矛盾例如循枝往上看出現p和~p的話則該枝封閉。做下來如果全部封閉,則有效論證。全開無效,有開有關則偶真。
因為我覺得很麻煩,真值樹開枝規則有興趣學的朋友請上某公館大學開放課程自己看哦。
------------------------------------------------

自然演繹法

自然演繹法在幹啥?我們想證明從一組命題可以得到一個特定的結論,我們就用自然演繹法。自然演繹法分成兩個系統:引進消去規則和十八條規則。
因為引進消去規則實在太麻煩了,所以我都用十八條規則。十八條規則也是最好用、最好心算的一個,基本上日常生活中你不想拿出紙筆算來算去的基本上都是用十八條規則心算哦。
以下是十八條規則,引進消去規則就請自己上台大公開課自己看啦:
MP:P, P⊃Q   /∴ Q
MT:P⊃Q, ~Q   /∴ ~P
HS:P⊃Q, Q⊃R   /∴ P⊃R
DS:PvQ, ~P   /∴ Q or PvQ, ~Q   /∴ P
Simp:P&Q   /∴ P or Q
Conj:P, Q   /∴ P&Q or Q&P
Add:P   /∴ Pv(任意)
CD:PvQ, P⊃R, Q⊃S   /∴ RvS
DN:P∷~~P
DeM:
~(PvQ) ∷ ~P&~Q
~(P&Q) ∷ ~Pv~Q
Comm:
P&Q ∷ Q&P
PvQ ∷ QvP
Assoc:
Pv(QvR) ∷ (PvQ)vR
P&(Q&R) ∷ (P&Q)&R
Dist:
P&(QvR) ∷ (P&Q)v(P&R)
Pv(Q&R) ∷ (PvQ)&(PvR)
Taut:
P ∷ PvP
P ∷ P&P
Contra:p⊃q ∷ ~Q⊃~P
Impl:p⊃q ∷ ~PvQ
Exp:(P&Q)⊃R ∷ P⊃(Q⊃R)
Equiv:P≡Q ∷ (P⊃Q)&(Q⊃P)
需要注意的是,自然演繹法是純推論,完全不管個別命題的真值函數,我們只看可不可以從這組前提集合中推論出特定結論。看真值函數那是事後你自己想辦法處理的。
總之呢,你有一組前提,然後你就按照規則算,看看能不能滿足特定結論。這是最貼近日常生活的了。我跟你說這樣這樣所以這樣,你覺得It's not a case,你就整理我的前提去做自然演繹法,看我的結論合不合邏輯這樣。當然事後你還得要去檢驗真假值。這就是考驗你素養的地方了,前面有教,可以複習一下。
期望大家都可以像數學小王子高斯一樣,真的在日常生活中做自然演繹法的時候都可以快速心算搞掉它。
紙本上的正式做法和真值樹很像,條列前提,然後按照規則去算。
ass是assumption,不是屁股哦。
------------------------------------------------

反證法與條件證法的自然演繹法應用

到了中階邏輯,證明無非就是反證法、數學歸納法、條件證法、自然演繹法和公理推導。不過我們是初階邏輯來著的,我們用在自然演繹法的反證法和條件證法很簡單,沒什麼好怕的。
條件證法:假設A去求B,如果真的給你推出B,那麼你得到A→B。並且從假設A到得到B畫上封閉線,不可繼續取用封閉線內的命題來推導。
反證法:假設~A去求A,如果在過程中得到矛盾,則你得到A。一樣封閉線一樣不可再取用。
------------------------------------------------

述詞邏輯

古典的命題邏輯有一點小小的問題,像是沒辦法去區別對象和描述詞之類的,或者程度數量的表達有點問題之類的,所以我們有了述詞邏輯。從現在起,我們的命題符號會去區分對象和描述、部分和全部。
量詞的部分
∀:全部
∃:部分
對某些人來說這些符號應該不陌生吧?
然後命題的部分我們會變成:
大寫字母:描述詞。
xyz:對象變元,指不特定的對象。
其他小寫:對象常元,指特定的對象。
e.g.
Fx:x fucked up the final exam.
Fa:Amara fucked up the final exam.
那實際上要怎麼用?我們參考一下萊布尼茲定律的公式吧:
∀x∀y∀F(x=y →(Fx ←→ Fy))
唉,大概是這種感覺。
然後我們到這裡開始會出現Ixy這種東西。Ixy:x is identical with y. 你也可以寫成x=y。
那話說這個量詞的range很含糊唉,有沒有能表達具體數量的方法呢?有點難。但如果你要表達一個兩個的話還是能辦到的,以下是例子:
一個 = (∃y)[(Ay&Nyb)&(∀z)[(Az&Nzb)⊃y=z]]
Ax:x is an apple.
Nxb:x is in the box.
兩個 = (∃x)(∃y)[(Ax&Ay)&(Nxb&Nyb)&~Ixy]
Ax:x is an apple.
Nxb:x is in the box.
為什麼這分別可以表達只有一個和至少兩個,大家可以想想看當作練習。
那既然我們加入了新的東西,自然地,自然演繹法上也會有新的規則:
  1. UI,Universal Instantiation(全稱個例化):∀x(Px)變成P(a/x)。如果對於全部而言都是P,那a也一定是P吧?
  2. UG,Universal Generalization(全稱推廣):P(a/x)變成∀x(Px)。如果任何x都是P,那所有x都是P。
  3. EI,Existential Instantiation(存在個例化):(∃x)Px變成Py。這個Py其實不是任何y,是(∃x)Px範圍內的y。要特別注意。
  4. EG,Existential Generalization(存在推廣):P(a/x)變成(∃x)Px。只要有一個,那怕只有一個,"部分"就成立。
這些變元不是死的,xyz可以隨便你換。
量詞否定規則:
1. (∀x)Px ∷ ~(∃x)~Px
2. (∃x)Px ∷ ~(∀x)~Px
3. (∀x)~Px ∷ ~(∃x)Px
4. (∃x)~Px ∷ ~(∀x)Px
自然演繹法的時候,我們會根據演算需求去進行量詞的更換。真值樹嘛...老實說我也不知道。剛好沒看又翹課,考試也特別沒去寫那幾題。我想應該是要先消掉量詞才能算吧。
------------------------------------------------

四角對當

一開始我覺得這東西很沒用。這是亞里斯多德時代留下來的東西。現在的邏輯根本不會用他那老掉牙的三段論法,所以我也沒講。不過隨著時間我發現,四角對當(the square of opposition)挺直覺有時候挺好用的,順便提一下。
其實...看圖就可以了吧?
A:全部的x都是
E:全部的x都不是
I:有些x是
O:有些x不是
AE不可以同時成立,IO可以同時成立。
A成立則I也成立,E和O亦然。
A和O矛盾,E和I也矛盾。
有時候有些問題真的是想想四角對當就搞定了,挺方便的所以順便提一下。
------------------------------------------------

堆垛悖論

有時候很多事情並不是非黑即白,而是一個光譜,是程度的問題。禿子和不是禿子之間以剩下幾根頭髮做為分界?沙堆和不是沙堆以只有幾顆沙子做為分界?這種堆垛悖論(Sorites Paradox)的問題我們在分析哲學上稱呼為含糊性或模糊性(vagueness)。以前面教導的邏輯如此非黑即白,不是T就是F,要怎麼解決這種問題呢?
盧卡希維茨的三值真值表:
這次就不噎著藏著了,給你們看吧。u就是拿來給你定義沒辦法明確地去說是還是不是的命題用的。
還有一種東西我們稱呼為多值邏輯(many value logic)。模糊數學就是從這裡來的喔。
怎麼做多值邏輯?根據你的命題建立一個光譜,並在光譜上寫下刻度。不是的地方是0,是的地方是1,在0和1之間依照你的需求刻上0.1, 0.2...,這些就成了你的命題符號的賦值。
然後複雜語句的真假值這樣看:
1. v(~P)=1 - v(P)
2. v(P&Q)=min(v(P), v(Q))
3. v(PvQ)=max(v(P), v(Q))
4.
v(P) ≦ v(Q) ⊃ v(P⊃Q) = 1
v(P) > v(Q) ⊃ v(P⊃Q) = 1 - v(P) + v(Q)
仔細想想,是不是契合二值邏輯的真值表呢?
多值邏輯的有效性來自你設定的門檻。你必須要設定一個門檻有效的點,比方說0.5好了,那v(PvQ)=0.6,這個命題就是有效的。還有一種是絕對有效,那就是不管你門檻定在哪,你的命題輸出值絕對會保證它有效的意思。很少見啦。
你可能會覺得這種有效的方式很奇怪,那...來講一點形上學的事情好了。
形上學是哲學的主要分支之一,其工作在於解析現實的本質。關於模糊性這件事,有很多不同的看法。有些人覺得模糊性不存在,存在的是人類認識能力的極限。這是知識論的觀點。順帶一提,知識論——探討人類的認識能力與知識和真實的距離的學問也是哲學的主要分支之一。這種觀點認為事物就是非黑即白,只是有些事情人類的認識能力無法捕捉到那個界線而已。
另一種看法認為,模糊性來自語言的誤用。語言最基本的功能就是為事物命名,但顯然我們在使用語言的時候並沒有這麼謹慎,致使命名的事物不明確,所以產生模糊。
最後一種形上學觀點是,模糊性是世界本身就具有的state,是確確實實世界的性質之一。並沒有界線存在只是我們不知道,也不是語言誤用的問題,而是殊相確確實實地例現了模糊這一性質。
不管怎麼說呢,唉...目前還沒有一個很好的答案。關於模糊性這件事,我們知之甚少,所以我們用多值邏輯的方式,設定一個門檻來解決模糊命題的賦值問題。
------------------------------------------------

道德推理

道德推理和上述的任何一種邏輯推理都不一樣,道德推理推論的對象不是世界的性質,而是「我們對世界的期待」。我這樣講一定很有爭議,道德到底是不是世界的state,這是一個很深奧的問題,是一線倫理學形上學等研究者在討論的,我只是一個廢物大二而已。
首先我們要瞭解的基本觀念是實然和應然——
實然:我們所經驗到的現實中實際上的狀態。
應然:我們應該要怎麼樣的義務和期待。
道德推理不可以從實然的前提推導出應然的結論,這是兩個不同範疇的東西。實際上怎麼樣和你應該怎樣是不可一概而論的,也就是俗稱的「自然主義的謬誤」(the fallacy of naturalism),一種從實然推出應然的錯誤。
還是看例子最快吧:
1.部分人類具有生殖器
2.如果人有生殖器,則物種得以延續
——————————
3.人有延續物種的義務
這大概是我最頻繁看到的自然主義謬誤吧。
道德推理裡面必須要有應然的前提才能滿足應然的結論。你要問應然前提的賦值...這會是一個很好的問題。唉...關於道德的本質是很高深的形上學問題,我也答不出來。我只是廢物大二而已。將來有學到有心情再來寫吧。
關於道德推理大概就這樣,其實也沒啥好講的。說到底,我對倫理學也不熟,只是講到邏輯講到推論不能不提一下道德推理的部分而已,畢竟方式不一樣,也很容易因為無知而出問題。
------------------------------------------------

歸納法與最佳解釋

其實哲學系用的邏輯是演繹法來著,歸納法其實我們教的不多。歸納法真的就是純猜測的一種推論。大概長這樣:
σ1
.
.
.
σ99
——
σ100
因為前99次是這樣,所以我「猜」第100次也是這樣。
還記得我們前面提過的真值保全嗎?歸納法是沒有真值保全的。有些人認為演繹法的真值保全來自結論以某種形式蘊含在前提中,但歸納法是推論超出前提的東西的一種推論方式。你的前提只有1到99次而已,你要去猜想第100次也是這樣,是沒有前提保證結論為真這種事的,只有你的猜想說服力強弱的問題。
強歸納:有充足的前提
弱歸納:前提有點少
順帶一提,數學歸納法是演繹法不是歸納法來著。名字詐欺。
除了演繹法(Deductive)和歸納法(Inductive)以外,還有一種叫做最佳解釋論證(Abductive)。最佳解釋論證有時候和歸納法其實界線沒有那麼分明,所以放在一起講。但演繹法就不一樣了,演繹法和其他兩種無論何時界線都非常明確。
其實最佳解釋論證我學得也不深,最佳解釋論證就是你心中已經有一個抽象化的最佳解釋,可能例如長這樣:px→qx,然後你在遇到pa的時候你就直接給了個最佳解釋叫qa。我覺得,我覺得啦,最佳解釋就是在經驗歸納基礎上形成的類似共相等待例現的解釋框架。
像是說...因為我之前遇到px都是qx,所以我遇到py的時候肯定也是qy啦。我也不知道該怎麼講。
------------------------------------------------

日常生活的實踐應用

實踐應用時第一步果然是先辨識你所遭遇的論證是哪一種類型吧。前面教過了演繹歸納和最佳解釋,當你實際遇到別人拋論證給你的時候首先第一步就是要去檢驗那個論證到底是什麼類型。
如果是歸納或最佳解釋我其實也沒啥好說的,如果是演繹的話基本上你就是用自然演繹法去檢驗到底他從這些前提裡面可不可以邏輯地得出他所說的那個結論。這平常有在做自然演繹法練習題應該不是大問題。
問題應該會是...去將論證形式化吧?這其實不是一件很簡單的事。你要把你聽到的論證整理成一個標準形式的論證其實不會太容易。大家平常可以多練習。
那如果自然演繹法這關過了,就是去檢驗賦值的時刻了。你可以直接用真值樹用反證法的方式很快地去檢驗它到底是不是有效論證,或是直接畫一張真值表來看看它的賦值狀態。前者推薦給懶人,後者如果你需要很清楚地去檢視賦值的話就用吧。
基本上啦,如果很不幸地你的對手提出來的是經得起自然演繹法考驗的論證,那基本上你要反對他就是去反對他前提的賦值。去說你覺得他的前提是錯的,並發表你的論證。
我們以爭論自由意志問題的決定論的兩難論證為例:
1. D v ~D(這個世界是決定論的或不是決定論的)
2. D → ~F(如果這是決定論的世界,則沒有自由意志)
3. ~D → ~F(如果這不是決定論的世界,則沒有自由意志)
———
4. ~F(沒有自由意志)
古典相容論者會試著反駁前提2,去說在因果決定論的世界觀下是能夠相容自由意志的。所以D → ~F實際上是D → F,如果同學前面有認真聽,會知道條件句賦值為假唯一的狀況就是後件為假。所以這個論證沒有真值保全(前提為假),是無效論證。
比方說這樣啦,畢竟這篇不是來談形上學或自由意志的,我不會深入討論。
其他的反駁方式,反駁推論方法或直接反駁結論都有,但那是大佬的做法。最適合一般人的是反駁前提的賦值。
另外還有什麼要補充的話就是道德推理的時候要記得實然應然和自然主義謬誤這樣。
行啦,累死人啦,就講到這裡吧。
為什麼會看到廣告
Snowberry
Snowberry
Proud defenders of Azeroth, hearken to me!
留言0
查看全部
發表第一個留言支持創作者!
從 Google News 追蹤更多 vocus 的最新精選內容