型理論を理解したいのですが、まずどのようにそれを適用できるかを知る必要があります。プログラミングにおける型システムのほかに、型理論の自明ではないアプリケーションがもっとあるだろうか?他のアプリケーションがあるかもしれません、性格プロファイリングなどで言ってみましょうか?
型理論を理解したいのですが、まずどのようにそれを適用できるかを知る必要があります。プログラミングにおける型システムのほかに、型理論の自明ではないアプリケーションがもっとあるだろうか?他のアプリケーションがあるかもしれません、性格プロファイリングなどで言ってみましょうか?
回答:
インタラクティブなストーリーテリングに型理論を使用するChris Martensの博士研究の結果であるCeptreの研究に興味があるかもしれません。以下は、論文の要約です。
インタラクティブなストーリーテリングは、深い計算のアイデアと人類の物語と遊びの豊かな歴史を結び付け、構築するツールと言語に重要なコンテキストを提供します。同時に、正式な仕様言語は、プログラミング言語と複雑な演繹システムの分析のために通常確保されている表現と推論の手法のパレットを提供します。この論文は、インタラクティブなストーリーテリングドメインの問題を正式な仕様のソリューションに関連付けます。
具体的には、構造的な観点からナラティブを検討し、代替のナラティブパスが同時に相互作用するタイムラインを補完する役割を果たすことを観察します。線形論理は、この構造を調査するために必要な表現ツールを提供し、対応を証明と証明構築に拡張することにより、一連の計算の可能性を見つけます。これらの可能性を実現するための3つの取り組みを紹介します。(1)ナラティブを生成するための線形論理プログラミングの使用。(2)インタラクティブな物語、ゲーム、シミュレーションを作成するための新しいプログラミング言語。(3)デザインレベルのプログラムプロパティを記述および証明するための手法。
論理的セマンティクスへの最小限の拡張で強化された線形論理プログラミングにより、幅広いプログラミングイディオムとドメインエンコーディングが可能になることがわかりました。証拠として、社会シミュレーション、戦闘ベースのアドベンチャーゲーム、ボードゲームなど、5つのケーススタディを提供します。設計の正しさに関する推論をサポートするために、プログラムの不変条件を記述および証明するための手法と、それらの不変条件を言語の大部分について自動的にチェックする決定可能性の証明を提示します。
これらの調査結果は、線形論理がインタラクティブな世界のモデリングと実行の基礎として機能する実りある表現言語であることを示しており、創造的システムの証明理論的方法論の使用に関する将来の調査を招いています。
言語学では型理論の興味深い使用法があります。たとえば、Chung- chieh ShanやChristianRétoréの言語学的作品をご覧ください。
以下は、カテゴリー文法に関するレトレの本の説明です。
この本は、ランベックの仕事によって開始された論理的伝統におけるカテゴリー文法の現代的で包括的な紹介です。これは、フィールドの基本的な結果を通じて学生と研究者を導き、多くの古典的な定理の現代的な証明と元の最近の進歩を提供します。数多くの例と演習が、言語的、計算的、論理的な観点から、これらの結果の動機と応用を示しています。Lambek微積分とその変種、および対応する文法は、これらの講義ノートの中心にあります。これらのカテゴリー文法の主要な機能である章は、非常に洗練された構文セマンティックインターフェイスです。さらに、Grailパーサーで例示されているように、効率的な解析アルゴリズムを提供するため、これらの計算に線形論理証明ネットを適合させます。
次の引用は、Shanの言語的副作用の本の章の紹介にあります。
このペーパーでは、自然言語の見かけ上の非合成性の事例をプログラミング言語の事例に関連付けます。それは砂時計のような形をしています。まず、§1から、構成意味論の構築に役立つ構文と意味のインターフェースへのアプローチから始めます。そのアプローチは、プログラミング言語での計算上の副作用と、自然言語での言語的な副作用のアナロジーによって私が呼ぶものとの間のアナロジーを描くことです。
この接続は、言語学者だけでなくコンピュータサイエンティストにも役立ちますが、ここでは技術移転の後者の方向に焦点を当てます。継続は、計算上の副作用の処理に役立ちました。§2では、セマンティクスの継続のための新しいメタ言語を紹介します。
私が紹介するメタ言語は、プログラミング言語と自然言語の両方を分析するのに役立ちます。直感的には、§3の最初の使用について調査し、§4でこの処理の利点を指摘します。
§5で自然言語に目を向けて、私はこの見方がクリス・バーカーにどのように役立ったかを詳しく説明し、バインディングとクロスオーバー、およびwh質問と優位性を研究します。私はまた、継続を使用して、特に北京語で数量詞とwh-indefiniteスコープを研究しましたが、§6では、これらのさらなる展開をスケッチする余地しかありません。
以下のためカリー・ハワード対応、タイプがタイプとして命題と命題として解釈することができます。
この結果として、型理論は、証明に形式的論理を使用する文字通りあらゆる分野に適用できます。これには、回路検証、実際の分析、シンボリックロジック、ジオメトリなどがあります。
たとえば、一部の自動化された校正チェックツールは、この原則を使用して機能します。これらのツールは、一部の型システムで特定の用語を型チェックすることにより、校正の有効性をチェックします。LFプルーフチェッカーは、HOL Lightと同様に、このアプローチに基づいています。アプリケーションの例として、証明運搬コードはLFを使用して、信頼できないコードのメモリ安全性の証明をチェックしました。この種の証明チェッカーを使用する利点は、実装が非常に簡単になるため、実装が正しいことを高い保証を得られることです。たとえば、次の論文を参照してください。
小さな証人とファンデーションプルーフチェッカー。Dinghao Wu、Andrew W. Appel、Aaron Stump。PPDP 2003。
依存型のアプリケーションを説明する興味深い記事は、 The Pi of the Powerです。これは、Agdaを使用して興味深い問題を解決する方法を示しています。
別の良い例は、リソース制御への依存型の使用です。良い例は、Edris of Idrisのファイル管理APIです。たとえば、ファイルから行を読み取る関数には次のタイプがあります
readLine : { [FILE_IO (OpenFile Read)] } Eff String
この関数は、ファイルが開かれている場合にのみ適用できることを指定しています。中括弧内のリストは、使用可能な効果を示しています。この場合、この関数にはファイルを読み取り用に開く効果が必要です。
エフェクトライブラリの詳細については、こちらをご覧ください。
以下に報告されたように、1つの以上のアプリケーションを同時実行のための依存型の使用である記事イドリスの作成者。
jmiteの回答で述べたように、回路/ハードウェア/電子機器検証における高次論理/タイプ理論は数十年前から存在しており、今では非常に日常的であり、まだ活発な研究分野ではありますが、1990年代まで。Coqとそのタイプロジックは、特に低レベルゲートロジックからはるかに高いレベル/オーダー構造/サブシステムに至るまで、回路/ハードウェア/電子機器の検証に多く適用されています。ここにいくつかの重要な参照があります
高次ロジックとハードウェア検証 / Melham(1993!)
高次論理定理証明とその応用 /クレソン、ゴードン
正しい回路の構築:依存型によるハードウェア仕様の機能的側面の検証 / Brady、Mckinna、Hammond
Coquet:ハードウェア / Braibant を検証するためのCoqライブラリ