足し算の意味を誰も知らない

Share

あなたは68+57の答えを知っている。125。当然だ。

でもなぜそう言い切れるのか。

あなたはこれまでの人生で、68+57という計算をしたことがあるだろうか。おそらくない。だとしたら、あなたが「+」という記号で意味していたのは、本当に足し算だったのか。

1982年、哲学者ソール・クリプケはウィトゲンシュタインの『哲学探究』を読み解くなかで、ひとつの問いを立てた。あなたが「+」で意味していたものが足し算であるという根拠は、実はどこにもない、と。

答えが125であることを保証するものは何もない。

5を返す演算

クリプケが提示した「クワス算」は、次のように定義される。

二つの数が両方とも57未満であれば、足し算とまったく同じ答えを返す。だが57以上の数がひとつでも含まれれば、答えは常に5になる。

たとえば、2+3なら5。12+31なら43。ここまでは足し算とクワス算の区別がつかない。あなたがこれまでに計算してきたすべてのケースが57未満の数同士だったとしたら、あなたの過去の計算結果は足し算ともクワス算とも完全に一致してしまう。

68+57を計算するとき、足し算なら125。クワス算なら5。あなたはどちらの規則に従っていたのか。

ここが厄介なのだけれど、過去の行動だけを見ても、それは決まらない。あなたが「+」で何を意味していたかという事実は、有限個の事例の積み重ねからは一意に確定できない。

自分のことは自分でも分からない

「自分が何を意味していたかくらい、自分で分かる」と言いたくなるだろう。内省すれば、足し算の意味がそこにあるはずだ、と。

クリプケの議論はそこにも及ぶ。内省もまた有限の事例にすぎない。あなたが「足し算を意味していた」と感じるその感覚さえ、足し算とクワス算のどちらに結びついていたのかを判別する決め手にはならない。赤を知らないし、何もわからない。で触れたメアリーの部屋が示すように、知識や経験の内側からでは決してたどり着けない領域がある。意味もまた、そうした領域のひとつなのかもしれない。

心的イメージに頼ることもできない。「+」を見て足し算のイメージが浮かぶとしても、そのイメージ自体が有限であり、どの規則を表しているかもまた不確定だ。意味を固定するための内的な事実は、探しても見つからない。

規則は宙に浮いている

この問題は足し算に限らない。

「2, 4, 6, 8の次は?」と聞かれたら10と答えたくなる。だが「2, 4, 6, 8, 11, 13, 15, 17...」という数列も、最初の4項はまったく同じだ。有限個の事例は無限個の規則と両立する。どの規則に従っているかは、事例だけからは決まらない。

ウィトゲンシュタインは『哲学探究』201節でこう書いた。「いかなる行為の仕方も規則に合致させることができる」。これが規則遵守のパラドックスと呼ばれるものだ。世界はそこで終わっているで言葉と世界の関係について考えたように、言語のあらゆる規則がこの不確定性を抱えているとしたら、私たちの言葉はいったい何の上に立っているのか。

クリプケ自身もこの帰結を「狂気じみた、耐えがたいもの」と呼んだ。だが議論そのものは退けなかった。代わりに彼が提示したのは「懐疑的解決」と呼ばれるアプローチで、意味を個人の内的事実に求めるのではなく、共同体の実践のなかに位置づけるという方向転換だった。あなたが「+」で足し算を意味しているのは、あなたの頭のなかにその意味が格納されているからではなく、周囲の人々があなたの使い方を足し算として受け入れているから、というわけだ。

しかし暗闇の中でも、あなたは明日も誰かを愛そうとするで問うたように、他者の心がそこにあるかどうかさえ確かめようのない世界で、共同体の一致にどれほどの基盤を置けるのだろうか。

同じ穴のなかの機械

この問題は人間だけのものではない。

機械学習モデルは有限のデータから「規則」を学習する。だがモデルが学んだ規則が、設計者の意図した規則と同一である保証はどこにもない。訓練データの範囲内では完璧に動作するモデルが、訓練データの外側で突然おかしな振る舞いをする。これはクワス算の構造そのものだ。

プログラミングでも同じことが起きる。すべてのテストケースが通ったとしても、バグがないとは言えない。テストケースでカバーされていない入力に対して何が起きるかは、そのテスト群からは原理的に分からない。

法律の解釈にも同じ形が現れる。条文の意味は有限の判例では確定しない。新しい事案が現れるたびに「この条文が本来意味していたこと」が争われ、終わらない議論の果てに立つということが示すように、解釈の連鎖には終わりがない。

帰納のもうひとつの顔

クリプケのクワス算は、ネルソン・グッドマンが1955年に提示した「グルーのパラドックス」と通底している。グッドマンは「グルー」という述語を作った。ある時点より前に観察されたものが緑であれば「グルー」であり、その時点以降に観察されたものが青であっても「グルー」だ。これまで観察されたエメラルドはすべて緑だが、同時にすべて「グルー」でもある。次に見つかるエメラルドが緑だという推論と、「グルー」だという推論は、過去の証拠だけからは区別できない。

グルーは述語のレベルで、クワス算は演算のレベルで、それぞれ不確定性を暴き出す。表出の形は異なるけれど、根にあるのは同じ問いだ。有限の経験から無限を語ることの脆さ。現実か、あるいはで扱った水槽の中の脳のように、私たちの足元そのものが確かなものではないかもしれないという懐疑が、ここでは言語と意味の内部で静かに作動している。

どこにもたどり着かない

意味が個人の内面にないなら、共同体にあるのか。だが共同体の一致もまた有限の事例であり、規則を基礎づけたことにはならない。クリプケの懐疑的解決は、意味の存在を救ったようでいて、意味を「事実」から「実践」にすり替えただけだとも言える。

意味という病で問うたことがここでも反復される。意味を求めれば求めるほど、意味は遠のいていく。足し算の意味すら確定できない存在が、人生の意味を語ろうとしている。

あなたは明日も68+57に125と答える。それが正しいと信じて。しかしその「正しさ」を支えているものは、突き詰めれば、何もない。意味の底は最初から抜けていた。あなたがそれに気づかずに済んでいたのは、ただ、これまで68+57を計算する機会がなかっただけのことだ。

Read more

Dependabotの対応が面倒なのでRenovateを導入する

Dependabotくんはある程度の依存関係の更新を通知してくれるが、山のようにprojectを抱えているとなんとも痒いところに手が届かない。 ということで、Renovateを使ってみる。 Build software better, togetherGitHub is where people build software. More than 150 million people use GitHub to discover, fork, and contribute to over 420 million projects.GitHub ここからGitHub Appを入れる。 あとは、指示に従ってポチポチするだけで、超かんたんだった。 感想 自動化最高。

By Sakashita Yasunobu

nodejsのバグを見つけたのでPRを投げてみた

概要 要するに、node --testで特定のバイナリを標準出力に書くと、テストランナーが固まったり、異常終了したりするバグです。 バグ自体は既知のものだったようで、修正がされていました。 test_runner: infinite loop in FileTest#drainRawBuffer when child stdout contains FF 0F followed by large size bytes · Issue #62693 · nodejs/nodeVersion v25.9.0 (also reproduced on v24.14.1 LTS, v22.21.0 LTS, v23.4.0) Platform Darwin 25.

By Sakashita Yasunobu
青空文庫のParser

青空文庫のParser

青空文庫のParserを作ってます。 GitHub - P4suta/aozora: Pure-functional Rust parser for 青空文庫記法 (Aozora Bunko notation): ルビ, 傍点, 縦中横, 外字, 返り点, indent containers, page breaks.Pure-functional Rust parser for 青空文庫記法 (Aozora Bunko notation): ルビ, 傍点, 縦中横, 外字, 返り点, indent containers, page breaks. - P4suta/aozoraGitHubP4suta Rustで作ってますが、配布物はcargoのほかにnpm/pypiでも入手できます Documentation * Playground — try it in

By Sakashita Yasunobu