Z3Py 片段:
x = Int('x')
fun = Function('fun', IntSort(), IntSort(), IntSort())
phi = ForAll(x, (fun(x, x) != x))
print phi
solve(phi)
永久链接:http ://rise4fun.com/Z3Py/KZbR
输出:
∀x : fun(x, x) ≠ x
[elem!0 = 0,
fun!6 = [(1, 1) → 2, else → 1],
fun = [else → fun!6(ζ5(ν0), ζ5(ν1))],
ζ5 = [1 → 1, else → 0]]
问题:我试图了解 Z3 生成的模型。我有以下疑问。
- 在z3生成的模型中,
fun
只有else
部分。因此,乍一看,无论参数如何,似乎都有一个值。但仔细观察,它看起来像v0
并且v1
是 的形式参数fun
。有什么约定吗? elem!0
指的是哪个变量?
谢谢。