1. 程式人生 > 其它 >命題邏輯的基本概念與等值演算

命題邏輯的基本概念與等值演算

命題與聯結詞

命題:非真非假的陳述句

這朵花真美麗! × 不是陳述句
我正在說假話 × 悖論

真值:只有唯一的,作為陳述句的判斷結果

x大於y,其中x和y是任意的兩個數 × 不確定
火星上有水 √ 雖然目前未知,但是客觀存在且唯一

對於不能分解的命題稱作“簡單命題”或“原子命題”,可分的是複合命題

2是偶素數  複合命題
小王與王麗是同學 原子命題

我們可以將命題符號化,用0表示假,用1表示真

2是偶素數 p:2是偶數 q:2是素數 1

我們可以將聯結詞符號化

定義1.1

“非p”為p的否定式,記作\(\lnot p\),$\lnot \(為否定聯結詞 **規定\)\lnot p\(為真當且僅當\)

p$為假**

定義1.2

“p與q”為p與q的合取式,記作\(p\land q\),$\land \(為合取聯結詞 **規定\)p\land q\(為真當且僅當\)p,q$同時為真**

一假為假

  • $\land $的靈活性,語言中有很多表達方式

    他既用功又聰明
    他不僅用功而且聰明
    ……
    
  • 有時自然語言中的“與”、“和”並不是$\land $

    小王與王麗是同學 原子命題
    

定義1.3

"p與q"為p與q的析取式,記作\(p\lor q\),$\lor \(為析取聯結詞 **規定\)p\lor q\(為假當且僅當\)p,q$同時為假**

一真為真

\(\lor\)和自然語言的“或”不一樣:

  • 相容性

    他愛聽音樂或愛唱歌
    可以只愛音樂或者只愛唱歌,或者兩個都愛
    
  • 排斥性

    他只能挑選202或者203房間
    p:挑202 q:挑203
    此時不能同時滿足,如果用p∨q則錯誤
    

    表達排斥性應該用:\((p\land \lnot q)\lor (\lnot p\land q)\)

    他是江西人或安徽人
    p:他是江西人 q:他是安徽人
    按照上面的例子,用(p∧┐q)∨(┐p∧q)
    但是!同時是江西人和安徽人不可能同時發生,所以可以用p∨q
    

定義1.4

“如果p,則q”稱為p與q的蘊含式,記作\(p\to q\),p是蘊含式的前件,q是蘊含式的後件。\(\to\)稱作蘊含聯結詞。
規定\(p\to q\)

為假當且僅當 p為真 q為假\(0\to 1 =0\)

'0不能指向1'

注意,p,q不一定要有傳統語境下的關係

\(p:a能被4整除\)
\(q:a能被2整除\)

  1. 只要a能被4整除,則a一定能被2整除 \(p \to q\)

  2. 只有a能被4整除,a才能被2整除 \(q\to p\)

注意:2.中 被4 是 被2整除 的必要條件,所以 被2 指向 被4

定義1.5

p,q的等價式,記作\(q\leftrightarrow q\),\(\leftrightarrow\)等價聯結詞
規定\(q\leftrightarrow q\)為真當且僅當q與q同時為真或同時為假

\((p \to q)\land(q \to p)\)邏輯關係一樣

優先順序:

\((),\lnot ,\land , \lor ,\to , \leftrightarrow\)
同一優先順序至左向右

命題公式及其賦值

命題公式(合式公式,公式)

  • 命題常量,命題常元:真值確定
  • 命題變數,命題變元,命題變項:取值1或者0

用聯結詞和圓括號把命題和命題變項按照一定規則連線起來的符號串, 常用A,B,C等表示.

公式的層次

找最多層的變數

\(( \lnot(p\to\lnot q))\and((r\lor s)\leftrightarrow\lnot p)\) 4層,q是最內層的

公式的賦值

對公式中每一個命題變項給定一個值(0或1).
000 001 002 .....
成真賦值:使公式為真的賦值.
成假賦值:使公式為假的賦值.

構建真值表

  1. 列出 \(2^n\) (有限)個賦值,從00...0開始,每次加一
  2. 從內到外寫出各個層次的真值

結果分類

  • 各種賦值都為假,稱為矛盾式永假式
  • 不是矛盾式,就是可滿足式
  • 各種賦值都為真,為重言式永言式

啞元

A有p和q,B有p q r,其中對與公式A,B來說,r就是A的啞元

命題邏輯等值演算

等值式

等價式\(A\leftrightarrow B\)是重言式,則稱A與B等值,記作\(A\Leftrightarrow B\)

判斷是否為等值式:

  • 真值表法
  • 利用基本等值式進行等值演演算法

判斷是否為不等值:

  • 真值表法
  • 觀察法,找一個賦值給A與B,一個真一個假
  • 用等值演演算法化簡,再觀察

基本等值式

記憶&規律:

  • 雙否定律:\(\lnot \lnot A \Leftrightarrow A\)

    德摩根律:\(\lnot(A\lor B)\Leftrightarrow\lnot A \land \lnot B\)\(\lnot(A\land B)\Leftrightarrow\lnot A \lor \lnot B\)

    假言易位:\(A \to B \Leftrightarrow \lnot B \to \lnot A\)

    都與“否”有關,雙否可以構建德摩根律,德摩根律就是把“否”劃入括號中,每一項取否,\(\land\)\(\lor\)互換 ,假言易位還要改變指向

  • 冪等律:\(A\lor A \Leftrightarrow A\)\(A\land A \Leftrightarrow A\)

    同一律:\(A\lor 0 \Leftrightarrow A\)\(A\land 1 \Leftrightarrow A\)

    無論是\(\land\)\(\lor\),只要兩個相同的變元,就可以去掉一個

    與0析取不變,與1合取不變

  • 交換律:\(A \lor B \Leftrightarrow B \lor A\)\(A \land 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)\)

    很基本的定律,注意結合律,交換結合的幾項之間是一樣的聯結詞(要麼都是\(\lor\)要麼都是\(\land\)

  • 結合律:\(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)\)

    吸收律:\(A \lor (A \land B) \Leftrightarrow A\)\(A \land (A \lor B) \Leftrightarrow A\)

    結合律和吸收律都是\(\land\)\(\lor\)的混合,其中結合律外部的聯結詞到了內部,內部聯結詞到了外面

    結合律的逆過程也需要熟練,特點是內部聯結詞相同,並與外部聯結詞不同,每個內部有相同的變元A

    吸收律中的\(A\)可以看作\((A \land 1)\)\((A \lor 0)\)(同一律),替換以後用結合律的逆過程就可以推匯出來

  • 零律:\(A \lor 1 \Leftrightarrow 1\)\(A \land 0 \Leftrightarrow 0\)

    排中律:\(A \lor \lnot A \Leftrightarrow 1\)

    矛盾律:\(A \land \lnot A \Leftrightarrow 0\)

    零律告訴我們,析取1一定為1,合取0一定為0,與同一律效果不同

    觀察零律和同一律,A與1和0的結果,不是自身就是1或者0

    排中律和矛盾律是A與非A之間的性質,結果一定是0或者1

  • 蘊含等值式:\(A \to B \Leftrightarrow \lnot A \lor B\)

    等價等值式:\(A \leftrightarrow B \Leftrightarrow (A \to B) \land (B \to A)\)

    蘊含等值式需要記憶,“非 A V B”,等價等值式拆開來中間是合取∧

聯結詞完備集

如果任何n(n>1)元真值函式可以由S中的聯結詞表示,則S是聯結詞完備集

複合聯結詞

與非:\(p \uparrow q \Leftrightarrow \lnot(p\land q)\)

或非:\(p \downarrow q \Leftrightarrow \lnot(p \lor q)\)

想象一下,把\(\lor,\land\)尾部加一個尾巴變成\(\downarrow,\uparrow\)

正規化

簡單析取式與簡單合取式

  • 簡單析取式:有限個命題變項及其否定構成的析取式
  • 簡單合取式:有限個命題變項及其否定構成的合取式

定理:

  1. 一個簡單析取式是重言式 當且僅當 它同時含某個命題變項和它的否定(\(q \lor \lnot q\)
  2. 一個簡單合取式是矛盾式 當且僅當 它同時含某個命題變項和它的否定(\(p \land \lnot p\)

以上定理是零律可以易證

析取正規化和合取正規化

  • 析取正規化:由有限個簡單合取式組成的析取式

    $A_1 \lor A_2 \lor ...\lor A_r \(,其中\)A_1,A_2,...,A_r$是簡單合取式

  • 合取正規化:由有限個簡單析取式組成的合取式

    $A_1 \land A_2 \land ...\land A_r \(,其中\)A_1,A_2,...,A_r$是簡單析取式

定理:

  1. 一個析取正規化是矛盾式 當且僅當 它的每一個簡單合取式都是矛盾式
  2. 一個合取正規化是重言式 當且僅當 它的每一個簡單析取式都是重言式

正規化存在定理

任何命題公式都存在著與之等值的析取正規化與合取正規化

求正規化的步驟:

  1. 消去公式的\(\to ,\leftrightarrow\)

    \(A \to B \Leftrightarrow \lnot A \lor B\)

    \(A \leftrightarrow B \Leftrightarrow (\lnot A \lor B)\land(\lnot B \lor A)\)

  2. 否定聯結詞\(\lnot\)的內移或消去

    \(\lnot \lnot A \Leftrightarrow A\)

    \(\lnot(A \lor B)\Leftrightarrow \lnot A \land \lnot B\)

    \(\lnot(A \land B)\Leftrightarrow \lnot A \lor \lnot B\)

  3. 使用分配律

    \(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)\)

極大項與極小項

定義2.17 在含有n個命題變項的簡單合取式(簡單析取式)中,若每個命題變項均以文字的形式出現且僅出現一次,而且i(1<=i<=n)個文字(按下標或字母順序排列)出現在左起第i位上,稱這樣的簡單合取式(簡單析取式)為極小項(極大項)

  • 簡單析取式構成極大項、簡單合取式構成極小項

  • 析取是成假賦值,每一項都要假;合取是成真賦值,每一項都要真。特點是析取的成假和合取的成真有唯一性

  • 極小項用小寫,極大項用大寫,賦值決定下標,下標最大為\(2^n -1\)

    析取最大難假、合取最小難真

定理:

\(m_i\)\(M_i\)是由同一組命題變項形成的極小項和極大項,則\(\lnot m_i \Leftrightarrow M_i\),\(\lnot M_i \Leftrightarrow m_i\)

主析取正規化與主合取正規化

  • 主析取正規化:由極小項(合取)構成的析取正規化
  • 主合取正規化:由極大項(析取)構成的合取正規化

定理:

任何公式都存在著與之等值的主析取正規化和主合取正規化, 並且是惟一的。(析取正規化和合取正規化並不唯一)

求解步驟

通用快速解法:

  1. 用上面求正規化的步驟,求取析取正規化\(A=B_1 \lor B_2 \lor ... \lor B_n\)或合取正規化\(A=B_1 \land B_2 \land ... \land B_n\)

  2. 對每一項\(B_n\)分析,看缺的命題變項,利用同一律的原理,補齊命題變項,每一個變項的順序要一致

  3. 把每一項轉換,析取正規化中把合取轉換為最小項,合取正規化中把析取轉換為最大限

    例如:公式含\(p,q,r\)
    \(q (缺p,r 補pq,p\lnot q,\lnot pq,\lnot p\lnot q) \\ \Leftrightarrow (p \land q \land r)\lor(\lnot p \land q \land r)\lor(p \land q \land \lnot r)\lor(\lnot p \land q \land \lnot r) \\ \Leftrightarrow m_2 \lor m_3 \lor m_6 \lor m_7\)

  4. 析取利用\(\sum(...)\),合取利用\(\prod(...)\),把下標寫到\(...\)

快速轉換:

已知主析取正規化與主合取正規化中的一個可以快速得到另一個

例:

\(A(含p,q,r) \Leftrightarrow m_0 \lor m_1 \lor m_3 \lor m_7 \Leftrightarrow M_2 \and M_4 \land M_5 \land M_6\)

用途

  1. 求公式的成真賦值和成假賦值

    由於主析取正規化是由最小項構成,合取最小難真,每一個最小項對應一個最小合取式成真賦值;析取一真為真,故主析取正規化的下標對應一個公式的成真賦值

  2. 判斷公式型別

    可用主析取正規化含有項的個數判斷公式型別

  3. 判斷兩個公式是否等值

    若主析取正規化等值(都有相同的變項),則等值