1. 程式人生 > >離散數學複習--第二章:一階邏輯

離散數學複習--第二章:一階邏輯

2.1 一階邏輯基本概念

如果沒有事先給出一個個體域,都以全總個體域為個體域。於是,引入一個新的謂詞 M ( x ) M(x)

  • 全稱量詞
    x ( M ( x ) F ( x
    ) ) \forall x(M(x) \to F(x) )
  • 存在量詞
    x ( M
    ( x ) F ( x ) ) \exists x(M(x) \land F(x) )

    當個體域為有限集時, D = { a 1 , a 2 , . . . , a n } D=\{a_1,a_2,...,a_n\}
    x A ( x ) A ( a 1 ) A ( a 1 ) A ( a 2 ) . . . A ( a n ) \forall xA(x) \Leftrightarrow A(a1) \land A(a_1) \land A(a_2)...\land A(a_n)
    A ( x ) A ( a 1 ) A ( a 1 ) A ( a 2 ) . . . A ( a n ) \exists A(x) \Leftrightarrow A(a1) \lor A(a_1) \lor A(a_2)...\lor A(a_n)

2.2 一階邏輯合式公式及解釋

在合式公式 x A \forall xA x A \exists xA 中,

  • x為指導變項
  • A為相應量詞的轄域
  • 在轄域中,x的全部出現稱為約束出現
  • A中不是約束出現的其他變項的出現稱為自由出現

【舉例】
x ( R ( x , y , z ) y H ( x , y , z ) ) \forall x(R(x,y,z)\land \forall y H(x,y,z))

  • 在整個公式中,x是指導變項 ( R ( x , y , z ) y H ( x , y , z ) ) (R(x,y,z)\land \forall y H(x,y,z)) 是第一個全稱量詞的轄域.
  • y H ( x , y , z ) \forall y H(x,y,z) 中,y是指導變項, H ( x , y , z ) H(x,y,z) 是第二個全稱量詞的轄域.
  • x的兩次出現都是約束出現
  • y的第一次出現是自由出現,第二次出現是約束出現
  • z的兩次出現都是自由出現

換名規則

將一個指導變項及其轄域中所有約束出現替換成公式中沒有出現的個體變項符號.

如上述例子,利用換名規則得到
x ( R ( x , y , z ) y H ( x , y , z ) ) \forall x(R(x,y,z)\land \forall y H(x,y,z))

解釋

一個解釋I由下面4部分組成:

  • 非空個體域D
  • 給論及的每一個個體常項 符號指定一個D中的元素
  • 給論及的每一個函式變項 符號指定一個D中的函式
  • 給論及的每一個謂詞常項 符號指定一個D中的謂詞

2.3 一階邏輯等值式與前束正規化

量詞否定等值式

¬ x A ( x ) x ¬ A ( x ) \neg \forall xA(x) \Leftrightarrow\exists x\neg A(x)
¬ x A ( x ) x ¬ A ( x ) \neg \exists xA(x) \Leftrightarrow\forall x\neg A(x)

量詞轄域收縮與擴張等值式

x ( A ( x ) B ) x A ( x ) B \forall x(A(x) \lor B) \Leftrightarrow\forall xA(x) \lor B
x ( A ( x ) B ) x A ( x ) B \forall x(A(x) \land B) \Leftrightarrow\forall xA(x) \land B
x ( A ( x ) B ) x A ( x ) B \exist x(A(x) \lor B) \Leftrightarrow\exists xA(x) \lor B
x ( A ( x ) B ) x A ( x ) B \exist x(A(x) \land B) \Leftrightarrow\exists xA(x) \land B
x ( A ( x ) B ) x A ( x ) B \forall x(A(x) \to B) \Leftrightarrow\forall xA(x) \to B
x ( B A ( x ) ) B x A ( x ) \forall x(B \to A(x) ) \Leftrightarrow B \to \forall xA(x)
x ( A ( x ) B ) x A ( x ) B \exists x(A(x) \to B) \Leftrightarrow\exists xA(x) \to B
x ( B A ( x ) ) B x A ( x ) \exists x(B \to A(x) ) \Leftrightarrow B \to \exists xA(x)

量詞分配等值式

x ( A ( x ) B ( x ) ) x A ( x ) x B ( x ) \forall x(A(x) \land B(x)) \Leftrightarrow \forall xA(x) \land \forall xB(x)
x ( A ( x ) B ( x ) ) x A ( x ) x B ( x ) \exists x(A(x) \lor B(x)) \Leftrightarrow \exists xA(x) \lor \exists xB(x)

  • \forall \lor 無分配律
  • \exists