我想知道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
做了什么重写吗?谢谢。
答案 0 :(得分:1)
没有可以解释重写规则的文档,也没有代码和文档中的语法规则列表。要找出确切执行的内容,您必须查看代码。简化策略只运行th_rewriter
(here),它应用了许多跨理论简化(遍布th_rewriter.cpp),然后调用特定于理论的重写器({{ 3}})。例如,对于位向量项,它将调用here。