Z3可以输出模型,我们可以在输入可满足时提取值。
当我们想要不可满足时,有没有办法为我们的模型获取值?(注意:我正在使用c ++ API)
另一种看待这个问题的方法:当z3证明方程式返回false时,我们是否可以打印导致该不满(false
)值的组合?
答案 0 :(得分:2)
如果您的输入为unsat
,则输入的任何分配都不会成立,即所有分配都将导致错误。因此,您可以为输入选择任意值。
然而,从实际的角度来看,实现你想要的一个简单方法是断言你原来的目标,并从求解器中寻求一个模型。 “满足”否定目标的模型将使您的原始目标“失败”。