我正在使用带有ml接口的Z3。我创建了一个公式
f(x_i)
根据求解器,这是可以满足的
Solver.mk_simple_solver ctx
r。
问题是:我可以得到一个模型,但是他只为公式中的某些变量找到了我的值,而不是全部(我的Model.get_const_interp_e
r某些都以None类型结尾)
该模型怎么可能只给我一部分x_i
r?以我的理解,如果模型适用于其中一个值,则意味着该公式是可满足的(对于我而言,是这样),因此可以给出所有值...
我听不懂.. 感谢您阅读我!
答案 0 :(得分:0)
您应该始终发布完整的示例,以便人们可以帮助解决实际的编码问题;没有看到您的实际代码,就不可能知道真正的原因。
话虽如此,这听起来很像以下问题:Why Z3Py does not provide all possible solutions因此,也许在那里给出的答案会有所帮助。
长话短说:Z3模型将仅包含该模型 matter 变量的值。对于未明确分配的任何内容,任何值都可以。当然,有很多方法可以得到“完整的”模型,如该答案所述。我确信从ML界面也可以做到这一点。