如何在Isabelle中显示证明的时间信息

时间:2013-05-02 09:08:04

标签: isabelle

我有一个证据by eval有点慢,我想优化代码。为了减少盲目性,如果jEdit可以显示by eval证据所花费的时间,那就太棒了。

Isabelle 2013有可能吗?

1 个答案:

答案 0 :(得分:2)

Isabelle可以像Perl一样,there's more than one way to do it.

Isabelle user's list上看到一些建议,在jEdit中,我打开和关闭时间信息的方式与打开和关闭show_types等命令的方式相同。

我导入一个名为i.thy的文件,如下所示:

theory MFZ
imports Complex_Main "../../../../../../ithy/i"
begin

要查看时间信息,在i.thy中,我有一堆信息命令,一个是命令

ML_command "Toplevel.timing := false"

我在i.thy中将其设置为true,在我的工作中,我开始将by语句更改为apply,然后在我看到之后返回by输出面板中的定时信息。

要关闭时间信息,您必须将true更改回false。您不能只删除ML_command "Toplevel.timing := true"

如果您有一系列apply语句作为证据,您可以添加时间总和,或者将它们组合在一个apply/by语句中,以获得单个{{1}的时间}语句,就像切换语句一样

apply

apply(simp)
apply(rule)
by(auto)

要编辑命令并将apply(simp,rule,auto) 更改为false,反之亦然,可能并不比通过菜单完成同样的事情慢得多。

您可以创建一个jEdit宏来插入您正在工作的命令,但是您必须突出显示它并在不再需要它之后将其删除。

这是我如何打开两个视图的图像。右侧视图显示我将true设置为true的位置,左侧窗口显示我将Toplevel.timing更改为by的位置。 image size is 1211x488,我的Chrome浏览器看起来很不错。

http://gc44.github.io/viz/img_1300/130502a__toplevel_timing.png