| イザベル | |
|---|---|
macOSで動作するIsabelle–jEdit | |
| 原作者 | ローレンス・ポールソン |
| 開発者 | ケンブリッジ大学、ミュンヘン工科大学、その他 |
| 初回リリース | 1986年[ 1 ] (1986年) |
| 安定版リリース | Isabelle2025 / 2025年3月 (2025年3月) |
| 書かれた | 標準ML、Scala |
| オペレーティング·システム | Linux、Windows、macOS |
| タイプ | 数学 |
| ライセンス | BSD |
| Webサイト | イザベル |
Isabelle [ a ]自動定理証明器は、 Standard MLとScalaで記述された高階論理 (HOL) 定理証明器です。計算可能関数のための論理(LCF) スタイルの定理証明器として、明示的な証明オブジェクトを必要とせずに証明の信頼性を高めるために、小さな論理コア (カーネル) を基盤としています。
Isabelleは、論理的に安全な拡張を可能にする柔軟なシステムフレームワーク内で利用可能であり、コード生成、ドキュメント作成、そして様々な形式手法の具体的なサポートのための理論と実装の両方を備えています。形式手法のための統合開発環境(IDE)と見なすことができます。近年、相当数の理論とシステム拡張がIsabelle Archive of Formal Proofs(Isabelle AFP)に収集されています。[ 2 ]
イザベルはジェラール・ユエの娘にちなんでローレンス・ポールソンによって名付けられました。 [ 3 ]
Isabelle 定理証明器は、改訂BSD ライセンスに基づいてリリースされたフリー ソフトウェアです。
Isabelleは汎用的です。Isabelleはメタ論理(弱い型理論)を提供し、これは一階述語論理(FOL)、高階述語論理(HOL)、あるいはツェルメロ・フランケル集合論(ZFC)といったオブジェクト論理を符号化するために使用されます。最も広く使われているオブジェクト論理はIsabelle/HOLですが、集合論の重要な発展はIsabelle/ZFで達成されました。Isabelleの主な証明法は、高階統一に基づくレゾリューションの高階版です。
Isabelle は対話型でありながら、項書き換えエンジンやタブロー証明器、さまざまな決定手順などの効率的な自動推論ツール、およびSledgehammer証明自動化インターフェースを介した外部充足可能性法理論(SMT) ソルバー ( CVC4を含む) 、およびE、SPASS、Vampireなどの解決ベースの自動定理証明器(ATP) ( Metis [ b ]証明方法は、これらの ATP によって生成された解決証明を再構築します) を備えています。[ 4 ]また、2 つのモデル検索器 (反例生成器)、Nitpick [ 5 ]とNunchaku [ 6 ]も備えています。
Isabelle は、大規模な証明を構造化するモジュールであるロケールを備えています。ロケールは、型、定数、および仮定を特定のスコープ[ 5 ]内で固定するため、すべての補題でそれらを繰り返す必要がなくなります。
Isar(「理解可能な半自動推論」)は、Isabelleの形式証明言語です。Mizarシステムに着想を得ています。[ 5 ]
Isabelleでは、手続き型と宣言型の2つの異なるスタイルで証明を記述できます。手続き型証明では、適用すべき一連の戦術(定理証明関数/手順)を指定します。これは人間の数学者が結果を証明する際に適用する手順を反映していますが、これらの手順の結果が記述されていないため、一般的に読みにくいです。このスタイルはIsabelleのドキュメントで「有害であると見なされている」とされています。[ 7 ]
一方、宣言的証明 (Isabelle の証明言語 Isar でサポート) は、実行される実際の数学演算を指定するため、人間が読みやすく、確認しやすくなります。
たとえば、2 の平方根が有理数ではないという Isar の背理法による宣言的証明は次のように書くことができます。
定理sqrt2_not_rational: "sqrt 2 ∉ ℚ"証明? x = "sqrt 2"と仮定"?x ∈ ℚ"とすると、 mn :: natが得られます。ここで、 sqrt_rat: "¦?x¦ = m / n"かつlowest_terms: "coprime m n" (rule Rats_abs_nat_div_natE) により、したがって"m^2 = ?x^2 * n^2" (auto simp add: power2_eq_square) により、したがってeq: "m^2 = 2 * n^2" (of_nat_eq_iff power2_eq_squareを使用) により、 fastforce により、したがって"2 dvd m^2" ( simp により、したがって"2 dvd m" ( simp により、"2 dvd n"が得られます。証明- ‹2 dvd m›から、 kが得られます。ここで"m = 2 * k"です。eq はsimp により"2 * n^2 = 2^2 * k^2"となり、したがってsimp により"2 dvd n^2"となり、したがってsimp により"2 dvd n"となり、 ‹2 dvd m›でqed され、 (rule gcd_greatest) により"2 dvd gcd m n"となり、 lowest_termsによりsimp により"2 dvd 1"となり、したがってodd_oneを使用するとblast によりqed され、 False となる
Isabelle は、ソフトウェアおよびハードウェア システムの仕様、開発、検証のための形式手法を支援するために使用されてきました。
Isabelleは、ゲーデルの完全性定理、選択公理の一貫性に関するゲーデルの定理、素数定理、セキュリティプロトコルの正しさ、プログラミング言語の意味論の特性など、数学やコンピュータサイエンスにおける数多くの定理を形式化するために使用されてきました。前述のように、形式的証明の多くはArchive of Formal Proofsに保管されており、2019年時点で少なくとも500件の記事と合計200万行を超える証明が含まれています。[ 8 ]
いくつかの言語とシステムが同様の機能を提供しています。