0

某些程序分析可以编码为链程序(对应于上下文无关语言),属于 Datalog 程序的一种受限形式。链式程序中的每条规则都具有以下格式:

p(X,Y) :- q0(X,Z1), q1(Z1,Z2), q2(Z2,Z3)..., qn(Zn,Y)

我的问题是,与评估任意数据记录程序相比,Z3 是否可以利用链程序的结构并在评估链程序时更有效。

4

1 回答 1

2

Z3 的有限状态数据记录引擎使用自下而上的评估。它包括一个可以启用的执行魔术集转换的选项。这种转变在某些涉及链式程序的情况下确实会产生奇迹。您可以通过将 ":magic-sets-for-queries" 设置为 "true" 来启用该选项。希望这可以帮助

于 2012-10-27T00:16:02.860 回答