我有一个by eval
有点慢的证明,我想优化代码。by eval
为了不那么盲目地这样做,如果 jEdit 可以显示进行证明所花费的时间,那就太好了。
Isabelle 2013 有可能吗?
我有一个by eval
有点慢的证明,我想优化代码。by eval
为了不那么盲目地这样做,如果 jEdit 可以显示进行证明所花费的时间,那就太好了。
Isabelle 2013 有可能吗?
Isabelle 可以像 Perl 一样,有不止一种方法可以做到这一点。
在看到Isabelle 用户列表上的一些建议后,在 jEdit 中,我打开和关闭计时信息的方式与打开show_types
和关闭命令之类的方式相同。
我导入一个文件,i.thy
如下所示:
theory MFZ
imports Complex_Main "../../../../../../ithy/i"
begin
要查看时序信息,在 中i.thy
,我有一堆信息命令,一个是命令
ML_command "Toplevel.timing := false"
我在 中将其设置为 true i.thy
,在我的工作中我开始将by
语句更改为apply
,然后by
在我在输出面板中看到时间信息后返回。
要关闭计时信息,您必须将true
背面更改为false
. 你不能只删除ML_command "Toplevel.timing := true"
.
如果您有一系列apply
语句作为证明,您可以将时间总结相加,或者将它们组合在一个apply/by
语句中,以获得单个apply
语句的时间,例如切换语句
apply(simp)
apply(rule)
by(auto)
至
apply(simp,rule,auto)
编辑命令并更改false
为true
,或反之亦然,可能并不比涉水通过菜单完成相同的事情慢多少。
您可以创建一个 jEdit 宏以将命令插入您正在工作的位置,但是您必须突出显示它并在不再需要它之后将其删除。
这是我如何保持两个视图打开的图像。右视图显示我设置Toplevel.timing
为 true 的位置,左窗口显示我将 a 更改by
为 的位置apply
。图像大小为 1211x488 ,在我的Chrome 中看起来不错。
http://gc44.github.io/viz/img_1300/130502a__toplevel_timing.png