跳轉到內容

計算機科學家邏輯/謂詞邏輯/語義樹

來自華夏公益教科書

語義樹

[編輯 | 編輯原始碼]

在本節中,我們將介紹語義樹的概念,它可以用來證明解析的完備性。為此,我們假設讀者熟悉樹、二叉樹和樹路徑的概念。

定義 15

[編輯 | 編輯原始碼]

一組子句 的語義樹是一棵二叉樹 ,其根為 ,使得邊用文字標記,文字由 的 Herbrand 基中的元素構成,使得

  • 如果 是一個內部節點,它的兩條出邊用互補文字 標記。
  • 中,到達節點 的每條路徑中,都不會包含 中的互補文字,其中 是路徑邊上的文字集。

定義 16

[編輯 | 編輯原始碼]

如果每條路徑都包含 Herbrand 基中的每個原子(正或負),則語義樹稱為完整的。

示例: ,其 Herbrand 基為


請注意,對於語義樹 和節點 ,集合 可以被看作是對基本原子進行真值賦值,就像在 Herbrand 解釋中一樣。因此,我們稱 為部分解釋。一個完整的語義樹對應於對解釋的窮盡“列舉”。

定義 17

[編輯 | 編輯原始碼]
  • 語義樹 的一個節點 是一個失敗節點,如果 使 中的一個子句的某個基本例項為假,但對於 的每個祖先節點 不會使 中的任何子句的基本例項為假。
  • 如果語義樹 中的每條路徑都包含一個失敗節點,那麼該樹稱為閉合樹。
  • 如果閉合語義樹中的節點 的兩個直接子節點都是失敗節點,則稱該節點為推斷節點。

示例: ,其中 Herbrand 基是

為一個完整的語義樹,那麼我們稱 為相應的閉合樹,如果它可以透過在失敗節點處剪下所有分支從 中獲得。

定理 5(Herbrand 定理 - 版本 1)

[編輯 | 編輯原始碼]

一組子句 是不可滿足的,當且僅當對於 的每個完整語義樹,都存在一個相應的有限封閉語義樹。

證明: 假設 是不可滿足的,並且 的一個完整語義樹。對於每條路徑 ,我們都有標籤集 ,這是一個解釋,因為樹是完整的。因此, 使子句 的一個地面例項 為假,因為 是不可滿足的。由於 中只有有限多個文字,因此必須存在一個失敗節點 ,它距離根節點有限距離。由於每條路徑都有這樣的失敗節點,因此存在一個相應的封閉語義樹 ,它是有限的。

對於相反方向,假設對於每個完整語義樹 ,都存在一個相應的有限封閉樹 。那麼,每條路徑都包含一個失敗節點,因此,每個解釋都使 為假;因此 是不可滿足的。

定理 6(赫布蘭德定理 - 版本 2)

[編輯 | 編輯原始碼]

一組子句 是不可滿足的,當且僅當存在一個有限不可滿足的集合 ,該集合包含 中子句的地面例項。

證明: 假設 是不可滿足的,並且 的一個完備語義樹。根據 Herbrand 定理版本 1,存在 的一個有限閉合語義樹 。設 是在 的所有失敗節點上被證偽的子句的基例項集。 是有限的,並且被所有解釋所證偽,因此是不可滿足的。我們透過逆否命題證明相反的方向。

注意,這個版本的 Herbrand 定理可以直接轉化為一個證明過程:給定一組子句 ,我們想證明它的不可滿足性。


  • 生成 子句集,這些子句集是 的子句的基例項。對每個子句集執行命題不可滿足性測試。
  • 根據 Herbrand 定理,如果 是不可滿足的,那麼存在一個有限的 是不可滿足的。

問題 10(謂詞)

[編輯 | 編輯原始碼]

假設以下子句集


  1. 指出 (a) 的 Herbrand 宇宙和 (b) 的 Herbrand 基!
  2. 給出 的一個閉合語義樹!


問題 11(謂詞)

[編輯 | 編輯原始碼]

下面給出公式


分別給出 的 (a) 有限和 (b) 無限 Herbrand 模型,或如果不可能則給出論證。

問題 12 (謂詞)

[edit | edit source]

給出以下子句集

分別給出它們的 (a) Herbrand 宇宙,(b) Herbrand 模型和 (c) 非 Herbrand 模型。

華夏公益教科書