<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=Isabelle</id>
	<title>Isabelle - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=Isabelle"/>
	<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=Isabelle&amp;action=history"/>
	<updated>2026-07-12T21:07:43Z</updated>
	<subtitle>在这个wiki上该页的修订历史</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://arolstar52-zhtest.hf.space/index.php?title=Isabelle&amp;diff=3366870&amp;oldid=prev</id>
		<title>imported&gt;ExultantEditor 来自 2025年12月26日 (五) 17:42</title>
		<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=Isabelle&amp;diff=3366870&amp;oldid=prev"/>
		<updated>2025-12-26T17:42:38Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Infobox software&lt;br /&gt;
| name = Isabelle&lt;br /&gt;
| logo = &lt;br /&gt;
| screenshot = Isabelle jedit.png&lt;br /&gt;
| caption = 运行在 macOS 之上的 Isabelle/jEdit&lt;br /&gt;
| collapsible = &lt;br /&gt;
| author = {{le|Lawrence Paulson}}&lt;br /&gt;
| developer = [[剑桥大学]]、[[慕尼黑工业大学]]&lt;br /&gt;
| released = 1986&amp;lt;ref&amp;gt;{{Cite journal | doi = 10.1016/0743-1066(86)90015-4| title = Natural deduction as higher-order resolution| journal = The Journal of Logic Programming| volume = 3| issue = 3| page = 237| year = 1986| last1 = Paulson | first1 = L. C. | arxiv = cs/9301104}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
| latest release version = 2022&lt;br /&gt;
| latest release date = &lt;br /&gt;
| programming language = [[Standard ML]]、[[Scala]]&lt;br /&gt;
| operating system = [[Linux]]、[[Windows]]、[[macOS]]&lt;br /&gt;
| genre = [[数学]]&lt;br /&gt;
| license = [[BSD license]]&lt;br /&gt;
| website = {{url|https://isabelle.in.tum.de/}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Isabelle&amp;#039;&amp;#039;&amp;#039; 是一个基于[[高阶逻辑]]（higher-order logic）的通用交互式定理证明器。它是一个 LCF（Logic for Computable Functions）风格的证明辅助工具，使用 [[Standard ML]] 语言实现。它拥有一个极小化的逻辑核心；这意味着使用它的证明和形式化验证具有较强的的可信度。&lt;br /&gt;
&lt;br /&gt;
Isabelle 是通用的：它提供了一套[[元逻辑]]（相当于一个较弱版本的[[类型论]]），可用于编码诸多对象逻辑，如[[一阶逻辑]]、高阶逻辑、或[[策梅洛-弗兰克尔集合论|ZF集合论]]。最常被用到的对象逻辑是 Isabelle/HOL；而其对集合论的形式化工作则使用了 Isabelle/ZF。Isabelle 的主要证明手段利用了高阶版本的[[归结原理]]（resolution），基于高阶的[[合一]]（unification）。&lt;br /&gt;
&lt;br /&gt;
尽管 Isabelle 主要采取交互式的证明方式，它同时亦提供了若干高效的自动化推理工具，例如[[重写逻辑|项重写]]引擎、tableaux 证明器、以及各种判定过程。藉由 &amp;#039;&amp;#039;sledgehammer&amp;#039;&amp;#039; 界面，它还可以调用外部的 SMT 求解器（包括 CVC4）和其他归结式定理证明器（包括 E 和 SPASS）。&lt;br /&gt;
&lt;br /&gt;
Isabelle 被用于形式化数学和计算机科学中的许多定理，诸如[[哥德尔完备性定理]]、哥德尔关于[[选择公理]]一致性的证明、[[素数定理]]、各种[[安全协议]]的正确性、[[程序语言]]语义的特性。这些定理形式化工作的维护通过形式化证明存档（Archive of Formal Proofs）进行；截至 2019 年它已包含逾 500 个条目，两百万行证明。&amp;lt;ref&amp;gt;{{cite web |last1=Eberl |first1=Manuel |last2=Klein |first2=Gerwin |last3=Nipkow |first3=Tobias |last4=Paulson |first4=Larry |last5=Thiemann |first5=René |title=Archive of Formal Proofs |url=https://www.isa-afp.org/ |accessdate=22 October 2019 |ref=AFP |archive-date=2020-12-19 |archive-url=https://web.archive.org/web/20201219093338/https://www.isa-afp.org/ |dead-url=no }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Isabelle 定理证明器是[[开源软件]]，其源码在 [[BSD license]] 下授权发布。&lt;br /&gt;
&lt;br /&gt;
“Isabelle”由其作者 Lawrence Paulson 命名；这名字取自于法国计算机科学家 {{le|Gérard Huet}} 的女儿。&amp;lt;ref&amp;gt;{{cite web|url=http://www.cl.cam.ac.uk/~mjcg/Research94/node3.html|title=1.2 History|work=Isabelle and HOL|publisher=Cambridge AR Research (The Automated Reasoning Group)|last=Gordon|first=Mike|date=1994-11-16|access-date=2016-04-28|archive-date=2017-03-05|archive-url=https://web.archive.org/web/20170305020417/http://www.cl.cam.ac.uk/~mjcg/Research94/node3.html|dead-url=no}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 示例 ==&lt;br /&gt;
Isabelle 支持两种不同风格的的证明书写方式：[[过程式编程|过程式]]和[[宣告式編程|声明式]]。&lt;br /&gt;
过程式风格的证明主要由一系列证明策略（tactics）或过程的依次运用组成；它能够较好地反映数学家思考证明的过程，但通常较难阅读，因为它无法直接体现每步推演的结果。&lt;br /&gt;
声明式风格的证明（由 Isabelle 内置的证明语言 Isar 支持）则与之相反，它以直接的方式描述了每一步确切的数学推演，因此较容易被阅读和人工检查。&lt;br /&gt;
&lt;br /&gt;
在较新版本的 Isabelle 中，过程式风格的证明已不建议再使用。形式化证明存档（Archive of Formal Proofs）亦推荐使用声明式风格来书写证明。&amp;lt;ref name=&amp;quot;afp&amp;quot;&amp;gt;{{cite web|title=Archive of Formal Proofs|url=https://www.isa-afp.org/|accessdate=2020-02-11|archive-date=2020-12-19|archive-url=https://web.archive.org/web/20201219093338/https://www.isa-afp.org/|dead-url=no}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
例如，下面是一个声明式风格的“[[2的算术平方根]]是[[无理数]]”的证明：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&lt;br /&gt;
 {{color|darkblue|theorem}} sqrt2_not_rational:&lt;br /&gt;
   {{color|olive|&amp;quot;sqrt (real 2) ∉ ℚ&amp;quot;}}&lt;br /&gt;
 {{color|darkblue|proof}}&lt;br /&gt;
   {{color|darkblue|let}} ?x = {{color|olive|&amp;quot;sqrt (real 2)&amp;quot;}}&lt;br /&gt;
   {{blue|assume}} {{color|olive|&amp;quot;?x ∈ ℚ&amp;quot;}}&lt;br /&gt;
   {{color|darkblue|then}} {{blue|obtain}} m n :: nat {{green|where}}&lt;br /&gt;
     sqrt_rat: {{color|olive|&amp;quot;¦?x¦ {{=}} real m / real n&amp;quot;}} {{green|and}} lowest_terms: {{color|olive|&amp;quot;coprime m n&amp;quot;}}&lt;br /&gt;
     {{color|darkblue|by}} (rule Rats_abs_nat_div_natE)&lt;br /&gt;
   {{color|darkblue|hence}} {{color|olive|&amp;quot;real (m^2) {{=}} ?x^2 * real (n^2)&amp;quot;}} {{color|darkblue|by}} (auto simp add: power2_eq_square)&lt;br /&gt;
   {{color|darkblue|hence}} eq: {{color|olive|&amp;quot;m^2 {{=}} 2 * n^2&amp;quot;}} {{color|darkblue|using}} of_nat_eq_iff power2_eq_square {{color|darkblue|by}} fastforce&lt;br /&gt;
   {{color|darkblue|hence}} {{color|olive|&amp;quot;2 dvd m^2&amp;quot;}} {{color|darkblue|by}} simp&lt;br /&gt;
   {{color|darkblue|hence}} {{color|olive|&amp;quot;2 dvd m&amp;quot;}} {{color|darkblue|by}} simp&lt;br /&gt;
   {{color|darkblue|have}} {{color|olive|&amp;quot;2 dvd n&amp;quot;}} {{color|darkblue|proof}} -&lt;br /&gt;
     {{color|darkblue|from}} {{color|olive|‹2 dvd m›}} {{blue|obtain}} k {{green|where}} {{color|olive|&amp;quot;m {{=}} 2 * k&amp;quot;}} ..&lt;br /&gt;
     {{color|darkblue|with}} eq {{color|darkblue|have}} {{color|olive|&amp;quot;2 * n^2 {{=}} 2^2 * k^2&amp;quot;}} {{color|darkblue|by}} simp&lt;br /&gt;
     {{color|darkblue|hence}} {{color|olive|&amp;quot;2 dvd n^2&amp;quot;}} {{color|darkblue|by}} simp&lt;br /&gt;
     {{blue|thus}} {{color|olive|&amp;quot;2 dvd n&amp;quot;}} {{color|darkblue|by}} simp&lt;br /&gt;
   {{color|darkblue|qed}}&lt;br /&gt;
   {{color|darkblue|with}} {{color|olive|‹2 dvd m›}} {{color|darkblue|have}} {{color|olive|&amp;quot;2 dvd gcd m n&amp;quot;}} {{color|darkblue|by}} (rule gcd_greatest)&lt;br /&gt;
   {{color|darkblue|with}} lowest_terms {{color|darkblue|have}} {{color|olive|&amp;quot;2 dvd 1&amp;quot;}} {{color|darkblue|by}} simp&lt;br /&gt;
   {{blue|thus}} False {{color|darkblue|using}} odd_one {{color|darkblue|by}} blast&lt;br /&gt;
 {{color|darkblue|qed}}&lt;br /&gt;
&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 应用 ==&lt;br /&gt;
除数学证明以外，Isabelle 亦被广泛应用于计算机软件及硬件的[[形式化验证]]：&lt;br /&gt;
* 2009年，澳大利亚 [[NICTA]] 的 L4 团队开发了史上首个功能正确性得以形式化验证的通用[[操作系统]]内核：[[seL4]] [[微内核]]。其证明使用 Isabelle/HOL 构建，包含了 200000 行证明脚本，用以验证 7500 行 C 代码。该形式化验证涵盖了代码、设计与实现，其主定理指出：该内核的 C 代码正确地实现了其形式化设计规范。&lt;br /&gt;
* 程序语言 Lightweight Java 类型安全的形式化证明使用了 Isabelle。&amp;lt;ref&amp;gt;{{Cite web |url=http://afp.sourceforge.net/entries/LightweightJava.shtml |title=afp.sourceforge.net |accessdate=2020-02-11 |archive-date=2016-03-19 |archive-url=https://web.archive.org/web/20160319084033/http://afp.sourceforge.net/entries/LightweightJava.shtml |dead-url=no }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Isabelle 的网站上有一个使用 Isabelle 的研究项目列表&amp;lt;ref&amp;gt;[https://isabelle.in.tum.de/community/Projects 使用 Isabelle 的研究项目列表] {{Wayback|url=https://isabelle.in.tum.de/community/Projects |date=20200412222424 }}&amp;lt;/ref&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
== 参考文献 ==&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
== 拓展阅读 ==&lt;br /&gt;
{{Refbegin}}&lt;br /&gt;
* [[Lawrence Paulson|Lawrence C. Paulson]]. &amp;quot;The foundation of a generic theorem prover&amp;quot;. &amp;#039;&amp;#039;Journal of Automated Reasoning&amp;#039;&amp;#039;, Volume 5, Issue 3 (September 1989), pages: 363–397, {{issn|0168-7433}}.&lt;br /&gt;
* Lawrence C. Paulson: &amp;#039;&amp;#039;The Isabelle Reference Manual&amp;#039;&amp;#039;.&lt;br /&gt;
* M. A. Ozols, K. A. Eastaughffe, and A. Cant. &amp;quot;DOVE: Design Oriented Verification and Evaluation&amp;quot;. &amp;#039;&amp;#039;Proceedings of AMAST 97&amp;#039;&amp;#039;, M. Johnson, editor, Sydney, Australia. Lecture Notes in Computer Science (LNCS) Vol. 1349, Springer Verlag, 1997.&lt;br /&gt;
* [[Tobias Nipkow]], Lawrence C. Paulson, Markus Wenzel: &amp;#039;&amp;#039;Isabelle/HOL – A Proof Assistant for Higher-Order Logic&amp;#039;&amp;#039;.&lt;br /&gt;
{{Refend}}&lt;br /&gt;
&lt;br /&gt;
== 外部链接 ==&lt;br /&gt;
* [https://isabelle.in.tum.de/ Isabelle 的官方网站] {{Wayback|url=https://isabelle.in.tum.de/ |date=20201130061048 }}&lt;br /&gt;
* [https://www.isa-afp.org/ 形式化证明存档（The Archive of Formal Proofs）] {{Wayback|url=https://www.isa-afp.org/ |date=20201219093338 }}&lt;br /&gt;
* [https://savannah.nongnu.org/projects/isarmathlib IsarMathLib] {{Wayback|url=https://savannah.nongnu.org/projects/isarmathlib |date=20200808013138 }}&lt;br /&gt;
&lt;br /&gt;
[[Category:定理证明器]]&lt;br /&gt;
[[Category:函数式编程语言]]&lt;/div&gt;</summary>
		<author><name>imported&gt;ExultantEditor</name></author>
	</entry>
</feed>