如何生成Isabelle理论的html版本

时间:2013-07-24 12:06:22

标签: isabelle theorem-proving

我有一个名为John.thy的Isabelle理论文件。我想把它展示给我的朋友,但我的朋友没有Isabelle,原始的.thy文件不是很容易阅读。我在Isabelle库中看到过一些网页(就像这个:http://isabelle.in.tum.de/library/HOL/Finite_Set.html),它们具有相当的语法高亮,我希望我的理论看起来像那样。

那么如何制作John.html?我查看了文档,它看起来相当可怕和困难,所有构建文件和make文件之类的东西。某种灵魂能解释最简单的方法吗?

1 个答案:

答案 0 :(得分:3)

首先回答您的问题(另请参阅Isabelle System Manual,第3.2节 - 系统构建选项):

要为John.thy生成HTML,请在与ROOT相同的目录中创建名为John.thy的文件,其中包含以下内容

session John = "HOL" +
  theories
    John

然后,停留在同一目录中,调用

isabelle build -d . -o browser_info -v John

,其中

  • -d .指定应搜索当前目录的会话(在ROOT文件中指定)
  • -o browser_info是生成HTML的基本标志(a.k.a。浏览器信息),
  • -v详细标志)对于查看结果放在哪个目录非常有用

上面的调用将输出类似于

的内容
Started at Thu Jul 25 09:38:20 JST 2013 [...]
[...]
Session Pure
Session HOL (main)
Session John
Running John ...
John: theory John
[...]
Browser info at /home/username/.isabelle/Isabelle2013/browser_info/HOL/John
[...]

(其中[...]表示省略输出)。所以在这里你可以看到你需要咨询哪个目录来获取HTML文件。

话虽如此,至少出于以下原因,我个人更喜欢PDF而不是HTML:

  • 使用-o browser_info,您在目录中获得了大量文件(而不是使用-o document=pdf时只有一个自包含文件)
  • 并非所有Isabelle符号都在HTML中很好地呈现(而在生成PDF时您可以完全控制符号)

注意:如果您在Mac OS上使用 Isabelle 应用程序,则可能需要将上面的isabelle替换为/Applications/Isabelle2013.app/Isabelle/bin/isabelle或添加/Applications/Isabelle2013.app/Isabelle/bin/的{​​{1}}。