Leanにおけるメモ化の正当性の証明:ケーススタディ

2025-06-20
Leanにおけるメモ化の正当性の証明:ケーススタディ

このブログ投稿では、Lean定理証明器を用いて動的計画法の問題をメモ化によって解き、その正当性を正式に検証する方法を示します。著者はBytelandian Gold Coins問題を取り上げ、最初にHashMapを使ったメモ化された解法を示します。データ構造の不変量に関する推論の難しさから、その正当性を直接証明することの困難さが強調されています。この解決策は、サブタイプと依存ペアを利用して`PropMap`を作成します。これは、計算された値だけでなく、その正当性の証明も格納するメモ化テーブルです。そして、アルゴリズムの正当性は、再帰的な実装自体の中で段階的に証明され、最終的には自明なトップレベルの証明に帰着します。このアプローチは、コードと証明を巧みに結びつけ、動的計画法アルゴリズムを正式に検証するための強力な手法を示しています。