Isabelle2016和证明一般

时间:2016-02-21 20:18:25

标签: isabelle theorem-proving proof-general

我一直在努力学习使用Isabelle 2016.虽然原则上我喜欢异步证明检查的想法,但我不喜欢Isabelle / jEdit有很多原因,其中最严重的是它使用太多的记忆(对我而言)。

如果我可以使用Isabelle 2016中的旧版Proof General,那就太棒了。我将变量isa-isabelle-command设置为指向Isabelle分发目录下的文件bin/isabelle。当我使用Proof General的菜单启动Isabelle时,Emacs挂起,当我在C-g中断它时,我在*isabelle*缓冲区中得到以下内容。

 > val it = (): unit
 ^BException- ERROR "Bad socket name: \"I\"" raised

我知道这个站点上的旧帖子表明,Proof General用来与定理证明者通信的Isabelle组件被删除了。这是(仍然)Isabelle 2016的真实情况吗?如何在较新版本的Isabelle中使用Proof General?

2 个答案:

答案 0 :(得分:5)

是的,它仍然是真的;它还没有被重新引入。我不知道在2014年之后与Isabelle合作经营PG。来自Isabelle2015的NEWS

* Support for Proof General and Isar TTY loop has been discontinued.
Minor INCOMPATIBILITY, use standard PIDE infrastructure instead.

答案 1 :(得分:1)

问题应该在实际发生的地方解决。 Isabelle2016中的Prover IDE再次需要更少的资源 - 这是近年来的一个共同主题。当证明将于1998年问世时,它的确非常庞大而且很胖。相比之下,Isabelle / jEdit相当轻巧:它应该能够在只有8 GB内存的普通消费者机器上顺利运行。

您可能正在使用Linux x86_64并且未安装Isabelle installation页面上提到的 32位C / C ++标准库。省略这一点,使ML堆要求加倍,而没有任何好处。