Home
Explore Uedu
Student Console
Register as Member/Login
(2) In future presentations of the research findings, in addition to the course project website and public presentations, your real name and personal information will not appear in this research report. If you are interested in the research results, we can provide you with an executive summary after the study is completed.
問卷中心
Teacher Console
Course Setup
Support & Messages
Uptime Data

UeduGPTs

--

Jupyters

0

Local AI

--

CISOSE26 本地 AI UG26
政治大學 AQI 18 29°C

AI Reply Desktop Notifications

Show a desktop notification when the AI TA finishes replying

Chat Message Notifications

Notify me when classmates post messages in the forum

Sound notification

Play an alert sound whenever there is a new notification

邏輯

這句話是假的:邏輯如何用真值表、量詞與證明檢查自己,又如何撞上極限

從說謊者悖論出發,拆開形式邏輯的引擎——真值表、謂詞量詞、自然演繹——一路推到哥德爾不完備與計算的邊界

「如果這句話是假的」——當邏輯開始檢查自己

你已經知道怎麼分辨有效與無效、演繹與歸納。現在來看一句話:「這句話是假的。」

如果它是真的,那麼照它說的,它就是假的;如果它是假的,那麼它說「我是假的」這件事就說對了,於是它又是真的。無論你賦予它哪個真值,都會立刻翻轉成相反的那個。這就是著名的說謊者悖論(Liar Paradox),而它之所以重要,不只是腦筋急轉彎——它是一道裂縫,從這道裂縫望進去,你會看到整個形式邏輯的地基、它的力量,以及它的極限。

入門篇我們把邏輯當成「評估論證的工具」。這一篇,我們要把工具本身拆開來看:當我們說一個論證「有效」,那個「有效」到底是用什麼機器算出來的?真值表、量詞、推論規則、形式系統——這些零件如何咬合?而當這套機器精密到一定程度,它為什麼會反過來咬到自己,逼出哥德爾(Gödel)那句「有些真理永遠無法被證明」?

邏輯進階概念示意圖

命題邏輯:把「有效」變成可計算的事

入門篇說有效性是「不可能前提全真而結論為假」。這個定義很美,但它有個問題:「不可能」要怎麼檢查?你不可能把全宇宙的可能情況都跑一遍。命題邏輯(propositional logic)的天才之處,在於把這個無窮的「所有可能」壓縮成一張有限的表格。

它的做法是:先把日常語句裡那些「真假已定但內容不管」的最小單位抽象成命題變元(propositional variable)$p, q, r$,再用五個邏輯連接詞(logical connectives)把它們組起來:

  • 否定 ¬(非)
  • 連言 ∧(且)
  • 選言 ∨(或)
  • 條件 →(如果……則……)
  • 雙條件 ↔(若且唯若)

關鍵在於,這些連接詞是真值函數(truth-functional)的——一個複合句的真假,完全由組成它的子句的真假決定,不多不少。「$p \land q$」為真,當且僅當 $p$ 真且 $q$ 真;其他情況一律為假。這個「完全由」是整套機器能運轉的引擎。

於是「不可能前提全真而結論為假」就有了機械的判準:列出所有命題變元的真假組合($n$ 個變元就有 $2^n$ 列),逐列檢查。如果沒有任何一列讓前提全真、結論為假,這個論證就有效。無窮的「所有可能」,被收斂成一張可以用手算完的表。

看一個例子

我們用真值表驗證入門篇提過的「否定後件」(modus tollens):從「$p \to q$」與「¬$q$」,能否保證「¬$p$」?

$p$ $q$ $p \to q$ ¬$q$ ¬$p$

我們要找的是「兩個前提($p \to q$ 與 ¬$q$)同時為真」的列。掃一遍:只有第四列符合——$p \to q$ 為真、¬$q$ 為真。而在這一列,結論 ¬$p$ 也是真的。沒有任何一列出現「前提全真、結論假」的反例,所以否定後件有效

現在對比入門篇警告過的「肯定後件」:從「$p \to q$」與「$q$」推「$p$」。看第一列與第三列,這兩列 $q$ 都為真且 $p \to q$ 也為真(前提全真);但第三列的 $p$ 是假的。逮到了——一列「前提真、結論假」的反例,足以判它無效

注意這裡發生了什麼事:兩千年來靠直覺與例子爭辯的「這推論對不對」,被化約成一個任何人都能複製、無需天才靈光的判定程序(decision procedure)。這正是現代邏輯與亞里斯多德三段論的分水嶺。

那條讓人不安的「→」:實質條件句

真值表也藏著一個讓初學者皺眉、卻意義深遠的設計:條件句「$p \to q$」的真值表規定,只要前件 $p$ 為假,整句就為真,無論後件如何。

這意味著「如果月亮是乳酪做的,那麼 1+1=3」這句話在邏輯上是真的——因為前件「月亮是乳酪」為假。這違反直覺到近乎荒謬。哲學家稱這種「→」為實質條件句(material conditional),並圍繞它爭論了一個世紀。

為什麼要這樣定義?因為要維持「真值函數」這個引擎不熄火,條件句的真假就必須完全由前後件的真假決定,沒有第三條路。而「前件假則整句真」這個約定,能讓「$p \to q$」等價於「¬$p \lor q$」,使整套系統保持優雅一致。代價是:它捕捉不到日常「如果」裡那層相關性——我們說「如果下雨就帶傘」時,預設了雨和傘之間有真實連結,而實質條件句對此一無所知。

這個落差催生了一整片研究領域。相干邏輯(relevance logic)試圖要求前後件必須「相干」才算數;反事實條件句(counterfactual conditionals)如「假如你昨天讀了書,今天就會過關」更需要可能世界(possible worlds)的語意才能分析。日常的「如果」,遠比真值表那一欄複雜——而看清這個落差,本身就是邏輯素養的進階標誌。

從命題到謂詞:讓「所有」與「存在」進場

命題邏輯有個天花板。回看入門篇的招牌例子:「所有人都會死;蘇格拉底是人;所以蘇格拉底會死。」這個論證明明有效,但命題邏輯證明不了它。為什麼?因為命題邏輯只看得到三個沒有內部結構的整句 $p, q, r$,它看不見「所有」「是人」「會死」這些把句子串起來的關節。對它而言,這只是「$p, q$,所以 $r$」——毫無必然關係。

謂詞邏輯(predicate logic,又稱一階邏輯 first-order logic)打開了句子內部。它引入:

  • 個體(如蘇格拉底,記作 $s$)
  • 謂詞(如「是人」$H(x)$、「會死」$M(x)$)
  • 量詞:全稱量詞 ∀(對所有)與存在量詞 ∃(存在某個)

於是那個論證變成:

前提一:$\forall x\,(H(x) \to M(x))$ (對所有 $x$,如果 $x$ 是人,則 $x$ 會死) 前提二:$H(s)$ (蘇格拉底是人) 結論:$M(s)$ (蘇格拉底會死)

現在有效性看得見了:全稱句「對所有 $x$」當然涵蓋 $x = s$ 這個特例,套進去得 $H(s) \to M(s)$,再配上 $H(s)$,由肯定前件(modus ponens)直接得 $M(s)$。量詞讓邏輯第一次能處理「一般規律如何約束個別事例」——這正是數學與科學推理的命脈。

這裡有個進階陷阱值得提醒:量詞的順序會徹底改變意思。「$\forall x\,\exists y\,(y\text{ 是 }x\text{ 的母親})$」說的是「每個人都有某個母親」(合理);把量詞對調成「$\exists y\,\forall x\,(y\text{ 是 }x\text{ 的母親})$」,卻變成「存在某一個人,是所有人的母親」(荒謬)。同樣兩個量詞、同樣的謂詞,順序一換,真假天差地別。許多日常推理的暗坑,正埋在這種量詞範圍(scope)的混淆裡。

不靠真值表的證明:自然演繹

真值表雖然萬無一失,卻有兩個弱點:變元一多,$2^n$ 列會爆炸;而且它只能對命題邏輯用,謂詞邏輯的論域可能無窮,根本列不完。我們需要另一條路——不是「窮舉所有情況」,而是「一步步推導」。

這就是證明論(proof theory)的領域。以自然演繹(natural deduction,由根岑 Gentzen 與雅斯科夫斯基提出)為例,它給每個連接詞一組引入規則(怎麼推出含該連接詞的句子)與消去規則(怎麼從含該連接詞的句子推出別的)。例如:

  • ∧ 引入:有了 $p$,又有了 $q$,就能寫下 $p \land q$。
  • ∧ 消去:有了 $p \land q$,就能拆出 $p$(或 $q$)。
  • → 引入:假設 $p$,若能推導出 $q$,就能解除假設、得到 $p \to q$。

最後這條最精彩:它讓我們能「暫時假設」某件事,看它導向何方,再把假設收回成一個條件句。這正是數學家寫「設……,則……」的形式化身。整個證明就像搭積木,每一步都由規則授權,無需鋪開整張真值表。

這裡浮現一個深刻問題:自然演繹這套「語法」推導,和真值表那套「語意」判準,會不會兜不攏?會不會有個論證語意上有效(真值表過關)卻推導不出來,或反過來推導得出卻其實無效?這個「兩套系統是否相等」的疑問,把我們直接帶到 metalogic(後設邏輯)的門口。

重點回顧

  • 真值表把「不可能前提全真而結論假」這個無窮判準,壓縮成有限可算的程序:找不到反例列就有效,找到一列就無效。
  • 邏輯連接詞是真值函數的——複合句真假完全由子句真假決定。這個性質是整套機器的引擎,但也逼出反直覺的實質條件句(前件假則整句真)。
  • 謂詞邏輯用量詞 ∀/∃ 打開句子內部結構,才能證明「所有人會死,蘇格拉底是人,故蘇格拉底會死」這類命題邏輯搆不到的推論;量詞順序一換,意思全變。
  • 自然演繹用引入/消去規則一步步推導,不必窮舉真值表,並能處理無窮論域;「→ 引入」把「暫時假設再收回」形式化。
  • 語意(真值表、模型)與語法(推導、證明)是兩套獨立系統,它們是否吻合,是 metalogic 的核心問題。

深入探討(研究所視角)

入門篇在最後點到完備性與不完備性,這裡我們把它接成一條完整的故事線,並補上機制。

兩套系統的會師:可靠性與完備性。 把語意有效(⊨,「凡前提真之模型結論皆真」)與語法可證(⊢,「依規則推導得出」)分開後,自然要問它們是否外延相等。這拆成兩個方向。可靠性(soundness)說 ⊢ 蘊涵 ⊨——能推導出來的都真正有效,這保證系統不會「證出假貨」,相對好證。困難的是反向的完備性(completeness):⊨ 蘊涵 ⊢——凡有效者皆可證。哥德爾的一階邏輯完備性定理(1929)正是證明了這個方向,常用亨金構造(Henkin construction)來做:把任何一致的語句集擴充成「極大一致集」,再用它蓋出一個讓所有語句成真的模型,從而證明「不可證」必伴隨「有反模型」。可靠加完備,意味我們的證明機器恰好抓住有效性,不多不少。

緊緻性與一階邏輯的盲點。 完備性定理有個威力驚人的推論——緊緻性定理(compactness):一個語句集若其每個有限子集都有模型,則整個(可能無窮的)集也有模型。這催生了非標準分析(nonstandard analysis),讓「無窮小量」獲得嚴格地位。但緊緻性也暴露一階邏輯的天生限制:它無法用單一語句集精確刻劃「自然數結構」——必然存在滿足同樣公理、卻塞進額外「非標準元素」的怪異模型(Skolem 悖論的近親)。想排除這些,得跳到二階邏輯(second-order logic),但代價是失去完備性。這是邏輯學裡反覆出現的權衡:表達力與後設性質往往不可兼得

回到說謊者:不完備性的引擎。 本文開頭的說謊者悖論,正是哥德爾不完備性定理(1931)的靈感來源。哥德爾的鬼斧神工在於算術化(Gödel numbering):給每個符號、公式、證明編一個自然數,使得「某公式可被證明」這種關於系統的後設陳述,搖身變成系統內部一條關於數字的算術命題。接著他用對角線引理(diagonal lemma)造出一個自我指涉的句子 $G$,其內容恰好是「$G$ 不可在本系統中被證明」——這正是說謊者「這句話是假的」的精密升級版,只是把危險的「假」換成了安全的「不可證」。於是:若 $G$ 可證,系統就證出了一個假命題(不一致);若系統一致,$G$ 必為真卻不可證。任何足夠強(能表達基本算術)且一致的形式系統,都逃不過這道命題。第二不完備性定理更尖銳:這樣的系統無法在自身內部證明自己的一致性——希爾伯特(Hilbert)想用有限手段一勞永逸奠定全部數學的綱領,至此宣告觸礁。

判定性與計算的邊界。 還有最後一塊拼圖。命題邏輯有真值表這個判定程序,是可判定的(decidable)。但一階邏輯呢?邱奇(Church)與圖靈(Turing)在 1936 年各自證明:一階邏輯的有效性不可判定(undecidable)——不存在任何演算法,能對任意一階語句一致地判斷它是否有效。為此圖靈發明了圖靈機(Turing machine)並證明停機問題(halting problem)不可解,這正是計算理論的誕生時刻。於是邏輯與計算在最深處交會:哥德爾的「真而不可證」、邱奇—圖靈的「有效而不可判定」,共同畫出了形式方法的根本邊界。這條邊界也是今日「大型語言模型能否真正進行邏輯推理」爭論的底色——一個系統即便能生成形狀正確的推導,也終究撞上這些任何形式系統都繞不過的天花板。從一句「這句話是假的」出發,我們最後抵達的,是人類理性自我認識的極限地圖。

AI 共讀助教正在陪你讀:這句話是假的:邏輯如何用真值表、量詞與證明檢查自己,又如何撞上極限
嗨!我是這篇文章的共讀助教,只根據〈這句話是假的:邏輯如何用真值表、量詞與證明檢查自己,又如何撞上極限〉的內容回答。可以問我「解釋某段」「舉個例子」「出題考我」,或反白文中段落後點下方「解釋選取段落」。