Coqは合成ですか、それとも分析ですか?


8

CMUのHoTTコースの講義1で、ここにあります:https ://scs.hosted.panopto.com/Panopto/Pages/Viewer.aspx?id=0945cc7f-48b7-4803-81af-e7193a3f461d

ハーパーは33:52に、合成理論と分析理論を並行して比較し、PL理論に到達したとき、Coqは分析的であり、Coqは文法で言語を証明するだけでパーサー自体は証明しないと述べた。

私はどういうわけか反対することを強く望んでいますが、なぜそれをしたいのか明確な考えがありません。Coqは非常に総合的であり、依存型理論に基づく他の証明アシスタントもそうだと思います。これらの言語はすべてプログラムをビルドするだけなので、また、たとえば型クラスを使用してCoqで公理代数を表現し、必要に応じて具体化することもできます。このパターンは特にAgdaに当てはまります。

だから私の質問は、ハーパーは正しいのですか?彼が正しい場合、私の見解のどの部分が私の誤解を引き起こしますか?

回答:


12

発言は、Coqの特定の1つの使用法、つまりプログラミング言語理論の形式化についてです。

最初に、合成分析の違いを明確にしましょう。

  • では、合成対象へのアプローチ私たちは、その基本的な性質と構造何らかの形で仮定されているものがあると言います。次に、仮定された特性と構造のみに依存してこれらのことを研究します。

  • 対象に対する分析的アプローチでは、特定のことがあることがわかります。それらについてさらに学ぶために、私たちはそれらを分解し、それらがどのように作られたかを研究し、それらを分析します。このようにして、それらの特性と構造を発見します。

これらの2つの方法でプログラミング言語をどのように勉強しますか?

総合的に、言語の構成要素(用語があり、型がある)、それらの基本構造(これらは用語を構築する方法です)、および基本プロパティを仮定します。用語とタイプが何でできているか、用語がツリーか文字列か、タイプのコレクションが特定の方法で構築されているかどうかは尋ねません。

分析的には、帰納的定義を使用して数学的オブジェクトを構築するなど、多くのことを実行できる数学的セットアップから始めます。特定の帰納的に定義されたセットまたはタイプとして用語とタイプを作成します。次に、それらの構造、変換方法などを調べます。

Coqが分析の種類であることは明らかです。Coqでプログラミング言語を実装する場合、帰納的なタイプの用語とタイプを定義します。次に、帰納法を使用してそれらを分析し、用語の構文などの再帰関数として操作セマンティクスを定義します。

一方、Twelfは合成の種類です。用語のタイプとタイプのタイプがあると仮定しますが、これらは帰納的タイプであることをTwelfに伝えませ(Twelfではそれを言う方法はありません)。基本的な移行ルールを提供することにより、運用上のセマンティクスを定義します。再帰的に定義された関数についての言及はなく(Twelfで関数を定義する方法はありません)、書き留めた仮定に依存します。

上記の状況を平面ジオメトリと比較する必要があります。ヒルベルトの幾何学へのアプローチは総合的です(しかし、彼のアイデアはユークリッドに根ざしています)、デカルトは分析的です。線は基本的な概念ではないため、分析ジオメトリはそのように呼ばれます。線は内部構造を持っています。つまり、点のセットです。


お返事ありがとうございます。私の理解を確認するために、私の次の発言が正しく整合しているかどうかを確認できますか?1.帰納的定義の使用を禁止することで、Unimathが採用しているCoqで合成アプローチを実行することはまだ可能です。2.型理論自体の研究は総合的ですが、それらに基づく研究(言語機能の自由な使用を想定)は分析的です。HoTTがプログラミング言語として実装されている場合、HITと帰納法を使用すると、効果的に分析的研究になります。
Jason Hu

Unimathは、誘導型を許可しないためではなく、それらが何で構成されているかを分析せずにホモトピー型について話すため、合成です。
Andrej Bauer

@AndrejBauer-奇妙なことに、この区別は、数学の哲学を含む哲学のそれとは正反対です。そこでは、「分析的」とは、その意味が用語とその関係のみに依存し、「合成」、外部入力(たとえば、世界の状態に関する事実の知識)を追加する必要がないステートメントを意味します。したがって、この使用法では、ユークリッドは分析的ですが、デカルトは幾何学的な概念を代数的な概念で合成する必要があります(たとえば、点はペア(x、y)で、線は方程式y = mx + b)。
ダイアゴン2018年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.