Unsat ответ, если не используется опция PROOF_MODE - PullRequest
2 голосов
/ 10 августа 2011

Я использую Z3 для проверки надежности графиков, полученных для систем задач реального времени. Когда я проверяю этот скрипт http://www.cs.ru.nl/~georgeta/script.smt2, я получаю ненадежный ответ. Однако, когда я использую опцию PROOF_MODE = 1, ответ насыщен. Что может пойти не так в первом случае?

1 Ответ

2 голосов
/ 10 августа 2011

Я скачал твой пример.Указанная логика неверна, команда:

(set-logic QF_AUFLIA)

Эта логика указывает, что скрипт будет содержать только массивы, неинтерпретированные функции и целочисленные переменные, инет квантификаторов.Тем не менее, он содержит реальные переменные.Если вы удалите эту команду, вы получите правильный ответ (sat) в обоих случаях.Вы получили другой ответ при использовании PROOF_MODE = 1, потому что некоторые препроцессоры в Z3 не поддерживают генерацию пробных изображений, тогда они отключаются, когда включена пробная генерация.

При этом мы исправили много ошибок в Z3 2.19.Новая версия 3.0 будет выпущена в ближайшее время.Вы уже можете использовать предварительную версию, которую мы представили для SMT-COMP .

...