Результаты поиска по запросу "z3"

1 ответ

Эквивалент define-fun в Z3 API

Используя Z3 с текстовым форматом, я могу использоватьdefine-fun определить функции для повторного использования позже. Например: (define-fun mydiv ((x Real) (y Real)) Real (if (not (= y 0.0)) (/ x y) 0.0)) Интересно как создатьdefine-fun с Z3 ...

1 ответ

Примечание: этот ответ был обновлен с использованием отзывов Swen Jacobs.

учаю странные результаты статистики при запуске Z3 3.1 с опцией -st. Если вы нажмете Ctrl-C, Z3 сообщит total_time <время. В противном случае, если вы дождетесь завершения Z3: total_time> time. Что измеряют «общее время» и «время»?Это ошибка ...

1 ответ

Спасибо за предложение. Я рассмотрю возможность для будущих версий Z3. Однако пользователь не будет иметь контроля над сигнатурой символа функции сколем, генерируемой Z3. Z3 выполняет много упрощений до сколемизации, и шаг сколемизации пытается минимизировать число зависимостей от универсальных переменных. Я обновил свой ответ примером того, как извлечь экзистенциальную переменную, вложенную в универсальный квантификатор.

аю с решателем QBVF Z3 и задаюсь вопросом, возможно ли извлечь значения из экзистенциального утверждения. Скажем, у меня есть следующее: (assert (exists ((x (_ BitVec 16))) (forall ((y (_ BitVec 16))) (bvuge y x)))) Это в основном говорит о том, ...

ТОП публикаций

2 ответа

Да, мы предполагаем, что логика + теории первого порядка, такая как арифметика, является последовательной. Большинство математиков считают, что это так. Когда мы говорим о корректности Z3, мы рассматриваем алгоритмы и процедуры, использованные при его реализации, а не согласованность логической системы, на которой она основана. Наконец, как я указывал в своем ответе, доказательство правильности должно осуществляться в другой системе, которая «понимает» семантику C / C ++ (язык программирования, используемый для реализации Z3). Эта система может использовать другую логическую систему и даже может вызывать Z3 в качестве подпрограммы.

ибудь пробовал доказыватьZ3 [http://,research.microsoft.com/en-us/um/redmond/projects/z3/]с самим Z3? Можно ли даже доказать, что Z3 является правильным, используя Z3? Более теоретически, возможно ли доказать, что инструмент X является ...

1 ответ

Алгоритм закрытия конгруэнтности не является ограничивающим фактором. Доказательства по индукции трудны, потому что они очень часто нуждаются в «творческом» шаге. То есть может понадобиться усилить свойство. Итак, много эвристики необходимо.

бую некоторые примерыучебник по Z3 [http://research.microsoft.com/projects/z3/tutorial.pdf]которые включают в себя рекурсивные функции. Я опробовал следующий пример. Фибоначчи [http://rise4fun.com/Z3/0pld](Раздел ...