Lean 4.22:命令型プログラムのための新しい検証インフラストラクチャ

2025-07-07

Lean 4.22は、命令型プログラムの性質を証明するための、エキサイティングな新機能、新しい検証インフラストラクチャを導入します。この記事では、リストの中に合計がゼロになる2つの整数があるかどうかを判断するという簡単な例を用いて、この機能の使い方を示し、DafnyやVerusといった同様のツールと比較しています。新しいフレームワークであるStd.Doは、Hoareトリプルを利用し、`mvcgen`と`grind`戦術を組み合わせることで、ループや早期リターンなど、複雑な制御フローを持つ命令型プログラムの検証プロセスを大幅に簡素化します。外部のSMTソルバーに依存する自動化されたシステムとは異なり、Leanの対話型の証明アプローチは、より高い信頼性、より簡単なデバッグ、そしてより良い保守性を提供し、現実世界のプログラム検証タスクにとって魅力的な選択肢となります。

続きを読む