カテゴリー理論が意味することは、高階関数をどのように扱うかをまだ知りませんか?


22

読んでウダイ・レディの 答えをするSMLでファンクタとカテゴリの理論との関係とは?Uday州

カテゴリー理論は、高階関数の扱い方をまだ知らない。いつか、そうなるでしょう。

カテゴリー理論は数学の基礎として役立つと思ったので、数学と高階関数のすべてを導き出すことができるはずです。

それでは、カテゴリ理論が意味することは、高階関数の扱い方をまだ知らないということですか?カテゴリー理論を数学の基礎として考えることは有効ですか?


2
この議論はcstheory.stackexchange.comに最適です。
マーティンバーガー

回答:


15

高階関数の問題は簡単に述べることができます。

  • ような型コンストラクターはファンクターではありません。あるべきだった。 T(X)=[XX]

  • 以下のような多形性関数自然な変換ではありません。あるべきだった。twiceX:T(X)T(X)=λf.ff

あなたが読んでいる場合EilenbergとMacLaneのオリジナル圏論紙(PDF)直感彼ら存在カバー、これらの例を。しかし、彼らの理論はそうではありません。彼らは1945年には素晴らしい論文でした!しかし、今日はもっと必要です。

これらの問題に対するカテゴリー理論家の反応は少し困惑しています。これらは、高次の操作がコンピューターサイエンスのアイデアを形成するかのように機能します。それらは数学には何の影響もありません。そうだとすると、数学の基礎はコンピューターサイエンスの基礎としては十分ではありません。

しかし、私はそれを真剣に信じていません。高次関数は数学にとっても非常に重要だと思います。しかし、それらは真剣に調査されていません。いつか、それらが探求され、カテゴリー理論の限界が実現されることを期待しています。


2
彼らが高次元の代数やnカテゴリー理論などを探求するときの深さを考慮して、高階関数を面白く考えないのは驚くべきことです。それに比べて、高階関数は非常に現実的です。特に、その地球にHaskellプログラムが関係している場合。
デイブクラーク

5
@DaveClarke。彼らが見たいと思うのは、アイレンバーグとマクレーンが始めたような魅力的な例だと思います。すべての次元ベクトル空間は互いに同型です。だから、ベクトル空間は、独自のデュアルと同型である:A A *。ただし、これらの同型は「自然」ではありません。(彼らは、特定の基地を使用- 「表現依存」私たちの話すインチ)一方同型A A * *「自然」は、すべての拠点のために同じように動作しています。Category Theory 2.0を要求するには、同様のキラーサンプルが必要です!nAAAA
Uday Reddy

4
@DaveClarke。通常の数学で起こることは、数学者が高次のものを一次構造に非常に巧妙に還元することです。たとえば、上で与えた型は単なるモノイドであり、その乗算は1次の演算です。線形代数を思い出すと、線形変換A Bはベクトル空間に変換され、そのすべての操作は1次になります。このトリックが機能しなかった最初の場所は、オートマタ理論(コンピューターサイエンス)です。Eilenbergがさらに10年間活動的な生活を送っていた場合、彼は問題に乗り込んでいたかもしれません。T(X)AB
ウダイレディ

1
+1これは本当に面白いです。これらの問題をさらに議論する参考文献を知っていますか?
カベ

3
λππ

9

[この2番目の答えは、高次関数を適切に処理する「Category Theory 2.0」がどのように見えるかの概要を示しています。

私たちは、高階関数を推論する方法を長い間知っていました。

  • 代数構造に高次の演算がある場合、準同型は機能しません。代わりに論理関係を使用する必要があります。言い換えれば、「機能を保持する構造」から「関係を保持する構造」に移行する必要があります。

  • 高次型の「均一」または「同時に与えられた」変換について話すと、自然性は機能しません。代わりにリレーショナルパラメトリックを使用する必要があります。言い換えれば、「すべての射を保存する家族」から「すべての論理関係を保存する家族」に移行する必要があります。

これらの問題の簡単な紹介は、Peter O'HearnのDomains and Denotational Semanticsの 「Relational Parametricity」に関するセクションにあります:歴史、成果、未解決問題(CiteSeerX)

また、状態についての推論は、高階関数が顕著に現れる場所であると付け加えます。オートマトンの理論家は、オートマタの製品とカバーの問題と呼ばれる歴史的な論文で、準同型が正しく機能しないことを初めて認識しました。彼らは、「弱い準同型」や「関係をカバーする」などの用語を使用して、論理関係を示しました。やがて、「シミュレーション」や「バイシミュレーション」などの用語がそれらを参照するために使用されました。Davide Sangiorgiの調査記事:Bisimulation and Coinductionの起源については、この初期の歴史などすべてをカバーしています。

リレーショナル推論の必要性は、状態、特に命令型プログラミングに関する推論で繰り返し現れます。謙虚な「セミコロン」が高次の操作であることに気づく人はほとんどいません。そのため、高階関数の処理方法を知らない限り、命令型プログラムについて考えることはできません。私たちは、数学にはすべての答えがあるという誤った信念の中で、状態と命令型プログラミングの問題を無視し続けます。したがって、数学者が状態を理解していない場合、それは良くないはずです!真実と違うことがあってはならない。状態はコンピューターサイエンスの中心です。私たちは、国家に対処する方法を人々に示すことにより、一般的に科学を進歩させます!


@GuyCoder、それは良いアイデアだと思う。ちなみに、これとその質問は、あなたがそこに投稿したい場合、理論計算機科学にとっても話題になると思います。
カベ

Udayと話し合った後、この2番目の回答については新しい質問は特に求められません。:)
ガイCoderの

国家は相対論的です。
シェルビームーアIII
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.