关于
什么是HOL?
HOL交互式定理证明程序是高阶逻辑的证明助手:一个可以证明定理和实现证明工具的编程环境。内置的决策过程和定理证明器可以自动建立许多简单的定理(用户可能必须自己证明硬定理!)预言机机制可以访问SMT和BDD引擎等外部程序。HOL特别适合作为实现演绎、执行和属性检查组合的平台。
其他HOL在其他地方进行了描述。
HOL是自由软件,根据修改后的(3条款)BSD许可证.
新开发人员欢迎光临。
历史
在过去30年中,HOL系统有几种广泛使用的版本:
- 剑桥大学HOL88;
- 来自卡尔加里和贝尔实验室的HOL90;
- HOL98来自剑桥、格拉斯哥和犹他州。
当前版本是HOL4,也是上述版本的后续版本。它的发展在一定程度上得到了繁荣项目。HOL4基于HOL98,融合了来自HOL灯.
鸣谢
HOL由以下地方的人开发:
我们还要感谢Sourceforge公司(用于文件下载和邮件列表)、和github(用于我们的代码库和问题跟踪器).
下载并安装
获取最新开发版本
您需要做的第一件事是从GitHub中签出HOL存储库的副本。这很容易!只有一步:
git克隆https://github.com/HOL-Theorem-Prover/HOL.git
或者,如果您愿意自己使用GitHub,您可以在那里创建我们的代码分支。这是一个很好的方式,可以让你为HOL做出自己的贡献。
克隆将下载所有当前源的完整副本,并将其安装在名为HOL公司
.现在您将拥有源代码的副本,并且应该能够按如下方式构建hol:
sml系统<tools/smart-configure.sml
箱子/建筑
(其中sml系统
是其中之一莫斯米尔
或多边形
;我们强烈建议聚乙烯/ML).
这个源代码副本的真正优点是,如果有签入更改源代码,您可以通过键入以下内容来自动修补源代码副本以反映这一点吉特拉力
在HOL目录中。此外git状态
命令将告诉您是否修改了发行版中的任何文件。
您可以通过订阅hol-checkins邮件列表.您可以通过访问list-info页面上的链接,查看档案中的列表(并查看您可能让自己加入的内容)。
要更新现有安装,您应该执行其他清理操作:
sml系统<tools/smart-configure.sml
bin/build清除全部
箱子/建筑
发布的版本
要从开发版本切换到源代码的发布版本,只需在HOL存储库副本中签出与所需版本对应的分支。
git签出kananaskis-14
或者,您可以下载源的发布版本.
HOL也可以是在Windows下安装.
教程和文档
学习有多容易?
从零开始,平均需要大约一个月的时间才能适应HOL的使用。许多人从中学习教程和指南以及来自社区.
从哪里开始?
首先应该学会与HOL4互动。对于Emacs公司用户,有11页的HOL交互指南和使用Emacs的基本证明.还有一个更完整的页面Emacs模式文档.维姆用户可能想咨询Vim插件的文档.
对于新手来说,另一个好的资源是辅导的.它为新用户提供了系统简介,以及详细的安装说明。本教程也可用用意大利语.
2019/2020年冬季,在KTH公司针对STEP组并尝试为HOL提供一些实践经验。这个课程主页和github存储库包含讲座幻灯片、家庭作业练习和相关代码。对于前一课程幻灯片(打印机友好版,LaTeX源)以及练习单可用。
初学者和高级用户有时会参考以下内容备忘单还有一种工作-盈利指南旨在对该系统进行温和而全面的描述。
还有一个常见问题解答这有助于故障排除。
深度文档
这个说明手册提供了HOL所有设施的详细说明。这不仅包括高级库,还包括HOLAPI中的一些核心ML函数。
大多数HOL用户使用在线参考页以在工作时查找文档。请注意,此页面的本地副本是在安装HOL时生成的。本页位于HOL/help/HOLindex.html
,其中HOL公司
是HOL安装的根。引用也作为PDF文档.
这个逻辑手册(也可提供用意大利语)提供了高阶逻辑的详细数学描述,因为它是在HOL中实现的。特别是,它展示了ZFC集合论中逻辑及其定义原则的模型。
社区
HOL定理证明器是一个托管在github.我们欢迎您的贡献(例如,通过代码拉入请求)和通过邮件列表和聊天室提供帮助和建议:
错误报告:请使用GitHub问题跟踪程序报告问题,并提出功能建议。
开发HOL
由于git是一个分布式版本控制系统,因此您很容易在本地提交到您的存储库副本.如果您还想将这些提交合并到正式存储库中,则需要发出所谓的“拉请求”。您首先需要将您的存储库版本推送到GitHub上(如果您在那里输入代码,您可能已经设置好了)。然后按照描述的过程进行操作此处(GitHub文档).开发人员可能希望订阅开发人员邮件列表除了hol-info公司用户列表。