読んでウダイ・レディの 答えをするSMLでファンクタとカテゴリの理論との関係とは?Uday州
カテゴリー理論は、高階関数の扱い方をまだ知らない。いつか、そうなるでしょう。
カテゴリー理論は数学の基礎として役立つと思ったので、数学と高階関数のすべてを導き出すことができるはずです。
それでは、カテゴリ理論が意味することは、高階関数の扱い方をまだ知らないということですか?カテゴリー理論を数学の基礎として考えることは有効ですか?
読んでウダイ・レディの 答えをするSMLでファンクタとカテゴリの理論との関係とは?Uday州
カテゴリー理論は、高階関数の扱い方をまだ知らない。いつか、そうなるでしょう。
カテゴリー理論は数学の基礎として役立つと思ったので、数学と高階関数のすべてを導き出すことができるはずです。
それでは、カテゴリ理論が意味することは、高階関数の扱い方をまだ知らないということですか?カテゴリー理論を数学の基礎として考えることは有効ですか?
回答:
高階関数の問題は簡単に述べることができます。
ような型コンストラクターはファンクターではありません。あるべきだった。
以下のような多形性関数自然な変換ではありません。あるべきだった。
あなたが読んでいる場合EilenbergとMacLaneのオリジナル圏論紙、(PDF)直感彼ら存在カバー、これらの例を。しかし、彼らの理論はそうではありません。彼らは1945年には素晴らしい論文でした!しかし、今日はもっと必要です。
これらの問題に対するカテゴリー理論家の反応は少し困惑しています。これらは、高次の操作がコンピューターサイエンスのアイデアを形成するかのように機能します。それらは数学には何の影響もありません。そうだとすると、数学の基礎はコンピューターサイエンスの基礎としては十分ではありません。
しかし、私はそれを真剣に信じていません。高次関数は数学にとっても非常に重要だと思います。しかし、それらは真剣に調査されていません。いつか、それらが探求され、カテゴリー理論の限界が実現されることを期待しています。
[この2番目の答えは、高次関数を適切に処理する「Category Theory 2.0」がどのように見えるかの概要を示しています。
私たちは、高階関数を推論する方法を長い間知っていました。
代数構造に高次の演算がある場合、準同型は機能しません。代わりに論理関係を使用する必要があります。言い換えれば、「機能を保持する構造」から「関係を保持する構造」に移行する必要があります。
高次型の「均一」または「同時に与えられた」変換について話すと、自然性は機能しません。代わりにリレーショナルパラメトリックを使用する必要があります。言い換えれば、「すべての射を保存する家族」から「すべての論理関係を保存する家族」に移行する必要があります。
これらの問題の簡単な紹介は、Peter O'HearnのDomains and Denotational Semanticsの 「Relational Parametricity」に関するセクションにあります:歴史、成果、未解決問題(CiteSeerX)。
「Category Theory 2.0」を構築する最初の試みは、O'Hearn and Tennentのパラメトリックとローカル変数 (CiteSeerX)にあります。
ブライアンダンフィーの博士論文:再帰グラフの均一性の概念としてのパラメトリック性 (CiteSeerX)は、フレームワークに基づいて構築され、パラメトリック性の結果を得るために必要な関係構造を公理化します。すべての問題の概要を把握するために、ダンフィーの論文をお勧めします。
完全を期すために、Claudio Hermidaの博士論文:Fibrations、Logical Predicates and Indeterminates (PDF)についても言及する必要があります。
また、状態についての推論は、高階関数が顕著に現れる場所であると付け加えます。オートマトンの理論家は、オートマタの製品とカバーの問題と呼ばれる歴史的な論文で、準同型が正しく機能しないことを初めて認識しました。彼らは、「弱い準同型」や「関係をカバーする」などの用語を使用して、論理関係を示しました。やがて、「シミュレーション」や「バイシミュレーション」などの用語がそれらを参照するために使用されました。Davide Sangiorgiの調査記事:Bisimulation and Coinductionの起源については、この初期の歴史などすべてをカバーしています。
リレーショナル推論の必要性は、状態、特に命令型プログラミングに関する推論で繰り返し現れます。謙虚な「セミコロン」が高次の操作であることに気づく人はほとんどいません。そのため、高階関数の処理方法を知らない限り、命令型プログラムについて考えることはできません。私たちは、数学にはすべての答えがあるという誤った信念の中で、状態と命令型プログラミングの問題を無視し続けます。したがって、数学者が状態を理解していない場合、それは良くないはずです!真実と違うことがあってはならない。状態はコンピューターサイエンスの中心です。私たちは、国家に対処する方法を人々に示すことにより、一般的に科学を進歩させます!