Z3中的链(数据记录)程序

时间:2012-10-26 23:57:35

标签: z3

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

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

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

1 个答案:

答案 0 :(得分:2)

Z3的有限状态数据记录引擎使用自下而上的评估。 它包括一个可以启用魔术集转换的选项。 在某些涉及连锁计划的案例中,这种转变确实存在奇迹 您可以通过将“:magic-sets-for-queries”设置为“true”来启用该选项。 希望这有帮助