Я не знаю, какой бэкэнд в jSMTLIB вы использовали для решения этой проблемы.Однако (check-sat (= x w))
недопустимо даже в SMT-LIB v2.
Когда я изменяю эту строку на:
(assert (= x w))
(check-sat)
Я получаю unsat
и sat
из веб-интерфейса Z3, что является нашим ожиданием.
Обратите внимание, что (get-info :statistics)
также неверно;правильный вариант - (get-info :all-statistics)
.Вы можете прочитать больше о стандарте SMT-LIB v2 в их документации .