如何跟踪ACL2重写器?

时间:2015-07-10 17:37:55

标签: acl2

如何跟踪ACL2重写器?我真的很想知道证明者里面发生了什么。是否可以找到这类信息,或者我应该遵循The Method?

1 个答案:

答案 0 :(得分:2)

以下是一些相关的跟踪表格,由Matt Kaufmann撰写:

(trace$ (rewrite :cond (null ancestors)
                 :entry (list 'rewrite term alist)
                 :exit (list 'rewrite (cadr values))))

(trace$ (rewrite-with-lemma
         :entry
         (list 'rewrite-with-lemma
               term
               (base-symbol (access rewrite-rule lemma :rune)))
         :exit
         (list 'rewrite-with-lemma (cadr values) (caddr values))))

(open-trace-file "my-trace-file") ; since renamed to big-trace.txt

然后运行您想要跟踪的证据

(close-trace-file)

在您喜欢的文本编辑器中打开此示例中的跟踪文件my-trace-file。

关于你的第二个问题,80%或更多的ACL2专家会说,不,你不需要知道重写器发生了什么。我碰巧不同意他们,这就是为什么我写了这个Q& A(因为我将通过Google间接引用它)。您还应该查看“break-rewrite”和“dmr”等选项。有关详细信息,请参阅ACL2文档主题“调试”。