P vs NP / 公開研究ノート資料基準日 2026 09 05
第1版・継続研究
このページの道順
An open research notebook

P vs NP を追いかける

意味の圧縮から、証人を運ぶ計算へ。

「同じ先へ進む探索の枝を、ひとまとめにできないか」。この素朴な着想から始まった、人間とAIによる研究の記録です。うまくいかなかった橋を確かめ、先行研究につなぎ直し、現在は真理値表を読みながら、小さな回路を更新し続けられるかを調べています。

P vs NP:未解決条件を明示した補題と証明有限計算のコード・結果を収録

最初に、現在地を一枚に

出発点。探索履歴を「残りの入力に対して同じ結果を返すか」で分類すると、重複した枝をまとめられます。しかし、その形式の表現が大きいことだけでは、あらゆるアルゴリズムが遅いとは言えません。

現在の問い。小さな回路で説明できるデータを一ビットずつ読み、過去に整合する回路を、小さい状態と速い更新で保てるでしょうか。既知の構成により、P=NP なら、この種の更新は効率的にできます。逆に、その効率的な実装が存在しないと無条件に示せれば、P≠NP へ届きます。

今回得たもの。次の一ビットや連続区間を、少数のゲート追加で変更する初等的な補題を得ました。これは「値が強制されるはず」という候補を調べる道具になります。一般の更新計算の下界は、まだ得ていません。

この公開の目的

賞金の獲得より、着想・証明・失敗・修正を、他の人が検討できる形で共有することを目指します。確かめられた命題と、その先に必要な未証明命題を、同じ確度で扱わないよう記録します。

初めて読む方は第1〜5章から。補題を検証する方は第7〜11章へ。証明の詳細は折りたたみを開けます。数式と図はオフラインでも読め、操作例と再現用ファイルもこのHTML内に含まれています。

01

P と NP は、何を尋ねているのか

答えの候補を確かめるのが速い問題は、答えの有無を決めるのも速いのでしょうか。

ここでの「速い」は、入力の長さに対する多項式時間です。長さを m とすると、ある固定定数 c について O(mc) 時間で終わることを指します。特定の小さな入力で数秒だった、という意味ではありません。

P:答えの有無を速く決められる

YES / NO を返す問題で、一つの決定的アルゴリズムが、あらゆる入力を入力長の多項式時間で処理します。

NP:YES の証人を速く確認できる

YES の入力には、多項式長の証人があります。入力とその証人を渡せば、正しさを多項式時間で検査できます。

x ∈ L ⇔ ∃ y[ |y| ≤ p(|x|) ∧ V(x,y) = 1 ]NP の定義:p は多項式、V は多項式時間の検証器。

NP は「多項式時間では解けない問題」の略ではありません。P ⊆ NP は分かっています。残る問いが、P=NP なのか P≠NP なのかです。Clay Mathematics Institute も、この問題を未解決のミレニアム懸賞問題として掲載しています。[1]

具体例:SAT と 3-SAT

SAT は、0 / 1 の変数からなる論理式を、全体が 1 になるようにできるかを尋ねます。∧ は AND(両方が1)、∨ は OR(少なくとも一方が1)、¬ は NOT(0と1の反転)です。CNF は OR のまとまりを AND で結んだ式。本ページで 3-CNF は、一つの OR のまとまりに高々3個のリテラルがある式を指します。

φ = (a ∨ ¬b ∨ c) ∧ (¬a ∨ b) ∧ (¬c ∨ b)

たとえば a=1、b=1、c=0 を代入すると、三つの節すべてが 1 です。この割当てが証人です。式の長さに比例する程度の処理で確認できます。SAT は NP 完全なので、SAT に一様な多項式時間アルゴリズムがあれば P=NP です。

「判定」「一つの解」「すべての解」を分ける

SAT を速く判定できるなら、一つの解も速く見つけられます。変数を 0 に固定して充足可能かを尋ね、可能なら 0、無理なら 1 を選ぶ。この操作を変数の数だけ繰り返せばよいからです。

しかし、すべての解を列挙するには、解の数だけ出力が必要です。また「全解集合を、指定された形式の小さいデータ構造にする」という要求には、その形式固有の制約があります。

厳密さのための補足:多項式・一様性・最悪の場合

多項式の次数とアルゴリズムは、入力ごとに変えられません。入力長 m ごとに巨大な答えの表をあらかじめ与える方式は、通常の P の定義ではありません。また、ある探索法が 2m 通りを試すことは、その問題を解くすべての方法が 2m 時間かかる証明にはなりません。

この研究の狙いは最悪の場合の計算量です。平均的な入力や実務的な SAT ソルバーの速さは、それぞれ重要ですが、P vs NP の量化と同一ではありません。

02

同じ未来へ進む枝をまとめる

最初の発想は、探索の重複を意味によって取り除くことでした。変数の一部を決めたとき、残りの変数に対して同じ振舞いをするなら、そこまでの履歴を区別する必要はないかもしれません。

関数 f の先頭 i 個の変数に割当て α を代入した関数を、残余関数 fα と呼びます。二つの履歴 α、β が合流できる条件は、残りのすべての割当て z について fα(z)=fβ(z) となることです。

図は横にスクロールして読めます。

同じ残余関数へ合流する割当てf=(x∨z)∧(y∨z)。x=0なら残余はz。x=1ならy∨z。xy=00,01,10の三履歴はzに、11は定数1になる。f = (x ∨ z) ∧ (y ∨ z)x = 0x = 1zy ∨ zxy = 00xy = 01xy = 10xy = 11y = 0y = 1y = 0y = 1同じ未来:z常に 1
SAT の変数を x、y、z の順に読む例。xy の割当ては四通りですが、残りの z に関する振舞いは二種類です。「同じ未来」の履歴は同じ状態に合流できます。

操作例1:残りの未来を比べる

f=(x∨z)∧(y∨z) で、x と y の割当てを変えてください。

xy=00 の残余は z。z=0 なら 0、z=1 なら 1。xy=01、10 と同じ未来です。

OBDD:読む順番を固定した分岐図

この発想は OBDD(Ordered Binary Decision Diagram)と深く関係します。OBDD は、変数を固定順序で調べ、各変数を一つの経路で高々一回読み、最後に 0 / 1 へ到達する図です。同じ残余関数を共有すれば、枝を合流できます。

固定した切断で必要な状態数

変数を固定順で一回だけ読み、過去を再読しないモデルで、「先頭 i 個を読み終わった時点」を固定します。その時点の異なる残余関数が K 個なら、決定的な正確計算には少なくとも K 個の区別可能な状態が必要です。状態を B ビットで記録するなら、2B ≥ K、したがって B ≥ ⌈log2K⌉ です。

なぜ、異なる残余関数は同じ状態にできないのか

残余関数 fα と fβ が異なるなら、ある続き z で答えが異なります。α と β を読んだ後の状態が同じだと、その後に同じ z を入力した決定的な機械は同じ結果を返してしまいます。正確性に反するので、別の状態が必要です。

逆に、残余関数そのものを抽象的な状態とみなせば、次の変数の固定によって次の残余へ移れます。これは状態数の議論です。その関数を短い符号から効率よく更新できるとは、まだ言っていません。

ここで数えるのは、固定した切断を通る状態です。縮約 OBDD では変数を飛ばす辺があるため、「変数 xi と表示された節点数」だけを、そのまま切断状態数と同一視しません。

「まだ解がある」という一ビットでは、未来を区別できない

残りの関数が z の場合も ¬z の場合も、いまは解があります。しかし次に z=0 を読むと、一方は不充足、他方は充足です。「解あり」という一ビットだけでは、この更新を正確には行えません。

現在の答えが同じでも、次の入力への反応は異なる
残余関数いま解はあるかz=0 を読むz=1 を読む
zYESNOYES
¬zYESYESNO

ただし、これは「一ビットの存在情報だけから更新する」という方式への反例です。一般の SAT アルゴリズムの不可能性を示したものではありません。

03

表現が大きいことから、何が言えるか

特定の分岐図に対する下界を、あらゆる計算の下界へ移すには、別の定理が必要です。

HWB(Hidden Weighted Bit)は、入力中の 1 の個数を w と数え、その番号の入力ビットを返す関数です。通常の添字 x1,…,xn を使い、w=0 のときは 0 と定義します。数えて一箇所を読むので、多項式時間で評価できます。一方、すべての変数順序で OBDD が指数的に大きくなることが知られています。[2]

さらに、変数の否定を含まない単調な 2-CNF には、OBDD の指数下界を持つ族があります。それでも SAT の答え自体は、全変数に 1 を入れれば YES です。[3] これらは、特定形式で全体を表す難しさと、入力に答える計算の難しさが一致しない具体例です。

主張正しい読み方
この族の OBDD は指数サイズ固定された表現形式の下界
この関数は P で評価できる評価用のアルゴリズムの上界
OBDD が大きいから、どの計算法も遅いそのままでは導けない。一般計算を資源を保って OBDD に直す橋が必要

研究上の訂正:条件文を「反証済み」にしない

以前の検討には、次の橋がありました。「もし SAT∈P なら、全 3-CNF の全解集合に多項式サイズの OBDD がある」。この扱いには、重要な論理上の訂正が必要でした。

C33 偽だと分かっている後件を持つ条件文 論理の確認

H を SAT∈P、Q を「すべての 3-CNF に共通の多項式サイズ上界で OBDD 表現がある」とします。単調 2-CNF の下界から Q は偽です。すると、古典論理で次が成り立ちます。

(H ⇒ Q) ⇔ ¬H

したがって、この条件文を証明することは P≠NP を証明することと同値です。条件文そのものを偽だと証明すれば、逆に H、つまり P=NP が従います。

反証できたのは「P で評価できるすべての関数には、小さい OBDD がある」という一般原理です。SAT∈P を前提とする上の条件文を、無条件に偽と判定したわけではありません。

条件文の真理値と、表現形式の指定

H⇒Q は ¬H∨Q と同じです。Q が偽なら、これは ¬H になります。「後件が偽だから条件文も偽」とするのは、前件 H が真であることをすでに仮定してしまっています。

また Q の表現形式を省略してはいけません。「多項式長の任意の論理式で表せる」という意味なら、元の CNF 自体が小さい表現です。OBDD の下界を、その別の主張に流用することはできません。

正規形を使う計画に残る負担

研究の中では、一般の計算を共通の表現へ変換し、そこで下界を示す CCP・E-NF という案も検討しました。ただし、表現を弱く制限すると HWB のような簡単な関数を小さく表せません。十分に強くすると、今度はその形式への下界自体が一般回路下界に近づきます。

変換器の時間、途中で生じる表現の大きさ、変数を消す操作、更新後の正規化まで数える必要があります。小さい最終表現が存在するだけで、これらの作業が無料になるわけではありません。知識コンパイルの先行研究は、表現形式ごとに可能な問い合わせと変換を整理しています。[4]

04

MCSP:表を、小さな回路で説明できるか

次に調べる対象は、MCSP(Minimum Circuit Size Problem)です。n 変数関数の真理値表そのものと回路サイズの閾値 s を受け取り、「この表を計算する、サイズ s 以下の回路があるか」を問います。

N = 2n / T = f(x0) f(x1) ⋯ f(xN−1)MCSP(T,s) = YES ⇔ ∃ C[ |C| ≤ s ∧ ∀ j<N, C(xj)=Tj

xj は整数 j の n ビット表現です。本ページでは 00…0、00…1、…、11…1 の順に並べます。n=2 なら 00、01、10、11。OR の表は 0111 です。

入力の長さは n ではなく N=2n

MCSP の通常の入力には N 個の出力ビットが明示されています。N に対する多項式時間と、n に対する多項式時間は大きく違います。後に使う WC の「一回の更新が poly(s)」という条件も、表全体を poly(n) 時間で読むという意味ではありません。

この先で区別する、二種類の接頭辞
SAT の変数割当てMCSP の真理値表
読んでいるもの変数 x、y、z… の値関数の出力 f(00…), f(00…1)…
prefix の例x=0、y=1最初の三出力が 011
残りの自由度未割当ての変数まだ読んでいない位置の出力

回路の数を数えると、状態数だけの案は止まる

回路は、入力を AND、OR、NOT のゲートで結んだ DAG(閉路のない有向グラフ)です。計算した途中の値は何度使っても構いません。n≤s とすると、サイズ s の回路は、各ゲートの種類と接続先を O(s log(s+2)) ビットで記述できます。したがって、そのような回路が表せる異なる真理値表の数 M は、

M ≤ 2O(s log(s+2))

です。回路が異なっても同じ関数を計算する場合があるので、これは上界です。

疎な言語の残余数上界 初等的な計数

長さ N の受理語が M 個しかない言語では、どの切断でも、異なる残余言語の数 K は M+1 以下です。したがって MCSP では log2K=O(s log(s+2)) です。

M+1 の証明と、探索版でも残る上界

受理される続きが一つでもある prefix を live とします。固定した長さ i で、異なる live prefix は異なる受理語の先頭部分です。受理語が M 個なら、そのような prefix は高々 M 個です。live prefix ごとに残余が異なるとしても M 個まで。すべての dead prefix は空の残余を持ち、一クラスにまとめられるので K≤M+1 です。

出力として小回路を選ぶ探索版を考えても、この上界は消えません。各 YES 表に一つの正しい回路を選ぶ規則を固定します。異なる live prefix に同じ suffix を付けると、全体の真理値表は異なるため、両方が YES なら同じ正しい回路を出力することはできません。一方だけ YES の場合も、回路と失敗記号で区別されます。従って探索の関数残余数は、live prefix 数に dead が存在すれば 1 を足したものと一致します。それでも M+1 以下です。

この上界によって、残余状態数の爆発だけで poly(s) を超える空間下界を出す MREC という予想は反証されました。状態の短い名前が存在することは、次の名前を速く計算できることとは別です。そこで、焦点を状態数から更新計算へ移しました。

05

WC:小さな証人を運び続ける

表をまだ途中までしか読んでいなくても、読んだ部分を説明する小さな回路を、いつでも取り出せる仕組みを考えます。

長さ i の出力 prefix を u=u0…ui−1 とします。u を説明できる小さな回路の集合を、次で定義します。

Vn,s(u) = { C : |C| ≤ s, ∀ j<i, C(xj) = uj }V が空でなければ live。空なら dead。

V は候補の集合であって、実装がその全要素を列挙して持つ必要はありません。また、未読の出力をすべて決めた小回路 C を、u の completion(補完回路)と呼びます。

図は横にスクロールして読めます。

証人回路を保持する逐次更新旧回路C_iと次のビットbから、過去との一致と次の値bを満たすサイズs以下の回路Dを探索する。候補があれば次状態に、なければdead。現在の証人 Cᵢサイズ ≤ s / 既読部分に整合新しい値 b位置 i は公開パラメータ条件を満たす D を探す|D| ≤ s / j < i では D(xⱼ) = Cᵢ(xⱼ)次の位置では D(xᵢ) = b候補あり候補なし次の証人 Cᵢ₊₁ = Ddead:以後も復活しない
小さな証人を持っていることと、次の小さな証人を速く見つけられることは別の要求です。中央の探索を一様な多項式時間で実装できるかが焦点になります。

このページで使う exact WC の仕様

  1. 一つの固定された初期化器 Init、更新器 U、取り出し器 Dec が、すべての入力長を処理する。
  2. 状態 qi と新しい一ビット b から qi+1 を作る。過去の prefix を読み返さない。
  3. live のとき、状態から Vn,s(u) 内の回路を取り出せる。dead のときは失敗記号 ⊥ を返す。
  4. n、s、位置 i は公開パラメータとして使ってよい。長さ別の巨大な助言や遷移表は与えない。
  5. 初期化、更新中の作業空間、取り出しと出力書き出しの費用も数える。
「小さい・速い」を一つにまとめない
資源何を数えるか
保持する状態更新と更新の間に残す情報
総作業空間更新計算の途中で使う一時領域も含む
更新時間次の入力ビット一つを処理する時間
取り出し・報告時間状態から証人回路を出力する時間

live-promise WC は、live のときだけ正しい証人を求める緩い仕様です。ただし、dead でどの停止・資源条件を課すのかは、別に指定しなければなりません。還元に使うとき、この違いが重要になります。

回路モデルと記号の固定

特記しない限り、n≥1 の Boolean 入力、fan-in 2 の AND / OR、fan-in 1 の NOT を使い、各ゲートを 1 と数えます。入力線、定数 0 / 1、fan-out は無料、出力には既存のどの線を選んでもよいものとします。NOT も有料です。

後の C35・C36 の追加回路は、無料定数を使わなくても構成できます。有限列挙は上の無料定数ありのモデルです。XOR を一つの基本ゲートとして加えると、例の最小サイズは変わるため、基底を途中で変更しません。

MMW との接続では s=s(n)≥n を固定し、s は時間構成可能とします。各入力長の閾値を都合よく非計算的に選ぶことは認めません。以降 poly(s) は、ある固定多項式による上界を意味します。

06

この更新問題は、P vs NP にどう接続するか

McKay・Murray・Williams(MMW, 2019)は、資源制約付きの圧縮の下界を、強い複雑性クラスの分離へ結びつけました。ここでは原論文の Circuit-Min-Merge の構成を、一ビットごとの証人保持へ適用します。[5]

C20 P=NP の下での証人保持 既知構成の直接の系

P=NP ⇒ 一様な exact WC が存在する
  • 保持する状態:O(s log(s+2)) ビット。
  • 総作業空間・一回の更新時間:poly(s)。
  • 証人の書き出し:O(s log(s+2)) 時間。

これは本研究独自の新しい下界定理としては扱いません。原論文の道具を、現在の問いに合わせて明示したものです。

なぜ、過去を保存せずに更新できるのか

現在の小回路 Ci が過去の値をすべて再現しているなら、新しい候補 D は、過去の各位置で Ci と一致すればよいのです。長大な prefix の代わりに、小さい Ci を比較対象にします。

∃ D:|D|≤s ∧ ∀ j<i, D(xj)=Ci(xj) ∧ D(xi)=b

この「候補 D が存在し、すべての過去の位置で条件を満たす」という論理は、多項式階層 PH の中で表せます。P=NP なら PH は P に潰れるので、その探索を一様な poly(s) 時間で行えます。

C20 の証明:存在判定から、候補の符号を一ビットずつ作る
  1. 状態には、現在の整合回路 Ci、位置、live / dead のフラグを持ちます。初期状態では無料の定数回路を使えます。
  2. サイズ s 以下の回路を固定長 L=O(s log(s+2)) の符号で表します。パディングを許し、符号が有効かどうかも検査します。この存在判定の入力では s を単項で与えるか、長さ Θ(s log(s+2)) までパディングします。これにより D は判定入力の多項式長となり、存在判定は ∃D∀z R(D,z) と書けます。z は n ビットで、数値が i より小さいときに過去との一致を、i のときに新ビットとの一致を確認します。R は入力サイズの多項式時間で計算できます。
  3. 候補符号の接頭辞 ρ を指定した存在判定も、同じく PH に属します。P=NP の下ではそれを P で解けます。最初に存在を確認し、符号の次ビットを 0 とした候補があるかを順に尋ねれば、L 回以内の問い合わせで一つの D を構成できます。
  4. 新しい prefix が live なら、そこに整合する回路は上の存在条件を満たします。逆に条件を満たす D は、現在までの入力すべてに整合します。候補がなければ dead です。dead の prefix を延長しても、以前の不整合が消えることはありません。
  5. 候補の符号長も問いの長さも poly(s) なので、全更新は poly(s) 時間・空間です。更新後に保持するのは回路記述などだけ。取り出しはその複写で済みます。

原論文のブロック単位のアルゴリズムを、そのまま prefix ごとの取り出し器と呼んでいるのではありません。ここで述べたのは Circuit-Min-Merge を一ビットごとに用いる改変です。

対偶が教える研究目標

所定の効率的 WC が存在しない ⇒ P≠NP

この十分条件は確かです。しかし、その左側を通常の一様計算に対して無条件に示す下界は、まだありません。一つの更新法が遅い、一つの次数では足りない、小規模実験で状態が増えた、という結果では、すべての多項式資源の実装を排除できません。

元の oracle 版・量化・終端ソルバーとの関係

元資料では、固定した A∈PH を使う A-oracle 回路も扱います。P=NP なら A∈P となるので、同じ PH の議論が使えます。oracle 回路の記述・問い合わせ線の費用は元の回路モデルに従って数えます。一般の oracle を無料で計算できると仮定しているわけではありません。

構成側は、適切な任意の固定 s と A について、全入力長を扱う一つの機械と一つの多項式上界が存在するという主張です。対偶の下界側は、ある固定 s と A に対し、あらゆる一様機械・あらゆる固定多項式の上界を破る必要があります。

最後にだけ証人を出す終端ソルバーと、各 prefix で出せる WC は別の仕様です。一般の終端ソルバーを WC へ変換できるという正規形定理は、この対偶には不要です。P=NP を仮定した直接構成があるからです。

ただし、一つの canonical selector の下界だけからすべての選び方の下界へ進むのは不正です。特定の selector に対して別途 P=NP 仮定下の上界を証明している場合は、その上界の対偶を直接使えます。どの含意を使うかを明記します。

07

次の一ビットを変えるには、何ゲート必要か

回路サイズに十分な余裕があれば、「次の値は絶対に0」「絶対に1」という強制は崩せます。

長さ i の prefix u に整合する回路 C を一つ持っているとします。次に読むのは位置 i。過去の値を一切変えず、その位置の出力だけは好きな値にできるでしょうか。未読の他の値は変わってよいものとします。

C35 辞書順の次ビット変更 初等的な構成・新規性未確認

n≥1、1≤i<2n。i の二進表示に含まれる 1 の数を w=popcount(i) とします。入力 z のビットを zn−1…z0 として、

ai(z) = ∧ℓ : bit(i)=1 zC(1) = C ∨ ai / C(0) = C ∧ ¬ai

と置くと、どちらも既読の prefix を保存し、位置 i の値をそれぞれ 1、0 にできます。

|C(1)| ≤ |C| + w|C(0)| ≤ |C| + w + 1

図は横にスクロールして読めます。

i=5の次ビットを変える回路4ビット入力で次の位置5は0101。マスクはz2∧z0。5,7,13,15だけが1で、既読0から4では0。C ORマスクなら5の値を1にし過去を保存。i = 5 = 0101₂ → aᵢ(z) = z₂ ∧ z₀00102030405160718090100110120131140151既読 0〜4:すべて 0未読側の複数点で 1 になってよい元の回路 Cz₂ ∧ z₀ORC⁽¹⁾ = C ∨ aᵢ追加:AND 1 + OR 1
マスクの上段は入力位置、下段は aᵢ の値です。i=5 の 1 ビットは二つなので、次値を 1 にする追加予算は 2 ゲート。過去を守るために、未読の全点まで守る必要はありません。

証明の中心は「1 の位置を含めば、整数として小さくならない」

ai(z)=1 なら、i の 1 ビットは z の中にもすべてあります。残りの桁に 1 が追加されることはあっても、i にある 1 が消えることはありません。各桁の重みは正なので、整数として z≥i です。

従って、過去の位置 j<i では ai(xj)=0、ちょうど位置 i では 1 です。C∨ai は過去を変えず次値を 1 にし、C∧¬ai は過去を変えず次値を 0 にします。

ゲート会計・空の prefix・構成の限界

i≥1 なので w≥1 です。w 本の入力の AND は w−1 ゲートで作れます。w=1 なら入力線そのものです。1 にする場合は最後の OR が 1 ゲート、合計 w。0 にする場合は NOT と AND がさらに 2 ゲート、合計 w+1 です。既存の C の線は無料で再利用します。

i=0 は別扱いです。無料定数を使えば、両方の値を 0 ゲートで実現できます。定数入力を認めなくても、z0∧¬z0 と z0∨¬z0 なら各 2 ゲートで済みます。i=2n には次の位置がありません。

これは上界です。既存の回路に同じ部分計算があれば、さらに少なくできることがあります。また、最小の整合回路を見つけるアルゴリズムを与えるものではありません。修正を繰り返してもサイズ s 以下を保てるとは限りません。

操作例2:過去を守り、次の値を変更する

n=4。元の回路は C(z)=z3∨z1(1ゲート)。位置と変更後の値を選びます。各マスは「元の出力 → 変更後の出力」です。

i=5=0101₂。w=2。マスクは z₂∧z₀。追加は高々2ゲート、合計は高々3ゲート。既読5点はすべて保存されます。
既読・保存次の位置未読・マスク=1未読・マスク=0
0000 (0)0 → 0既読・保存
0001 (1)0 → 0既読・保存
0010 (2)1 → 1既読・保存
0011 (3)1 → 1既読・保存
0100 (4)0 → 0既読・保存
0101 (5)0 → 1次の位置
0110 (6)1 → 1未読・a=0
0111 (7)1 → 1未読・a=1
1000 (8)1 → 1未読・a=0
1001 (9)1 → 1未読・a=0
1010 (10)1 → 1未読・a=0
1011 (11)1 → 1未読・a=0
1100 (12)1 → 1未読・a=0
1101 (13)1 → 1未読・a=1
1110 (14)1 → 1未読・a=0
1111 (15)1 → 1未読・a=1

総ゲート数は構成からの上界です。最小サイズを計算した表示ではありません。未読の複数点が変わっても、この補題の条件を満たします。

どんなときに、次の値を強制できるのか

u に整合する回路の最小サイズを τ(u) とし、閾値までの余裕を s−τ(u) とします。ここで「次が b に強制される」とは、Vn,s(u) 内のすべての回路で次の値が b になることです。

τ(u) = min { |C| : C は u に整合する }次が 0 に強制 ⇒ s−τ(u) < w次が 1 に強制 ⇒ s−τ(u) < w+1

理由は、余裕があれば反対の値へ変更できてしまうからです。特に s−τ(u)≥w+1 なら、次の 0 / 1 の両方が可能です。

切断位置 iw両方の値を可能にする十分な余裕
2r12 ゲート
2r−1(r≥1)rr+1 ゲート
一般の i≥1popcount(i)w+1 ≤ ⌊log2i⌋+2 ゲート

必要条件を、十分条件へひっくり返さない

余裕が小さいことは、強制が起こるための必要条件です。余裕が小さければ必ず強制される、とは言っていません。候補回路の構造をさらに調べる必要があります。

08

連続する k 点なら、共有して変更できる

次は、連続する k 個の出力を好きな値へ変更し、その区間の外では元の回路をすべて保存する問題です。C35 より保存条件が強いので、別の構成を使います。

C36 連続区間の変更 初等的な構成・新規性未確認

n≥1、1≤k≤2n、0≤a≤2n−k とし、I=[a,a+k) とします。区間 I 上に任意のラベル α:I→{0,1} を与えると、I の外で C と一致し、I の中で α を返す Cα を、

|Cα| ≤ |C| + 3k + 3n − 3

で構成できます。使用するのは AND / OR / NOT。無料定数は不要です。

図は横にスクロールして読めます。

連続区間の接頭辞木を共有するn=3、区間2から5の4点、二進表記010,011,100,101。深さ1は0と1、深さ2は01と10、深さ3は4葉。片子のノードは区間境界側にのみ現れる。I = [2,6) = {010, 011, 100, 101}0 の範囲1 の範囲011001001110010100 は区間外11 は区間外ここを再利用
各点の一致判定を別々に作ると、共通部分も繰り返し計算します。prefix trie(接頭辞木)で「01」「10」を共有すれば、その先だけを追加できます。ここでの prefix は点の二進アドレスの接頭辞です。

まず各点の「ここだけ1」を共有して作る

点 z のアドレスと一致するときだけ 1 になる回路を δz とします。各点に別々の長い AND を作ると O(kn) ゲートですが、アドレスの共通部分を接頭辞木で共有できます。

ラベルが 0 の点の δ を OR したものを D0、1 の点を OR したものを D1 とします。両方のラベルがある場合は、

Cα = (C ∧ ¬D0) ∨ D1

で指定どおりに変更できます。区間外では両マスクが 0 なので C が残ります。全ラベルが1なら C∨D1、すべて0なら C∧¬D0 とし、空の OR を作りません。

C36 の完全な証明:木の形とゲートを数える

1.共有した一致判定の費用

全 n 入力の否定を n ゲートで一度だけ作ります。深さ1の一致判定は最上位ビットかその否定を直接使えます。深さ d≥2 の節点では、親の判定と次のリテラルを一つの AND でつなぎます。

深さ d の使用節点数を Nd、T=Σd=2nNd とすると、この部分の費用は n+T です。区間が占める二進ブロックを数えれば、

Nd = ⌊(a+k−1)/2n−d⌋ − ⌊a/2n−d⌋ + 1

となります。n=1 なら T は空和で 0 です。

2.連続性が T を小さくする

接頭辞木の葉は k 個です。子が二つの節点数を b、子が一つの節点数を u とすると、b=k−1。辺の総数 e は 2b+u=2k−2+u です。

同じ深さの各接頭辞は、整数順で隣り合う同じ長さのブロックを表します。I と交わるブロックのうち、左右の端以外は全部が I の中です。そのような内側のブロックは、両方の子を必ず含みます。従って一子の節点は各深さで高々二つ、根の深さでは高々一つです。よって u≤1+2(n−1)=2n−1。

根から出る辺の数を r とすると r≥1。その r 本には AND が不要なので、

T = e−r ≤ 2k+2n−4

3.ラベルの合成を足す

0 と1の両群が非空なら、OR の合計は k−2 ゲート。最後に NOT、AND、OR の3ゲートを使うので、合計追加費用は n+T+k+1 です。全0の場合も同じ上界、全1ならさらに1少なくて済みます。従って、

n+T+k+1 ≤ 3k+3n−3

が得られます。n=k=1 もこの会計に含まれます。k=1 の精密な式では T=n−1 なので、追加上界は 2n+1 です。表示した 3k+3n−3 は一様で簡潔な上界であり、定数の最適性は主張しません。

強制を検査する道具として使う

未読の連続区間に k 個の値を埋め込みたい場合、整合回路 C に 3k+3n−3 ゲート分の余裕があれば、その区間の全 2k 通りのラベルを実現できます。したがって、その予算範囲で「このラベルだけが可能」とする候補は成立しません。

任意の散在した k 点への同じ上界は主張していません。また、C を与えられずに見つける費用は、この構成の外に残ります。

回路サイズと、構築時間を区別する

区間と交わる子だけをたどって接頭辞木を生成すれば、訪問節点数は O(n+k) です。n ビットの端点やゲート番号の演算を一単位とする word-RAM では、O(n+k) 操作で構築できます。

通常のビット計算量では、整数演算や符号化の費用も必要です。従って O(n+k)「ビット時間」とは主張せず、n+k に関する多項式時間とします。全真理値表を評価する検査プログラムの時間は、構築だけの時間とは別です。

09

「自明な補完」が残っていないか

全 completion 回路に難しい情報を持たせたつもりでも、単純な補完回路が残ることがあります。まず、それを作って確かめます。

明示的な長さ k≥1 の prefix u を渡されたら、u の中で 1 の位置だけを一致判定し、OR します。すると、先頭 k 点は u と一致し、残りが全部 0 の回路 Du を作れます。

Du(xj) = uj (j<k)、0 (j≥k)|Du| ≤ B(n,k) = 3k+3n−3
ゼロ補完のサイズ上界

C36 と同じ接頭辞木を I=[0,k) に作り、1 の葉だけを OR します。1 の個数を t≥1 とすると、費用は n+T+t−1≤3k+3n−5。t=0 なら、無料定数では0ゲート、定数入力を使わなくても z0∧¬z0 の2ゲートです。すべての場合を覆う安全な上界として B(n,k)=3k+3n−3 を使えます。回路は n+k の多項式時間で構成できます。

C37 明示 prefix の補完監査 条件付きの帰結

SAT 式 φ から、n、k、s、長さ k の prefix uφ を多項式時間で生成でき、それらの数値も poly(|φ|) 以下だとします。さらに次を仮定します。

  1. s≥B(n,k)。
  2. 全入力で多項式時間に停止する抽出器 E がある。
  3. φ が SAT なら、uφ に整合する任意のサイズ s 以下の回路 D から、E(φ,D) が φ の充足割当てを返す。

この三条件が成り立つなら、P=NP です。WC は使う必要がありません。

なぜ抽出器だけで SAT が解けるのか

φ から uφ を作り、先ほどの自明な Du を構築します。s≥B なので、それはサイズ制約を満たす正しい補完です。E に渡し、返された割当てを φ に代入して検証します。

φ が SAT なら、仮定により必ず証人が出ます。UNSAT なら正しい充足割当ては存在しないので、検証が拒否します。E が全域で多項式時間に停止するため、全体が多項式時間の SAT 判定器になります。

これは、還元一般の不可能性ではない

この条件の抽出器が存在しないと無条件に証明したわけではありません。「自明な補完まで許すなら、その抽出器自体が P=NP を含意するほど強い」という診断です。

s<B にすれば成功するとも限りません。もっと小さい自明な補完がある可能性を、引き続き調べる必要があります。反対に「UNSAT なら必ず dead」という要件も置いた場合、s≥B ではすべての prefix が live になるため、その要件には直接反例が生じます。

10

証明から解を取り出す道と、矢印の向き

現在の候補には、PAP(Proof Analysis Problem、証明解析問題)を使って、completion 回路から元の SAT の証人を取り出す計画があります。先行研究が与えるのは、特定の形の明示的な証明を入力にした抽出です。[6]

先行定理が与える部分

Resolution は、たとえば (A∨x) と (B∨¬x) から (A∨B) を導く証明規則です。空の節まで導けば、不充足の反駁になります。PAP の結果では、「φ に所定の短さの Resolution 反駁がある」と表す式 Refr(φ) に対する Resolution 反駁 π を解析します。

n 変数・poly(n) 節の φ、r≥n3 といった原論文の条件の下で、φ が SAT なら、その明示的な π から充足割当てを poly(n,r,|π|) 時間で取り出せます。ここでの |π| は展開された証明の長さです。

研究計画を、三つの段階に分ける
段階必要なもの現在の状態
prefix を作るφ だけから作れ、SAT なら小 completion が存在する狙う仕様を固定・候補を検査中
回路を証明へ変換全てのサイズ内 completion C から、明示的な短い πC を作る compiler未証明
証明を解析する所定形式の明示的な π から SAT 証人を抽出する条件付きの先行定理あり

小さな回路が指数長の証明を出力する場合、「回路記述は小さい」というだけでは、poly(|π|) 時間の解析器を高速にはできません。圧縮された証明一般を短い記述から全域多項式時間で解析する仮定は、関連する既知結果との合成で P=NP を含意するほど強くなります。これも抽出器の無条件不存在ではありません。[7]

C31 の正確な条件:一般の implicit-PAP 抽出が強すぎる理由

Q を Extended Frege(EF)を多項式的にシミュレートする証明系とし、r(n) を固定多項式とします。有効な入力 (φ,π,1r(n)) で、π が Q による ¬Refr(n)(φ) の証明であるとします。

全入力で入力長の多項式時間に停止し、φ が SAT なら、このような任意の有効な π から充足割当てを返す抽出器 Ext を仮定します。Ext の出力を φ で検証すれば、有効な PAP 入力の YES / NO を多項式時間で決められます。PAP 論文の Corollary 5.6 は、この Q に対する PAP の NP 完全性を与えるため、P=NP が従います。

Fleming ほかの Theorem 1.1 は implicit Resolution と G1 の多項式的同値を与え、G1 は EF をシミュレートするため、この結論が適用されます。ここでの implicit proof は、証明系が要求する正当性の証明も含めた所定の形式です。任意の回路を渡せば、それだけで有効な証明になるという意味ではありません。

特定の compiler が作る限定された像だけを解析する場合は、別の命題として検討できます。この条件付き結果から、そのような限定解析器の不存在を結論しません。

完成しても、何が結論になるのかを先に確かめる

C38 証人抽出の向きの監査 論理の確認

H を P=NP、W を固定した同じモデル・閾値族での効率的な WC の存在とします。SAT 式から短い prefix を生成し、SAT 時には live で、任意の小 completion から SAT 証人を効率よく抽出できるなら、

W ⇒ H

が得られます。MMW の H⇒W と合わせると W⇔H です。これ自体は W の不存在も P≠NP も示しません。

図は横にスクロールして読めます。

WCとP=NPの含意の向きP=NPから効率的WCは既知構成の系。効率的WCからP=NPは全completionから証人抽出できる還元の完成が条件。この双方向だけでは矛盾はない。無条件のWC不存在は未証明。H:P = NPW:効率的 WC同じ固定モデル・閾値MMW の系逆向きは、還元と全証人抽出が完成した場合両方あれば W ⇔ H。矛盾ではない。無条件の ¬W を示す別の論証:未証明
実線は既知構成から得た含意、破線は未完成の還元を条件とする含意です。二つの矢印がつながると特徴づけになります。P≠NP を得るには、W を排除する正当な下界が別途必要です。
還元の全手順と、UNSAT のときの停止条件
  1. 入力 φ から n、s、長さ k の uφ を poly(|φ|) 時間で生成します。n、s、k の数値も poly(|φ|) です。
  2. WC に k ビットだけを読ませ、状態から回路 C または ⊥ を取り出します。初期化も更新も取り出しも課金します。k·poly(s) は poly(|φ|) です。
  3. ⊥ なら拒否します。回路なら、構文・サイズ・既読部分との一致を多項式時間で検査し、全域多項式時間の E(φ,C) を実行します。最後に割当てを検証します。
  4. φ が SAT なら live と全 completion 抽出の仮定によって受理します。UNSAT なら、E の出力が何であっても割当て検査は受理しません。

この手順は全域の時間保証を持つ exact WC で直ちに使えます。live-promise 版を使うなら、live 入力で保証された固定多項式の時計を機械に付け、時間超過を拒否として扱えます。SAT のときは途中もすべて live なので時計に収まります。約束外での動作を無制限のまま使わず、全域の決定器へ変換する手順を明記します。

また W を長さごとに別の閾値や別の oracle へ変えてはいけません。H⇒W と W⇒H の W は同じ命題である必要があります。

この経路で目指す二つの成果

まず、全 completion を対象にした正しい還元・特徴づけを作ること。それとは別に、通常の一様計算の WC を排除する無条件の下界を証明すること。前者が進んだことを、後者の完成と数えないようにします。

11

有限計算で確かめたこと

記号による証明に加え、小さい入力で構成を全数検査しました。さらに、式木に限定せず、途中の値を共有できる一般の DAG 回路を、指定サイズまで完全列挙しました。

実行済み検査の範囲
検査範囲・件数結果
C35 次ビット変更n=1〜4、全 Boolean 関数・全非空の proper cut・両変更値
1,969,768 ケース
過去の保存、次値、ゲート会計が一致
C36 区間変更n=1〜4、全区間・全ラベル
263,172 回路/8,403,968 評価行
区間内の値・区間外の保存・上界が一致
追加の区間検査n=5,6,8,10、固定 seed と境界例
1,754 回路
検査範囲内で一致
最小回路の列挙7,493 個の live prefix・閾値の組
うち 5,680 個で次ビットが強制
C35 の必要条件への違反 0

区間検査の各評価行は、入力点と元回路の出力 c∈{0,1} の組です。両方の c を調べることで、任意の元回路を点ごとに含みます。「n≤4 の元回路を構文まで全列挙した」という意味ではありません。

列挙の「完全」は、どこまでか

入力数 n列挙した最大サイズ見つかった関数数全 Boolean 関数数
241616
35203256
4488665,536

n=2 は全関数を覆いました。n=3、4 は、指定サイズ以下で実装できる全関数を覆ったという意味です。それを超えるサイズの分布は、この列挙では分かりません。

列挙アルゴリズムの完全性と、別方式による照合

状態を「現在使える線が計算する真理値表の集合」とし、一つの AND / OR / NOT ゲートで新しい関数を加える BFS を行います。同じ関数をもう一度作る冗長なゲートは省きます。

最小回路に、既に存在する線と同じ関数を計算するゲートがあれば、そのゲートの行き先を古い線に付け替えて削除できます。fan-out が無料なので、この操作は可能です。また、同じ関数集合を持つ二状態から作れる次のゲート出力は同じです。したがって、この省略と状態の共有は、最小サイズを失いません。

n=2,3、size≤3 については、冗長ゲートを省かない構文的なゲート列の DFS でも照合しました。サイズ3のゲート列はそれぞれ 40,320、105,840 件。最小サイズ分布は一致しました。保存した 1,105 個の証人回路も再評価しています。

整数で表した真理値表では、数値のビット j に f(xj) を格納します。紙面の文字列は左から j=0,1,… の順です。通常の整数の二進表示をそのまま左から読んだ順ではないので、コードと表の比較時には注意します。

二方向の境界に達する、二つの小例

n=2、i=3、s=3 とします。入力順序は 00、01、10、11。w=popcount(3)=2 です。

prefix u最小の整合回路τ(u)余裕次値反対にする関数
011OR:011112=w1 に強制XOR:0110
最小4ゲート
100NOR:100021=w−10 に強制XNOR:1001
最小4ゲート

OR から反対の次値を持つ関数までの最小サイズ差は 3=w+1、NOR からは 2=w。したがって C35 の二つの追加上界は、この例ではそれぞれ達成されます。

XOR と XNOR の4ゲート構成と、3ゲート以下の排除

XOR は、a=x∨y、b=x∧y、c=¬b、出力=a∧c。XNOR は、a=x∨y、b=¬a、c=x∧y、出力=b∨c。どちらも4ゲートです。

3ゲート以下で到達する関数は次の14個です。文字列は入力 00、01、10、11 の順です。

0000 0001 0010 0011 0100 0101 01111000 1010 1011 1100 1101 1110 1111

欠けているのが 0110 と1001です。これは上記の完全列挙と独立した構文列挙で確認した有限の結論です。大きい n や任意の w に対する最適性を示しているわけではありません。

有限検査の役割

これらの計算は、実装の取り違えを見つけ、記号的証明と小例を照合するためのものです。違反が見つからないことを、一般の超多項式下界や P≠NP の証拠にはしません。全長に対する C35・C36 の根拠は、前章に示した構成と証明です。

手元で再現する

標準 Python のみを使う検査コードと、実行済みの JSON 結果をまとめました。ダウンロードはこのページ内のデータから行います。

検査コードと結果をダウンロード(ZIP)

収録:4本の Python、次ビット・区間変更の結果、n=2/3/4 の有限回路台帳、照合結果、実行手順と SHA-256 一覧。

python verify_nextbit_patch.py --max-n 4 --output nextbit_patch_verification.json
python verify_ordered_patch.py --output ordered_patch_experiment.json
python tiny_wc_synthesis.py --n 2 --size 4 --out tiny_wc_synthesis_n2.json
python tiny_wc_synthesis.py --n 3 --size 5 --out tiny_wc_synthesis_n3.json
python tiny_wc_synthesis.py --n 4 --size 4 --out tiny_wc_synthesis_n4.json
python verify_tiny_wc_synthesis.py

時間制限や実行環境によって列挙を完了できない場合があります。出力の complete_through_size を確認し、未完了の層を完全列挙と数えないでください。

12

先行研究の中で、どこに立っているか

似た用語が出てくるだけでは、定理を移せません。入力形式、回路の基底、表現の制約、時間と空間、量化をそろえてから接続します。

先行研究使える知見この研究での境界
知識コンパイルの地図
Darwiche–Marquis [4]
表現形式ごとの簡潔さ、問い合わせ、変換の比較表現の存在と、効率的な構築・更新を分ける
HWB と OBDD、CNF の下界 [2][3]P で評価できる関数や SAT が容易な族にも、OBDD 下界がある一般計算の下界には、そのまま移せない
SDD の canonicity
Van den Broeck–Darwiche [8]
正規化された形式では、更新操作が大きな表現を生むことがある固定 vtree・指定された出力形式に関する結果
TDD、SAT 2026
Capelli ほか [9]
OBDD を一般化し、正規性や演算を扱う。正式版 Theorem 21 は HWB の指数下界表現の一般化だけでは全 P 関数の小さい表現は保証されない
構造化回路による証明系、SAT 2026
Berkholz–Micun [10]
表現下界を制限された証明過程へ結ぶ弱化なし等の制約があり、任意の証明・計算法の下界ではない
MMW、STOC 2019 [5]資源制約付き圧縮と P≠NP の接続現在の WC の研究目標を与える。無条件下界は別途必要
同値関係・標準代表の複雑性
Fortnow–Grochow [11]
完全不変量、代表の選択、辞書順最小代表を区別する一つの選択規則の困難性を、全選択規則へ一般化しない
PAP と implicit proof [6][7]特定形式の証明からの抽出と、圧縮証明の強さ明示証明長への多項式を、短い生成回路長への多項式と読み替えない

文献は版によって定理番号や主張が変わることがあります。TDD は正式な SAT 2026 版を使い、PAP は更新版の条件を確認しています。Vyas–Williams には会議版の一定理に関する著者訂正があり、旧版だけの一般化は避けています。[12]

三つの障壁は、適用範囲を確認するために使う

障壁ここで必要な読み方
相対化 [13]oracle を加えた世界には P=NP と P≠NP の両方がある。あらゆる oracle で同じ形で成立する議論には限界がある。対角線論法すべての禁止ではない。
Natural proofs [14]十分に強い擬似乱数仮定の下で、constructivity・largeness・usefulness の条件を同時に満たす一般回路下界法を制限する。無条件の証明不可能性ではない。
Algebrization [15]代数的に拡張された oracle を扱っても残る限界。代数を使う証明すべてを否定する意味ではない。Missing-String を使う新しい障壁も、対象モデルの条件付きで照合する。[16]

WC 用に「次の正しい小回路を返す特別な oracle」を更新器へ与えれば、更新は容易になります。これは通常計算の上界ではありません。その強い oracle を与えてもそのまま成立すると称する、情報量だけの下界論法を検査する例です。入力と証人の oracle を対称に拡張する通常の相対化とは、同じ操作ではありません。

三障壁を回避したという宣言だけでは、下界は得られません。具体的なアルゴリズムの全体を、正しい量化で排除する証明が必要です。

13

現在地を固定して、次へ進む

研究の過程で価値があったのは、解決に近づいたと感じることだけではありません。どの主張が弱すぎるか、どこで条件を落としたか、何を証明すれば次へ進めるかが、具体的になりました。

意味的な圧縮

未来が同じ履歴を合流する。残余関数と固定順の分岐図として厳密化した。

表現と一般計算の分離

HWB・単調 CNF の例により、表現の下界をそのまま一般計算へ移せないと確認した。

状態数から更新時間へ

MCSP の疎性上界が、残余数だけで大きな空間下界を出す案を排除した。証人を保持する更新へ標的を移した。

予算の余裕を調べる

C35・C36・C37 により、小回路の変更や自明な補完で候補を試せるようになった。

還元と下界を二つの課題として扱う

全 completion からの証人抽出は未完成。完成したときの含意も、C38 として先に確かめた。

確定した補題

  • C20:P=NP を仮定した効率的な WC の構成。既知構成の直接の系。
  • C33:偽の後件 Q に対する (H⇒Q)⇔¬H という論理監査。
  • C34:既知結果から P=NP⇒NEXP⊄P/poly。導出は補遺
  • C35:次ビット変更に追加 w または w+1 ゲートで足りる。
  • C36:連続区間の変更に追加 3k+3n−3 ゲートで足りる。
  • C37:明示した大きな閾値と全域抽出の条件なら、抽出器だけで P=NP が従う。
  • C38:全証人抽出が与える向きは W⇒P=NP。単独で ¬W は得られない。

反証された橋

  • P で評価できる関数なら、常に小さい OBDD があるという一般原理。
  • MCSP の残余数だけで、poly(s) を超える空間を強制する MREC。
  • 標準的な代表を一つ選ぶ規則の難しさを、そのまますべての選択規則へ移す推論。
  • 証人抽出と効率的な WC の合成から、直ちに WC の無条件不存在を結論する推論。

C33 の Bridge-0 条件文そのものと、一般の implicit-PAP 抽出器の存在命題は、この欄へ「無条件反証」として戻しません。以前の誤った分類は、今回の訂正を優先します。

未証明命題

  • P=NP、P≠NP のいずれも未証明。
  • 所定の固定 s とモデルで、すべての一様な poly(s) 資源の WC を排除する下界。
  • SAT からの prefix 生成と、全ての小 completion を対象にした witness binding。
  • 小回路から短い明示的な証明を作る PAP compiler、または厳密に限定した像に対する効率的な解析。
  • ここで提示した初等的な構成の学術的新規性。

次の実験

まず、有限列挙で見つかった二例から、入力長を変えても述べられる構造命題を一つ作ります。cut の族、閾値 s、最小補完サイズ τ を固定し、どの条件で次の値が強制されるかを証明または反証します。

次の作業前進と認める条件最初に行う検査
小さい余裕での prefix 構造一つの有限サイズを超えて成立する命題と証明C35 で反対の次値を作れないか
prefix と証人抽出器の一組全 completion・全域停止・全資源を明記した還元C37 の自明な補完が残っていないか
PAP compiler明示的な多項式長の証明、または解析保証のある限定像展開後の証明長を隠していないか
無条件の下界候補MMW の対偶に合う、全機械・全多項式への論証SAT が難しいことを前提にして循環していないか

命題カードには、入力長 |φ|、変数数 n、表長 N=2n、prefix 長 k、閾値 s、基底、oracle、停止条件、多項式の依存先を記します。計算実験を大きくすることに加えて、仮説のどこを壊せば偽と分かるかも、先に決めます。

検証の状態

記号的な導出、有限列挙、異なる列挙方式との照合、複数のAI担当による読み直しを行っています。担当は同じモデル系列と道具を共有するため、完全に独立した第三者とは扱いません。人間の専門家による査読、Lean 等の証明支援系による形式検証は未実施です。

別途検討している「母定理 M0」は未証明の複合仮説であり、このページの数学的な証明の前提には用いていません。

A

補遺:強い下界でも、向きを確かめる

上位の計算量クラスで強い回路下界を得ても、それだけで P≠NP に戻れるとは限りません。研究の途中で、ここにも訂正が必要でした。

C34 easy-witness の向き 既知結果の直接合成

P=NP ⇒ NEXP ⊄ P/poly

NEXP の一般回路下界は、P=NP に矛盾するどころか、P=NP を仮定しても導かれます。したがって、この下界だけを得て P≠NP が証明されたとは言えません。

C34 の導出

NEXP は非決定的指数時間、P/poly は各入力長に多項式サイズ回路がある言語のクラスです。Impagliazzo–Kabanets–Wigderson の結果より、

NEXP ⊆ P/poly ⇒ NEXP=MA

が成り立ちます。[17] MA は多項式長の証人を受け取る確率的検証のクラスで、MA⊆PH です。[18]

P=NP なら PH=P、従って MA=P。もし同時に NEXP⊆P/poly なら NEXP=MA=P となります。しかし決定的時間階層定理から P⊊EXP⊆NEXP なので矛盾します。よって P=NP⇒NEXP⊄P/poly です。

量化の順序も変えない

∀ k ∃ Lk∈NP:Lk∉SIZE(nk)次数 k ごとに、難しい言語が変わってよい。
∃ L∈NP ∀ k:L∉SIZE(nk)一つの言語 L が、すべての多項式サイズ回路を逃れる。

二つは異なります。後者は NP⊄P/poly、従って P≠NP を与えますが、前者から量化を交換して後者を得ることはできません。アルゴリズムから NP の固定次数の回路下界を得る文献を使うときも、言語と次数の依存関係を保ちます。[19]

B

記号・用語を引き直す

記号このページでの意味
m、|φ|元の入力、または SAT 式の符号長
n真理値表が表す関数の入力変数数。PAP の記述ではその式の変数数
N=2n真理値表の出力ビット数
xj整数 j を n ビットで書いた入力点
z入力点 z の第 ℓ ビット。ℓ=0 が最下位
u、i既読の出力列と、その長さ。次の入力点は xi
k連続区間の長さ、または還元で明示的に作る prefix の長さ
s、|C|回路サイズの閾値と、回路 C のゲート数
Vn,s(u)prefix u と整合する、サイズ s 以下の全回路の集合
τ(u)u と整合する回路の最小ゲート数
w=popcount(i)i の二進表示にある 1 の数
候補回路が存在しないことを示す失敗記号
残余関数
変数の一部を固定した後、残りの変数に対して残る関数。残余言語は、読んだ prefix の後に付ければ受理される suffix の集合。
completion
まだ未確定の出力も含め、全体を計算する補完回路。既読部分との一致とサイズ制約を課す。
live / dead
指定サイズ内の completion が存在する/存在しない。live はすべての続きが可能という意味ではない。
uniform / 一様
入力長ごとに別の巨大な助言を受け取らず、一つの固定機械が全長を処理すること。
selector / uniformizer
候補が複数ある関係から、正しい出力を一つ選ぶ規則。ここでの uniformizer という数学用語自体は、計算の一様性や効率性を保証しない。
canonical / 標準的な代表
たとえば辞書順最初という追加規則で一意に選んだもの。何か一つを選ぶ問題より強い要求になり得る。
PH / 多項式階層
多項式長の存在量化と全称量化を、固定回数交互に用いる計算量クラスの階層。P=NP なら全階層が P と一致する。
oracle
指定した問題の答えを問い合わせられる補助機構。何を無料で問い合わせてよいかが変わるため、通常計算と区別する。
下界
許されたすべての計算法・表現法に必要な資源の最小限を示す主張。一つの実装の遅さだけではない。
compiler / コンパイラ
ある表現から別の表現へ変換する手続き。ここでは小回路から証明への変換を含む。変換時間と出力長も会計する。
C

一次参考文献

以下は各節で使った原典と公式資料です。新しい研究の網羅一覧ではありません。日付は本ページの資料基準日に合わせ、版が重要な箇所を明記しています。

  1. Clay Mathematics Institute, “P vs NP.”公式の問題説明・未解決の位置づけ。
  2. Beate Bollig, Martin Löbbing, Martin Sauerhoff, and Ingo Wegener, “On the complexity of the hidden weighted bit function for various BDD models,” 1999.多項式時間で評価できる HWB の OBDD 下界。
  3. Simone Bova and Friedrich Slivovsky, “On Compiling Structured CNFs to OBDDs,” arXiv version, 2014.Theorem 7:単調 2-CNF の指数 OBDD 下界。
  4. Adnan Darwiche and Pierre Marquis, “A Knowledge Compilation Map,” JAIR, 2002.表現の簡潔さ、問い合わせ、変換の区別。リンクは著者公開版。
  5. Dylan M. McKay, Cody D. Murray, and R. Ryan Williams, “Weak Lower Bounds on Resource-Bounded Compression Imply Strong Separations of Complexity Classes,” STOC 2019.Theorems 1.2–1.3、§2.1 Circuit-Min-Merge。本ページ C20 は一ビットごとの証人保持への明示的な適用。
  6. Noel Arteche, Albert Atserias, Susanna F. de Rezende, and Erfan Khaniki, “The Proof Analysis Problem.”arXiv v2(2026 05 19)、Theorem 1.1 と Corollary 5.6。明示証明からの抽出。
  7. Noah Fleming, Stefan Grosser, Toniann Pitassi, and Robert Robere, “Provable Reductions in TFNP.”implicit Resolution などの関係。著者公開PDFの Theorem 1.1 も照合。
  8. Guy Van den Broeck and Adnan Darwiche, “On the Role of Canonicity in Knowledge Compilation,” AAAI 2015.固定 vtree と reduced SDD における正規性・更新の制約。
  9. Florent Capelli, YooJung Choi, Stefan Mengel, Martín Muñoz, and Guy Van den Broeck, “A Canonical Generalization of OBDD,” SAT 2026.正式版 Theorems 11,16,21。HWB 下界の Theorem 21 は n が7の倍数という条件を持つ。
  10. Christoph Berkholz and Matthäus Micun, “Proof Systems Based on Structured Circuits,” SAT 2026.Theorem 13、Lemma 23。表現下界と制限付き証明過程の接続。
  11. Lance Fortnow and Joshua A. Grochow, “Complexity Classes of Equivalence Problems Revisited.”不変量・代表元・辞書順最初の代表の違い。
  12. Nikhil Vyas and R. Ryan Williams, “On Oracles and Algorithmic Methods for Proving Lower Bounds,” corrected version / erratum, 2024.会議版の Theorem 1.10 に関する著者訂正。訂正後の適用範囲を確認する。
  13. Theodore Baker, John Gill, and Robert Solovay, “Relativizations of the P=?NP Question,” 1975.P=NP と P≠NP をそれぞれ満たす oracle の存在。
  14. Alexander A. Razborov and Steven Rudich, “Natural Proofs.”擬似乱数仮定と、constructivity・largeness・usefulness の三条件。
  15. Scott Aaronson and Avi Wigderson, “Algebrization: A New Barrier in Complexity Theory.”代数的 oracle 拡張による障壁。
  16. Lijie Chen, Yang Hu, and Hanlin Ren, “New Algebrization Barriers to Circuit Lower Bounds via Communication Complexity of Missing-String,” ITCS 2026.Missing-String からの障壁。WC 全般の不可能性としては用いない。
  17. Russell Impagliazzo, Valentine Kabanets, and Avi Wigderson, “In Search of an Easy Witness: Exponential Time vs. Probabilistic Polynomial Time,” JCSS, 2002.§4.1。NEXP⊆P/poly⇒NEXP=MA。
  18. Oded Goldreich and David Zuckerman, “Another Proof that BPP ⊆ PH (and more),” 2016 revision.C34 で使用する MA⊆PH の確認。
  19. Cody D. Murray and R. Ryan Williams, “Circuit Lower Bounds for Nondeterministic Quasi-Polytime: An Easy Witness Lemma for NP and NQP.”Theorems 1.1–1.2。固定次数の下界と言語の依存関係。