Этот сценарий
from z3 import *
solver = z3.Solver()
x = Int('x')
def f(y):
return y+y
solver.add(x >= 0, x < 10, Exists(x, f(x) == 4) )
print solver.check()
print solver.model()
дает мне
sat
[x = 0]
как ответ. Это не то, чего я хочу или ожидаю. В ответ хотелось бы увидеть
sat
[x = 2]
Я нашел два других сообщения, идущих в том же направлении ((Z3Py), объявляющая функцию и Quantifier в Z3), но что-то не получается.
Как в этом случае использовать квантор существования, чтобы получить адекватный ответ?