節標準形

節標準形: Clausal normal formCNF)とは、数理論理学において、論理プログラミングや多くの自動定理証明系で使われる論理式の標準形式である。論理式を節標準形に変換すると論理式の構造が破壊される。また、Tseitin transformation を使用せずに単純な変換をすると式のサイズが最悪ケースでは指数関数的に増大する。

変換手順

古典的な一階述語論理の論理式を節標準形に変換する手順は以下の通りである。

  1. 論理式を否定標準形にする。
  2. スコーレム化 -- 外から内に向かって、存在量化変項をスコーレム定数に置き換え、全称量化変項をスコーレム関数に置き換えていく。具体的には次のような置換を行う。
    • x P ( x ) {\displaystyle \forall x\,P(x)} c P ( c ) {\displaystyle \exists c\,P(c)} とする。ここで c {\displaystyle c} は新規導入。
    • x y P ( y ) {\displaystyle \forall x\exists y\,P(y)} , x P ( f c ( x ) ) {\displaystyle ,\forall x\,P(f_{c}(x))} とする。ここで f c {\displaystyle f_{c}} は新規導入。
  3. 全称量化子を削除する。
  4. 論理式を連言標準形にする。
  5. C 1 . . . C n {\displaystyle C1\wedge ...\wedge Cn} { C 1 , . . . , C n } {\displaystyle \{C1,...,Cn\}} に置換。それぞれの論理積は ¬ A 1 . . . ¬ A m B 1 . . . B n {\displaystyle \neg A1\vee ...\vee \neg Am\vee B1\vee ...\vee Bn} という形式になり、これは ( A 1 . . . A m ) ( B 1 . . . B n ) {\displaystyle (A1\wedge ...\wedge Am)\to (B1\vee ...\vee Bn)} と等価である。
    • m=0 かつ n=1 なら、Prolog における事実となる。
    • m>0 かつ n=1 なら、Prolog における規則となる。
    • m>0 かつ n=0 なら、Prolog におけるクエリとなる。
  6. 最後に各論理積 ( A 1 . . . A m ) ( B 1 . . . B n ) {\displaystyle (A1\wedge ...\wedge Am)\to (B1\vee ...\vee Bn)} { A 1 . . . A m B 1 , A 1 . . . A m B 2 , . . . , A 1 . . . A m B n } {\displaystyle \{A1\wedge ...\wedge Am\to B1,A1\wedge ...\wedge Am\to B2,...,A1\wedge ...\wedge Am\to Bn\}} に置換する。

n = 1 の場合をホーン節と呼び、これは万能チューリング機械と同等の計算能力を有する。

完全な等価でなくとも、同等(equisatisfiable)な節標準形で十分であることが多い。その場合、指数関数的増大を防ぐには、Tseitin transformation を使用し、定義(definitions)を導入して論理式の一部を改名(rename)すればよい。

関連項目

 
関連項目
学術的領域
基本概念
 
批判的思考非形式論理学
論理学の哲学
 
基幹
名辞論理学(英語版)
命題論理ブール論理
述語論理
標準形
集合論
モデル理論
証明論
再帰理論
表現
 
様相論理学
直観主義
ファジィ論理
  • 真理の程度(英語版)
  • ファジィルール(英語版)
  • ファジィ集合
  • ファジィ有限要素(英語版)
  • ファジィ集合演算(英語版)
部分構造論理
矛盾許容論理
様相記述論理(英語版)
  • 存在論
  • オントロジー言語(英語版)
カテゴリカテゴリ