導出原理
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/10/21 06:25 UTC 版)
ナビゲーションに移動 検索に移動導出原理を元とする導出の手法は、その後の定理自動証明に大きな影響を与え、またPrologなどの論理プログラミング言語の基礎となった。
背景
述語論理式 P が恒真であるかを証明する一般的な手続きは存在しないが、1930年に発表されたエルブランの定理はエルブラン領域の要素を論理式に代入して命題論理のレベルに落としその充足不能性を調べることで、¬P が充足不能(恒偽)であれば有限のステップで証明できることを保証している。また、エルブランの論文には単一化アルゴリズムなど他の様々なものが含まれていた[2]。
1950年代以降、計算機上での定理証明の研究が活発になり、ギルモアのアルゴリズム(1960)やデービス・パトナムのアルゴリズム(1958,1960) が考案された。デービス・パトナムのアルゴリズムには連言標準形の使用や導出規則の考え方が含まれていた。しかし、これらはエルブランの定理の証明を直接計算機上で実現したような方法で、エルブラン領域の要素を順次生成して変数を含まない論理式(基礎例)を作成し命題論理のレベルで充足不能性を調べるものだったため、不要な論理式が多数生成され、非常に効率が悪かった[3]。
プラウィツ(Dag Prawitz)は、論理式を生成してからチェックするのではなく、選言標準形に変換した論理式への適当な代入(単一化)によって充足不能性を調べる方法を1960年に提案した[4]。 この方法は必要な基礎例のみを生成するため、不要な論理式の生成が抑えられ効率的だったが、選言標準形は全ての連言項を調べなければならないため全体の効率はいいとは言えなかった。
ロビンソンはデービス・パトナムの枠組みにプラウィツのアイデアを組み合わせ、ただ1つの導出規則と単一化による代入操作とで充足不能性を調べる導出原理を1965年に発表した。単純な規則で関係する論理式のみを段階的に具体化していく方法は、従来の方法よりはるかに効率がよく、また理論的なエレガントさを持っていたため、その後の定理自動証明に大きな影響を与えた[3]。
定義
導出とは二つの節より新しい節を導き出す操作で、一方の節に含まれるリテラル と、他方の節に含まれる否定リテラル をのぞき、その他のリテラルの論理和をとることで、新しい節を得ることをいう。
命題論理での導出規則を式で表せば、 と書ける。ここで上式は前提となる親節、下式はそれらから導かれる導出節(resolvent)を表す。
あるいは、別の表記法を用いて次のようにも表現できる。前提となる節を と とし, もしリテラル と否定リテラル が存在するならば、導出節 は以下のようになる。
導出規則は三段論法や前件肯定を一般化した規則となっている。 導出は完全な証明系であることが知られている。
例
を節形式にすると となる。 を の導出節とすると、前件肯定は以下の導出と同じである。
同様に、、 の節形式 、 による三段論法は以下のようになる。
一階述語論理での導出
述語論理のリテラルには個体変数が含まれるため、リテラルと否定リテラルとを単純に比較するだけでは削除できるかどうか分からない。一階述語論理ではリテラルと否定リテラルそれぞれの原子論理式が単一化できる場合に導出を行う。
また、導出の対象となる節は、冠頭標準形にして存在記号を削除したスコーレム連言標準形の論理式である。
例えば、一方の節がリテラル 、もう一方の節がリテラル を含む場合、適切な代入 により各リテラルは 、 と書き換えられ、同じにすることができる。ここで代入 は 、 に書き換えることを表す。
一般に論理式 を等しくする代入を の単一化子(unifier)といい、そのうち最も一般的な単一化子(最汎単一化子)を のmgu(most general unifier)という。上記の例の場合、両方の論理式を等しくする代入は 、 など無数に存在する。これらは本来の代入 に などの代入を合成したものなので、最汎単一化子 mgu は である。
一階述語論理での導出は mgu を用いて次のように表現できる。
もしリテラル と否定リテラル が存在し、 と が mgu を持つ場合、以下の が2項導出節(binary resolvent)である。ここで、 などは、それぞれの節やリテラルに代入 を行ったものを表す。
同様のやり方での2以上の複数の節から同時に導出することも可能であり、超導出(hyper-resolution)と呼ばれる。
例
以下の節からの導出を考える。
Q を単一化する代入 により と の導出を行うと、
続いて、P を単一化する代入 により と の導出を行うと、
を得ることができる。
- ^ J. Alan Robinson, A Machine-Oriented Logic Based on the Resolution Principle. JACM, Volume 12, Issue 1, pp. 23–41. 1965.
- ^ Buss, Samuel R., "On Herbrand's Theorem", in Maurice, Daniel; Leivant, Raphaël, Logic and Computational Complexity, Lecture Notes in Computer Science, Springer-Verlag, pp. 195–209. 1995.
- ^ a b Martin Davis. The Early History of Automated Deduction. in Handbook of Automated Reasoning, Volume I, Alan J.A. Robinson and Andrei Voronkov(ed), 2001. ISBN 9780444829498
- ^ Wolfgang Bibel. Early History and Perspectives of Automated Deduction. in Advances in Artificial Intelligence, Lecture Notes in Computer Science, Springer-Verlag Berlin, 2007. ISBN 9783540745648
- ^ Lawrence Wos, G.A. Robinson, D.F. Carson. Efficiency and Completeness of the Set of Support Strategy in Theorem Proving. Journal of the ACM, Volume12, Issue 4, pp.536-541. 1965.
- ^ James Slagle. Automatic Theorem Proving With Renamable and Semantic Resolution. Journal of the ACM, Volume14, Issue 4, pp.687-697. 1967.
導出原理と同じ種類の言葉
- 導出原理のページへのリンク