我试图在机器生成的问题上调优z3
proof
是否有处理这种情况的一般准则?
通过命令行选项,我想我可以尝试:
mbqi.id ( string )只对id以string开头的量词使用基于模型的实例化(默认值:)
然而,我不知道如何使用SMT-LIB语法将id附加到量词。有线索的人能和我分享吗?
发布于 2020-06-10 15:33:59
这里提到的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。如果使用此调用,则只有在上述示例中的量化变量以inst开头时,z3才会实例化一个模式。
https://stackoverflow.com/questions/62304482
复制相似问题