真理値表は、論理学、特にブール代数、ブール関数、命題論理に関連して使用される数学的な表であり、論理式の関数値を、その関数引数のそれぞれについて、つまり、論理変数が取る値の組み合わせごとに示します。[ 1 ]特に、真理値表は、命題式がすべての正当な入力値に対して真であるかどうか、つまり論理的に妥当であるかどうかを示すために使用できます。
真理値表は、入力変数(例えば、AとB)ごとに1つの列を持ち、最後に表が表す論理演算の結果(例えば、A XOR B)を示す列が1つあります。真理値表の各行には、入力変数の可能な組み合わせ(例えば、A=真、B=偽)と、それらの値に対する演算結果が含まれています。
命題の真理値表は、その命題の真理関数をグラフで表したものである。真理関数は、数学的な目的においてはより有用である場合があるが、どちらも同じ情報を符号化している。
ルートヴィヒ・ヴィトゲンシュタインは、1918年に完成し1921年に出版された『論理哲学論考』の中で真理表を発明し普及させた人物として一般的に認められている。 [ 2 ]このようなシステムは、1921年にエミール・レオン・ポストによっても独自に提案された。[ 3 ]
アーヴィング・アネリスの研究によると、C.S.パースは(1883年に)真理値表行列を考案した最初期の論理学者であるようだ。[ 4 ]
アネリスの論文の要約より:[ 4 ]
1997年、ジョン・ショスキーは、バートランド・ラッセルの1912年の「論理的原子論の哲学」に関する講演のタイプされた原稿の裏面に真理値表の行列を発見した。否定の行列はラッセルのもので、その隣にはルートヴィヒ・ヴィトゲンシュタインの手による実質含意の行列がある。1893年にパースによって書かれたと特定された未発表の原稿には、ジョン・ショスキーが発見した実質含意の行列と同等の真理値表の行列が含まれていることが示されている。1885年にアメリカ数学ジャーナルに掲載されたパースの「論理の代数について:記号の哲学への貢献」の執筆に関連して1883年から84年に書かれたと特定されたパースの未発表の原稿には、条件文の間接真理値表の例が含まれている。
真理値表は、他の多くの論理的同値関係を証明するために使用できます。たとえば、次の真理値表を考えてみましょう。
これは、論理的に同等である。
以下は、 2つのブール変数PとQの6つの可能な2入力論理ゲート関数それぞれの定義を示す真理値表です。
二項演算子の場合も、簡略化された真理値表が使用されます。この表では、行見出しと列見出しが被演算子を指定し、表のセルが結果を指定します。例えば、ブール論理では、次のような簡略化された真理値表表記が使用されます。
この表記法は、演算が可換である場合に特に有用ですが、行を第1オペランド、列を第2オペランドとして指定することもできます。この簡略化された表記法は、論理の多値拡張を議論する際に特に役立ちます。なぜなら、そうでなければ必要となる行数の組み合わせ爆発を大幅に削減できるからです。また、表内の値の分布の「形状」をすぐに認識できる特徴的な形で示すことができるため、読者が規則をより迅速に理解するのに役立ちます。
真理値表は、デジタル論理回路におけるハードウェアルックアップテーブル(LUT)の機能を指定するためにも使用されます。n入力LUTの場合、真理値表は次のようになります。真理値表は、LUT のブール関数を完全に指定する値 (または上記の表形式では行) で構成されます。各ブール値をバイナリ数のビットとして表現することで、真理値表の値を電子設計自動化 (EDA)ソフトウェアで効率的に整数値としてエンコードできます。たとえば、32 ビット整数は、最大 5 つの入力を持つ LUT の真理値表をエンコードできます。
真理値表の整数表現を使用する場合、LUT の出力値は、LUT の入力値に基づいてビットインデックスkを計算することで得られます。この場合、LUT の出力値は整数のk番目のビットになります。たとえば、n個のブール入力値の配列が与えられた場合の LUT の出力値を評価するには、真理値表の出力値のビットインデックスを次のように計算できます。i番目の入力が真の場合、そうでなければすると、真理値表のバイナリ表現のk番目のビットがLUTの出力値となり、
真理値表はブール関数を符号化するシンプルで分かりやすい方法ですが、入力数の増加に伴ってサイズが指数関数的に増大するため、入力数の多い関数には適していません。よりメモリ効率の良い表現方法としては、テキスト方程式や二分決定図などがあります。
デジタルエレクトロニクスやコンピュータサイエンス(応用論理工学および数学の分野)では、真理値表を用いることで、論理ゲートやコードを使わずに、基本的なブール演算を入力と出力の単純な相関関係に還元することができます。例えば、二進数の加算は、次の真理値表で表すことができます。
ここで、Aは第1オペランド、Bは第2オペランド、Cはキャリー桁、Rは結果である。
この真理値表は左から右に読みます。
この表は、この操作を実行するために必要な論理演算を説明するものではなく、単に入力値から出力値への変換機能を示すものです。
結果に関して言えば、この例は算術的にはモジュロ2の2進加算と見なすことができ、論理的には排他的論理和(排他的論理和)の2進論理演算と同等である。
この場合、1と0といった非常に単純な入出力にしか使用できません。しかし、入力値の種類が増えると、真理値表のサイズも大きくなります。
例えば、加算演算では、オペランドAとBの2つが必要です。それぞれが0または1のいずれかの値をとります。これらの2つの値の組み合わせの数は2 × 2、つまり4つです。したがって、CとRの出力は4通りになります。基数が3の場合、組み合わせの数は3 × 3、つまり9通りに増えます。
上記の最初の「加算」の例は、半加算器と呼ばれます。全加算器は、前の演算からの桁上がりを次の加算器への入力として与えるものです。したがって、全加算器の論理を記述するには、8行の真理値表が必要になります。
ABC* | CR 0 0 0 | 0 0 0 1 0 | 0 1 1 0 0 | 0 1 1 1 0 | 1 0 0 0 1 | 0 1 0 1 1 | 1 0 1 0 1 | 1 0 1 1 1 | 1 1 前回と同じですが… C* = 前の加算器からの桁上がり
表の左側にある命題変数を表すガイド列[ 5 ]については、著者によって記入方法が異なっているが、これは論理的に意味のあることではない。[ 6 ]
ランダー大学のリー・アーチー教授は、公開されている真理値表で一般的に用いられているこの手順を推奨している。
この方法により、 Stephen Cole Kleeneによって作成されたP → ( Q ∨ R → ( R → ¬ P ))の次の表のような真理値表が得られます。[ 7 ]
一方、コリン・ハウソンは、以下のことを行うことが「良い実践的なルール」だと考えている。
まず、すべての T から始め、次に (3) 2 つの T を 1 つの F と組み合わせるすべての方法、次に (3) 1 つの T を 2 つの F と組み合わせるすべての方法、最後にすべての F で終わります。複合語が n 個の異なる文文字から構成されている場合、その真理値表には 2 n行あります。最初の文字に T または F を割り当てる方法は 2 通りあり、そのそれぞれについて、2 番目の文字に T または F を割り当てる方法は 2 通りあり、そのそれぞれについて、3 番目の文字に T または F を割り当てる方法は 2 通りあり、2.2.2. …、n 回繰り返され、2 nに等しくなります。[ 6 ]
これにより、Howsonが作成した表をモデルにした、次のような真理値表が作成されます。「 ( A → C )∧( B → C )と( A ∨ B )→ Cは真理関数的に同等である」ことを示しています。[ 6 ]
入力変数がn個ある場合、それらの真偽値の組み合わせは 2 n通りあります。与えられた関数は、それぞれの組み合わせに対して真または偽を返す可能性があるため、n個の変数の異なる関数の数は、 2 2 n の二重指数になります。
3つ以上の変数を持つ関数の真理値表は、めったに示されない。
真理値表の出力を、単なる真偽値ではなく、いくつかの変数値の関数として表現すると便利な場合があります。これらは、より一般的な「真理値表」と区別するために「関数表」と呼ばれることがあります。[ 8 ]例えば、ある値Gを XOR ゲートと組み合わせて、別の値Xを条件付きで反転させることができます。つまり、Gが偽の場合、出力はXであり、Gが真の場合、出力は となります。この場合の関数表は次のようになります。
同様に、選択入力を備えた4 対 1マルチプレクサそしてデータ入力A、B、C、Dと出力Z(画像に示されているとおり)は、次の関数表を持つことになります。

以下は、2 つのブール変数pとqの 16 通りの真理関数の定義を示す拡張真理表です。[注1 ]
どこ
『論理哲学論考』の命題5.101において、[ 9 ]ウィトゲンシュタインは上記の表を次のように列挙した。
各行で表される真理値表は、真理値行で与えられたシーケンスを表に追加することによって得られます[注3 ]。
例えば、表
引数なしの操作は2つあります。
この演算子はオペランドがゼロであるため入力値がなく、出力値は常に真となります。
出力値は決して真ではなく、常に偽です。なぜなら、この演算子はオペランドがゼロであり、したがって入力値がないからです。
単項演算は2つあります。
論理的同一性とは、ある論理値pに対する演算であり、その演算結果もpのままである。
論理恒等演算子の真理値表は以下のとおりです。
論理否定とは、通常は命題の値である論理値に対して行われる演算であり、被演算項が偽の場合は真、真の場合は偽の値を生成する。
NOT p ( ¬p、Np、Fpq、または~pとも表記される)の真理値表は以下のとおりです。
2つの二値変数には16種類の真理関数が存在し、それぞれの演算子には固有の名前が付けられています。
論理積とは、2つの論理値(通常は2つの命題の値)に対して行われる演算であり、両方のオペランドが真の場合に真という値を生成します。
p AND qの真理値表( p ∧ q、Kpq、p & q、またはpとも表記される)q ) は以下のとおりです。
平易な言葉で言えば、pとqの両方が真であれば、論理積p∧qは真となる。pとqに他の論理値を割り当てると、論理積p∧qは偽となる。
また、pならばp ∧ qはqであり、そうでなければp ∧ qはpである、とも言える。
論理和とは、2つの論理値(通常は2つの命題の値)に対して行われる演算であり、少なくとも一方の被演算項が真であれば真という値を返す。
p OR q ( p ∨ q、Apq、p || q、またはp + qとも表記される)の真理値表は以下のとおりです。
英語で言うと、pならばp ∨ qはpであり、そうでなければp ∨ qはqである。
論理的含意と実質条件文はどちらも、2つの論理値(通常は2つの命題の値)に対する演算に関連しており、最初のオペランドが真で2番目のオペランドが偽の場合は偽の値、それ以外の場合は真の値を生成します。
論理的含意p は q を意味する( p ⇒ qまたはまれにCpqと表記される)という命題に関連する真理値表は次のとおりです。
実質条件文「pならばq」 ( p → qと表記)に関連する真理値表は以下のとおりです。
p ⇒ qとp → qは¬p ∨ qと同等です。
論理等価性(双条件または排他的否定とも呼ばれる)は、 2 つの論理値(通常は 2 つの命題の値)に対する演算であり、両方のオペランドが偽であるか、両方のオペランドが真の場合に、真という値を生成します。
p XNOR q ( p ↔ q、Epq、p = q、またはp ≡ qとも表記される)の真理値表は以下のとおりです。
したがって、p EQ q は、p と q の真偽値が同じ場合(両方とも真または両方とも偽)は真であり、真偽値が異なる場合は偽である。
排他的論理和は、2つの論理値(通常は2つの命題の値)に対して行われる演算であり、オペランドのうち一方のみが真である場合に真という値を生成します。
p XOR q ( Jpq、またはp ⊕ qとも表記される)の真理値表は以下のとおりです。
2 つの命題の場合、XOR は(p ∧ ¬q) ∨ (¬p ∧ q) とも書くことができます。
論理NAND演算は、2つの論理値(通常は2つの命題の値)に対して行われる演算であり、両方のオペランドが真の場合に偽の値を生成します。言い換えれば、少なくとも一方のオペランドが偽の場合に真の値を生成します。
p NAND q ( p ↑ q、Dpq、またはp | qとも表記される)の真理値表は以下のとおりです。
論理演算を複合演算、つまり他の演算から構成される演算として表現することは、しばしば有用です。基本演算または「プリミティブ」演算と、複合演算または「派生演算」とみなされる演算に応じて、このような複合演算は数多く存在します。
論理NANDの場合、NOTとANDの組み合わせとして明確に表現できます。
論理積の否定: ¬( p ∧ q )、および否定の論理和: (¬ p ) ∨ (¬ q ) は、次のように表にまとめることができます。
論理NORは、2つの論理値(通常は2つの命題の値)に対する演算であり、両方のオペランドが偽の場合に真を返します。言い換えれば、少なくとも一方のオペランドが真の場合に偽を返します。↓は、発明者であるチャールズ・サンダース・パースにちなんでパースの矢印とも呼ばれ、唯一の十分演算子です。
p NOR q ( p ↓ q、またはXpqとも表記される)の真理値表は以下のとおりです。
選言の否定 ¬( p ∨ q ) と否定の連言 (¬ p ) ∧ (¬ q ) は、次のように表にまとめることができます。
NANDとNORの表形式の導出を、関数引数pとqに論理値を割り当てるたびに調べると、¬( p ∧ q )と(¬ p ) ∨ (¬ q )、および¬( p ∨ q )と(¬ p ) ∧ (¬ q )の関数値のパターンが同一であることがわかります。したがって、各ペアの最初の式と2番目の式は論理的に同等であり、それらの論理値のみに関係するすべての文脈において、互いに置き換えることができます。
この等価性はド・モルガンの法則の一つである。