Skip to main content
QUICK REVIEW

[論文レビュー] Elaborating Inductive Definitions

Pierre-Évariste Dagand, Conor McBride|arXiv (Cornell University)|Oct 23, 2012
Logic, programming, and type systems参考文献 12被引用数 7
ひとこと要約

本稿では、型理論における帰納的定義の形式的精査を提示する。文法的帰納的型を厳密に正の族の内部宇宙に翻訳することで、型理論自体の中で帰納的定義を一等値として扱う。このアプローチにより、型理論の拡張なしに、軽量でユーザー定義可能な導出メカニズムを用いて、ブートストラップおよび汎用プログラミングを可能にする。

ABSTRACT

We present an elaboration of inductive definitions down to a universe of datatypes. The universe of datatypes is an internal presentation of strictly positive families within type theory. By elaborating an inductive definition -- a syntactic artifact -- to its code -- its semantics -- we obtain an internalized account of inductives inside the type theory itself: we claim that reasoning about inductive definitions could be carried in the type theory, not in the meta-theory as it is usually the case. Besides, we give a formal specification of that elaboration process. It is therefore amenable to formal reasoning too. We prove the soundness of our translation and hint at its correctness with respect to Coq's Inductive definitions. The practical benefits of this approach are numerous. For the type theorist, this is a small step toward bootstrapping, ie. implementing the inductive fragment in the type theory itself. For the programmer, this means better support for generic programming: we shall present a lightweight deriving mechanism, entirely definable by the programmer and therefore not requiring any extension to the type theory.

研究の動機と目的

  • 型理論内での帰納的定義の形式的かつ内部的な記述を提供し、メタ理論的推論に依存しないようにすること。
  • 型理論自体の中で帰納的型を一等エンティティとして実装し、ブートストラップを可能にすること。
  • 内部化された帰納的定義を通じて、軽量でユーザー定義可能な汎用プログラミングメカニズムを支援すること。
  • 文法的帰納的定義からその意味的コードへの翻訳を、形式的検証に適した方法で形式化すること。
  • Coqの帰納的定義と整合性を保つ、整合的で正しい精査プロセスを示すこと。

提案手法

  • 著者たちは、帰納的データ型の型理論的表現として、厳密に正の族の宇宙を定義する。
  • 彼らは、文法的帰納的定義をこの宇宙内のコードに翻訳する精査プロセスを形式化する。
  • 翻訳は、形式的で型理論的なメタ言語を用いて指定され、システム内での推論に適している。
  • このアプローチは、依存型と帰納的族を用いて、帰納的定義の構造を内部的に表現する。
  • 精査の整合性は、型理論的技術を用いて形式的に証明され、Coqの帰納的メカニズムとの相性についての手がかりが示されている。
  • 言語レベルの拡張なしに、ユーザー定義可能な導出メカニズムによる拡張性をサポートする。

実験結果

リサーチクエスチョン

  • RQ1型理論内で、帰納的定義を構文から意味論へ形式的に翻訳する方法は何か?
  • RQ2メタ理論的ツールに依存せずに、型理論自体の中で帰納的型を実装し、それについて推論することは可能か?
  • RQ3帰納的定義からその内部表現への精査プロセスの形式的仕様は何か?
  • RQ4このアプローチは、型システムの拡張なしにどのように汎用プログラミングを支援するか?
  • RQ5精査プロセスは整合的であり、Coqのような既存のシステムと意味論的に整合するか?

主な発見

  • 精査プロセスは形式的に整合的であり、適正に構築された帰納的定義が正しくその意味的コードに翻訳されることを保証する。
  • 厳密に正の族の内部宇宙は、帰納的型の完全で型安全な表現を提供する。
  • このアプローチにより、型理論内ですべての帰納的定義について直接推論が可能になり、外部のメタ理論への依存が減少する。
  • 言語拡張なしに、型理論内でのみ実装可能な軽量でユーザー定義可能な導出メカニズムによる汎用プログラミングが完全に可能である。
  • この形式化は、Coqの帰納的定義との正しさに関する手がかりを示しており、既存の実装と互換性があることを示唆する。
  • この方法は、型理論の帰納的断片を自身の内部からブートストラップすることを可能にする。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。