【发布时间】:2026-01-20 06:55:01
【问题描述】:
我要验证表格的公式:
Exists p . ForAll x != 0 . f(x, p) > 0 and g(x, p) < 0
所有变量都是实数。
按照here 的建议,我将此列表添加到求解器中:
[ForAll([x0, x1],
Implies(Or(x0 != 0, x1 != 0),
And(P0*x0*x0 + P1*x0*x1 + P2*x0*x1 + P3*x1*x1 > 0,
-2*P0*x0*x1 + P1*x0*x0 - P1*x0*x1 - P1*x1*x1 + P2*x0*x0 - P2*x0*x1 - P2*x1*x1 + 2*P3*x0*x1 - 2*P3*x1*x1 < 0
)
)
)
]
具有上述公式的求解器返回unsat。一个可能的解决方案是让P 成为[[1.5, -0.5], [-0.5, 1]],事实上,通过替换这些值,公式得到了满足:
And(3/2*x0*x0 - 1*x0*x1 + x1*x1 > 0,
-1*x0*x0 - 1*x1*x1 < 0)
有没有办法实际计算出这样的p?如果z3很难,有没有办法解决这个问题?
【问题讨论】: