離散數學知識點概述
持續更新中!!!!
1. 命題邏輯
1.1 命題符號化及聯結詞
具有唯一真值的陳述句稱為命題
- x + y > 5.(×)
- 這朵花多好看呀(×)
- 明天下午有會嗎?(×)
- 請關上門!(×)
- 除地球外,其他星球上也有生命(√)
不能再分解為更為簡單句子的命題為簡單命題或原子命題
簡單命題可以用p , q , r , ... , pi , qi , ri , ... 表示,稱為命題符號化
對於簡單命題來說,它的真值是確定的,因而又稱為命題常項或命題常元
真值可以變化的簡單陳述句稱為命題變項或命題變元,也可以用p , q , r , ... , pi , qi , ri , ...表示
由簡單命題用聯結詞聯結而成的命題稱為復合命題
這些簡單命題之間是通過如“或者”、“並且”、“不”、“如果......則......”、“當且僅當”等這樣的關聯詞和標點符號復合而成。
聯結詞“或”,又是具有相容性,有時具有排斥性,可是在數理邏輯中不允許這種二義性的存在,因而對聯結詞必須給出精確的定義,聯結詞符號化很好的解決了這個問題
真值聯結詞(邏輯聯結詞)
- 否定式:設p為一命題,復合命題“非p”(或“p的否定”)稱為p的否定式,記作\(\neg\) p。\(\neg\) 為否定聯結詞,\(\neg\) p為真當且僅當p為假
- 關鍵詞:不是、沒有
- 合取式:設p、q為兩命題,復合命題“p並且q”(或“p和q”)稱為p與q的合取式,記作p \(\land\) q。\(\land\) 稱作合取聯結詞,p \(\land\) q為真有且僅當p與q同時為真
- 關鍵詞:“既\(\ldots\)又\(\ldots\)”,“不僅\(\ldots\)而且\(\ldots\)”,“雖然\(\ldots\)但是\(\ldots\)”
- 用p表示“李平聰明”,q表示“李平用功”,“李平不是不聰明,而是不用功” \(\Rightarrow\) \(\neg\) ( \(\neg\) p) \(\land\) \(\neg\) q
- "李文和李武是好朋友"此命題雖出現“和”,但它是簡單命題,而不是復合命題
- 析取式:設p、q為兩命題,復合命題“p或q”稱作p與q的析取式,記作p \(\lor\) q。\(\lor\) 稱作析取聯結詞,p \(\lor\) q為假有且僅當p與q同時為假
- 關鍵詞:相容或
- p表示”王燕學過英語“,q表示“王燕學過法語”,“王燕學過英語和法語” \(\Rightarrow\) p \(\lor\) q
- p表示“派小王開會”,q表示“派小李去開會”, “派小王或者小李去開會” \(\Rightarrow\) (p \(\lor\) q) \(\land\) \(\neg\) (p \(\land\) q), (p \(\land\) \(\neg\) q) \(\land\) (p \(\land\) \(\neg\) q)
- 蘊涵式:設p、q為兩命題,復合命題“如果p,則q”稱作p與q的蘊涵式,記作p \(\rightarrow\) q,稱q為蘊涵式式的前件,q為蘊涵式的后件。\(\rightarrow\) 稱作蘊涵聯結詞,p \(\rightarrow\) q為假當且僅當p為真q為假
- 關鍵詞:“只要p就q”,“p僅當q”,“只有q才p”
- q是p的必要條件,或p是q的充分條件
- 在數理邏輯中p \(\rightarrow\) q中的p與q不一定有什么內在聯系
- 等價式:設p、q為兩命題,復合命題“p當且僅當q”稱作p與q的等價式,記作p \(\leftrightarrow\) q。\(\leftrightarrow\) 稱作等價聯結詞,p \(\leftrightarrow\) q為真當且僅當p與q的真值相同
- 關鍵詞:“當且僅當”
- p與q互為充分必要條件
1.2 命題公式及分類
命題公式
若在復合命題中,p , q , r , ... , pi , qi , ri , ...不僅可以代表命題常項,還可以代表命題變項,這樣組成的復合命題形式稱為命題公式,也稱合式公式,簡稱公式
(1)單個命題變項 p , q , r , ... , pi , qi , ri , ...是合式公式
(2)如果A是合式公式,則(\(\neg\) A)也是合式公式
(3)如果A、B是合式公式,則(A \(\land\) B)、(A \(\lor\) B)、(A \(\rightarrow\) B)、(A \(\leftrightarrow\) B) 也是合式公式
(4)只有有限次地應用1~3組成的符號串才是合式公式
- 為方便起見,(\(\neg\) A)、(A \(\land\) B)等的外層括號可以省去
公式的層次
(1)若A是單個命題(常項或變項),則稱A為0層公式
(2)稱A是n + 1(n≥0)層公式是指下列諸情況之一
①A= \(\neg\) B,B為n層公式
②A=B \(\land\) C,其中B、C分別為i層和j層公式,且n=max(i,j)
③A=B \(\lor\) C,其中B、C分別為i層和j層公式,且n=max(i,j)
④A=B \(\rightarrow\) C,其中B、C分別為i層和j層公式,且n=max(i,j)
⑤A=B \(\leftrightarrow\) C,其中B、C分別為i層和j層公式,且n=max(i,j)
(3)若A的層次為k,則稱A為k層公式
- 一個含有命題變項的命題公式的真值是不確定的,只有對它的每個命題變項用指定的命題常項代替后,命題公式才變成命題,其真值也就唯一確定了
賦值(解釋)
設A為一命題公式,p1 , p2 , p3 , ... , pn為出現在A中的所有的命題變項,給p1 , p2 , p3 , ... , pn指定一組真值,稱為對A的一個賦值或解釋。若指定的一組值使A的值為真,則稱這組值為A的成真賦值;若使A的值為假,則稱這組值為A的成假賦值
真值表
設公式A含有n(n≥1)個命題變項,將A在2n個賦值下的取值情況列成表,稱為A的真值表
構造真值表的具體步驟:
①找出命題公式中所含的所有命題變項p1 , p2 , p3 , ... , pn(按照字典序和下標數字大小給出)
②按從低到高的順序寫出各層次
③列出所有可能的賦值。從00……0(n位,二進制)開始,每次加1(十進制),直到11……1為止
④對應每個賦值,計算命題公式各層次的值,直到最后計算成命題公式的值
p | q | r | \(\neg\) r | q \(\lor\) \(\neg\) r | p \(\land\) ( q \(\lor\) \(\neg\) r ) |
---|---|---|---|---|---|
0 | 0 | 0 | 1 | 1 | 0 |
0 | 0 | 1 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 1 | 0 |
0 | 1 | 1 | 0 | 1 | 1 |
1 | 0 | 0 | 1 | 1 | 1 |
1 | 0 | 1 | 0 | 0 | 0 |
1 | 1 | 0 | 1 | 1 | 1 |
1 | 1 | 1 | 0 | 1 | 1 |
公式分類
設A為一個公式
①若A無成假賦值,則稱A為重言式或永真式
②若A無成真賦值,則稱A為矛盾式或永假式
③若A至少有一個成真賦值,則稱A為可滿足式
④若A至少有一個成真賦值,又至少有一個成假賦值,則稱A為非重言式的可滿足式
n元真值函數
一個n(n \(\geq\) 1)階笛卡爾積 {0,1}n 到 {0,1} 的函數稱為一個n元真值函數。n元真值函數F記為F:{0,1}n \(\rightarrow\) {0,1}
n個命題變項,共有2n個可能的賦值。對於每個賦值,真值函數的函數值非0即1。於是n個命題變元共可以形成4n個不同的真值函數。每個真值函數對應一個真值表,也對應無窮多個命題公式,這些公式彼此都是等值的,它們中的每一個都是這個真值函數的一個表達形式。
p q | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 |
---|---|---|---|---|---|---|---|---|
0 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 |
1 0 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 |
1 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
p q | F9 | F10 | F11 | F12 | F13 | F14 | F15 | F16 |
---|---|---|---|---|---|---|---|---|
0 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
0 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 |
1 0 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 |
1 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
- F1對應的命題公式都是矛盾式,F16對應的命題公式都是重言式……
1.3 等值演算
基本等值式
設A、B為兩命題公式,若等價式A \(\leftrightarrow\) B是重言式,則稱A與B是等值的,記作A \(\Leftrightarrow\) B。因而判斷A與B是否等值等價於判斷A、B的真值表是否相同。
名稱 | 公式 |
---|---|
雙重否定率 | \(\neg\) \(\neg\) A \(\Leftrightarrow\) A |
等冪律 | A \(\lor\) A \(\Leftrightarrow\) A A \(\land\) A \(\Leftrightarrow\) A |
交換律 | A \(\lor\) B \(\Leftrightarrow\) B \(\lor\) A A \(\and\) B \(\Leftrightarrow\) B \(\land\) A |
結合律 | (A \(\lor\) B) \(\lor\) C \(\Leftrightarrow\) A \(\lor\) (B \(\lor\) C) (A \(\land\) B) \(\land\) C \(\Leftrightarrow\) A \(\land\) (B \(\land\) C) |
分配律 | A \(\lor\) (B \(\land\) C) \(\Leftrightarrow\) (A \(\lor\) B) \(\land\) (A \(\lor\) C) A \(\land\) (B \(\lor\) C) \(\Leftrightarrow\) (A \(\land\) B) \(\lor\) (A \(\land\) C ) |
德 \(\cdot\) 摩根律 | \(\neg\) (A \(\lor\) B) \(\Leftrightarrow\) \(\neg\) A \(\land\) \(\neg\) B \(\neg\) (A \(\land\) B) \(\Leftrightarrow\) \(\neg\) A \(\lor\) \(\neg\) B |
吸收律 | A \(\lor\) (A \(\land\) B) \(\Leftrightarrow\) A A \(\land\) (A \(\lor\) B) \(\Leftrightarrow\) A |
零律 | A \(\lor\) 1 \(\Leftrightarrow\) 1 A \(\land\) 0 \(\Leftrightarrow\) 0 |
同一律 | A \(\lor\) 0 \(\Leftrightarrow\) A A \(\and\) 1 \(\Leftrightarrow\) A |
排中律 | A \(\lor\) \(\neg\) A \(\Leftrightarrow\) 1 |
矛盾律 | A \(\land\) \(\neg\) A \(\Leftrightarrow\) 0 |
蘊涵等值式 | A \(\rightarrow\) B \(\Leftrightarrow\) \(\neg\) A \(\lor\) B |
等價等值式 | A \(\leftrightarrow\) B \(\Leftrightarrow\) (A \(\rightarrow\) B) \(\land\) (B \(\rightarrow\) A) |
假言易位 | A \(\rightarrow\) B \(\Leftrightarrow\) \(\neg\) B \(\rightarrow\) \(\neg\) A |
等價否定等值式 | A \(\leftrightarrow\) B \(\Leftrightarrow\) \(\neg\) A \(\leftrightarrow\) \(\neg\) B |
歸謬論 | (A \(\rightarrow\) B) \(\land\) (A \(\rightarrow\) \(\neg\) B) \(\Leftrightarrow\) \(\neg\) A |
- 以上等值式都不難用真值表證明
- 由於A、B、C代表的是任意的命題公式,因而每個公式都是一個模式,他可代表無數多個同類型的命題公式
- 由已知等值式推演出與給定公式等值的公式的過程為等值演算
置換規則
設 \(\Phi\) (A)是含公式A的命題公式,\(\Phi\) (B) 是用B置換 \(\Phi\) (A) 中的A之后得到的公式,若A \(\Leftrightarrow\) B,則 \(\Phi\) (A) \(\Leftrightarrow\) \(\Phi\) (B)
1.4 范式
簡單析取式和簡單合取式
僅由有限個命題變項或其否定構成的析取式稱為簡單析取式
僅由有限個命題變項或其否定構成的合取式為簡單合取式
- 一個簡單析取式是重言式,當且僅當它同時含有一個命題變項及其否定
- 一個簡單合取式是矛盾式,當且僅當它同時含有一個命題變項及其否定
例如,簡單析取式p \(\lor\) \(\neg\)p \(\lor\) q是重言式
析取范式和合取范式
僅由有限個簡單合取式構成的析取式稱為析取范式
僅由有限個簡單析取式構成的合取式稱為合取范式
-
一個析取范式是矛盾式,當且僅當它的每個簡單合取式是矛盾式
-
一個合取范式是重言式,當且僅當它的每個簡單析取式是重言式
范式存在定理
范式存在定理:任一命題公式都存在與之等值的析取范式和合取范式,且不是唯一的
- 由於與某一命題公式等值的析取范式與合取范式的不唯一性,因而析取范式與合取范式不能作為同一真值函數所對應的命題公式的標准形式
極小項
設有n個命題變項,若在簡單合取式中每個命題變項與其否定出現且僅出現一次,則稱這樣的簡單合取式為極小項。在極小項中,命題變項與其否定通常按下角標和字典順序排列。
-
將命題變項看成1,命題變項的否定看成0,則每個極小項對應一個二進制數。這個二進制數正好是該極小項的成真賦值。用這個二進制數對應的十進制數作為該極小項符號的角碼
-
n個命題變項共可產生 2n 個不同的極小項,分別記為 m0 , m1 , …… , m2^n-1
主析取范式
如果公式A的析取范式中的簡單合取式全是極小項,則稱該析取范式為A的主析取范式
任何命題公式都有唯一的主析取范式
-
只要知道一個命題公式A的主析取范式,即可寫出真值表
-
反之,若知道了A的真值表,找出所有的成真賦值,以對應的十進制數作為角碼的極小項,從而可立即寫出A的主析取范式
-
由於任何命題公式的主析取范式都是唯一的,因而若A \(\Leftrightarrow\) B,說明A與B有相同的主析取范式。反之,若A,B有相同的主析取范式,必有A \(\Leftrightarrow\) B
-
判斷命題公式的類型
- A為重言式,當且僅當A的主析取范式中含全部2n 個極小項
- A為矛盾式 ,當且僅當A的主析取范式不含任何極小項,此時記A的主析取范式為0
極小項 | 二進制 | 寫法 |
---|---|---|
\(\neg\) p \(\land\) \(\neg\) q \(\land\) \(\neg\) r | 000 | m0 |
\(\neg\) p \(\land\) \(\neg\) q \(\land\) r | 001 | m1 |
\(\neg\) p \(\land\) q \(\land\) \(\neg\) r | 010 | m2 |
\(\neg\) p \(\land\) q \(\land\) r | 011 | m3 |
p \(\land\) \(\neg\) q \(\land\) \(\neg\) r | 100 | m4 |
p \(\land\) \(\neg\) q \(\land\) r | 101 | m5 |
p \(\land\) q \(\land\) \(\neg\) r | 110 | m6 |
p \(\land\) q \(\land\) r | 111 | m7 |
極大項
設有n個命題變項,若在簡單析取式中每個命題變項與其否定出現且僅出現一次,則稱這樣的簡單析取式為極大項。在極大項中,命題變項與其否定通常按下角標和字典順序排列。
-
將命題變項看成0,命題變項的否定看成1,則每個極大項對應一個二進制數。這個二進制數正好是該極大項的成假賦值。用這個二進制數對應的十進制數作為該極大項符號的角碼
-
n個命題變項共可產生 2n 個不同的極大項,分別記為 M0 , M1 , …… , M2^n-1
主合取范式
如果公式A的合取范式中的簡單析取式全是極大項,則稱該析取范式為A的主合取范式
任何命題公式都有唯一的主析取范式
- 主析取范式和主合取范式互為對偶
1.5 聯結詞全功能集
全功能集
一般來說,在自然推理系統中,聯結詞集中的聯結詞越少越好,但必須具備表示所有真值函數的能力。
設S是一個聯結詞集合,如果任一真值函數都可以用僅含S中的聯結詞的命題公式表示,則稱S為全功能集
{ \(\neg\) , \(\land\) , \(\lor\) }、{\(\neg\) , \(\land\) } 、{\(\neg\) , \(\land\) }、{\(\neg\) , \(\rightarrow\)}都是聯結詞全功能集
與非聯結詞
設p 、q 為兩命題,復合命題"p 與 q 的否定"稱為p 與 q的與非式,記作 p \(\uparrow\) q ,即 p \(\uparrow\) q \(\Leftrightarrow\) \(\neg\) (p \(\land\) q) , \(\uparrow\) 稱作與非聯結詞
或非聯結詞
設p 、q 為兩命題,復合命題"p 或 q 的否定"稱為p 或 q的與非式,記作 p \(\downarrow\) q ,即 p \(\downarrow\) q \(\Leftrightarrow\) \(\neg\) (p \(\lor\) q) , \(\uparrow\) 稱作或非聯結詞
-
{\(\uparrow\)}、{\(\downarrow\)}是聯結詞全功能集
-
除此之外,還有許多聯結詞全功能集
1.6 組合電路
略
1.7 推理理論
推理、前提、結論
推理是從前提推出結論的思維工程
前提是指已知的命題公式
結論是指從前提出發應用推理規則推出的命題公式
推理正確、邏輯結論、推理的形式結構
若(A1 \(\land\) A2 \(\land\) \(\cdots\) \(\land\) Ak) \(\rightarrow\) B 為重言式,則稱(A1 \(\land\) A2 \(\land\) \(\cdots\) \(\land\) Ak) 推出結論B的推理正確, B是 A1 , A2 , \(\cdots\) , Ak 的邏輯結論或有效結論。稱(A1 \(\land\) A2 \(\land\) \(\cdots\) \(\land\) Ak) \(\rightarrow\) B 為由前提 A1 , A2 , \(\cdots\) , Ak 推出結論B的推理的形式結構
- 用 A \(\Leftrightarrow\) B 表示 A \(\leftrightarrow\) B 是重言式類似,用 A \(\Rightarrow\) B 表示 A \(\rightarrow\) B 是重言式
- 判斷推理是否正確就是判斷一個蘊涵式是否為重言式(等值演算)
推理定律
名稱 | 定律 |
---|---|
附加 | A \(\Rightarrow\) (A \(\lor\) B) |
化簡 | (A \(\land\) B) \(\Rightarrow\) A |
假言推理 | ((A \(\rightarrow\) B) \(\land\) A) \(\Rightarrow\) B |
拒取式 | ((A \(\rightarrow\) B) \(\land\) \(\neg\) B) \(\Rightarrow\) \(\neg\) A |
析取三段論 | ((A \(\lor\) B) \(\land\) \(\neg\) A) \(\Rightarrow\) B |
假言三段論 | ((A \(\rightarrow\) B) \(\land\) (B \(\rightarrow\) C)) \(\Rightarrow\) (A \(\rightarrow\) C) |
等價三段論 | ((A \(\leftrightarrow\) B) \(\land\) (B \(\leftrightarrow\) C)) \(\Leftrightarrow\) (A \(\leftrightarrow\) C) |
構造性二難 | (A \(\rightarrow\) B) \(\land\) (C \(\rightarrow\) D) \(\land\) (A \(\lor\) C) \(\Leftrightarrow\) (B \(\lor\) D) |
證明
證明是一個描述推理過程的命題公式序列,其中每個命題公式或者是已知的前提,或者是由前面的命題公式應用推理規則得到的結論
推理規則
在以下推理規則中,用 A1 , A2 , ... , Ak \(\vDash\) B 表示 B 是 A1 , A2 , ... , Ak 的邏輯結論,在證明的序列中,若已有A1 , A2 , ... , Ak ,則可引入B
- 前提引入規則:在證明的任何一步,都可以引入前提
- 結論引入規則:在證明的任何一步,前面已經證明的結論都可作為后續證明的前提
- 置換規則:在證明的任何步驟上,命題公式中的任何子命題公式給都可以用與之等值的命題公式置換
- 假言推理規則:A \(\rightarrow\) B, A \(\vDash\) B
- 附加規則:A \(\vDash\) A \(\lor\) B
- 化簡規則:A \(\land\) B \(\vDash\) A
- 拒取式規則:A \(\rightarrow\) B, \(\neg\) B \(\vDash\) \(\neg\) A
- 假言三段論規則:A \(\rightarrow\) B, B \(\rightarrow\) C \(\vDash\) A \(\rightarrow\) C
- 析取三段論規則:A \(\lor\) B , \(\neg\) B \(\vDash\) A
- 構造性二難規則:A \(\rightarrow\) B, C \(\rightarrow\) D, A \(\lor\) C \(\vDash\) B \(\lor\) D
- 合取引入規則:A, B \(\vDash\) A \(\land\) B
附加前提證明法
(A1 \(\land\) A2 \(\land\) \(\cdots\) \(\land\) Ak) \(\rightarrow\) (A \(\rightarrow\) B)
\(\Leftrightarrow\) \(\neg\) (A1 \(\land\) A2 \(\land\) \(\cdots\) \(\land\) Ak) \(\lor\) (\(\neg\) A \(\lor\) B)
\(\Leftrightarrow\) \(\neg\) (A1 \(\land\) A2 \(\land\) \(\cdots\) \(\land\) Ak \(\land\) A) \(\lor\) B
\(\Leftrightarrow\) \(\neg\) (A1 \(\land\) A2 \(\land\) \(\cdots\) \(\land\) Ak \(\and\) A) \(\rightarrow\) B
原來結論中的前件A已經變成前提了,稱A為附加前提。
- 例題
- 前提:p \(\rightarrow\) (q \(\rightarrow\) r), \(\neg\) s \(\lor\) p, q
- 結論:s \(\rightarrow\) r
- 證明:
- \(\neg\) s \(\lor\) p
- s
- p
- p \(\rightarrow\) (q \(\rightarrow\) r)
- q \(\rightarrow\) r
- q
- r
歸謬法
若 A1 \(\land\) A2 \(\land\) \(\cdots\) \(\land\) Ak 是可滿足式, 則稱 A1 , A2 , ... , Ak 是相容的, 否則是不相容的
(A1 \(\land\) A2 \(\land\) \(\cdots\) \(\land\) Ak)\(\rightarrow\) B
\(\Leftrightarrow\) \(\neg\) (A1 \(\land\) A2 \(\land\) \(\cdots\) \(\land\) Ak)\(\lor\) B
\(\Leftrightarrow\) \(\neg\) (A1 \(\land\) A2 \(\land\) \(\cdots\) \(\land\) Ak \(\and\) \(\neg\) B)
若 A1 \(\land\) A2 \(\land\) \(\cdots\) \(\land\) Ak 與 \(\neg\) B 不相容, 則說明 B 是 A1 , A2 , ... , Ak的邏輯結論。
這種將\(\neg\) B 作為附加前提推出矛盾的證明方法稱為歸謬法
- 例題
- 前提:p \(\rightarrow\) (\(\neg\) (r \(\and\) s) \(\rightarrow\) \(\neg\) q), p, \(\neg\) s
- 結論:\(\neg\) q
- 證明;
- p \(\rightarrow\) (\(\neg\) (r \(\and\) s) \(\rightarrow\) \(\neg\) q)
- p
- \(\neg\) (r \(\and\) s) \(\rightarrow\) \(\neg\) q
- \(\neg\) (\(\neg%\) q)
- q
- r \(\and\) s
- \(\neg\) s
- s
- s \(\and\) \(\neg\) s
- 矛盾式