計算可能関数の論理(LCF)は、1970年代初頭にスタンフォード大学とエジンバラ大学のロビン・ミルナーと共同研究者によって開発された対話型の自動定理証明器であり、以前にダナ・スコットによって提案された計算可能関数の論理の理論的基礎に基づいています。LCF システムの作業では、汎用プログラミング言語MLが導入され、ユーザーが定理証明戦術を記述できるようになり、代数データ型、パラメトリック多態性、抽象データ型、例外がサポートされました。
基本的な考え方
システム内の定理は、特別な「定理」抽象データ型の用語です。ML の抽象データ型の一般的なメカニズムにより、定理は、定理抽象型の操作によって指定された推論規則のみを使用して導出されます。ユーザーは、定理を計算するために任意の複雑な ML プログラムを作成できます。定理の有効性は、そのようなプログラムの複雑さに依存せず、抽象データ型の実装の健全性と ML コンパイラの正確さによって決まります。
利点
LCF アプローチは、明示的な証明証明書を生成するシステムと同様の信頼性を提供しますが、証明オブジェクトをメモリに格納する必要はありません。Theorem データ型は、システムの実行時の構成に応じて、証明オブジェクトをオプションで格納するように簡単に実装できるため、基本的な証明生成アプローチを一般化します。定理の開発に汎用プログラミング言語を使用するという設計上の決定は、記述されたプログラムの複雑さに応じて、同じ言語を使用して段階的な証明、決定手順、または定理証明器を記述できることを意味します。
デメリット
信頼できるコンピューティングベース
基礎となるMLコンパイラの実装は、信頼できるコンピューティングベースに追加されます。CakeML [1]の作業により、正式に検証されたMLコンパイラが生まれ、これらの懸念の一部が軽減されました。
証明手続きの効率性と複雑さ
定理証明は、その正しさが広範囲に分析されている決定手順と定理証明アルゴリズムから恩恵を受けることが多い。LCFアプローチでこれらの手順を実装する簡単な方法は、結果を直接計算するのではなく、システムの公理、補題、推論規則から常に結果を導き出す手順を必要とする。より効率的な可能性のあるアプローチは、式を操作する関数が常に正しい結果を返すことを証明するためにリフレクションを使用することである。[2]
影響
その後の実装には Cambridge LCF があります。その後のシステムでは、ロジックを簡略化して部分関数ではなく全体関数を使用するようになり、HOL、HOL Light、さまざまなロジックをサポートするIsabelle 証明支援システムが生まれました。2019 年現在、Isabelle 証明支援システムには LCF ロジックの実装である Isabelle/LCF がまだ含まれています。
注記
- ^ 「CakeML」 。 2019年11月2日閲覧。
- ^ Boyer, Robert S; Moore, J Strother. メタ関数: 正しいことを証明し、新しい証明手順として効率的に使用する(PDF) (レポート). 技術レポート CSL-108、SRI プロジェクト 8527/4079。pp. 1–111。2019年 11 月 2 日時点のオリジナルからアーカイブ(PDF) 。2019年11 月 2 日に閲覧。
参考文献
- ゴードン、マイケル J. ; ミルナー、アーサー J.; ワズワース、クリストファー P. (1979)。エディンバラLCF : 計算の機械化されたロジック。コンピュータサイエンスの講義ノート。第 78 巻。ベルリン ハイデルベルク: シュプリンガー。doi : 10.1007/3-540-09724-4。ISBN 978-3-540-09724-2. S2CID 21159098。
- ゴードン、マイケル JC (2000)。「LCF から HOL へ: 短い歴史」。証明、言語、およびインタラクション。マサチューセッツ州ケンブリッジ: MIT プレス。pp. 169–185。ISBN 0-262-16188-5. 2007年10月11日閲覧。
- ロックス、ジャックス。カート・シーバー (1987)。プログラム検証の基礎(第 2 版)。 Vieweg+Teubner Verlag。土井:10.1007/978-3-322-96753-4。ISBN 978-3-322-96754-1。
- ミルナー、ロビン(1972 年 5 月)。計算可能関数のロジック: マシン実装の説明(PDF)。スタンフォード大学。
- ミルナー、ロビン(1979)。「Lcf: 機械で証明を行う方法」。ベチヴァール、イジー (編)。コンピュータサイエンスの数学的基礎 1979。コンピュータサイエンスの講義ノート。第 74 巻。ベルリン ハイデルベルク:シュプリンガー。pp. 146–159。doi : 10.1007 /3-540-09526-8_11。ISBN 978-3-540-09526-2。
