第7回は、これまで一つずつ習ってきた推論規則がすべて出揃う節目の回でした。∧(かつ)・∨(または)・→(ならば)の導入規則と除去規則を一覧で眺め、そこから証明の「質」を問う議論へと踏み込みました。今回のメインテーマは''detour(遠回り)''と''正規な証明(normal proof)''の概念、そして証明を構成する実践的な方法としての''逆算法''です。
授業内容の目次:
- 前回おさらいと ∨E の入れ子(A ∨ (B ∨ C) → (A ∨ B) ∨ C)
- 最小命題論理の全推論規則一覧(7規則)
- 証明樹の構造と proof net との対応
- detour(遠回り)の3パターン
- 正規な証明と正規化定理
- V字型構造・部分論理式原理
- 逆算法と具体例(A ∧ (A → B) → B)
- 演習問題5題
speakerdeck.com
最小命題論理の推論規則一覧が完成したことで、証明の「形式」ではなく「内容の豊かさ」を問えるようになります。detour は証明の本質に貢献しない「無駄な回り道」であり、それを排除した正規な証明には美しい構造的性質(V字型・部分論理式原理)が現れます。逆算法はその性質を直接利用した証明構成の戦略で、「結論の形から最後のステップが決まる」という単純なルールに従って証明木を組み上げていきます。
今回は証明論的意味論(第12〜14回)へ向かう理論的基盤の構築にあたります。「正規な証明が必ず存在する」という正規化定理は、次回(第8回)でその証明を扱います。
授業日時
6月2日(火)16:45〜18:15
文学部第4講義室
授業内容
- 前回おさらい:∧・∨の推論規則と proof net の対応を再確認
- ∨E の入れ子:A ∨ (B ∨ C) → (A ∨ B) ∨ C——外側と内側で2セットのキャンセルラベルが必要
- 最小命題論理の全推論規則一覧(→I、→E、∧I、∧E_L、∧E_R、∨I_L、∨I_R、∨E)
- 証明樹の3要素(葉・ノード・根)と仮定の2種類(開いた仮定・閉じた仮定)
- 証明樹と proof net の対応(Y字ノード・T字ノード・3入力収束ノード)
- detour(遠回り)の3パターン(→・∧・∨)
- 正規な証明の定義と正規化定理の主張
- V字型構造(上半分:除去フェーズ/下半分:導入フェーズ)
- 部分論理式原理(subformula property)
- 逆算法の手順と例題:A ∧ (A → B) → B
- 演習問題:問1〜4・チャレンジ
解説
前回おさらいと ∨E の入れ子**
授業は前回のおさらいから始まりました。∧・∨の推論規則を確認した後、∨E の入れ子の例——A ∨ (B ∨ C) から (A ∨ B) ∨ C を証明する——を丁寧に取り上げました。この証明は外側の ∨E の内部にもう一度 ∨E が現れる構造で、「場合分けの中でまた場合分けをする」という初学者が必ず戸惑う場面です。
外側の ∨E でキャンセルラベルを u と v に振り(仮定 [u: A] と [v: B ∨ C] を消費)、内側の ∨E でラベルを p と q に振る(仮定 [p: B] と [q: C] を消費)——2セットのラベルを区別して管理することが肝心です。proof net で書けば、外側の3入力収束ノードの内部に別の3入力収束ノードが入れ子になった構造で表現されます。
最小命題論理の全推論規則**
ここで今期学んだ全推論規則が出揃いました。
- ''→I''(ならばの導入):仮定 [u: A] のもとで B を導いたとき、A → B を結論できる。仮定 u が閉じる(cancelled)。
- ''→E''(ならばの除去、モーダスポーネンス):A と A → B から B を導く。
- ''∧I''(かつの導入):A と B から A ∧ B を導く。
- ''∧E_L'' / ''∧E_R''(かつの除去):A ∧ B から A、またはA ∧ B から B を導く。
- ''∨I_L'' / ''∨I_R''(またはの導入):A から A ∨ B、または B から A ∨ B を導く。
- ''∨E''(またはの除去、場合分け):A ∨ B があり、[u: A] からC・[v: B] からCを導いたとき、Cを結論できる。仮定 u と v が閉じる。
否定(¬A)は A → ⊥ の略記として既に導入済みです。
証明樹の構造と proof net との対応**
証明樹は''葉''(最上部に置かれた仮定や公理)・''ノード''(各推論規則の適用)・''根''(証明された結論)の3要素からなります。
仮定には2種類あります。''開いた仮定(open assumption)''はまだキャンセルされていない仮定で、証明が依存している前提を表します。''閉じた仮定(cancelled assumption)''は →I や ∨E によってキャンセルされた仮定で、証明の内部で消費されました。閉じた仮定には角括弧を付けて [u: A] のように表記します。
proof net との対応:同じラベルの仮定が複数の葉に現れる場合に''Y字ノード''(縮約ノード)が生じます。∧I は2本のワイヤが合流する''T字ノード''に、∨E は3本入力の''収束ノード''(場合分けノード)に対応します。
detour(遠回り)とは**
証明を書いていると、ある結合子を「導入した直後に同じ結合子で除去する」という無駄な手順が生じることがあります。これを''detour''(遠回り)と呼びます。3パターンあります:
- ''→ の detour'':A と仮定 [u: A] から A を経由して A → B を →I で作り、その直後に →E で除去する。
- ''∧ の detour'':A と B から A ∧ B を ∧I で作り、直後に ∧E_L または ∧E_R で片方を取り出す。
- ''∨ の detour'':A から A ∨ B を ∨I_L で作り、直後に ∨E で場合分けして消費する。
いずれも証明の本質的な内容に貢献していません。proof net で見ると、導入ノードと除去ノードが直接接続されており、間にある2つのノードを取り除いてワイヤを直結するだけで detour を除去できます。
正規な証明と正規化定理**
detour を含まない証明を''正規な証明(normal proof)''といいます。
そして自然演繹の中心的な定理がここに登場します:
''定理(正規化定理):最小命題論理の任意の証明は、正規な証明に変換できる。''
つまり、どんなに遠回りだらけの証明でも、同じ前提・同じ結論のきれいな証明が必ず存在します。変換の具体的な手順(detour elimination のアルゴリズムとその停止性)は次回(第8回)で扱います。今回は定理の主張を理解し、「なぜ重要か」を直感するところまで。
V字型構造と部分論理式原理**
正規な証明には2つの重要な構造的性質があります。
''(1)V字型構造'':正規な証明の上半分では除去規則のみが使われ、下半分では導入規則のみが使われます。仮定を解体して「原子的な部品」まで分解し(除去フェーズ)、それを組み立てて結論に到達する(導入フェーズ)——この V の字が正規な証明の骨格です。上半分と下半分の境界を「転換点(minimum point)」と呼びます。
''(2)部分論理式原理(subformula property)'':正規な証明に現れるすべての式は、結論または開いた仮定の''部分論理式''(subformula)です。部分論理式とは、ある式を構成する部分として取り出せる式のことです。たとえば A ∧ (A → B) の部分論理式は A ∧ (A → B)・A・A → B・B の4つです。
部分論理式原理は「証明の中から天下り的に複雑な式が出てくることはない」ことを意味します。正規化定理 + 部分論理式原理が合わさって、「必要なことだけを使った証明が必ず存在する」ことが保証されます。これが証明論的意味論(ハーモニー・保守的拡張)の議論への入口となります。
逆算法**
V字型構造を踏まえると、証明を''逆算''で構成する戦略が機能します。
- ''Step 1'':証明したい命題の''最外部の結合子''を見る。
- ''Step 2'':その結合子の導入規則から、直前のサブゴールを確定する。
- ''Step 3'':サブゴールが仮定や前提から除去規則で取り出せるなら取り出す。
- ''Step 4'':サブゴールが残れば繰り返す。
正規な証明では「最後に使われる規則は最外部の結合子から(ほぼ)一意に決まる」ため、この逆算が機能します。遠回りがあると逆算が機能しないため、正規化定理が逆算法の裏付けになっています。
具体例として A ∧ (A → B) → B を証明しました。
- 最外結合子は →。最後は →I。仮定 [u: A ∧ (A → B)] を追加。サブゴール:B を導く。
- B を導くには A → B が必要。[u] から ∧E_R で A → B を取り出せる。→E を使うには A も必要。
- A は [u] から ∧E_L で取り出せる。[u] を2箇所で使う(proof net では Y字ノード)。
- 証明木が完成。
演習問題(2022年度資料より)**
今回は ∧・∨・→ の3つを組み合わせた問題5題でした。
- 問1:A ∧ B → (B → C) → C ——∧E と →E の組み合わせ。逆算法で一気に解ける。
- 問2:(A → C) ∧ (B → C) → (A ∨ B → C) ——∧E で両方の矢印を取り出してから ∨E で場合分け。
- 問3:(A → C) ∨ (B → C) → (A ∧ B → C) ——∨E を使う。問2と似て非なる構造。
- 問4(思考問題):A ∨ B → A ∧ B ——''証明できません。'' 逆算法で行き詰まる箇所を確認しよう。
- 問5(チャレンジ):(A ∧ B) ∨ C → (A ∨ C) ∧ (B ∨ C) ——分配則。∨E と ∧I の組み合わせ。
問2と問3は鏡像関係にあります。問2は「かつ」で''両方''の矢印を持ち込んでいるので ∨E の各ケースで使う矢印が確定していますが、問3は「または」で''どちらか一方''しか保証されていない——それぞれのケースで ∧E を使って A と B 両方を取り出し、あとは一方の矢印に渡すだけ。証明木の形が見た目以上に違います。
今回のキーワード
detour(遠回り)、正規な証明(normal proof)、正規化定理(normalization theorem)、V字型構造、部分論理式原理(subformula property)、逆算法、proof net、∧I、∧E、∨I、∨E、→I、→E、開いた仮定、閉じた仮定、最小命題論理
宿題
本日の演習問題のうち、授業中に解けなかったものを提出してください。
- 問1:A ∧ B → (B → C) → C
- 問2:(A → C) ∧ (B → C) → (A ∨ B → C)
- 問3:(A → C) ∨ (B → C) → (A ∧ B → C)
- 問4(思考問題):A ∨ B → A ∧ B ——なぜ証明できないか、逆算法で確認してみよう
- 問5(チャレンジ):(A ∧ B) ∨ C → (A ∨ C) ∧ (B ∨ C)
全問解けた場合は「全問解けた」と記入して提出すること。宿題にかかった時間を必ず記入すること。提出方法・期限はKULMSの指示に従ってください。
-
-
- -
-
[2026前期火5] 科学哲学科学史(演習) 担当:矢田部俊介(西日本旅客鉄道株式会社)