我正试图在机器产生的问题上调整z3,这些问题是什么?
有没有什么通用的准则来处理这种情况?
通过命令行选项,我想我可以试试。
mbqi.id (string) 只对id以string开头的量化器使用基于模型的实例化 (默认: )
但是我没有看到如何使用SMT-LIB语法将一个id附加到一个量化器上。有谁能提供线索与我分享?
这里提到的id只是量化变量的名称。如果你有。
(declare-sort S 0)
(declare-fun gt (S S) bool)
(assert (forall ((inst_a S) (inst_b S))
(or (gt inst_a inst_b) (gt inst_b inst_a))))
(check-sat)
那么你可以说:
z3 smt.mbqi=true smt.mbqi.id=inst a.smt2
不要忘记使用 smt.mbqi=true
来开启MBQI。如果你使用这个调用,那么z3将只在量化变量以 inst
在上面的例子中。