Curry-Howard対応の発見
【 「証明」=「計算」=「プログラム」】
p : A ∧ B である p は、Aの証明とBの証明の両方からなり、
p : A ∨ B である pは 、Aの証明 あるいは、Bの証明のどちらか
数学と計算科学の接点を振り返っています。
ゲーデル、チャーチ、チューリングの「証明可能性」は「計算可能性」に等しいという発見から40年たった1970年代、数学と計算科学の接点で注目すべき二つの動きがありました。
一つは、計算機科学の側から生まれた、具体的なプログラムの分析を通じて、計算機科学の数学的基礎づけを目指す動きです。残念ながら、この「形式手法」と呼ばれる意欲的なムーブメントは。ITの世界では広く受け入れられることなく挫折します。
もう一つは、論理学=数学の側から生まれた動きです。その代表的な成果は、「Curry-Howard対応」の発見と、それに基づくマーティン・レフの「従属型理論」の成立です。
今回のセッションでは、「Curry-Howard対応」の発見を取り上げます。
Curry-HowardのCurryは、関数型言語Haskellにその名を残しているCurry Haskell その人です。既に1934年に、Haskell Curryは、型付きラムダ計算の関数の型を示す矢印 → と、論理式“A → B” の中に出てくる含意を意味する矢印 → との間に、対応関係があることに気づいていました。
具体的には、「A → B が成り立ち、かつ、Aが成り立つなら、Bが成り立つ」という有名な「三段論法」の推論ルールと、「f が A → B という型を持ち、a がAという型を持つなら、f(a) は型 B を持つ」という型付きラムダ計算での型の計算ルールが、よく似ていることに気がついていました。
Howardは、このCurryの発見を、マーティン・レフらと共に、さらに深く考えました。
論理式 A → B が、 A → B という関数と同じ型を持つと考えられるのなら、他の論理式も、型を持つと考えることができるのでは? 例えば、論理式 A ∨ B は、型 A ∨ B を、論理式 A ∧ B は、型 A ∧ B を持つと考えることはできないか?
そして、この論理式(命題:Proposition)を型とみなすアイデアは、うまく機能するのです。こうした考えを、"Proposition as Type"と呼びます。
もう一つの飛躍は、命題が型Pを持つとしたとき、型Pの項pにあたるものが、命題Pの証明と考えることができることに気づいたことです。
命題Pとその証明 p を p : Pで表すことにしましょう。この時、
p : A ∧ B である p は、Aの証明とBの証明の両方からなり、
p : A ∨ B である pは 、Aの証明 あるいは、Bの証明のどちらか
と考えることができます。こうした考えを、"Proof as Term" と呼びます。
p : P という判断は、二つの意味で解釈できるのです。
「p が命題 P の証明である」という判断を表す p : P は、
「p は、型 P の項(要素)である」という判断を表す p : P と
見なすことが出来るし、また、逆の見方も出来るのです。
Howardの ”Propositions as Types”, “Proofs as Terms” という洞察は、あとにみるMartin-Löfの型の理論に大きな影響を与えます。こうした観点は、今日のCoq等の証明支援言語の理論的基礎になっています。
重要なことは、このCurry-Howard対応は、項の計算をプログラムと見なせば、”Proof as Program”としても解釈出来るということです。
こうして、80年前のゲーデル・チャーチ・チューリングの「証明」=「計算」という認識と合わせて、論理学者と計算機学者の一部は、「証明」=「計算」=「プログラム」という認識にたどり着きました。
大規模言語モデルに基づく「人工知能」は、数学的能力を欠いているのですが、「数学に強い、もう一つの人工知能」を作る道は、この40年前の認識に立ち返ることだと、僕は考えています。
-------------------------------------
「 Curry-Howard対応の発見 」を公開しました。
https://youtu.be/tc3h65aiHxQ?list=PLQIrJ0f9gMcMMwP2zBgMe3LbaDnKGG_zw
資料pdf
https://drive.google.com/file/d/11fcD7MzsJN3brWQGW-xCly1TDwCZy40c/view?usp=sharing
blog:「「証明」=「計算」=「プログラム」 」
https://maruyama097.blogspot.com/2023/03/curry-howard.html
まとめページ
https://www.marulabo.net/docs/aimath/
セミナーの申し込み
https://ai-math.peatix.com/
https://ai-math.peatix.com/
コメント
コメントを投稿