Z3的简化策略究竟做了什么?

时间:2016-04-06 16:36:16

标签: z3

我想知道Z3的战术simplify究竟做了什么? 在Z3's official document中,有人说:

The command (simplify t) displays a possibly simpler expression equivalent to t.

由于这种策略的功能通常可以通过一些语法重写规则来概括,如Not(A or B) --> Not(A) and Not (B),有人能让我知道Z3的simplify做了什么重写吗?谢谢。

1 个答案:

答案 0 :(得分:1)

没有可以解释重写规则的文档,也没有代码和文档中的语法规则列表。要找出确切执行的内容,您必须查看代码。简化策略只运行th_rewriterhere),它应用了许多跨理论简化(遍布th_rewriter.cpp),然后调用特定于理论的重写器({{ 3}})。例如,对于位向量项,它将调用here