科学哲学科学史 (演習) 論理学

京都大学文学部の「科学哲学科学史 (演習) 論理学」(毎週火曜日16:45〜18:15)の授業Blogです。

後期授業第3回(10/20)

第3回は、∀ の導入規則と除去規則を入れました。前回は述語と量化子を導入し、式が読めて書けるところまで進みました。今回から、その式を証明する規則を足していきます。

今回の目次は次のとおりです。まず、前期の最小命題論理の推論規則を確認し、そこに量化子の規則を足したものが最小述語論理である、という全体の形を見ました。前回の要約と宿題の答え合わせのあと、中学校の証明とバークリの三角形の議論から「任意の x をとる」の意味を考え、∀ の導入規則と除去規則を定義しました。そのうえで固有変数条件を入れ、条件を破った証明と守った証明を並べました。最後に、∀ が無限連言の役をすること、条件が導入と除去を釣り合わせるためにあること、特別な例で一般化する誤りは人間にも LLM にも出ることを見ました。

今回の要点は、∀ を導入してよいのは、その変数について何も仮定していないときに限る、ということです。これが固有変数条件で、数学の「勝手に x をとる」の「勝手に」を記号で言い直したものです。次回は ∃ の規則に進みます。∃ の除去にも固有変数条件が出てきます。

授業日時

10月20日(火)16:45〜18:15
文学部第4講義室

授業内容

  • 出発点:最小命題論理の8規則に量化子の規則を足すと最小述語論理になる
  • 前回の要約と宿題の答え合わせ
  • 数学の「すべての」(中学校の証明、バークリの三角形)
  • ∀ の導入規則と除去規則(前回の Q[5] を ∀E で出す、ジャックの例、代入の注意)
  • 固有変数条件(条件を破った証明、ジャックで同じ失敗をする、用語の由来)
  • 条件を守った証明(先にキャンセルしてから ∀I、例題2つ、ダミー変数)
  • 無限連言としての ∀(縮約)
  • 三層で見る:条件は何のためにあるか
  • 人間も LLM も、特別な例で一般化する
  • 演習


解説

最小命題論理に量化子の規則を足す

前期に作った体系は最小命題論理でした。→ の導入と除去、∧ の導入と二つの除去、∨ の二つの導入と除去の、全部で8規則です。⊥ には規則がなく、¬A は A→⊥ の略記でした。⊥ から何でも出す規則(矛盾律)が入っていないので「最小」と呼びます。

後期はこの8規則を一つも変えずに使います。変わるのは、A や B に述語や量化子を含む式(K(x)、∀x L(x) など)を入れてよくなることと、量化子の規則が足されることだけです。今回の ∀ の2規則と、次回の ∃ の2規則を足したものが最小述語論理です。その先で矛盾律を足すと直観主義述語論理(第6回)、さらに排中律を足すと古典述語論理(第8回)になります。前期と同じく、規則を一つ足すたびに何が新しく証明できるようになったかを見ていきます。

数学の「すべての」

中学校で「どんな自然数 x についても、x が偶数ならば x+1 は奇数である」を証明するときは、次のようにします。自然数 x を、何の条件もつけずに勝手に一つとります。x が偶数だと仮定すると、x=2k と書けるので x+1=2k+1 は奇数です。ここで仮定を外して「x が偶数ならば x+1 は奇数」とし、x は勝手にとったのだから、どんな x についてもそうだ、と結論します。最後の一歩が ∀ の導入で、その根拠は「何の条件もつけずに」だけです。

一つの例で証明したのに、なぜ全部について言えるのでしょうか。バークリは『人知原理論』(1710)の序論§16で、三角形について同じ問いを立てています。証明のあいだ思い浮かべているのが、辺の長さの決まった直角二等辺三角形であっても、その証明はあらゆる三角形に及ぶ。直角であることも、辺が等しいことも、辺の長さも、証明にまったく関わっていないからだ、というのがバークリの答えです。特定のものを思い浮かべていてよく、その特別な性質を証明に使っていなければ全部について言える。これを証明の規則として書いたのが、今回の固有変数条件です。

逆向きは簡単です。どんな x についても x=x なら、0=0 です。すべてについて言えることは、一つについても言えます。こちらが ∀ の除去です。

∀ の導入規則と除去規則

∀ の導入規則(∀I)は、A[x] が証明できたら ∀x A[x] を結論してよい、という規則です。ただし固有変数条件がつきます。除去規則(∀E)は、∀x A[x] から、x に好きな項 t を入れた A[t] を結論してよい、という規則です。

∀E を使うと、前回やり残した推論がすぐにできます。「自然数は無限に存在する」∀x∃y(x

固有変数条件

固有変数条件は、∀I で A[x] から ∀x A[x] を出してよいのは、A[x] が依存しているまだキャンセルされていない仮定に、x が自由変数として出てこないときに限る、というものです。x について何も仮定していない、つまり x は本当に勝手にとったものだ、ということを記号で言っています。キャンセル済みの仮定は数えません。

条件がないとどうなるかを見ます。仮定 (x=0)∧(y=0) から ∧E で x=0 を出し、そこで ∀I をかけると ∀x(x=0) になります。最後に仮定を →I で外すと、「x=0 かつ y=0 ならば、すべての自然数は 0 である」が証明できてしまいます。x と y に 0 を入れると、前提は真で結論は偽です。悪いのは ∀I をかけた時点で、仮定 (x=0)∧(y=0) がまだキャンセルされていなかったことです。そこに x が入っているので、x は「勝手にとった」ものではなく「0 だととった」ものでした。

ジャックでも同じ失敗ができます。犯人として x を一人とり(仮定 K(x))、∀x(K(x)→L(x)) と →E で L(x) を出し、そこで ∀I をかけると ∀x L(x)「全員が左利きだった」になります。犯人について調べていたはずが、ロンドン中の人について言ってしまいました。x には「メアリを殺した」という条件がついていて、その仮定がまだキャンセルされていないからです。

点検の手順は単純です。∀I をかける線から上へたどり、キャンセルの印がまだついていない仮定を拾います。その中に x が自由に出ていたら、∀I はかけられません。

用語についても触れました。自然演繹を作ったゲンツェンの論文(1935)では、∀I で使う自由変数が Eigenvariable と呼ばれています。eigen は「固有の」「自分専用の」という意味です。ゲンツェン自身は条件のほうを Variablenbedingung(変数条件)と呼んでいて、日本語でも「固有変数条件」とも「変数条件」とも言います。

条件を守った証明

条件を守るには、仮定を →I で外してから一般化します。(x=0)∧(y=0) から x=0 を出したら、先に →I で仮定をキャンセルして (x=0)∧(y=0)→x=0 とし、それから ∀I をかけます。結論は「どんな x でも、x=0 かつ y=0 ならば x=0」で、当たり前に正しい文です。固有変数条件は「一般化するな」とは言っていません。「条件を結論に書き込んでから一般化せよ」と言っています。

例題として ∀x(A→B[x])→(A→∀x B[x])(A には x が出てこない)を証明しました。∀I をかけるところでまだキャンセルされていない仮定は ∀x(A→B[x]) と A の二つで、前者の x は束縛され、後者には x が出てこないので、条件を満たします。もう一つの例題 ∀x B[x]→∀y B[y] からは、前回約束として言った「束縛変数は名前を替えてもよい」が、規則から証明できることがわかります。また、y=0 から ∀x(y=0) のように、x が出てこない式にも ∀x をつけられます(ダミー変数)。仮定に x が出てこないので、条件は自動的に満たされます。

無限連言としての ∀

∀x φ(x) からは、φ(0)∧φ(1)∧φ(2) のような連言が証明できます。仮定 ∀x φ(x) から ∀E で φ(0)、φ(1)、φ(2) をそれぞれ出し、∧I でつなげばよいのです。どの n についても同じやり方で φ(0)∧…∧φ(n) が出ます。前回の「無限に長い文は書けない」への答えがここにあります。∀x φ(x) という有限の式が、どこまででも伸ばせる連言の役をしています。

このとき、同じ仮定 ∀x φ(x) が何か所にも出てきて、→I で一度にキャンセルされています。前期第4回の言葉でいえば縮約です。n までの連言なら、コピーは n+1 回で有限回です。必要なだけ何回でもコピーしてよい、という縮約の力が、∀ を無限連言のように働かせています。

三層で見る:条件は何のためにあるか

∀I のすぐ後に ∀E をかけるのは遠回りです。∀x A[x] を作ってすぐ t を入れるくらいなら、A[x] の証明の中の x を全部 t に置き換えれば、A[t] の証明が直接できます。前期の ∧ や → と同じ、局所のハーモニーです。

ところが条件を破っているとこの近道が壊れます。仮定 x=0 から ∀I で ∀x(x=0) を作り、∀E で 1 を入れて 1=0 を出したとします。近道にすると、仮定まで 1=0 に書き換わってしまいます。x が仮定に出てこなければ、x を t に置き換えても仮定は変わりません。固有変数条件は、遠回りを消せるようにするため、つまり ∀ の導入と除去を釣り合わせるためにあります。

人間も LLM も、特別な例で一般化する

前回の予告では「早まった一般化」と言いましたが、正確には違います。早まった一般化は、少なすぎる事例から全体を推す帰納の誤りです。固有変数条件の破れは、事例が一つでも百でも起きます。特別な例を、任意の例と取り違える誤りです。

人間の側の例として、「すべての三角形は二等辺三角形である」というよく知られた誤った証明があります。誤りは図にあって、ある交点が三角形の内側に来るように描いてありますが、それは仮定からは出てきません。図の特別な性質を証明に使ってしまっている、バークリの議論の裏返しです。

LLM についても、数学オリンピックの問題で証明を書かせた研究に、同じ形の答案が報告されています。一つの添字について示しただけで全ての添字について結論したもの、特定の多項式で示しただけで全ての多項式について結論したものです(Petrov et al. 2025)。証明の誤りを分類した別の研究は、いくつかの具体例から一般の結論を引き出す誤りを、独立の項目として立てています(Mahdavi et al. 2025)。人間の答案にも同じ形の誤りは出ます。違いは、点検する手順を持っているかどうかです。

今回のキーワード

最小命題論理, 最小述語論理, 全称量化子, ∀ の導入規則, ∀ の除去規則, 固有変数条件, 変数条件, Eigenvariable, ゲンツェン, バークリ, 代入, 変数の捕獲, ダミー変数, 束縛変数の名前替え, 無限連言, 縮約, 局所のハーモニー, 遠回りの除去, 特別な例からの一般化

宿題

次の論理式を、証明できる場合は自然演繹で証明してください。A には x が出てこないとします。

問1 (A∨∀x B[x])→∀x(A∨B[x])
問2 ∀x(F[x]→G[x])→∀x(G[x]→H[x])
問3 ∀x(F[x]→G[x])→(∀x(G[x]→H[x])→∀x(F[x]→H[x]))

証明できないと思う問は、どこで詰まるかを書いてください。∀I を使うたびに、固有変数条件を点検したことがわかるように書いてください。

エクストラ(解かなくても不利になりません):¬¬∀x B[x]→∀x ¬¬B[x]
ヒント:¬A は A→⊥ の略記です。¬B[x] と ∀x B[x] から ⊥ を出し、最後に ∀I をかけます。

解くのにかかった時間も書いてください。提出方法・期限はKULMSの指示に従ってください。

      • -

[2026後期火5] 科学哲学科学史(演習) 担当:矢田部俊介(西日本旅客鉄道株式会社)

後期授業第2回(10/13)

第2回は、述語と量化子(∀、∃)を導入しました。前回、命題論理では「ジャックはメアリを殺した」から「誰かがメアリを殺した」が証明できないことを確かめました。今回は、その推論を書ける言語を作るところまで進みます。

今回の目次は次のとおりです。まず前回の要約をしたあと、「自然数は無限に存在する」を命題論理で書こうとして失敗する例を見ました。次に、文から名前を抜いた「穴の開いた文」として述語を導入し、型から出てくる全部をまとめて言う記号として量化子を導入しました。そのうえで切り裂きジャックを式で書き、スコープ、束縛変数と自由変数、量化子の順番を順に見ました。応用編として ε-δ 論法を取り上げ、最後に、量化子の順番で迷うのは人間も LLM も同じだという話をしました。

今回の要点は、''量化子の順番を入れ替えると主張が変わる''、ということです。∀x∃y と ∃y∀x の違いは、無限の分析にも、ε-δ 論法にも、日常の推論の誤りにも、同じ形で現れます。次回からは、量化子の導入規則と除去規則を入れていきます。

授業日時

10月13日(火)16:45〜18:15
文学部第4講義室

授業内容

  • 前回の要約(名前はあるのに、誰なのかわからない)
  • 命題論理で「無限」を書こうとして失敗する(公理を足す、無限に長い文を書く)
  • 述語:文に穴を開ける(変数、何変数の述語か、代入)
  • 量化子:「すべての」と「ある」(無限の概念分析、∀ と ∃ の定義)
  • 歴史:量化の記法を最初に入れたのはフレーゲ
  • ジャックを式で書く(K(j)、∃x K(x)、∀x(K(x)→L(x)))
  • スコープ、束縛変数と自由変数、閉論理式と開論理式
  • 量化子の順番(∀x∃y と ∃y∀x)
  • 応用編:ε-δ 論法(連続と一様連続)
  • 人間も LLM も、順番で迷う(量化子シフトの誤謬)
  • 演習


解説

命題論理では無限が書けない

「自然数は無限に存在する」を P、「5より大きい自然数が存在する」を Q₅ とします。P から Q₅ が出るのは当たり前です。ところが命題論理では、P も Q₅ も中身の見えない原子命題なので、P から Q₅ は証明できません。前回のジャックの P と Q とまったく同じ理由です。

では P → Q₅ を公理として足せばどうでしょうか。すると → の除去規則で P から Q₅ が出ます。しかし今度は Q₆(6より大きい自然数が存在する)が出ません。P → Q₆ を足すと Q₇ が出ません。有限個の公理からは有限個の Qₙ しか出てこない、もぐら叩きです。

それなら「0≠1 かつ 0≠2 かつ 1≠2 かつ……」と、無限に長い文を書けばよいかというと、これは書き終わりません。コンピュータも人間も、無限に長い文字列は扱えません。そもそも私たちは、無限に長い文を頭の中に持っているわけではありません。持っているのは、必要に応じて Qₙ を作り出せる「型」のほうです。

述語:文に穴を開ける

「ジャックがメアリを殺した」から名前を抜くと、「□ がメアリを殺した」という穴の開いた文が残ります。これが述語で、K(x) と書きます。穴の目印 x を変数と呼び、穴に名前を入れると文に戻ります。K(j) は「ジャックがメアリを殺した」です。

穴の数で、何変数の述語かが決まります。「x は左利きである」は一変数、「x は y より小さい」(x

量化子:「すべての」と「ある」

では「無限に存在する」とはどういう意味でしょうか。無限とは限りがないことです。自然数に限りがある(有界である)とは、ある自然数があって、どの自然数もそれ以下である、ということです。だから自然数に限りがないとは、どの自然数をとっても、それより大きい自然数がある、ということになります。アリストテレスの可能無限も同じ形をしていて、「その外に何もないものではなく、その外に常に何かがあるもの、それが無限である」と言っています(『自然学』III.6)。

この「どの」と「ある」を記号にしたのが量化子です。∀x P(x) は「どんな x についても P(x)」、∃x P(x) は「ある x があって P(x)」と読みます。すると「自然数は無限に存在する」は ∀x∃y(x

ジャックを式で書く

K(x) を「x がメアリを殺した」、L(x) を「x は左利きだった」、j を「ジャック」とします。「ジャックがメアリを殺した」は K(j)、「誰かがメアリを殺した」は ∃x K(x)、「メアリを殺した者は、誰であれ左利きだった」は ∀x(K(x)→L(x)) です。前回の「P から Q」は「K(j) から ∃x K(x)」になり、規則を書く場所ができました。

ただし ∀x(K(x)→L(x)) は、殺した者がいるとも、一人だとも言っていません。ラッセルは『数理哲学序説』(1919)で、「ウェイヴァリーの作者はスコットランド人だった」を、少なくとも一人が書いた、多くても一人が書いた、誰であれ書いた者はスコットランド人だった、の三つに分け、三つ揃って元の文が出てくる(どの二つでも足りない)と書いています。∀x(K(x)→L(x)) はこのうち三つ目だけです。「多くても一人」を書くには等号が要ります(第5回)。

スコープ、束縛変数と自由変数

量化子は、直後の括弧の中にだけ効きます。この範囲をスコープと呼びます。∃x(K(x)∧L(x)) は「メアリを殺した左利きの者がいる」ですが、括弧を変えた ∃x K(x)∧L(x) の L(x) の x は、∃x と関係がありません。量化子のスコープの中にある変数を束縛変数、どの量化子にも縛られていない変数を自由変数と呼びます。自由変数を含まない論理式を閉論理式(文)、含む論理式を開論理式と呼びます。

束縛変数は名前を替えても意味が変わりません。∃x K(x) と ∃y K(y) はどちらも「誰かがメアリを殺した」です。一方、名前は替えられません。K(j) と K(m) は別の文です。つまり ''∃x K(x) の x は、誰の名前でもありません''。「切り裂きジャック」を名前 j として置いてよいのか、x のままにしておくべきなのか。これが後期の問いの形です。

量化子の順番

∀x∃y(x

応用編:ε-δ 論法

「x が a に限りなく近づくとき、f(x) は b に限りなく近づく」の「限りなく近づく」は動きの比喩で、このままでは推論に使えません。そこで無限のときと同じように言い換えます。どんなに小さい誤差 ε を指定されても、それに応じて幅 δ をうまくとれば、a から δ 以内のどの x についても f(x) は b から ε 以内に入る。式にすると ∀ε>0 ∃δ>0 ∀x (0<|x−a|<δ → |f(x)−b|<ε) です。無限に小さい量は出てこず、有限の数と量化子だけで書けています。

これもゲームとして読めます。相手が ε を出し、私が δ を出し、相手が x を出して、|f(x)−b|<ε なら私の勝ちです。f(x)=2x、a=1、b=2 なら、δ=ε/2 と出せば必ず勝てます。δ は ε の関数として選べるわけで、∀x∃y(x

人間も LLM も、順番で迷う

∀x∃y R(x,y) から ∃y∀x R(x,y) を導く誤りは、量化子シフトの誤謬と呼ばれます。アリストテレス『ニコマコス倫理学』の冒頭が、「どの行為も何らかの目的をめざす。だから、すべての行為がめざす一つの目的がある」と推論しているのではないか、という指摘があります。そう推論してはいない、という擁護も有力です。どちらが正しいかを議論できるのは、二つの読みを式で区別できるからです。

LLM についても調べられています。"Every farmer owns a donkey" のような文について、人間が好む読みを選ばせると、GPT-4 は98%選べました(Kamath et al. 2024)。一方、式に訳させると、片方の読みに決め打ちして、もう一方の読みがあることを出さないことがあります(Stengel-Eskin et al. 2024)。大きいモデルが区別できないわけではありません。人間も LLM も、曖昧な文をどちらか一方で読んでしまいます。式に書くことは、自分がどちらで読んだかを、他人に確かめられる形で出すことです。

今回のキーワード

述語, 変数, 代入, 量化子, 全称量化子, 存在量化子, 概念分析, 可能無限, フレーゲ, 概念記法, スコープ, 束縛変数, 自由変数, 閉論理式, 開論理式, 量化子の順番, 多重量化, 確定記述, ラッセル, ε-δ 論法, 一様連続, 量化子シフトの誤謬, 切り裂きジャック

宿題

次の文を量化子(∀、∃)を使って式で書いてください。問1・問2は、自然数について正しいかどうかも答えてください。

問1 どんな自然数にも、それより小さい自然数がある。
問2 偶数は無限にある(「y は偶数」は ∃z (y = z + z) と書けます)。
ヒント:「偶数がある」ではなく「無限にある」です。授業の ∀x∃y(x

      • -

[2026後期火5] 科学哲学科学史(演習) 担当:矢田部俊介(西日本旅客鉄道株式会社)

後期授業第1回(10/6)

後期の授業が始まりました。後期は、前期では手を付けなかった「個体」の層に降ります。第1回はその導入として、前期の復習をしたうえで、後期を通して考える問いを立てました。

今回の目次は次のとおりです。まず後期の進め方を確認し、前期の推論規則、正規化、三層のハーモニーを振り返りました。次に前期最終回の LLM の話を要約し、前期の物差しでは測れていなかったものとして「名前」を取り上げました。切り裂きジャックの例と、LLM に正体を尋ねた実演記録を見たあと、意味の理論の二つの柱(指示と使用)、名前を追えているとはどういうことか、ライプニッツとフレーゲの同一性の考え方を順に見ました。最後に、命題論理ではそもそもこの問いが書けないことを確かめ、後期の地図を示しました。

後期の問いを一行で言うと、''「どれのことか」を決めているのは何か''、です。次回からは、この問いを書ける言語として述語と量化子(∀、∃)を導入していきます。

授業日時

10月6日(火)16:45〜18:15
文学部第4講義室

授業内容

  • 後期の進め方(資料、宿題、成績、日程)
  • 前期の復習(推論規則、⊥ と否定、意味は規則が決める、正規化と部分論理式原理、三層のハーモニー、tonk)
  • 前期最終回の要約(LLM は使われ方で意味を近似している、ハルシネーションの三層診断、システム2)
  • 今日の問い:名前はあるのに、誰なのかわからない(切り裂きジャック)
  • LLM に聞いてみた(4つのモデル、各5回の実演記録)
  • 意味の理論は二つある(指示と使用)
  • 名前を追えている、とはどういうことか
  • 入れ替えてよい、とは同じだということ(ライプニッツとフレーゲ)
  • 命題論理ではこの問いが書けない
  • 「LLM が悪い」で済ませないために
  • 後期の地図

speakerdeck.com


解説

前期の物差しで測っていなかったもの

前期は命題論理の自然演繹を扱いました。論理記号ごとに導入規則と除去規則があり、記号の意味はその規則が決める、という立場(証明論的意味論)でした。そのうえで、局所(反転原理)、中間(正規化)、大域(保存拡大)の三層のハーモニーを物差しとして組み立て、前期最終回ではこの物差しで LLM のハルシネーションを診断しました。

ただ、この物差しが測っていたのは、文と文のつながり、つまり証明です。文の中に出てくる「誰」「何」については、何も測っていません。命題論理には、そもそもそれを書く場所がありませんでした。後期はここに降ります。

名前はあるのに、誰なのかわからない

1888年、ロンドンでメアリ・アン・ニコルズという女性が殺害されました。いわゆる切り裂きジャック事件の最初の事件です。「誰かがメアリ・アン・ニコルズを殺害した」という文は正しいと考えられています。ところが犯人は今も同定されていません。

それでも私たちは「切り裂きジャックは〜した」と、名前を主語にして話すことができます。この名前は、実のところ「メアリを殺した者(誰であれ)」の言い換えです。名前があれば、その名前が指すものは決まっているのでしょうか。決まっていないなら、その名前を使った推論はどこまで信用できるのでしょうか。これが今日の問いです。

LLM に聞いてみた

授業の前に、4つの LLM に「切り裂きジャックの正体は誰ですか」と尋ね、同じ会話の中で「その人物が犯人だという根拠をもう一度まとめてください」「彼はその後どうなりましたか」と続けました。これを別々の会話で5回ずつ行っています(2026年10月4日)。

結果はモデルによってはっきり分かれました。大きなモデル(Claude)は、5回とも「特定されていない」と答えました。そのうえで2問目の「その人物」を一人に決め、「〜を指しているものと受け取りました(別の容疑者を想定していたら言ってください)」と、どう受け取ったかを口に出していました。3問目の「彼」も5回とも同じ人物でした。

一方、手元のパソコンで動かした小さなモデルでは、名前と対象の結びつきが崩れる場面がいくつも見られました。カタカナの名前と括弧の中の英語名が別の人の名前になっている。1問目で「本名は A とも B とも言われています」と答えたあと、3問目で「彼は1891年に名前を公式に B に変更しました」と、並べただけの二つの名前を根拠のない「改名」でつないでしまう。4人の候補を並べたあと、「彼」を理由なく3番目の人物に決める。

違いが出たのは、名前を出せるかどうかではありません。その名前が何を指すのかを保てるかどうかです。そして保てた例も、「誤らない」のではなく、どう受け取ったかを示して直す手続きを開いている、という形をしていました。

意味の理論は二つある

ここで、意味の理論の二つの柱を確認しました。一つは指示を基礎にする考え方で、語の意味とはその語が指すもの、文の意味とはその文がどんな状況で真になるかだ、と考えます。もう一つは使用を基礎にする考え方で、語の意味とはその語がどう使われるかだ、と考えます。前期はずっと後者の側にいて、論理記号の意味を規則で説明してきました。

名前は前者の典型に見えます。「切り裂きジャック」の意味は、その名前が指す人物だ、と言いたくなります。ところが今日の例では、その人物が誰なのかわかりません。一方 LLM は、事前学習ではおもに語の使われ方の分布から語を学んでいます。それでも「ジャック」という語をそれらしく使いこなしています。では、名前が何を指すかは、使われ方だけで決まるのでしょうか。決まらないとしたら、何が足りないのでしょうか。これが後期の問いの言い換えです。

なお、ウィトゲンシュタインの言う「使用」とコーパスの中での分布は同じではない、という批判があることも紹介しました(Bender & Koller 2020)。

名前を追えている、とはどういうことか

「理解している」「覚えている」という心の言葉は使わずに、次のように言うことにしました。ある話の中で「ジャック」「犯人」「彼」を互いに入れ替えてよい、と一度引き受けたとする。その引き受けを後の発言でも守り続けているとき、その話し手は対象を追えている、と言う。たとえば「犯人は左利きだった」と言ったあとで「ジャックは左利きではなかった」と言えば、入れ替えの引き受けを守っていません。

LLM の研究では、これに近い問題が二つの名前で調べられています。同じものを指す表現を結びつける問題(共参照)と、同じ対象について言われたことを後の変更を通して保てるかという問題(entity tracking、Kim & Schuster 2023)です。

入れ替えてよい、とは同じだということ

入れ替えの話は、哲学では同一性の問題として古くから論じられてきました。ライプニッツは「一方を他方に置き換えても真理が損なわれないもの、それが同じものである」と定義しています。授業で使うのはこの片側で、a と b が同じなら、a について正しいことは b についても正しい、という原理です。裏返すと、「犯人は左利きだった」と「ジャックは左利きではなかった」が両方正しいなら、犯人とジャックは別人です。

フレーゲは『算術の基礎』でこの定義を採り、名前で対象を指すなら、b が a と同じかどうかを決める基準が要る、と述べました。この考えは第5回で読むブランダムの「同一性の基準」につながります。ただし、逆向きの「区別できないものは同じ」は形而上学の原理で、今も論争があります。また「知っている」「信じている」の中では置き換えがききません。警部が「犯人は左利きだ」と知っていても、「ジャックは左利きだ」と知っているとは限らないからです。

命題論理ではこの問いが書けない

最後に、前期の道具だけではこの問いが書けないことを確かめました。P を「ジャックはメアリを殺した」、Q を「誰かがメアリを殺した」とします。P が正しければ Q も正しいのは明らかですが、命題論理では P も Q もそれ以上分解できない原子命題なので、P から Q は証明できません。正規形の証明には前提と結論の部分論理式しか現れない(部分論理式原理)ので、使える論理式が P と Q しかなく、どの規則も適用できないからです。

そこで、述語 K(x)(「x がメアリを殺した」)と名前 j(「ジャック」)を用意すると、「ジャックはメアリを殺した」は K(j)、「誰かがメアリを殺した」は ∃x K(x) と書けます。K(j) から ∃x K(x) は ∃ の導入規則で証明できるようになります(第4回)。では逆に、∃x K(x) が証明できたとき、それが誰なのかはわかるのでしょうか。実は、どの論理を使うかで答えが変わります。これが後期の中盤(第7〜9回)の主題です。

「LLM が悪い」で済ませないために

後期に出てくる誤りは、どれも人間もやるものです。条件つきで選んだものを「任意のもの」と取り違える早まった一般化、誰なのかを示さずに「そういうものが存在する」と言う推論、同じかどうかを決める基準を持たずに名前を使うこと。「切り裂きジャック」という名前は、まさに最後の例です。LLM を欠陥品として片付けると、個体をどうやって追っているのかという問いそのものが見えなくなります。論点は誤らないことではなく、名前を付ける資格と、誤ったときに直す手続きです。後期の一行は、''個体を追うことも、システム2の仕事である''、です。

今回のキーワード

個体, 名前, 指示, 使用, 意味の理論, 分布意味論, 共参照, entity tracking, 同一性, ライプニッツの原理, salva veritate, 同一性の基準, フレーゲ, 部分論理式原理, 述語, 量化子, 存在量化子, 切り裂きジャック, ハルシネーション, システム2

宿題

今回は宿題はありません。次回から、ほぼ毎回出します。提出方法・期限はKULMSの指示に従ってください。

      • -

[2026後期火5] 科学哲学科学史(演習) 担当:矢田部俊介(西日本旅客鉄道株式会社)

後期授業第1回(10/6)

後期の授業が始まりました。後期は、前期では手を付けなかった「個体」の層に降ります。第1回はその導入として、前期の復習をしたうえで、後期を通して考える問いを立てました。

今回の目次は次のとおりです。まず後期の進め方を確認し、前期の推論規則、正規化、三層のハーモニーを振り返りました。次に前期最終回の LLM の話を要約し、前期の物差しでは測れていなかったものとして「名前」を取り上げました。切り裂きジャックの例と、LLM に正体を尋ねた実演記録を見たあと、意味の理論の二つの柱(指示と使用)、名前を追えているとはどういうことか、ライプニッツとフレーゲの同一性の考え方を順に見ました。最後に、命題論理ではそもそもこの問いが書けないことを確かめ、後期の地図を示しました。

後期の問いを一行で言うと、''「どれのことか」を決めているのは何か''、です。次回からは、この問いを書ける言語として述語と量化子(∀、∃)を導入していきます。

授業日時

10月6日(火)16:45〜18:15
文学部第4講義室

授業内容

  • 後期の進め方(資料、宿題、成績、日程)
  • 前期の復習(推論規則、⊥ と否定、意味は規則が決める、正規化と部分論理式原理、三層のハーモニー、tonk)
  • 前期最終回の要約(LLM は使われ方で意味を近似している、ハルシネーションの三層診断、システム2)
  • 今日の問い:名前はあるのに、誰なのかわからない(切り裂きジャック)
  • LLM に聞いてみた(4つのモデル、各5回の実演記録)
  • 意味の理論は二つある(指示と使用)
  • 名前を追えている、とはどういうことか
  • 入れ替えてよい、とは同じだということ(ライプニッツとフレーゲ)
  • 命題論理ではこの問いが書けない
  • 「LLM が悪い」で済ませないために
  • 後期の地図

https://speakerdeck.com/player/7d34b3a2c67a4ce79878581da1d744d5

解説

前期の物差しで測っていなかったもの

前期は命題論理の自然演繹を扱いました。論理記号ごとに導入規則と除去規則があり、記号の意味はその規則が決める、という立場(証明論的意味論)でした。そのうえで、局所(反転原理)、中間(正規化)、大域(保存拡大)の三層のハーモニーを物差しとして組み立て、前期最終回ではこの物差しで LLM のハルシネーションを診断しました。

ただ、この物差しが測っていたのは、文と文のつながり、つまり証明です。文の中に出てくる「誰」「何」については、何も測っていません。命題論理には、そもそもそれを書く場所がありませんでした。後期はここに降ります。

名前はあるのに、誰なのかわからない

1888年、ロンドンでメアリ・アン・ニコルズという女性が殺害されました。いわゆる切り裂きジャック事件の最初の事件です。「誰かがメアリ・アン・ニコルズを殺害した」という文は正しいと考えられています。ところが犯人は今も同定されていません。

それでも私たちは「切り裂きジャックは〜した」と、名前を主語にして話すことができます。この名前は、実のところ「メアリを殺した者(誰であれ)」の言い換えです。名前があれば、その名前が指すものは決まっているのでしょうか。決まっていないなら、その名前を使った推論はどこまで信用できるのでしょうか。これが今日の問いです。

LLM に聞いてみた

授業の前に、4つの LLM に「切り裂きジャックの正体は誰ですか」と尋ね、同じ会話の中で「その人物が犯人だという根拠をもう一度まとめてください」「彼はその後どうなりましたか」と続けました。これを別々の会話で5回ずつ行っています(2026年10月4日)。

結果はモデルによってはっきり分かれました。大きなモデル(Claude)は、5回とも「特定されていない」と答えました。そのうえで2問目の「その人物」を一人に決め、「〜を指しているものと受け取りました(別の容疑者を想定していたら言ってください)」と、どう受け取ったかを口に出していました。3問目の「彼」も5回とも同じ人物でした。

一方、手元のパソコンで動かした小さなモデルでは、名前と対象の結びつきが崩れる場面がいくつも見られました。カタカナの名前と括弧の中の英語名が別の人の名前になっている。1問目で「本名は A とも B とも言われています」と答えたあと、3問目で「彼は1891年に名前を公式に B に変更しました」と、並べただけの二つの名前を根拠のない「改名」でつないでしまう。4人の候補を並べたあと、「彼」を理由なく3番目の人物に決める。

違いが出たのは、名前を出せるかどうかではありません。その名前が何を指すのかを保てるかどうかです。そして保てた例も、「誤らない」のではなく、どう受け取ったかを示して直す手続きを開いている、という形をしていました。

意味の理論は二つある

ここで、意味の理論の二つの柱を確認しました。一つは指示を基礎にする考え方で、語の意味とはその語が指すもの、文の意味とはその文がどんな状況で真になるかだ、と考えます。もう一つは使用を基礎にする考え方で、語の意味とはその語がどう使われるかだ、と考えます。前期はずっと後者の側にいて、論理記号の意味を規則で説明してきました。

名前は前者の典型に見えます。「切り裂きジャック」の意味は、その名前が指す人物だ、と言いたくなります。ところが今日の例では、その人物が誰なのかわかりません。一方 LLM は、事前学習ではおもに語の使われ方の分布から語を学んでいます。それでも「ジャック」という語をそれらしく使いこなしています。では、名前が何を指すかは、使われ方だけで決まるのでしょうか。決まらないとしたら、何が足りないのでしょうか。これが後期の問いの言い換えです。

なお、ウィトゲンシュタインの言う「使用」とコーパスの中での分布は同じではない、という批判があることも紹介しました(Bender & Koller 2020)。

名前を追えている、とはどういうことか

「理解している」「覚えている」という心の言葉は使わずに、次のように言うことにしました。ある話の中で「ジャック」「犯人」「彼」を互いに入れ替えてよい、と一度引き受けたとする。その引き受けを後の発言でも守り続けているとき、その話し手は対象を追えている、と言う。たとえば「犯人は左利きだった」と言ったあとで「ジャックは左利きではなかった」と言えば、入れ替えの引き受けを守っていません。

LLM の研究では、これに近い問題が二つの名前で調べられています。同じものを指す表現を結びつける問題(共参照)と、同じ対象について言われたことを後の変更を通して保てるかという問題(entity tracking、Kim & Schuster 2023)です。

入れ替えてよい、とは同じだということ

入れ替えの話は、哲学では同一性の問題として古くから論じられてきました。ライプニッツは「一方を他方に置き換えても真理が損なわれないもの、それが同じものである」と定義しています。授業で使うのはこの片側で、a と b が同じなら、a について正しいことは b についても正しい、という原理です。裏返すと、「犯人は左利きだった」と「ジャックは左利きではなかった」が両方正しいなら、犯人とジャックは別人です。

フレーゲは『算術の基礎』でこの定義を採り、名前で対象を指すなら、b が a と同じかどうかを決める基準が要る、と述べました。この考えは第5回で読むブランダムの「同一性の基準」につながります。ただし、逆向きの「区別できないものは同じ」は形而上学の原理で、今も論争があります。また「知っている」「信じている」の中では置き換えがききません。警部が「犯人は左利きだ」と知っていても、「ジャックは左利きだ」と知っているとは限らないからです。

命題論理ではこの問いが書けない

最後に、前期の道具だけではこの問いが書けないことを確かめました。P を「ジャックはメアリを殺した」、Q を「誰かがメアリを殺した」とします。P が正しければ Q も正しいのは明らかですが、命題論理では P も Q もそれ以上分解できない原子命題なので、P から Q は証明できません。正規形の証明には前提と結論の部分論理式しか現れない(部分論理式原理)ので、使える論理式が P と Q しかなく、どの規則も適用できないからです。

そこで、述語 K(x)(「x がメアリを殺した」)と名前 j(「ジャック」)を用意すると、「ジャックはメアリを殺した」は K(j)、「誰かがメアリを殺した」は ∃x K(x) と書けます。K(j) から ∃x K(x) は ∃ の導入規則で証明できるようになります(第4回)。では逆に、∃x K(x) が証明できたとき、それが誰なのかはわかるのでしょうか。実は、どの論理を使うかで答えが変わります。これが後期の中盤(第7〜9回)の主題です。

「LLM が悪い」で済ませないために

後期に出てくる誤りは、どれも人間もやるものです。条件つきで選んだものを「任意のもの」と取り違える早まった一般化、誰なのかを示さずに「そういうものが存在する」と言う推論、同じかどうかを決める基準を持たずに名前を使うこと。「切り裂きジャック」という名前は、まさに最後の例です。LLM を欠陥品として片付けると、個体をどうやって追っているのかという問いそのものが見えなくなります。論点は誤らないことではなく、名前を付ける資格と、誤ったときに直す手続きです。後期の一行は、''個体を追うことも、システム2の仕事である''、です。

今回のキーワード

個体, 名前, 指示, 使用, 意味の理論, 分布意味論, 共参照, entity tracking, 同一性, ライプニッツの原理, salva veritate, 同一性の基準, フレーゲ, 部分論理式原理, 述語, 量化子, 存在量化子, 切り裂きジャック, ハルシネーション, システム2

宿題

今回は宿題はありません。次回から、ほぼ毎回出します。提出方法・期限はKULMSの指示に従ってください。

      • -

[2026後期火5] 科学哲学科学史(演習) 担当:矢田部俊介(西日本旅客鉄道株式会社)

後期授業のご案内(10月6日開講)

後期の「科学哲学科学史(演習)」は、10月6日(火)に開講します。前期から続けて受講する方も、後期から加わる方も、どうぞよろしくお願いします。

後期は前期の続きです。前期は命題論理の自然演繹を扱い、A や B といった命題をひとかたまりのまま組み合わせて推論してきました。後期はそこから一段降りて、命題の中身、つまり「何が」「誰が」という個体の層に入ります。述語と量化子 ∀、∃ を導入し、述語論理の自然演繹を組み立てていきます。

後期を通して考えたい問いは、''「どれのことか」を決めているのは何か''、というものです。

通し例として、次の文を使います。「誰かが1888年にメアリ・アン・ニコルズを殺した」。この文は正しいと考えられています。ところが、犯人は今も同定されていません。何人かの候補がいたものの、決着はついていないのです。私たちは「切り裂きジャック」という名前を持っているのに、その名前が誰のことなのかは決まっていません。名前はあるのに、どれのことかが定まっていないという少し奇妙な状態が、後期の出発点になります。

論理学の側にも、これとよく似た事実があります。古典述語論理では、「犯人はいる」にあたる ∃xKx が証明できるのに、それが誰なのかを示す項を出せないことがあります。このことを、古典論理は存在具体性を満たさない、と言います。一方で直観主義論理では、∃xKx を証明したなら、その証明から証人となる項を取り出すことができます。こちらは存在具体性を満たすわけです。存在を言えることと、それが誰かを言えることのあいだに、どの論理を選ぶかによって隙間が開いたり閉じたりします。

ここで生成AIの話につなげます。生成AIが、存在しない論文を著者名や年号つきで挙げてしまうことがあるのはよく知られています。これも、名前だけが先に出て、それがどれのことかの裏づけがないという点で、同じ形をしています。前期の最終回では、ハルシネーションを三層の物差しで診断しました。後期は一段下の、名前と同一性の層で同じ作業をします。

ただし、ここで確認しておきたいことが四つあります。

一つ目に、こうした誤りはAIに固有のものではありません。条件つきで選んだ対象を「任意の対象」と取り違えてしまう誤りは、人間が日常的にやっている早まった一般化です。授業では、これを固有変数条件という規則の破れとして形式化します。

二つ目に、証人のない存在証明は、古典数学が二千年にわたって受け入れてきた推論です。後期には入試問題くらいの手ごろな例も扱います。ある無理数 x について √2 の x 乗が有理数になる、という定理には、その x が具体的にどれなのかを示さずに済ませる非構成的な証明があります。

三つ目に、名前だけを付けて同一性の基準を持たないというのは、「切り裂きジャック」という命名そのものです。人間の命名の実践が、すでにそういう形をしています。

四つ目に、だからこの問題を「AIが悪い」で片付けてしまうと、いちばん面白い問い、つまり私たちは個体をどうやって追っているのかという問いが消えてしまいます。人間の推論についての誤解が、AIをめぐる議論を歪めているところがあります。後期はそこを、論理学の側から点検していきます。

授業日時

  • 開講日は10月6日(火)です。
  • 毎週火曜5限、16時45分から18時15分に行います。
  • 教室はKULASISで確認してください。
  • 授業は全13回です。11月3日(火)は祝日のため授業がありません。その分は課題で代替する予定です。詳細は決まり次第お知らせします。

後期に扱うこと

  • 量化子の導入(述語、∀と∃、スコープ、束縛変数と自由変数)
  • ∀の導入規則と除去規則、固有変数条件
  • ∃の導入規則と除去規則、存在具体性
  • 等号と個体化(単称項とは何か、同一性の基準)
  • 矛盾律と直観主義述語論理(ホームズ論法)
  • 構成性(選言性、存在具体性、BHK解釈)
  • 古典述語論理と排中律(非構成的な存在証明)
  • 名無しの個物(エルブランの定理、スコーレム関数、ε記号)
  • タルスキ・モデルと充足の再帰的定義
  • 健全性と、完全性は何を言っているのか
  • 完全性の証明(領域を項から作るということ)
  • 総括(名前を付ける資格とは何か)

前期の話とのつながり

前期に使った三層の物差し、つまり局所の反転原理、中間の正規化、大域の保存拡大は、後期でもそのまま使います。∀ と ∃ の規則についても、導入と除去が釣り合っているか、証明の中の遠回りを消せるかを、前期と同じように見ていきます。

最終回に向けて、ひとつ対比を予告しておきます。排中律を足すと、保存拡大が破れます。ところが、完全性定理の証明で証人の名前を言語に足していく操作は、保存拡大になっています。どちらも何かを足しているのに、片方は釣り合いを壊し、もう片方は壊しません。この違いがどこから来るのかを、最終回で扱います。

進め方

  • 資料は授業の1日から2日前にKULMSにアップロードします。
  • 毎回ほぼ宿題が出ます。提出はKULMSの左メニューの「課題」からお願いします。
  • 解答は締切後に配布します。
  • 成績は宿題の累計で付けます。
  • 前期の内容は第1回で復習しますので、記号の扱いを忘れていても大丈夫です。

今回のキーワード

述語、量化子、∀、∃、スコープ、束縛変数、自由変数、固有変数条件、存在具体性、等号、個体化、単称項、同一性の基準、矛盾律、直観主義述語論理、選言性、BHK解釈、古典述語論理、排中律、非構成的な存在証明、エルブランの定理、スコーレム関数、ε記号、タルスキ・モデル、充足、健全性、完全性、保存拡大

      • -

[2026後期火5] 科学哲学科学史(演習) 担当:矢田部俊介(西日本旅客鉄道株式会社)

前期授業第14回(7/21)

前期の授業も、いよいよ最終回になりました。今回は前期の総まとめとして、これまで積み上げてきた「良い証明=良い言語」の条件を物差しにして、いま話題の大規模言語モデル(LLM)の「ハルシネーション(もっともらしい嘘)」を診断してみます。

今回の目次は、次のとおりです。まず前回の宿題の答え合わせから始めて、LLM が文章をどう作るのかを概説します。そのうえで「LLM は意味を分布意味論で近似している」という見方を立て、それが意味の全体論の一種であること、そして本物の意味(分子論)とのズレこそがハルシネーションであることを見ます。最後に、そのズレを前期に完成させた三層ハーモニー(局所・中間・大域)で分類し、対策も同じ枠で読み替えます。

大きな結論を先に言ってしまうと、''「計算している」ことは「証明している」ことを含意しない''、ということです。LLM は確かに計算していますが、論理が要求する三つの条件をどれも保証してくれません。前期にやってきた「走って・止まって・積み上がる」という三つの物差しは、そのまま AI を測る物差しでもあった、というのが最終回のメッセージです。

授業日時

7月21日(火)16:45〜18:15
文学部第4講義室

授業内容

  • 前回のおさらい(宿題の答え合わせ:次数・tonk・否定の略記)
  • LLM は文章をどう作るのか(一語ずつ・確率・尤度)
  • 分布意味論——意味を「使われ方」で近似する
  • 分子論は「全体論の決定可能な断片」——カノニカルフォーム
  • 近似だから差分が出る=それがハルシネーション
  • 三層診断:局所(詰まらなさの偽装)/中間(止まるが証明でない)/大域(積み上がる保証がない)
  • 処方を三層で読み替える(RAG・棄権・自己検証)
  • オチ:LLM の中に「システム2」を=それが論理
  • 演習(身近なハルシネーションを三層で診断せよ)

https://speakerdeck.com/player/PRESENTATION_ID speakerdeck.com

解説

前回の宿題の答え合わせ

最終回は、前回(7/14)の宿題の答え合わせから始めました。

問1は、遠回りを一つ含む証明を描き、β簡約すると次数が下がることを確かめる問題でした。→I(ならばの導入)の直後に →E(ならばの除去)が来ると、そこに「峰」として命題 A→B が立ちます。この遠回りを消す(A の証明を仮定 [A] に代入する)と、峰の A→B が消えて B の直接証明になります。残る遠回りは A や B についてのものだけで、必ず次数が小さくなります。だから証明はいつか正規形にたどり着く(弱正規化)、というのが答えです。

問2は、tonk という結合子を足すと保存拡大が壊れることを示す問題でした。tonk は導入で A ⊢ A tonk B、除去で A tonk B ⊢ B とすると、この二つをつなぐだけで A ⊢ B が任意の B について導けてしまいます。つまり、どんな前提からどんな結論も出る「爆発」が起き、古い語彙のままで新しい定理を無限に増やしてしまいます。これが「保存拡大が壊れる」ということでした。

エクストラ問は、否定を ¬A ≔ A→⊥ という「略記」として足すのは良い定義か、というものでした。答えは「はい、保存拡大です」。¬ はあくまで略記なので、いつでも A→⊥ に展開して消すことができます。だから ¬ を使った証明はすべて ¬ なしに書き直せて、⊥(¬)を含まない古い定理は一つも増えません。tonk が「展開して消せない=密輸をする」のと対照的です。''良い定義とは、略記であり、保存拡大である''。これは第10回でやったことの回収でした。

LLM は文章をどう作るのか

さて本題です。まず、今日の主役である LLM が何をしているのかを、素直に確認しました。

LLM(大規模言語モデル)は、大量のテキストで訓練された巨大なニューラルネットワークです。やっていることは、入力に続く文章を''一語ずつ''作ることです。「ここまで来たら次に何が来そうか」を予測し、一語選んで末尾に足し、それをまた入力に戻して次の語……を、止めどきまで繰り返します(自己回帰)。

次の一語は、確率で選ばれます。モデルは候補の語それぞれに点数をつけ、それを合計1の確率に変換して(softmax)、確率にしたがって一語を選びます。「京都は日本の___」なら、古都・都市・首都……に確率が割り振られます。ここで大事なのは、''必ずどれかの語に正の確率が付く''ということです。つまり LLM は「黙る」ことができません。この含意は、あとで効いてきます。

そして学習の目的は「もっともらしさ」です。訓練とは、人間が書いた大量のテキストをうまく再現できるように内部の数値を調整すること(尤度を上げる、最尤推定)です。最適化されるのは、真理性ではなく、もっともらしさです。

分布意味論——意味を「使われ方」で近似する

この仕組みを「意味の理論」として読み直すと、LLM は語の意味を「その語がどんな語と一緒に現れるか(使われ方の分布)」で捉えている、と言えます。これは''分布意味論''と呼ばれる立場で、「語は、そのつきあう仲間で分かる」(ファース)という分布仮説に基づきます。意味を「事実との対応」ではなく「言語内の使われ方」で捉えるわけです。

LLM が見ている「分布」は、ウェブ規模のコーパス(人間が書いた大量テキスト)での共起です。だから LLM が捉えるのは「その語のまわりに何が来やすいか」=コーパスでのもっともらしさであって、世界の事実でも証明でもありません。要するに、''LLM は意味を「分布」で近似している''のです。

分子論は「全体論の決定可能な断片」

分布意味論は、実は「意味の全体論」(意味は言語全体の使われ方に溶けている、クワイン)の一バリエーションです。これに対して、この授業でやってきたのは''分子論''(ダメット)でした。分子論では、一つの語の意味は、その語の「使い方の規則」=導入規則と除去規則だけで決まり、言語全体を見る必要がありません。

面白いのは、分子論は全体論の反対というより、''全体論のうち「決定可能な断片」を取り出したもの''だ、という点です。全体論のまま(言語全体)だと、意味は見渡せず、決定できず、学べません。分子論は、使い方を「見渡せる・決定可能な断片」に限ることで、「意味=使い方」という長所は保ったまま、決定可能性・学習可能性・合成性を手に入れます。いわば「いいとこどり」です。そして前期にやった三層ハーモニー(詰まらない・止まる・積み上がる)は、まさにこの「決定可能な断片」を切り出すための条件でした。

具体例で言うと、「A ∧ B」(A かつ B)のカノニカルな証明(標準的な作り方)は、「A の証明と B の証明を組にしたもの」=ペアです。たとえば「雨が降っている ∧ 風が吹いている」の標準証明は〈雨の証拠, 風の証拠〉というペアで、確かめるのに要るのは「雨」と「風」の意味だけ、言語全体は要りません。しかも正規化定理によって、どんな回り道をした証明も、正規形(カノニカルフォーム)に直せばこのペアに戻ります。だから「A ∧ B が分かる」とは「A と B さえ分かればよい」ということなのです。これが「分子」の正体でした。

近似だから、差分が出る=それがハルシネーション

ここで背骨がつながります。LLM は意味を''全体論の網ごと''近似しています。分子論のように「決定可能な断片(ペアやカノニカルフォーム)」に収める保証がありません。だから、本物(証明の資格ある意味)との間に、断片からはみ出す「差分」が必ず残ります。

''この差分こそが、ハルシネーションです''。「幻覚」という言い方は、じつは誤称です(LLM は感覚を持ちませんし、誤りはデータと目的関数から生じます)。この授業の言葉に直すと、ハルシネーションとは「証明の資格のない項を、全域性を装って差し出す構造的性質」=〈近似〉と〈本物〉のズレなのです。では、そのズレはどう現れるか。前期に完成させた三つのハーモニーが、差分を分類する物差しになります。

三層診断

''局所(詰まらない)の破れ''。論理の「詰まらない」は、根拠(簡約規則)があるから進めることでした。ところが LLM の softmax はいつでも次の語を出せます。これは「詰まらなさの偽装」です。根拠がなくても前に進めてしまう=根拠なき前進。ソース参照乖離(主張がソースに依拠しない)が典型で、意味の分子構造がないために「この主張の根拠」を部品として取り出せないのです。

''中間(止まる=全域性)の破れ''。ここが今日の心臓です。論理の中間は「止まって、証明の資格ある値を返す(全域性)」でした。LLM は生成を止めて答えを差し出しますが、その値は証明の資格を持ちません=「差し出したふり」=永遠に履行されない約束手形です。ではどうやって止まっているのか。証明の正規化のように内側から保証されて止まるのではなく、外から課された「打ち切り」(トークン予算・時間・学習した終了傾向)で止まっています。しかも重要なのは、''推論そのものの正規化と、出力(文章)の正規化が分離している''ことです。内部推論は正規化しないことがあっても、「したがって」で文章を閉じることは学習済みなので、''LLM は証明を正規化できなくても、証明「らしい文書」を正規化して出せる''のです。だから、詰まったときほど最後だけ堂々とした誤答が出ます。理論的にも、Kalai らは「ハルシネーションは二値分類の誤りであり、学習データが誤りゼロでも、生成の誤り率は識別の誤り率のおよそ2倍を下回れない」と示しています。さらに、多くの評価が「わからない」と言う棄権を罰するので、当てずっぽうが最適になり、全域性が偽装されるのです。

''大域(積み上がる=保存拡大)の破れ''。論理の大域は「増築しても既存が壊れない(保存拡大・モジュラリティ)」でした。LLM の再学習では、破滅的忘却——新しく学ぶと既習の性能が急落しうる現象——が起きえます。ここは精度が大事で、破滅的忘却は「必ず起きる」わけではありません(EWC やリプレイなどで大きく緩和できます)。しかし、どの手法も「非忘却」を保証しません。論理は保存拡大を内在的に「保証」するのに対し、LLM の再学習にはその保証がない——だから「積み上がる」と言い切れないのです。追従(sycophancy、話者に迎合して結論が動く)も、同じく非保存的な症状です。

三つの破れは、根が一つでした。''意味の分子構造の欠如''です。分子がないから、(局所)根拠に結べず、(中間)値を検証できず、(大域)部品を足せない。これは前期の「有限性の三つの顔」のちょうど裏返しになっています。

処方を三層で読み替える

対策も、同じ三層で「どの層の要求を補強するか」で読めます。局所を補強するのが RAG(検索で主張を根拠に結ぶ)や記号的検証。中間を補強するのが棄権(わからないと言う訓練)・評価改革・自己検証(SelfCheckGPT)・DoLa。大域を補強するのが RAG(知識の外部化=非破壊的更新)や継続学習です。どれも「システム1の上に、あとから足場を組む」試みだと見ることができます。

オチ:LLM の中に「システム2」を=それが論理

最後のオチです。第2回で、人間の脳は速くて直感的な「システム1」の上に、ゆっくり規則にしたがう「システム2」を育てた、という話をしました。システム2は脳の上の仮想計算機で、その起源は社会的・言語的実践にあり、プログラマブル(学べる・直せる)でした。LLM は、このシステム1(もっともらしさの模倣)に当たります。足りないのは''システム2=証明を走らせる仮想計算機''=今日の三層ハーモニーです。今日見た処方は、どれも「システム1の上にシステム2を後付けする」試みでした。だとすれば、''論理こそ、その「システム2」の仕様書''なのです。速度の代償はあります(システム2は遅くて高価です)。でも、証明の資格は、そこにしかありません。

前期の一行にまとめれば、''「計算している」ことは「証明している」ことを含意しない''。LLM は走ります(むしろ走りすぎます)。けれど、止まって証明を差し出すことも、壊れずに積み上がることも、保証してくれません。論理とは、走って・止まって・積み上がる営みです。その三層の物差しは、AI を測る物差しでもありました。半年間、おつかれさまでした。

今回のキーワード

分布意味論, 意味の使用説, 分布仮説, 意味の全体論, 分子論(ダメット), カノニカルフォーム, 正規化, 全域性, 保存拡大, モジュラリティ, ハルシネーション, 二値分類の誤り, 破滅的忘却, 継続学習, RAG, 棄権, システム1/システム2, 仮想計算機, カリー・ハワード対応

前期授業第13回(7/14)

第13回は、これまで積み上げてきた「論理の良さ」の話と「計算」の話を、一本につなぐ回でした。合言葉は「走って、止まって、積み上がる」です。今回の目次は、(1) なぜ証明は必ず止まるのか、(2) 局所の関門=詰まらない(反転原理=β変換=計算が走る根幹)、(3) 大域の関門=モジュラリティ(保存拡大=社会的分業=知識が積み上がる)、(4) 統合と総括、の四本です。

前回(第12回)で、証明とはプログラムであり、正規化とはそのプログラムの実行である、というカリー・ハワード対応を紹介しました。今回はその見方を土台にして、第11回でやった三層ハーモニー(局所の反転原理・中間の正規化・大域の保存拡大)を、まるごと計算の言葉に翻訳します。三つの層は、計算で言えば「詰まらない・止まる・壊さず増築できる」の三つになります。

とくに時間をかけたのが「なぜ証明は必ず止まるのか」です。前回は時間切れで言えなかった一番大事なところで、じつは階乗の計算が必ず止まるのと同じ理由です。命題(型)は帰納的に、有限に組み立てられるので、それを崩していく還元は必ず有限で終わります。この「有限型の正規化可能性」については、証明そのものを参考資料として二種類配布しました(詳しくは後述します)。次回は最終回で、この道具立てを使ってLLMのハルシネーションを計算の言葉で特徴づけます。

授業日時

7月14日(火)16:45〜18:15
文学部第4講義室

授業内容

  • 前回のおさらい(証明はプログラム、正規化はその実行)
  • 宿題の答え合わせ(弱化の匂いのする A→B→A、怪物ρで矛盾を導くエクストラ問)
  • なぜ止まるのか(有限型のλ項は次数が下がるから必ず止まる。階乗と同じ)
  • カリーのパラドックス=自明化、不動点コンビネータ、Ω(止まらないもの)、一般再帰fix
  • 局所の関門=詰まらない(反転原理=β変換=計算が走る根幹)
  • 大域の関門=モジュラリティ(仮想機械の合成=社会的分業=借り物を一本道に直せる=知識が積み上がる)
  • 統合と総括(型安全性、ライプニッツの夢、意味の有限主義、ふたたびLLMへ)
  • 演習・次回予告(最終回はハルシネーションの計算的特徴づけ)

https://speakerdeck.com/player/PRESENTATION_ID speakerdeck.com

解説

まず前回の復習からです。証明木に項(λ項)を注釈すると、証明はλ計算のプログラムになります。導入の直後に除去がくる「遠回り」は、項では (λx.M)N という形(β基)になり、これを消すことが計算を一歩実行すること(β変換)でした。遠回り=β基、カット&ペースト=代入、正規化=プログラムの実行、という辞書です。

今回の一番大事なところは「なぜ証明は必ず止まるのか」です。ここは言葉で「型が停止を守る」と書くだけでは伝わりません。イメージは階乗です。fact(3) = 3・fact(2) = 3・2・fact(1) = 3・2・1・fact(0) = 6 のように、引数を一つずつ減らして 0(底)で必ず止まります。証明の書き換えもこれと同じで、命題(型)が帰納的に有限に組み立てられるので、それを崩していく作業は必ず有限で底を打ちます。より具体的には「次数」で測れます。次数とは遠回りの峰にある論理式の複雑さ(結合子の数)で、たとえば p は 0、p→q は 1、(p→q)→r は 2 です。A→B の遠回りを消すと、より小さい部分 A・B の遠回りに変わる(次数が下がる)。一番高い峰から消していけば必ず正規形に至ります。第9回のヒドラゲームで見た、あの「次数の辞書式が減る」話がそのまま効いています。逆に自己言及の文 ρ ⟺ (ρ→C) は、ほどいても自分自身が出てくるので次数が下がらず、Ω や fix は永遠に回ります。ここが「止まる/止まらない」の分かれ目です。

その怪物の正体も答え合わせしました。エクストラ問の ρ に項をつけると、Ω = (λx.xx)(λx.xx) になり、β簡約すると自分自身に戻って止まりません。一般化すると、自己言及する ρ からは任意の C が「証明」できてしまう。これがカリーのパラドックスで、tonk と同じ「自明化」の仲間です(矛盾律を経由せず、直接どんな結論も出てしまう)。その証明項は不動点コンビネータ Y でした。犯人は縮約(自己言及の仮定を二回使うこと)で、嘘つきのパラドックスはその C=⊥ の特殊ケースです。縮約のないアフィン論理(第8・9回)では xx が作れないので、これらは矛盾を起こしません。

次に、局所の関門を計算の言葉にしました。反転原理(導入と除去が釣り合う=どの遠回りにも簡約規則がある)は、計算で言えば「β変換ができること」そのものです。遠回りを消すこと=計算を一歩実行すること。つまり反転原理が計算の実行を保証しているのです。tonk のように簡約規則が書けないと、計算は詰まって走りません。ここが本質で、「推論とは計算である」とカリー・ハワード的に言えるのは、反転原理があって初めてなのです。

そして大域の関門=モジュラリティです。ここは今回いちばん膨らませたところです。仮想計算機(第2回、デネット)は言語共同体で共有・同期されるので、私たちは他人の議論を借りられます。カリー・ハワードで見ると、その仮想機械は一つの証明そのもので、実行が正規化です。ここで、A→B を証明した機械と A を証明した機械を→除去(適用)でつなぐと、より大きな一つの機械(B の証明)になります。これが社会的分業です。つないだ継ぎ目が遠回り(β基)で、正規化すると二つの機械が融合して、一つの根拠から結論への一本道になります。借り物の議論でも一本道に直せるということは、借りた補題は原理的に自分で展開できた(新しいことを密輸していない)ということで、これが保存拡大=モジュラリティです。良い定義とは「略記」で保守的に足せるもの(たとえば ¬A ≔ A→⊥)で、第10回でやったとおり、tonk やボッシュのような悪い定義は非保存的で、既存の言語を汚染してしまう「借りてはいけない議論」です。技術的には、正規化(カット除去)が部分論理式性を与え、それが保存拡大を保証します(中間が大域を支える)。そしてこのモジュラリティのおかげで、社会的分業が成立し、各人・各世代が別々に証明した部品を持ち寄れて、ローカルな知識が壊れずに世代を超えて積み上がっていきます。これが合言葉「積み上がる」の意味です。

最後に統合と総括です。ミルナーの「型のついたプログラムは間違えない(well-typed programs don't go wrong)」は、まさに三層ハーモニーの計算版でした。ライプニッツが夢見た「推論は計算である」は、350年後にカリー・ハワード対応として定理になりました。ただしライプニッツも知っていたように、人間にとって証明の資格を持つのは「止まる(全域的な)」計算だけです(意味の有限主義)。そして次回の頭出しとして、ふたたびLLMに戻りました。LLMは計算はしているけれども、中間の要求(全域性=止まって証明の資格ある値を返す)も、大域の要求(モジュラリティ=追加学習が保存拡大にならない、破滅的忘却)も、欠いているかもしれない。その答えは最終回で、というところで切りました。

今回のキーワード

カリー・ハワード対応, 証明はプログラム, 正規化はその実行, 反転原理, β変換, 詰まらない, 正規化, 止まる, 全域性, 次数, 部分論理式性, カット除去, 保存拡大, モジュラリティ, 社会的分業, 仮想計算機, カリーのパラドックス, 自明化, 不動点コンビネータ, 縮約, 一般再帰fix, 強正規化, 弱正規化, 意味の有限主義, ハルシネーション

配布した参考資料(有限型の正規化可能性の証明)

「なぜ有限型の証明は必ず止まるのか」を、証明そのものとして二種類配布しました。どちらも→断片で、証明の各ステップが「証明の正規化」のどこに当たるかをカリー・ハワードで一対一に対応づけています。

  • 強正規化を「可約性」で読む(Taitの方法):型ごとに「良い(正規化する)項」の集まりを命題の複雑さに関する帰納で構成し、すべての項がそれに入ることを示します。単純型が整礎に並ぶ(帰納的に構成される)ことが、この構成を回す土台です。
  • 弱正規化を「次数」で読む:型の次数が停止の測度そのものになる版です。一番高い峰から遠回りを消すと、次数の(最大値・本数)が必ず減って正規形に至ります。第9回のヒドラゲームが、縮約のないアフィン論理でこれを目に見える形で示したものです。

興味のある人は、授業本編の「なぜ止まるのか」の厳密版として読んでみてください。

宿題

  • 問1(中間):遠回りを一つ含む証明を描き、β簡約すると峰の命題 A→B が消えて次数が下がることを確かめよ。
  • 問2(大域):tonk 規則(A ⊢ A tonk B / A tonk B ⊢ B)を足すと、任意の A ⊢ B が導けること(=保存拡大が壊れること)を証明図で示せ。
  • エクストラ問(任意):否定を ¬A ≔ A→⊥ の略記として足すのは「良い定義(保存拡大)」か。論じよ。ヒント:⊥ を含まない古い定理が、¬ を足したことで新しく増えるか。

提出方法・期限はKULMSの指示に従ってください。