我对Isabelle相对较新,我对Isabelle附带的thy
文件的组织感到困惑。
为什么某些文件与~~src/HOL
中的同一知识体系相关,而其他文件则在~~src/HOL/<theoryname>
中?
E.g。为什么GCD位于~~src/HOL
而不是~~src/HOL/Number_Theory
?
类似的问题:ex
文件夹与Isar_Examples
中的~~src/HOL
文件夹有什么区别?合并它们会更自然吗?
此外,来自document
的{{1}}文件夹是什么?
答案 0 :(得分:0)
Isabelle将近30岁,并且在那段时间发生了很大的变化。例如,GCD.thy
文件是在12年前创建的,只提供常量gcd :: nat ⇒ nat ⇒ nat
。那时候,我认为Number_Theory
目录甚至不存在。事实上,HOL/Number_Theory
现在也是一种误称:在过去的几年里,我与Florian Haftmann一起重组了大部分内容,现在像GCD和素数这样的东西不仅定义在数字上,而且定义在任何阶乘环上。更好的分类是HOL/Algebra
,但这已经被另一种形式化所采用,这种形式化与我们所做的有着截然不同(更抽象)的风格。
所以,你看,发行的大部分组织都是历史性的意外事故。偶尔,人们会对事物进行概括/清理/重新组织,但有时会出现奇怪的理论。
仅提几个子目录:
HOL/Number_Theory
HOL/Algebra
。HOL/Analysis
。 HOL/Probability
HOL/Library
HOL/Decision_Procs
包含一些特殊属性类的决策程序(例如近似实函数,线性实数算术),它们基本上是“按下按钮来证明定理”。HOL/Word
包含有限大小整数(即固定位长)的事实HOL/ex
包含所有类型的内容。我认为这个目录是在AFP存在之前放置各种小型,更专业的开发项目的地方。 Isar_Examples
,我认为,基本上是Makarius Wenzel的一系列理论,用于演示结构化证明语言Isar的功能,即如何编写结构良好的Isar样张的典型模式和案例研究。ROOT
文件指定 sessions ,它们是要“捆绑”的理论集合。例如,HOL
图像是Isabelle在启动时默认加载的图像,因此在重新处理所有基本理论之前,您不必等待几分钟。如果你是使用HOL/Analysis
中的内容,最好构建HOL-Analysis
会话图像并使用isabelle jedit -l HOL-Analysis
加载,以便您不必等待所有理论的构建每次你启动Isabelle。document
目录与ROOT
文件结合使用。它包含一些嵌入了Isabelle的LaTeX输出的LaTeX模板,从中生成了一些PDF(校样大纲和校样文档)。就个人而言,我发现这些非常有用(在我看来,直接在Isabelle / jEdit中查看代码更容易)。有关文档准备和会话的更多信息,请参阅the Isabelle systems manual。