Sheffer ストローク
単独であらゆるブール関数を生成できる二項論理演算子。代表例は NAND(否定論理積)。Henry Maurice Sheffer が1913年に NAND だけでブール代数全体を記述できることを示した。
単独であらゆるブール関数を生成できる二項論理演算子。代表例は NAND(否定論理積)。Henry Maurice Sheffer が1913年に NAND だけでブール代数全体を記述できることを示した。
Sheffer ストローク は、単独でブール論理の すべての関数を生成できる 二項演算子のこと。代表例は NAND(Not AND)で、記号は 。
| (NAND) | ||
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
NAND は AND の否定で、両方が 1 のときだけ 0 を返します。Henry Maurice Sheffer が 1913 年の論文で「ブール代数全体を 1 つの演算子で公理化できる」ことを示しました(Sheffer, Trans. Amer. Math. Soc. 14 (1913))。
2 入力ブール関数 NAND と AND の出力を、4 つの入力組合せ ごとに並べた図です。NAND は AND の出力を反転したものになっています。
緑が NAND、青が AND。両方が 1 になる のときだけ NAND が 0 を返し、それ以外はすべて 1。AND と完全に逆の出力です。この単純な反転構造から、NOT・AND・OR をすべて構成できる豊かな表現力が生まれます。
NAND は理論的興味だけでなく、現代の計算機ハードウェアと密接に結びついています。
NAND の機能完全性は、以下の構成で示されます。
NOT は同じ入力を 2 回 NAND に通すだけ。AND は NAND の出力をさらに NAND(自己 NAND)で反転。OR はド・モルガンの法則 を NAND だけで書き直したもの。これらが組み合わさり、任意のブール関数が NAND の組合せで表現できます。
2 入力 1 出力のブール関数は 個あります。Post の機能完全性定理は、ある演算子集合が機能完全である必要十分条件を 5 つの「Post クラス」(定数保存・否定保存・単調・線形・自己双対)すべてに属さないこととして特徴づけました。単独の演算子で機能完全になるのは、これら 5 クラスすべてから外れる NAND と NOR の 2 つだけ。残りの 14 個の演算子はいずれか 1 つ以上のクラスに属するため、単独では不完全です(Post, The Two-Valued Iterative Systems of Mathematical Logic, Annals of Mathematics Studies 5, Princeton University Press, 1941)。
Sheffer の 1913 年の論文以前に、Charles S. Peirce が 1880 年頃に同じ発見を独立にしていたことが後年判明しました。Peirce は NAND(彼の表記では「amphecks」)と NOR を同時に発見し、ブール代数の単一演算子による公理化を示唆していましたが、原稿は未公開のまま長年埋もれていました(Brent, Charles Sanders Peirce: A Life, Indiana University Press, 1993 等)。Sheffer の論文が決定版として広まり、NAND は今も「Sheffer ストローク」の名前で呼ばれています。
ブール代数の Sheffer ストローク(NAND)が離散領域の万能演算子だとすると、連続数学(実数・複素数上の関数)に同じ性質をもつ演算子があるかは自然に湧く論点です。2026 年 3 月、Andrzej Odrzywołek は EML Sheffer 演算子 を発表し、 と入力変数 、定数 から ・・・・四則演算を含む幅広い解析関数を生成できることを示しました。式木の形に限れば、Catalan 数 は内部ノードが 個のラベルなし完全二分木を数えます。これは演算子や葉のラベルを選んだ式総数でも、深さだけを固定した式総数でもありません。詳細は Academy 記事 academy-eml-sheffer を参照。