数学の作り方 How to make Mathematics

第9章 シークエント計算とカット除去

証明そのものを、数学の対象にする

ここまで「\vdash」を「導ける/導けない」という有無で使ってきました。証明論はもう一歩踏み込み、 証明の形そのものを数学的対象として解析します。証明はどんな構造をもつのか、余計な回り道を 削れるのか、削るとどんな良いことが起きるのか。

その舞台がゲンツェンのシークエント計算 LK です。自然演繹(第2章)が「仮定を立てて解消する」木だったのに対し、 LK は「ΓΔ\Gamma\vdash\Delta(前提の並びから結論の並びへ)」というシークエントを書き換えていく、非常に対称的な体系です。 そして LK の心臓がカット規則——補題を使う推論の形式化——と、その驚くべき除去可能性(カット除去定理)。 カットが消せるという一事から、無矛盾性・部分論理式性・決定可能性が次々に流れ出ます。ゲンツェンが 算術の無矛盾性を証明した道具でもあり、証明論の背骨です。

シークエント計算は証明を対称的な書き換えとして扱う。カット除去が、無矛盾性など深い帰結を生む。

シークエントと LK の規則

定義 シークエント

論理式の有限列 Γ,Δ\Gamma,\Delta に対し ΓΔ\Gamma\vdash\Deltaシークエントという。意味は 「Γ\Gamma の全部が真なら Δ\Delta少なくとも一つが真」= ΓΔ\bigwedge\Gamma\to\bigvee\Delta。左(前件)は「かつ」、 右(後件)は「または」と読む。

LK の規則は、公理・構造規則・論理規則・カットの4種。各結合子に左規則(前件に導入)と右規則(後件に導入)が対で付きます。

定義 LK の規則(抜粋)

公理:AAA\vdash A。構造規則:weakening(式を足す)、contraction(重複を1つに)、exchange(順序替え)。 論理規則の例: (∧L) Γ,AΔΓ,ABΔ(∧R) ΓA,ΔΓB,ΔΓAB,Δ\text{(∧L)}\ \frac{\Gamma,A\vdash\Delta}{\Gamma,A\land B\vdash\Delta}\qquad \text{(∧R)}\ \frac{\Gamma\vdash A,\Delta \quad \Gamma\vdash B,\Delta}{\Gamma\vdash A\land B,\Delta} (→R) Γ,AB,ΔΓAB,Δ(¬R) Γ,AΔΓ¬A,Δ\text{(→R)}\ \frac{\Gamma,A\vdash B,\Delta}{\Gamma\vdash A\to B,\Delta}\qquad \text{(¬R)}\ \frac{\Gamma,A\vdash\Delta}{\Gamma\vdash\lnot A,\Delta} そしてカット規則(Cut) ΓA,ΔΓ,AΔΓ,ΓΔ,Δ.\text{(Cut)}\ \frac{\Gamma\vdash A,\Delta \qquad \Gamma',A\vdash\Delta'}{\Gamma,\Gamma'\vdash\Delta,\Delta'}.

カット規則の意味は「補題 AA を、片方で示し(A\vdash A)、もう片方で使う(AA\vdash)と、AA を消して繋げられる」。 数学者が「補題 AA を経由して」証明するのを形式化したものです。論理規則が結合子を組み立てるだけなのに対し、 カットだけが「途中で現れて消える式 AA」を許す——これがカットの特別さであり、除去の対象になる理由です。 例として (AB)(BA)\vdash(A\land B)\to(B\land A) を、カットを使わずに導きます。

BBB \vdash B
∧L
ABBA\land B \vdash B
AAA \vdash A
∧L
ABAA\land B \vdash A
∧R
ABBAA\land B \vdash B\land A
→R
 (AB)(BA)\ \vdash (A\land B)\to(B\land A)

下から読むと、\to を後件に作り(→R)、\land を後件に作り(∧R)、前件の \land を分解(∧L)して公理に至る。 各段で扱う論理式は、下の結論の“部分”になっている——この性質(部分論理式性)が、カットの無い証明の際立った特徴です。

カット除去定理

定理 カット除去定理(ゲンツェンの基本定理 / Hauptsatz)

LK で導けるシークエントは、カット規則を一切使わずに導ける。

証明は「カットを木の上へ押し上げ、より単純なカットに分解して消す」という二重帰納法です。全ケースは膨大なので、 帰納の骨格と鍵となる簡約を示します。

定義 カットの次数と階数

カットで消される式 AA の論理結合子の個数を次数、そのカットの直上にある部分証明の高さ(に関する量)を階数という。

証明

一番上(一番右上)のカット1つに注目し、(次数, 階数)(\text{次数},\ \text{階数}) の辞書式順序による帰納法で、それを除去(または上方へ移動して分解)する。

(1) 非主要カット(階数の減少): カット式 AA が、直上の推論の主役(principal formula)でない場合。カットを、 その推論のへ滑らせる(permutation)と、カットの階数が下がる。帰納法の仮定で処理できる。

(2) 主要カット(次数の減少): AA が両側で直前に作られた(左は AA を後件に、右は AA を前件に導入した)場合、 AA の形に応じてより小さい部分論理式のカットに置き換える。例:A=BCA=B\land C のとき ΓB,ΔΓC,ΔΓBC,Δ  Γ,BΔΓ,BCΔΓ,ΓΔ,Δ(Cut on BC)\frac{\dfrac{\Gamma\vdash B,\Delta\quad\Gamma\vdash C,\Delta}{\Gamma\vdash B\land C,\Delta}\ \ \dfrac{\Gamma',B\vdash\Delta'}{\Gamma',B\land C\vdash\Delta'}}{\Gamma,\Gamma'\vdash\Delta,\Delta'}(\text{Cut on }B\land C) は、BB に関するカット1つ ΓB,ΔΓ,BΔΓ,ΓΔ,Δ\dfrac{\Gamma\vdash B,\Delta\quad \Gamma',B\vdash\Delta'}{\Gamma,\Gamma'\vdash\Delta,\Delta'} に置き換わる。次数が BCB\land C から BB へ真に減る。,¬,,\to,\lnot,\forall,\exists でも同様の主要簡約がある(量化子では代入が入る)。

(3) 公理・weakening との衝突: カット式が公理 AAA\vdash A 由来、または weakening で入った場合、カットは自明に消える。

各ステップでカットは消えるか、(次数,階数)(\text{次数},\text{階数}) が真に減少する。辞書式順序に無限降下列は無いので、 有限回で全カットが除去される。∎

証明の“エンジン”は、主要カットがカット式の部分論理式に関する小さいカットへ分解されること。 BCB\land C のカットが BB(または CC)のカットに落ちる——結合子が1つ減る。この降下が停止性を保証します (ただし、証明の大きさは超指数的に爆発しうる。効率と可能性は別問題)。

カット除去の帰結

カットが消せると、証明が「部分論理式だけで組み上がる」形に正規化され、深い系が一気に出ます。

部分論理式性・無矛盾性・その他

  • 部分論理式性(subformula property):カットの無い証明には、結論のシークエントに現れる論理式の部分論理式しか現れない。
  • 無矛盾性:空シークエント \vdash(= \bot)はカットの無い証明をもたない(どの規則も空の結論を出せない)。カット除去より、そもそも \vdash は導けない。LK は無矛盾
  • 一貫性・整合性AA¬A\lnot A が同時に導ければカットで \vdash が出るが、それは不可能。
  • 決定可能性(命題論理):部分論理式性により証明探索の空間が有限に絞られ、命題論理の妥当性は機械的に判定できる。
  • クレイグの補間定理:カット除去の精密化から、AB\vdash A\to B なら A,BA,B 共通の語彙だけの補間式 CCAC, CB\vdash A\to C,\ \vdash C\to B が取れる。

無矛盾性の証明が「空シークエントはどの規則の結論にもならない」というほとんど目視で分かる議論に落ちるのが、 カット除去の威力です。意味論(健全性)を経由せず、証明の構文的構造だけから無矛盾性が出る——この“純構文的な 無矛盾性証明”の路線が、第13章のゲンツェンによる算術の無矛盾性証明(ε0\varepsilon_0 までの超限帰納法)へ発展します。

注意 なぜ「純構文的」が重要か

健全性による無矛盾性証明は「モデルが存在する」という意味論(=より強い前提)に頼る。カット除去は記号操作だけで 無矛盾性を出すので、ヒルベルトの「有限の立場で無矛盾性を示す」計画に近い。第二不完全性定理(第13章)が 「体系は自分の無矛盾性を自分では証明できない」と言うため、ゲンツェンはあえて ε0\varepsilon_0 帰納法という 体系の外の原理を1つだけ借りて算術の無矛盾性を証明した。カット除去はその技術的核心。

つまずきポイント

注意 よくある誤解

  • カットは「あっても導けるものは同じ」。 カット除去は導出可能性を変えない(カット入り LK とカットフリー LK は同じシークエントを導く)。消せるのは「使わずに済む」という意味で、体系が弱くなるのではない。
  • カット除去は証明を短くしない。 むしろサイズは超指数的に増えうる。得られるのは「構造の良さ(部分論理式性)」であって効率ではない。
  • 無矛盾性は意味論なしで出る。 カット除去による無矛盾性証明は純構文的。これがヒルベルト計画・ゲンツェンの路線の核。

この章のまとめ

  • シークエント計算 LKΓΔ\Gamma\vdash\Delta を書き換える対称的な体系。各結合子に左右の規則があり、カット規則が「補題を経由する推論」を担う。
  • カット除去定理:カットは常に除去できる。証明は (次数,階数)(\text{次数},\text{階数}) の二重帰納法で、主要カットを部分論理式の小さいカットへ分解するのがエンジン。
  • 帰結:部分論理式性・無矛盾性(空シークエントは導けない)・命題論理の決定可能性・クレイグ補間。純構文的な無矛盾性証明はゲンツェンの算術無矛盾性へ繋がる。

次章は、これまでの古典論理を相対化します。直観主義論理・様相論理・高階論理という非古典・高階の論理へ進みます。