戻る

Tableau 健全性と完全性の証明

Soundness
Completeness

健全性証明 (Soundness)

Σ ⊢ A ⇒ Σ ⊨ A
対偶:Σ ⊨/ A ⇒ Σ ⊢/ A
{ Σ, ¬A }が充足可能 ⇒ { Σ, ¬A }のタブローは閉じていない枝が存在

1. 前提

タブローの構成規則によって生成されるノードの深さ(ステップ数)$n$ に関する帰納法を用います。
ある解釈(真理表) $v$ が存在し、初期状態(根ノード)を充足すると仮定します。

2. 深さに関する帰納法 (上(根)から下(葉)へ↓)

【基礎 (Base Case)】

$n=0$ のとき、根ノード $S_0 = \{\Sigma, \neg A\}$ です。仮定より $S_0$ は充足可能であるため、ある解釈 $v$ が存在し、$v \Vdash S_0$が成り立ちます。

【帰納法のステップ (Inductive Step)】

深さ $n$ のあるノード $S_n$ が解釈 $v$ によって充足されていると仮定します。この $S_n$ にタブロー規則を適用して得られる子ノード $S_{n+1}$ のうち、少なくとも1つは同様に $v$ によって充足されることを示します。

  • AND規則 ($A \land B$):
    $A \land B \in S_n$ とします。$v \Vdash S_n$ より $v(A \land B) = T$ です。したがって $v(A)=T$ かつ $v(B)=T$ です。
    規則により枝に $A, B$ が追加されますが、これらも $v$ で真となるため、拡張された節も充足されます。
  • OR規則 ($A \lor B$):
    $A \lor B \in S_n$ とします。$v(A \lor B) = T$ より、$v(A)=T$ または $v(B)=T$ です。
    タブローは2つの枝に分岐しますが、少なくとも一方の枝($A$を含む枝、または$B$を含む枝)は $v$ によって充足されます。
  • 含意規則 ($A \to B$):
    $A \to B$ は $\neg A \lor B$ と等価です。OR規則と同様に、$\neg A$ の枝または $B$ の枝のいずれかが $v$ によって充足されます。
  • 否定規則 ($\neg(A \land B)$ 等):
    ド・モルガンの法則等により、真理値は適切に子ノードへ継承されます。

3. 結論

根ノードが充足可能であれば、少なくても一つの枝の充足可能性は規則適用によって失われません。
その枝に含まれる論理式はすべて $v$ で真となるため、矛盾($P$ と $\neg P$)を含むことはありえません。 したがって、タブローには「閉じていない枝」が存在します。

Q.E.D.

完全性証明 (Completeness)

Σ ⊨ A ⇒ Σ ⊢ A
対偶: Σ ⊢/ A ⇒ Σ ⊨/ A
{ Σ, ¬A }のタブローは閉じていない枝が存在 ⇒ { Σ, ¬A }が充足可能

1. モデル(解釈)の構成

タブローが閉じないということは、少なくとも1本の「閉じていない完全な枝」(これ以上規則を適用できない枝)$\mathcal{B}$ が存在することを意味します。
この枝 $\mathcal{B}$ 上の原子論理式に基づき、解釈 $v$ を以下のように定義します。

$$ p \in \mathcal{B} \Rightarrow v(p) = T $$ $$ \neg p \in \mathcal{B} \Rightarrow v(p) = F $$

枝は閉じていないため、$p$ と $\neg p$ が同時に現れることはなく、矛盾は生じません。

2. 深さに関する帰納法(下(葉)から上(根)へ↑)

枝 $\mathcal{B}$ 上のノードの深さ $d$ に関する帰納法を用います。証明は下(葉)から上(根)へ↑向かって進めます。

【基礎 (Base Case)】
深さが最大となる葉ノード $S_{max}$ を考えます。
$S_{max}$ に含まれる論理式はすべて展開済みの原子論理式(または原子論理式の否定)です。上記の $v$ の定義により、これらはすべて真となります。したがって、$S_{max}$ は $v$ に充足されます。

【帰納法のステップ (Inductive Step)】
深さ $n+1$ の子ノード $S_{n+1}$ が $v$ に充足されると仮定し、その親である深さ $n$ のノード $S_n$ も充足されることを示します。
$S_n$ で適用された規則によって場合分けします。

  • AND規則 ($A \land B \in S_n$):
    規則により、子ノード $S_{n+1}$ には $A$ と $B$ が追加されています。
    仮定より $v(S_{n+1})=T$ なので、$v(A)=T$ かつ $v(B)=T$ です。
    したがって、$v(A \land B) = T$ となり、$S_n$ も充足されます。
  • OR規則 ($A \lor B \in S_n$):
    規則により枝は分岐しますが、我々が注目している枝 $\mathcal{B}$ はその一方を選んでいます。
    例えば $A$ 側の枝を選んだとすると、子ノード $S_{n+1}$ には $A$ が含まれます。
    仮定より $v(S_{n+1})=T \Rightarrow v(A)=T$ です。よって $v(A \lor B) = T$ となり、$S_n$ も充足されます($B$ 側の場合も同様)。
  • 含意規則 ($A \to B \in S_n$):
    ORと同様に、枝 $\mathcal{B}$ は $\neg A$ または $B$ のいずれかを含みます。
    仮定より $v(\neg A)=T$ または $v(B)=T$ が成り立つため、$v(A \to B) = T$ となり、$S_n$ は充足されます。

3. 結論

帰納法により、根ノード $S_0 = \{\Sigma, \neg A\}$ も $v$ によって充足されることが示されました。
これは $\{\Sigma, \neg A\}$ が充足可能(モデル $v$ を持つ)であることを意味します。
ゆえに $\Sigma \nvDash A$ であり、対偶により完全性が証明されました。

Q.E.D.