[論文レビュー] Design and Implementation of the Andromeda Proof Assistant
Andromeda は LCF スタイルの証明支援系であり、型理論的推論規則を保証する最小限の信頼されるコアを用いながら、等価性のチェックなどの複雑なタスクを代数的効果とハンドラを備えたメタ言語(AML)でユーザー定義のコードに委ねる。このシステムは、決定性や強い正規化を失うものの、等価性の反映を備えた表現力豊かな型理論が、ユーザーによる拡張性を通じて実用的にサポート可能であることを示している。
Andromeda is an LCF-style proof assistant where the user builds derivable judgments by writing code in a meta-level programming language AML. The only trusted component of Andromeda is a minimalist nucleus (an implementation of the inference rules of an object-level type theory), which controls construction and decomposition of type-theoretic judgments. Since the nucleus does not perform complex tasks like equality checking beyond syntactic equality, this responsibility is delegated to the user, who implements one or more equality checking procedures in the meta-language. The AML interpreter requests witnesses of equality from user code using the mechanism of algebraic operations and handlers. Dynamic checks in the nucleus guarantee that no invalid object-level derivations can be constructed. %even if the AML code (or interpreter) is untrusted. To demonstrate the flexibility of this system structure, we implemented a nucleus consisting of dependent type theory with equality reflection. Equality reflection provides a very high level of expressiveness, as it allows the user to add new judgmental equalities, but it also destroys desirable meta-theoretic properties of type theory (such as decidability and strong normalization). The power of effects and handlers in AML is demonstrated by a standard library that provides default algorithms for equality checking, computation of normal forms, and implicit argument filling. Users can extend these new algorithms by providing local "hints" or by completely replacing these algorithms for particular developments. We demonstrate the resulting system by showing how to axiomatize and compute with natural numbers, by axiomatizing the untyped $λ$-calculus, and by implementing a simple automated system for managing a universe of types.
研究の動機と目的
- 決定的性や強い正規化といったメタ理論的性質を失うにもかかわらず、等価性の反映を備えた依存型理論のような表現力豊かな型理論をサポートする証明支援系を設計すること。
- すべての複雑な推論(等価性のチェックや正規化など)を推論エンジンのコアから分離することで、信頼されるコードベースを最小限に抑えること。
- 代数的効果とハンドラを備えた高水準のメタ言語を通じて、ユーザーが証明自動化(例:正規化、暗黙の引数の補完)を実装・上書き・拡張できることを可能にすること。
- ユーザー層のコードが、コアの動的チェックを通じて健全性を保ちつつ、複雑な型理論的演算を安全かつ柔軟に管理できることを示すこと。
提案手法
- システムは、基本的な型理論的推論規則と逆転原理のみを強制する最小限の信頼されるコアを用い、動的チェックにより健全性を保証する。
- ユーザー層の導出は、代数的演算とハンドラを備えた ML を基盤とする AML というメタ言語を介して構築される。これにより、判断の構築に対する拡張可能な制御が可能になる。
- 等価性のチェックや正規化は、判断の構築中に不一致が生じた際に呼び出される代数的演算を通じてユーザーのコードに委ねられる。
- AML のハンドラにより、ユーザーは等価性の証拠、正規形、または暗黙の引数の要求をインターセプトし、応答でき、これによりローカルまたはグローバルなアルゴリズムの上書きが可能になる。
- コアは複雑な推論を実行しない。代わりに、すべてのリクエストを動的チェックで検証し、無効な導出が構築されないことを保証する。
- AML の型システムへの変更を通じて、ユーザーが Tarski スタイルのユニバースや、さらには Type : Type でさえも含む独自のユニバース構造を定義できるように、拡張性をサポートする。
実験結果
リサーチクエスチョン
- RQ1決定的性や強い正規化といった標準的なメタ理論的性質を欠くが、表現力豊かな型理論(例:等価性の反映を備えた型理論)をサポートする証明支援系を、最小限の信頼されるコアで構築可能か?
- RQ2健全性を損なわずに、等価性のチェックや正規化をユーザー層のコードに安全に委ねることは可能か?
- RQ3メタ言語における効果とハンドラは、証明支援系におけるモジュラーで、合成可能かつ拡張可能な証明自動化をどの程度可能にするか?
- RQ4ネストされたハンドラを用いて、ユーザー定義の型チェックや正規化アルゴリズムを効果的に上書きまたは拡張できるか?
- RQ5信頼されるコアを損なわずに、柔軟なユニバース構造(例:不整合な構造や Type : Type を含む非標準的構造)をサポートできるか?
主な発見
- Andromeda システムは、決定的性や強い正規化を欠くが、等価性の反映を備えた依存型理論に基づく証明支援系を実装し、このような理論が実用的に使用可能であることを示している。
- 代数的効果とハンドラを通じて複雑な推論をユーザーのコードに委ねることで、システムは最小限の信頼されるコアを維持しながら、強力でカスタマイズ可能な証明自動化を実現している。
- コアにおける動的チェックのおかげで、ユーザーが提供する等価性チェッカーまたは正規化手順が誤りや不完全であっても、無効な導出が構築されないことが保証されている。
- 等価性のチェック、正規化、暗黙の引数の補完のためのデフォルトアルゴリズムを、ローカルヒントや完全な再実装を通じてユーザーが置き換えたり拡張したりでき、型理論的計算に対する細かく制御可能な制御が可能になっている。
- 将来的な拡張性をサポートしており、Type : Type の削除や、独自のユニバース構造の定義、さらには等価性の反映をユーザー定義可能にする機能も可能である。
- 本論文は、自然数の公理的定式化、無型ラムダ計算の管理、型のユニバースの管理が可能であることを示しており、理論の非標準的性質にもかかわらず実用的応用が可能であることを示している。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。