クリーネの3値論理
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/12/29 06:30 UTC 版)
クリーネの3値論理は 1952年スティーヴン・コール・クリーネによってアルゴリズムの停止性についての議論の中で帰納関数の理論における「未定義」 (undefinedness) を表現するために提唱された。なおクリーネは強3値論理と弱3値論理の2種類の3値論理を提唱しているが、ここでは強3値論理について述べる。弱3値論理は後述するボフバールの3値論理と同様の体系である。 クリーネの3つめの値 U は「未定義」または「計算中」である。この値は直感的には U は T か F のどちらかではあるが、どちらであるかわからない値といえる。この3値論理の公理化は帰結関係をベースにシークエント計算で行われる。 具体的な例として、以下のような論理式を考える。 U ∧ F この時、仮に U の部分が T か F の場合でも、結果は F にしかならない。よってこの論理式の真理値は F である。反対に U ∧ T とした場合、この論理式の真理値は U が T だったら T となり F だったら F となる。よってこの論理式の真理値は T か F かわからない、すなわち U である。 以上を踏まえると、この3値論理の真理値表は以下のようになる。 ABA ∧ BA ∨ BA → B¬AT T T T T F T F F T F T U U T U F T F T T T F F F F T F U F U T U T U T T U U F F U U U U U U U クリーネの 3値論理は U → U = U であることを除けばウカシェヴィチの3値論理と同様である。 この U → U = U という定義は、しばしば批判されることがある。 これは A = U とした場合、A → A = U となり古典論理学では恒真式とされていた A → A = T が成り立たなくなるためである。実際この式は「A が未定義であるならば A は未定義である」ということを意味しており、これを真としないのは直感に反しているといえる。 1984年、レイモンド・ターナー(Raymond Turner)はクリーネの3値論理をベースにデフォルト推論の理論を展開している。 クリーネの 3値論理はSQL等にも応用されている、SQLでは比較式にNULLが入った場合、真 (true) でも偽 (false) でもない不明 (unknown) という値を返す。
※この「クリーネの3値論理」の解説は、「3値論理」の解説の一部です。
「クリーネの3値論理」を含む「3値論理」の記事については、「3値論理」の概要を参照ください。
- クリーネの3値論理のページへのリンク