四値論理(よんちろんり、)は、4つの真理値を持つあらゆる論理学を指す。いくつかの種類の四値論理が提唱されている。最も一般的なものは、特に電子工学において使われるIEEE標準の0、1、X、Z(情報についてはVerilogを参照)である。
ベルナップ は1975年にコンピュータによる質問応答システムの課題を考察した。人間の誤りやすさに着目し、矛盾する2つの事実がメモリに読み込まれ、その後クエリが発行される場合を問題とした。「2値論理における矛盾の豊穰性はよく知られている:矛盾は孤立することなく、システム全体に感染する」This feature of two-valued logic has been termed the principle of explosion.。ベルナップは矛盾を封じ込める手段として四値論理を提唱したN. Belnap (1975) "How Computers Should Think", pages 30 to 56 in Contemporary Aspects of Philosophy, Gilbert Ryle editor, Oriel Press N. Belnap (1977) A Useful Four-Valued Logic, in Modern Uses of Multiple-Valued Logic, edited by J. Michael Dunn and George Epstein, Springer books。
彼はこの値の表をA4と呼んだ:取りうる値は真(true)、偽(false)、両方(both: 真でも偽でもある)、どちらでもない(neither: 真でも偽でもない)の4つである。ベルナップの論理は複数の情報源に対処するよう設計されており、真のみが見つかれば真が割り当てられ、偽のみが見つかれば偽が割り当てられ、一部の情報源が真と言い他が偽と言えば両方が割り当てられ、いかなる情報源からも情報が与えられなければどちらでもないが割り当てられる。これら4つの値は {T, F} に基づく冪集合の要素に対応する。
T は上限でありF は論理的束における下限であり、None(どちらでもない)と Both(両方)はその両翼に位置する。ベルナップはこのように解釈する。「最悪なのは、何かが単純に偽だと言われることだ。それについて何も言われないか、真でもあり偽でもあると言われる方がまだましだ(それはあなたの望みの一つだ)。もちろん、それが真だと言われることが最善だ」。ベルナップは「含意のパラドックス」 および が彼の4値システムでは回避されると述べている。
論理演算子 ベルナップは論理演算子をA4に拡張する課題に取り組んだ。A4は {T, F} 上の冪集合であるため、A4の要素は包含関係によって順序付けられ、Both を上限、None を下限、T と F をその両翼とする束を形成する。デイナ・スコットを参照しながら、彼は演算子がスコット連続または単調関数であると仮定する。まず否定を および を演繹することで拡張する。論理積と論理和を拡張するために、単調性だけでは十分でない。ベルナップは等価性 () を用いてこれらの演算子の表を補完する。彼は F かつ T を見出す。
N F T BN N F N FF F F F FT N F T BB F F B B
N F T BN N N T TF N F T BT T T T TB T B T B 結果として得られる第2の束L4は「論理的束」と呼ばれ、A4はスコット連続性を決定する「近似束」となる。
2ビットを用いた実装 各真理値に1ビットを割り当てる:01=T、10=F、00=N、11=B とする。
そうすると、{T, F} 上の冪集合における包含関係は、2ビット表現での順序 に対応する。ベルナップはこの順序に関連する束を「近似束」と呼ぶ。
2ビット変数に関連する論理はコンピュータハードウェアに組み込むことができるBen Choi (2013) "Advancing from two to four valued logic circuits", International Conference on Industrial Technology, IEEE, 。
行列遷移 離散システムとして、四値論理は論理行列による遷移を受ける一連のからなる状態遷移系を例示する。2ビットの入力は行列の乗算を通じて2ビットの出力に遷移する。
論理行列は のものが16個あり、行列遷移の入出力として機能する4つの論理ベクトルがある: X = {A, B, C, D} = {(0,1), (1, 0), (0, 0), (1, 1)}. C が入力されると、出力は常にCである。16個のうち4つは1つの角にのみゼロを持ち、したがってCの入力を除き、ブール算術によるベクトル行列乗算の出力は常にDになる。
ラベル付き遷移系(行列が遷移にラベルを付ける)を補完するためにさらに9つの論理行列を説明する必要がある。Cを除いて、入力A、B、Dを順番に考え、Xでの出力を三つ組で表現する。例えば (一般に単位行列として知られる)に対してはABDとなる。
非対称行列は行ベクトルと列ベクトルに対するその作用が異なる。ここでは行の規約を使用する: のコードはBBB、 のコードはAAA のコードはCDB、 のコードはDCA。 X上の残りの演算はゼロが3つある行列で表現されるため、出力には入力の3分の1にCが含まれる。これらの場合のコードはCAA、BCA、ACA、CBBとなる。
応用 IEEEは標準IEEE 1364によって四値論理を確立した:デジタル回路の信号値をモデル化する。4つの値は1、0、Z、Xである。1と0はブールの真と偽を、ZはZはまたは開回路を、Xは(例:その値が影響を持たない)を表す。この論理自体はVHDLのstd_logicに実装されるIEEE 1164と呼ばれる9値論理標準のサブセットである。
4値数理論理(演算子・真理値表・三段論法・命題計算・定理などを用いるもの)と、2値論理を使用して構築され4つの可能な状態の応答をブール値に類似した値で表示する通信プロトコルとを混同すべきではない。例えば、重量道路車両におけるCANデータ転送に使用される標準は4つの論理(ブール)値を持つ:偽、真、エラー状態、および未インストール(0から3の値で表される)。エラー状態はデータ取得を妨げる技術的な問題が存在することを意味する。この場合の論理は例えば 真 かつ エラー状態 = エラー状態 となる。未インストールは当該車両に存在しない機能に使用され、論理演算では無視される。CAN上では通常、固定されたデータメッセージが多くの信号値を含んで送信されるため、未インストールの機能を表す信号も送信される。
スプリットビット提案ゲート 論理回路のためのカーボンナノチューブの作製には(CNFET)が使用されてきた。モノのインターネット(IoT)におけるデータストレージへの需要の高まりが動機となっている。の応用としてスプリットビットゲートを用いた提案がなされている:「32 nmノードにおけるCNFET技術を用いた提案SQIゲートにより、IoT/IoVTアプリケーションにおけるストレージ容量増加の課題に対処するための2つのスプリットビットラインQSRAMアーキテクチャが提案された。QSRAMのための新規な4値から2値へのデコーダなどの周辺回路も提案されている」。
脚注
関連項目 古代ギリシャおよびインド論理学における 仏教論理学における四句分別 文が真でも偽でもありうるという考え方である真矛盾主義
参考文献