我有一个证据by eval
有点慢,我想优化代码。为了减少盲目性,如果jEdit可以显示by eval
证据所花费的时间,那就太棒了。
Isabelle 2013有可能吗?
答案 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