節標準形
出典: フリー百科事典『ウィキペディア(Wikipedia)』
節標準形(英: Clausal normal form、CNF)とは、論理プログラミングや多くの自動定理証明系で使われる論理式の標準形式である。論理式を節標準形に変換すると論理式の構造が破壊され、単純な変換をすると式のサイズが指数関数的に増大することが多い。
変換手順 [編集]
古典的な一階述語論理の論理式について、節標準形に変換する手順は以下の通りである。
- 論理式を否定標準形にする。
- スコーレム化 -- 外から内に向かって、存在量化変項をスコーレム定数に置き換え、全称量化変項をスコーレム関数に置き換えていく。具体的には次のような置換を行う。
を
とする。ここで
は新規導入。
を
とする。ここで
は新規導入。
- 全称量化子を削除する。
- 論理式を乗法標準形にする。
を
に置換。それぞれの論理積は
という形式になり、これは
と等価である。
- 最後に各論理積
を
に置換する。
n=1 の場合をホーン節と呼び、これは万能チューリング機械と同等の計算能力を有する。
完全な等価でなくとも、同等(equisatisfiable)な節標準形で十分であることが多い。その場合、指数関数的増大を防ぐには、定義(definitions)を導入して論理式の一部を改名(rename)すればよい。
を
とする。ここで
は新規導入。
を
とする。ここで
は新規導入。
を
に置換。それぞれの論理積は
という形式になり、これは
と等価である。
に置換する。