「形式邏輯筆記/第六章」修訂間的差異

出自Tan Kian-ting的維基
跳至導覽 跳至搜尋
 
(未顯示同一使用者於中間所作的 10 次修訂)
行 3: 行 3:
'''第六章 證明'''
'''第六章 證明'''


一堆命題序列,由premises(前件)推論到結論。
證明:一堆命題序列,由premises(前件)推論到結論。


本文使用 Fitcher 的演繹證明格式,排版形式與產生器請參此網站:https://mrieppel.github.io/fitchjs/
本文使用 Fitcher 的演繹證明格式,證明與排版產生器請參此網站:https://mrieppel.github.io/fitchjs/


==6.1 命題邏輯基本律==
==6.1 命題邏輯基本律==
行 11: 行 11:
從自然演繹系統開始。
從自然演繹系統開始。
* 邏輯操作子有有引入律 indroducion rule 和消去律 elimination rule。
* 邏輯操作子有有引入律 indroducion rule 和消去律 elimination rule。
===重新迭代律===
* reiteration 重新迭代律(R):重複自己。
* reiteration 重新迭代律(R):重複自己。
* 推論右邊的數字x代表引用某律到第x行。
* 推論右邊的數字x代表引用某律到第x行。
行 18: 行 20:
</pre>
</pre>


*conjunction交集:有A和B兩個命題,就能證明A&B存在。
===conjunction聯集&===
**引入律(&I)
有A和B兩個命題,就能證明A&B存在。
 
*引入律(&I)
<pre>
<pre>
1  |  P          Premise
1  |  P          Premise
行 25: 行 29:
3  |  (P & Q)    1,2  &I # 套用第1和第2行
3  |  (P & Q)    1,2  &I # 套用第1和第2行
</pre>
</pre>
**消去律(&E)
*消去律(&E)


<pre>
<pre>
1  |  (P & Q)    Premise
1  |  (P & Q)    Premise
2 |  P          1  &E # P&Q推論P存在
2 |  P          1  &E # P&Q推論P存在
3  |  Q          1  &E #P&Q也可以推論P存在
3  |  Q          1  &E #P&Q也可以推論Q存在
</pre>
 
===disjunction交集∨===
 
若 A 存在可推論A∨B存在。不管B實際上是假的還是真的。
 
*引入律(∨I)
 
<pre>
...
5  |  Q         
6  |  (Q v S)    5  vI
</pre>
 
*消去律(∨E):首先要消去A∨B的B,需要證明¬B。
 
<pre>
1  | (P v Q) 
2  |  ~Q       
3  |_  P  1,2  vI
</pre>
 
:如果用上述的證明器會比較 tricky,他不用這個證明規則,要用⊥引入(可以視爲矛盾的意思?)和⊥消除原則,讓各起源於∨左項和右項2個子證明結果證出左項,再進行消除。
 
<pre>
Problem: (P v Q), ~Q |- P
 
1  |  (P v Q)    Premise
2  |_  ~Q        Premise
3  | |_  P        Assumption
4  | |  P        3  Reit
5  | |_  Q        Assumption
6  | |  ~Q      2  Reit
7  | |  ⊥        5,6  ⊥I
8  | |  P        7  (EFQ)
9  |  P          1,3-4,5-8  vE
</pre>
 
===conditional條件→===
*假設寫完之後加橫線
<pre>
1 | A
2 |_ B
</pre>
 
我們要假設某個特殊狀況出現,可以用次證明,往右縮排加直線,然後再給定特殊情況的前線:
 
*假設寫完之後加短橫線
<pre>
1 | A # 1,2 是母證明的假設
2 |_ B
3 | |_ C # 3 底下是子證明,假設的最後加橫線
4 | | ...
</pre>
*引入律(→I)
假設子證明假設 C 可推演到結論 G,那麼可以做條件引入,如:
 
<pre>
1  |  ...
2  |_  B                Premise
3  | |_ C              Assumption # want D
4  | |  ...
5  | |  D        3  ∨I
6  |  (C → D)    3-5  →I
</pre>
 
證明案例:
 
<pre>
Problem: A, B |- (A → (A ∨ B))
 
1  |  A                Premise
2  |_  B                Premise
3  | |_  A              Assumption
4  | |  (A ∨ B)        3  ∨I
5  |  (A → (A ∨ B))    3-4  →I #用連字號連結子證明起訖,子證明結束(叫做解除 discharge)。
</pre>
</pre>
子證明結束後不能再次開啓,另外一個證明需要解除所有的子證明。
若是要引入→引入律,那就要在子證明出現前件(p→q的q)
*消去律(→E)
<pre>
1 | A→B
2 | A
3 | B
</pre>
===biconditional雙向條件↔===
*引入律(↔I)
<pre>
1 | |_ A
2 | |  B
3 | |_ B want A
4 | |  A
5 | A↔B  1-2, 3-4 ↔I
</pre>
*消去律(↔E)
:其一
<pre>
1 | A↔B
2 | A
3 | B  1,2 ↔E
</pre>
:另一
<pre>
1 | A↔B
2 | B
3 | A  1,2 ↔E
</pre>
===negation否定¬===
先假設A存在,最後發現推演出來的命題有互相矛盾的狀況,則否定¬A。
<pre>
m | |_ C #for reductio
n | | B
n+1 | | ¬B
n+2 | ¬C ¬I m-(n+1)
</pre>
==6.2 衍生律 (derived rule)==
爲了證明方便,將常用的證明策略稱爲衍生律,用來簡化證明。
* dilemma rule(DIL):
<pre>
m | AvB
n | A->C
o | B->C
  | C DIL m,n,o
</pre>
* modus tollens (MT):
<pre>
m | A->B
n | ~B
  | ~A MT m,n
</pre>
* hypothetical syllogism(HS):
<pre>
m | A->B
n | B->C
  | A->C HS m,n
</pre>
==6.3 替換律==
===commutivity (Comm) 交換律===
*(A&B)⇔(B&A)
*(AvB)⇔(BvA)
*(A↔B)⇔(B↔A)
===double negation (DN) 雙重否定===
*~~A⇔A
===De Morgan's Laws (DeM) 笛摩根定律===
*~(AvB)⇔(~A&~B)
*~(A&B)⇔(~Av~B)
==6.4 量化邏輯律==
∀x P x, ∃x P x 的 substitition instance (替代實例),就是 P c,c 是實例化常量。c可以是變數、wff 和常數。
===全稱量詞(universal qualifier)===
*全稱消去 ∀E
<pre>
m | ∀x P x
  | P a  ∀E m
</pre>
*全稱引入 ∀I
我們不能枚舉任何的變量,來達到全稱引入。我們就用一個人工變數 a(不賦予任何意義)來做證明:
<pre>
m | P a
  | ∀ x P x  ∀I m
其中 a 不能出現於任何未消除的假設
</pre>
===存在量詞(existential qualifier)===
*存在引入 ∃I
<pre>
m | P c
  | ∃ x P x  ∃I m
</pre>
*存在消除 ∃E
**假設有人工變數c,使得P x推演到B,那麼∃x P x 可證明 B
<pre>
m | ∃x P x
n |  |_ Pc
p |  | B
  | B      ∃E m, n-p
註:c 不能出現於B、子證明之外,以及 P x裏面。
</pre>
===qualifier negation(量詞否定,QN)===
*(~∀x Px)⇔(∃x ~Px)
*(~∃x Px)⇔(∀x ~Px)
==6.5同一性的律==
就算所有謂詞都讓 x, y 都有相同的證明值,但是不代表 x, y 是相同的。
*同一性引入(=I)
<pre>
| c = c =I
</pre>
*同一性消除(=E)
<pre>
m | c = d
n | A
  | Ac↺d =E m,n #↺代表所有c用d或是所有d用c替代
</pre>
==6.6證明的策略==
包含下列策略
* 不要忘記反證法
* 從目標往回推
* 從前提往前推
* 善用替換律
==6.7證明定理觀念==
* <math>A_1, A_2, ...</math>|-B 表示那些<math>A_i</math>可以證明B。
* A |- B,表示 B 是 A 的 derivation(衍生)。
* |- T,則T是定理,不需要任何前件。
* provably equivalent(證明等價)↔ A |- B 且 B |- A
* <math>A_1, A_2, ...</math> 是證明不一致(provably inconsistent)↔從其中推導出矛盾。如 B , {A_1, A_2, ...} |- B 且 {A_1, A_2, ...} |- ~B。
==6.8證明與模型==
* 證明一個定理比證明全真句還簡單。反之,證明命題不是定理比證明命題不是全真句還困難。
* A |- B <-> A |= B(一般而言。註:但是自然數不適用)
**argument vaild<->結論從前件 (premise) 推導出來
**證明等價 <-> 邏輯等價
**一致性(consistent) <-> 不是證明不一致。
何時使用模型?何時使用證明?
{| class="wikitable"
|-
! 敘述 !! 說明是 !! 說明否
|-
| A是全真句? ||  證明A || 找模式說A是假的
|-
| A是矛盾句? ||  證明~A || 用模式說明A是真的
|-
| A是非全真句? ||  用兩個模型,一個說明A真的,另一個說明A是假的。 || 證明A或證明~A
|-
| A和B等同? ||  <nowiki>證明A|-B和B|-A</nowiki> || 用模式說明A和B真僞值不同
|-
| 命題集合A一致? ||  給模式說明A的所有命題為真 || 從A證明B和~B
|-
| P,∴C valid? || 證明 P|-C || 給模型說明 P 為真 C 為假。
|}
==6.9 soundness and completeness==
*A |- B 和 A |= B的關係?
*沒有 invalid 的 argument 的證明系統是 sound。也就是 valid 的證明前項可以推出 valid 的證明後項。(A|-B -> A|=B)
*證明系統若是 sound 的,則給出的 theorem 公理會是全真句。
*若是任何 A |= B 則 A |- B,則具有完備性 completeness,就是任何為真的命題可以證明出來。
*哥德爾證明謂詞邏輯是完備性的(註:自然數的證明就不是了)。
{{ForAllX}}
[[category:邏輯學]]

於 2023年9月4日 (一) 05:01 的最新修訂

第六章 證明

證明:一堆命題序列,由premises(前件)推論到結論。

本文使用 Fitcher 的演繹證明格式,證明與排版產生器請參此網站:https://mrieppel.github.io/fitchjs/

6.1 命題邏輯基本律

從自然演繹系統開始。

  • 邏輯操作子有有引入律 indroducion rule 和消去律 elimination rule。

重新迭代律

  • reiteration 重新迭代律(R):重複自己。
  • 推論右邊的數字x代表引用某律到第x行。
1  |_  P    Premise
2  |   P    1  Reit # 第1行重複自身

conjunction聯集&

有A和B兩個命題,就能證明A&B存在。

  • 引入律(&I)
1  |   P          Premise
2  |_  Q          Premise
3  |   (P & Q)    1,2  &I # 套用第1和第2行
  • 消去律(&E)
1  |   (P & Q)    Premise
2  |   P          1  &E # P&Q推論P存在
3  |   Q          1  &E #P&Q也可以推論Q存在

disjunction交集∨

若 A 存在可推論A∨B存在。不管B實際上是假的還是真的。

  • 引入律(∨I)
...
5  |   Q          
6  |   (Q v S)    5  vI 
  • 消去律(∨E):首先要消去A∨B的B,需要證明¬B。
1  | (P v Q)   
2  |  ~Q        
3  |_  P   1,2  vI
如果用上述的證明器會比較 tricky,他不用這個證明規則,要用⊥引入(可以視爲矛盾的意思?)和⊥消除原則,讓各起源於∨左項和右項2個子證明結果證出左項,再進行消除。
Problem: (P v Q), ~Q |- P

1  |   (P v Q)    Premise
2  |_  ~Q         Premise
3  | |_  P        Assumption
4  | |   P        3  Reit
5  | |_  Q        Assumption
6  | |   ~Q       2  Reit
7  | |   ⊥        5,6  ⊥I
8  | |   P        7  (EFQ)
9  |   P          1,3-4,5-8  vE

conditional條件→

  • 假設寫完之後加橫線
1 | A 
2 |_ B

我們要假設某個特殊狀況出現,可以用次證明,往右縮排加直線,然後再給定特殊情況的前線:

  • 假設寫完之後加短橫線
1 | A # 1,2 是母證明的假設
2 |_ B 
3 | |_ C # 3 底下是子證明,假設的最後加橫線
4 | | ... 
  • 引入律(→I)

假設子證明假設 C 可推演到結論 G,那麼可以做條件引入,如:

1  |   ...
2  |_  B                Premise
3  | |_ C              Assumption # want D
4  | |   ...
5  | |   D        3  ∨I
6  |   (C → D)    3-5  →I

證明案例:

Problem: A, B |- (A → (A ∨ B))

1  |   A                Premise
2  |_  B                Premise
3  | |_  A              Assumption
4  | |   (A ∨ B)        3  ∨I
5  |   (A → (A ∨ B))    3-4  →I #用連字號連結子證明起訖,子證明結束(叫做解除 discharge)。

子證明結束後不能再次開啓,另外一個證明需要解除所有的子證明。

若是要引入→引入律,那就要在子證明出現前件(p→q的q)

  • 消去律(→E)
1 | A→B
2 | A
3 | B

biconditional雙向條件↔

  • 引入律(↔I)
1 | |_ A
2 | |  B

3 | |_ B want A
4 | |  A
5 | A↔B  1-2, 3-4 ↔I
  • 消去律(↔E)
其一
1 | A↔B
2 | A
3 | B  1,2 ↔E
另一
1 | A↔B
2 | B
3 | A  1,2 ↔E

negation否定¬

先假設A存在,最後發現推演出來的命題有互相矛盾的狀況,則否定¬A。

m | |_ C #for reductio
n | | B
n+1 | | ¬B
n+2 | ¬C ¬I m-(n+1)

6.2 衍生律 (derived rule)

爲了證明方便,將常用的證明策略稱爲衍生律,用來簡化證明。

  • dilemma rule(DIL):
m | AvB
n | A->C
o | B->C
  | C DIL m,n,o
  • modus tollens (MT):
m | A->B
n | ~B
  | ~A MT m,n
  • hypothetical syllogism(HS):
m | A->B
n | B->C
  | A->C HS m,n

6.3 替換律

commutivity (Comm) 交換律

  • (A&B)⇔(B&A)
  • (AvB)⇔(BvA)
  • (A↔B)⇔(B↔A)

double negation (DN) 雙重否定

  • ~~A⇔A

De Morgan's Laws (DeM) 笛摩根定律

  • ~(AvB)⇔(~A&~B)
  • ~(A&B)⇔(~Av~B)

6.4 量化邏輯律

∀x P x, ∃x P x 的 substitition instance (替代實例),就是 P c,c 是實例化常量。c可以是變數、wff 和常數。

全稱量詞(universal qualifier)

  • 全稱消去 ∀E
m | ∀x P x
  | P a  ∀E m
  • 全稱引入 ∀I

我們不能枚舉任何的變量,來達到全稱引入。我們就用一個人工變數 a(不賦予任何意義)來做證明:

m | P a
  | ∀ x P x  ∀I m
其中 a 不能出現於任何未消除的假設

存在量詞(existential qualifier)

  • 存在引入 ∃I
m | P c
  | ∃ x P x  ∃I m


  • 存在消除 ∃E
    • 假設有人工變數c,使得P x推演到B,那麼∃x P x 可證明 B
m | ∃x P x
n |  |_ Pc
p |  | B
  | B       ∃E m, n-p
註:c 不能出現於B、子證明之外,以及 P x裏面。

qualifier negation(量詞否定,QN)

  • (~∀x Px)⇔(∃x ~Px)
  • (~∃x Px)⇔(∀x ~Px)

6.5同一性的律

就算所有謂詞都讓 x, y 都有相同的證明值,但是不代表 x, y 是相同的。

  • 同一性引入(=I)
| c = c =I
  • 同一性消除(=E)
m | c = d
n | A 
  | Ac↺d =E m,n #↺代表所有c用d或是所有d用c替代

6.6證明的策略

包含下列策略

  • 不要忘記反證法
  • 從目標往回推
  • 從前提往前推
  • 善用替換律

6.7證明定理觀念

  • |-B 表示那些可以證明B。
  • A |- B,表示 B 是 A 的 derivation(衍生)。
  • |- T,則T是定理,不需要任何前件。
  • provably equivalent(證明等價)↔ A |- B 且 B |- A
  • 是證明不一致(provably inconsistent)↔從其中推導出矛盾。如 B , {A_1, A_2, ...} |- B 且 {A_1, A_2, ...} |- ~B。

6.8證明與模型

  • 證明一個定理比證明全真句還簡單。反之,證明命題不是定理比證明命題不是全真句還困難。
  • A |- B <-> A |= B(一般而言。註:但是自然數不適用)
    • argument vaild<->結論從前件 (premise) 推導出來
    • 證明等價 <-> 邏輯等價
    • 一致性(consistent) <-> 不是證明不一致。

何時使用模型?何時使用證明?

敘述 說明是 說明否
A是全真句? 證明A 找模式說A是假的
A是矛盾句? 證明~A 用模式說明A是真的
A是非全真句? 用兩個模型,一個說明A真的,另一個說明A是假的。 證明A或證明~A
A和B等同? 證明A|-B和B|-A 用模式說明A和B真僞值不同
命題集合A一致? 給模式說明A的所有命題為真 從A證明B和~B
P,∴C valid? -C 給模型說明 P 為真 C 為假。

6.9 soundness and completeness

  • A |- B 和 A |= B的關係?
  • 沒有 invalid 的 argument 的證明系統是 sound。也就是 valid 的證明前項可以推出 valid 的證明後項。(A|-B -> A|=B)
  • 證明系統若是 sound 的,則給出的 theorem 公理會是全真句。
  • 若是任何 A |= B 則 A |- B,則具有完備性 completeness,就是任何為真的命題可以證明出來。
  • 哥德爾證明謂詞邏輯是完備性的(註:自然數的證明就不是了)。
ForAll X 形式邏輯筆記

第一章 什麼是邏輯 - 第二章 命題邏輯 - 第三章 真值表 - 第四章 量化邏輯 - 第五章 形式語義- 第六章 證明