如何在z3可满足性检查后仅获得所用变量的相关值赋值?我有多个断言作为Z3 Sat求解器的约束,而我需要检查它是否满足的一个布尔表达式。assertion may contain variables which are not present/irrelevant in the Boolean Expression (Formula)
分配给模型的值还包含对断言约束的分配,这对布尔表达式的可满足性没有影响。我可以在模
我试着用solve(g)找到满足公式g = And(ForAll([i, j, k], Implies(And(k <= 0, A * i + B * j + C * k + D <= 0), k +i - j <= 0)),Not(And(A==0,B==0,C==0)))的A,B,C,D的值。这有许多可能的解决方案,一种是A=1,B=-1,C=D=0,但Z3似乎无法做到这一点(solve(g)不会终止)。
Z3能做这种非线性(但简单)的公式吗?