一つの演算子で、関数電卓のプリミティブを組み立てる
NANDゲートがすべてのブール論理を生成できるように、関数電卓の有限個のプリミティブを一つの演算子で組み立てられるか。2026年の候補探索と構成を読み解く。

NANDゲートがすべてのブール論理を生成できるように、関数電卓の有限個のプリミティブを一つの演算子で組み立てられるか。2026年の候補探索と構成を読み解く。

NANDゲートという概念があります。デジタル回路の世界で登場するもので、「あらゆるブール論理関数はNANDゲートだけで表現できる」という性質を持ちます。ANDもORもNOTも、すべてNANDの組み合わせに還元できます。NANDのこの性質を Sheffer ストローク と呼びます。では、関数電卓で使う初等関数にも似た圧縮はできるでしょうか。2026年3月、Andrzej Odrzywołekは、sin、cos、exp、log、べき乗、四則演算など、論文が選定した有限個のプリミティブを一つの演算子と定数1から構成しました。
emlの定義 → 定数1の役割 → 四則演算をブートストラップで構築 → 提示された構成が複素数を経由する理由 → 「生成する」の形式的な意味 → 既知との差 → シンボリック回帰への接続 → 残された問題。この記事で密度を傾けているのはブートストラップの連鎖と複素数を使う構成の二点で、生成手順の各論はその前段として示す。
その演算子はこうです。
これに定数1を加えた二つだけで、論文が選定した関数電卓の36プリミティブ(sin、cos、tan、双曲線関数、π、e、i、四則演算、べき乗、根など)を有限の入れ子合成で表現できます。論文はこれを「EML Sheffer演算子」と呼びます。これは任意の関数や関数空間全体を生成するという主張ではありません。
発見の経緯は理論的演繹だけではありません。著者は候補となる二項演算子を計算機で探索し、ablationと数値的なふるいを通してemlを候補として見いだしました。この探索は、あらゆる演算子を尽くした全探索でも、計算機以外では発見不能だという証明でもありません。ブール代数のSheffer演算子がPeirce(パース)やShefferによって研究された歴史に対し、今回は候補探索が発見過程の中心を担った、という方法上の違いがあります。
emlの第二引数に1を代入します。ln(1) = 0 なので:
eml(x, 1) = exp(x) − ln(1) = exp(x) − 0 = exp(x)
対数項が消えます。これだけで指数関数が取り出せました。同様に:
eml(1, 1) = exp(1) − ln(1) = e
定数eも出てきます。1という定数が対数項を消すスイッチとして機能していて、これがないと何も始まりません。
論文の証明は構成的です。S₀ = {1, eml} から始め、残りの各プリミティブに対してEML式を探索し、見つかったものを逐次利用可能集合に追加していきます。expとeが手に入ったあと、自然対数はこうなります:
深さ 3 の入れ子
ln(z) = eml(1, eml(eml(1, z), 1))
内側から展開します。ここでは z>0 の実数を仮定します。eml(1, z) = e − ln(z)。それを第一引数にしてeml(·, 1)を適用すると、exp(e − ln(z)) = eᵉ/z となり、z>0 なのでこの値は正の実数です。最後に eml(1, eᵉ/z) = e − ln(eᵉ/z) = e − (e − ln(z)) = ln(z)。途中でeᵉ/zという巨大な値が現れますが、最終的に完全にキャンセルされます。この打ち消しがブートストラップ全体の基本パターンになっています。
この消去は、正の実数上での対数則に依存しています。標準的な複素主値 Log では、積・商について Log(uv) = Log(u) + Log(v) + 2πi k、Log(u/v) = Log(u) − Log(v) + 2πi k(k∈ℤ)のように 2πi のずれが生じ得ます。そのため、負の実軸をまたいで同じ消去を無条件に使うことはできません。
expとlnが揃えば、算術演算は恒等式を経由して出てきます。
これらを実数の途中式として評価する定義域にも注意が必要です。減算の式は x>0, y∈R、乗算と除算の式はそれぞれ x>0, y>0 の範囲で読む必要があります。−x = 0−x は算術上の関係を短く書いたもので、直前の ln(x) を含む減算式へ x=0 を代入して符号反転を導いたという意味ではありません。x=0 ではその ln(x) を実数として評価できないためです。
各ステップで合成が深くなるため、木の規模は急増します。
| 関数・定数 | EML CompilerのRPN長 K | 直接探索のRPN長 K |
|---|---|---|
| exp(x) | 3 | 3 |
| ln(x) | 7 | 7 |
| x − y | 83 | 11 |
| x × y | 41 | 17 |
| x + y | 27 | 19 |
| π | 193 | >53 |
これは論文Table 4の formal RPN(逆ポーランド記法)program length Kです。入れ子の深さではありません。Compiler列は未最適化のプロトタイプが生成した式、直接探索列は設定された探索範囲で見つかった式を表します。πの>53はK ≤ 53の探索で式が見つからなかったという意味であり、Compilerの193が最短長だという意味ではありません。
未最適化のEML Compilerが生成したπの式はRPN長K=193。これは最短長の主張ではない。
この長さと数値安定性は別の論点です。Kamila Szewczykの本人による実装報告では、x86-64上のglibcを使った単純なbinary64実装 exp(x)-log(y) を、x∈[-10,10]、y∈(0,1000]から一様に選んだ2,000万組でbinary128参照値と比較し、標本内最大851,150 ULPを観測しました。これは全入力域の理論上界でも、任意のEML合成木に共通する最悪値でもありません。
同じ報告では、近接する exp(x) と log(y) の近似誤差が小さい差に対して増幅される問題を、double-doubleとexpm1を使う専用実装で抑え、同じ標本で最大2 ULPとしています。したがって確認できるのは「単純合成は不安定になり得るが、専用アルゴリズムで改善できる」という範囲です。原論文はFPGAやアナログ回路への実装可能性に触れますが、FPUやCORDICと精度条件を揃えた性能比較は行っていません。
実数のままでは ln(−1) は定義できません。対数は正の実数にしか定義されないからです。複素数へ拡張した標準的な主値を Log と書くと、通常の境界値の約束では Log(−1) = +iπ です。実数上の ln と複素主値の Log は、branchを区別して読む必要があります。
標準的な複素主値をEMLの入れ子へそのまま適用すると、自然対数の候補は次の形になります。
つまり、正の実数 z で成立した e − ln(eᵉ/z) = ln(z) という消去は、標準的な複素主値へそのまま広げると負の実軸で符号が反転します。原論文の Section 4.1(EML compiler) は対処を二つに分けています。一つはEML側のbranchを再定義し、EMLから得られる ln(z) とその派生式が標準的な主値branchに従うようにする方法です。もう一つは、プロトタイプcompilerで i の符号を手動補正する方法です。後者はbranchそのものを再定義するのではなく、compilerの出力に現れる i の符号を補正します。
iが手に入れば、Eulerの公式 eⁱˣ = cos(x) + i·sin(x) が三角関数全体を解放します。
sin(x) = (eⁱˣ − e⁻ⁱˣ) / (2i)
cos(x) = (eⁱˣ + e⁻ⁱˣ) / 2
論文が提示した三角関数の構成は、複素数平面を経由します。実数の範囲にとどまったπや三角関数の構成は、この論文では示されていません。
論文が選定したプリミティブのうち、πと三角関数について提示された構成は複素数を経由する。有限の標的集合と、その各構成で用いる定義域を分けて読む必要がある。
ln は正の実数にしか定義されないため、負の値を引数に取る中間式は複素数へ拡張しなければ評価できません。したがって論文の提示構成は実数上だけでは閉じませんが、この事実だけで別の実数のみの構成が不可能だと証明されたわけではありません。
双曲線関数(sinh、coshなど)はiを必要とせず、expとlnから直接導出できます。根はx^(1/n) = exp(ln(x)/n)という形で表現されます。複素数を経由するのはあくまで三角関数とπを手に入れる経路だけです。
この主張は「関数空間全体を生成できる」という意味ではない。対象は標準的な関数電卓が持つ有限個のプリミティブ。チューリング完全性とは別の話。
論文が「生成できる」と言うとき、それは以下の文脈自由文法で書けるということを意味します:
S → 1 | x | eml(S, S)
すべての式が「内部ノードがeml演算、葉が1か入力変数」の完全二分木になります。ただしNANDの機能完全性が有限入力上の任意のブール関数を対象とするのに対し、ここで確認されたのは論文が選定した有限のプリミティブ群に対する構成です。両者は「一種類の演算子へ圧縮する」という類比を持ちますが、対象集合と完全性の意味は同一ではありません。
多くの標準的な初等関数をexp、ln、四則演算の組み合わせへ還元できることは古くから知られています。論文の新しい点は、選定した36プリミティブについて、さらにemlと定数1だけからなる具体的な構成を与えたことです。
この結果は、任意の初等関数や代数的関数全体を覆う定理ではありません。有限の標的集合に対する構成結果と、より広い関数クラスに対する完全性の問いを分けて読む必要があります。
探索では、候補式へ定数を代入したdouble precisionの数値を比較し、明らかに違う候補を落とすheuristic sieveが使われています。そのprobeにはEuler–Mascheroni定数γも含まれますが、γは無理数かどうかさえ未解決であり、既知の「代数的独立な超越定数」ではありません。数値的一致は候補発見の手掛かりであって証明ではなく、論文も記号計算による確認やcross-validationを別工程に置いています。
Schanuel予想 は数の代数的独立性に関する未解決予想であり、有限精度の一点照合を証明へ変えたり、「偶然一致の確率ゼロ」を保証したりするものではありません。論文が選定した各プリミティブの根拠は、候補探索の数値だけでなく、提示された構成式と独立した検証工程に求める必要があります。さらにstylewarning.comのRobert Smithは位相的Galois理論(Khovanskii)の観点から、EML項で表せる代数的関数の範囲に限界があると論じています。これは有限標的集合の構成結果と、関数クラス全体の完全性が別問題であることを示します。
シンボリック回帰(数値データから閉形式の数式を復元すること)がこの論文の終着点です。
EML式はすべて同型の完全二分木になるため、均一で微分可能なアーキテクチャとして扱えます。各ノードへの入力を線形結合 α + βx + γf(fは前のノードの出力)としてパラメータ化し、Adamで学習し、収束後に重みを整数値にスナップすれば、数式を復元できます。Eureqa(Schmidt–Lipson, 2009)から続くシンボリック回帰の系譜との関係はここでは追いません。emlとシンボリック回帰の接続構造だけを見ます。
深さ2のEML木で100%、深さ3〜4で約25%の数式復元率。深さ6でも正しい吸引域が存在し、摂動された解は常に収束することが確認されています。
論文が構成したプリミティブで記述できる活性化関数や演算は、EML木へ書き換えられます。この限定された意味で、ニューラルネットワークの一部を均一な演算子表現へ移す研究の入口になり得ます。
最大の未解決問題は定数1の必要性です。論文は三項候補 T(x, y, z) = eˣ/ln(x) · ln(z)/eʸ を提案しています。これはT(x, x, x) = 1を満たすため、定数なしで1を自前生成できる可能性があります。ただし三項候補の構成的証明はまだなく、提案段階にとどまります。実用的なコスト問題と形式的な必然性の証明については、この記事では触れません。
論文本体は arXiv:2603.21852。三項候補 T(x, y, z) の議論と Mathematica 検証スクリプトはそこに収録されている。stylewarning.com の Robert Smith による批判的検討(Khovanskii Galois 理論の観点)は https://www.stylewarning.com/posts/not-all-elementary/ を参照。