並行プログラム検証のIrisをLeanで実装
Iris in Lean
この論文をやさしく読む
ひとことで言うと
並行プログラムの正しさを証明するIrisを、証明支援系Leanの機能を使って実装し、証明の記述と自動化を扱いやすくする研究です。
何に役立つ?
数学的な結果を多く必要とするプログラム検証で、Mathlibの定理を再利用する用途があります。要旨では確率的プログラム検証への応用を示しています。
この研究の面白いところ
単なる移植ではなく、商型で同値性の扱いを整理し、メタプログラミングで証明モードや自動化を組み直しています。
どこまで分かった?
要旨は性能改善を述べますが、具体的な速度や比較条件は示していません。Rocq版の全機能や既存のすべての証明がそのまま移行できるという主張もありません。
v1のアブストラクトに基づくAI解説。日本語訳とは別に、用途の解釈を含みます。
アブストラクトの日本語訳
並行分離論理のためのIrisフレームワークは、プログラム検証研究で広く使われてきた。普及に貢献した重要な要因の一つが、Rocqにおける高品質な機械化である。この機械化は、分離論理の資源をモデル化するために注意深く構成された代数的階層や、独自のLtacと拡張可能な型クラスを組み合わせた、埋め込み分離論理の証明用の証明モードなど、Rocqの多くの機能を高度に活用している。このライブラリは、モジュール性と保守性を重視し、数十人の貢献者によって10年以上にわたり開発されてきた。 本研究では、柔軟なメタプログラミングや商型といったLeanの機能によって、Irisの設計と利用をどのように簡略化できるかを検討する。これらの機能を使い、性能を改善したIris証明モードの新しい実装を提供し、商型によって同値性の取り扱いを簡略化し、Diaframe証明自動化の変種を構築し、Irisの不動点の自動構成などの便利な機能を提供する。Leanを基盤にすることで、広範なMathlibライブラリと統合し、数学への依存が大きいプログラム検証の課題で、そのライブラリの結果を再利用できる。確率的プログラム検証への応用によってこれを実証する。
v1の要旨から自動生成。本文の精読・人による確認は未実施。
- 初稿
- 2026-09-21(UTC)
- 最新改訂
- 2026-09-21 · v1
- 査読・掲載
- 査読状況未確認
更新履歴
- v1 2026-09-21 この版を読む
取得できた版を表示。版の更新は査読済みを意味しません。過去版の本文差分は未解析です。
原文の要旨
The Iris framework for concurrent separation logic has been widely used for program verification research. An important factor contributing to the framework's adoption is its high-quality mechanization in Rocq. This mechanization uses a number of Rocq features in sophisticated ways, including a carefully constructed algebraic hierarchy for modeling separation logic resources, and a proof mode for embedded separation logic proofs, which combines custom Ltac with extensible typeclasses. The library has been developed for over a decade with dozens of contributors, with an emphasis on modularity and maintainability. We explore how Lean features like flexible metaprogramming and quotient types can simplify the design and usage of Iris. Using these features, we provide a novel implementation of the Iris proof mode with improved performance, simplify the handling of equivalences through quotient types, build a variant of Diaframe proof automation, and provide convenience features like automatic construction of Iris fixed points. Building on Lean lets us integrate with the extensive Mathlib library, allowing us to re-use results from this library for program verification tasks that have heavy mathematical dependencies, as we demonstrate with an application to probabilistic program verification.
arXiv ID: 2609.24252 / 要約の誤りについて