При отладке запроса UNSAT я заметил интересную разницу в статусе запроса. Структура запроса:
assert(...)
(push) ; commenting any of these two calls
(check-sat) ; makes the whole query UNSAT, otherwise it is SAT
assert(...)
(check-sat) ; SAT or UNSAT depending on existence of previous call
(exit)
В запросе нет вызовов pop
. Запрос, вызывающий такое поведение, находится здесь.
Идеи почему?
Примечание. На самом деле мне не нужна инкрементальность, она предназначена только для целей отладки. Z3 версия 3.2.