Вопросы по теме 'smt'

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

Проблема с производительностью неудовлетворительных моделей
Я использую Z3 для создания ограниченного средства проверки моделей. Я сталкиваюсь со странной проблемой производительности при попытке реализовать тест на полноту. Тест на полноту должен убедиться, что все состояния содержат каждое состояние не...
242 просмотров
schedule 11.10.2022

Используйте Z3 и smtlib для расчета конфигурации / модели со смешанными значениями
Как рассчитать приписываемые значения? Вот пример: (declare-fun x () bool) (declare-fun y () bool) (declare-fun z () bool) (assert (AND x (OR y z))) С этим я бы получил 2 модели: x=true and y=true x=true and z=true Теперь я хочу...
570 просмотров
schedule 14.08.2022

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

Кодирование дифференциального уравнения первого порядка в виде формулы первого порядка
Может ли кто-нибудь помочь мне указать, какое будет лучшее кодирование следующего уравнения с использованием формулы первого порядка, чтобы дать его в качестве входных данных для решателя SMT ?? x`=Ax+b
601 просмотров
schedule 08.05.2023

как упростить результат скрытия переменной с помощью z3?
Я хочу скрыть некоторые переменные и получить упрощенные результаты. Я хочу скрыть c1 , c2 и d следующим образом: (declare-const v1 Real) (declare-const v2 Real) (elim-quantifiers (exists ((c1 Real) (c2 Real)(d Real))...
147 просмотров
schedule 24.04.2024

Устранение переменных в решателях SAT / SMT
Есть ли в решении SMT / SAT какой-нибудь метод определения нерелевантных переменных по формуле? то есть те, которые могут иметь любое значение и не влияют на выполнимость формулы.
500 просмотров
schedule 11.06.2022

Скулемизация в Z3
Я пытаюсь удалить кванторы существования в своей теории, используя сколемизацию . Это означает, что я заменяю кванторы существования функциями, которые параметризуются универсальными кванторами переменных в области действия кванторов существования....
703 просмотров
schedule 28.09.2022

Z3 с интерполяцией Крейга (iz3)
Я пытаюсь сгенерировать интерполянты Крейга с помощью C API, но получаю неверные результаты. Однако, когда я выгружаю ту же проблему в файл через Z3_write_interpolation_problem и вызываю iZ3, я получаю ожидаемый интерполант. Я прилагаю код, чтобы...
682 просмотров
schedule 20.05.2023

Доказательство теоремы Z3: теорема Пифагора (нелинейная арифметика)
Почему? Контекст варианта использования, в котором возникает моя проблема Я определяю 3 случайных элемента треугольника. Microsoft Z3 должен выводить: Удовлетворительны ли ограничения или имеются недопустимые входные значения? Модель для...
917 просмотров

Повтор совпадающих моделей в Z3py
В следующем рабочем примере я пытаюсь получить совпавшие модели, в данном случае есть две подходящие модели: t1= cl7 t2= cl4 t3= cl5 и t1= cl4 t2= cl3 t3= cl9 Проблема заключается в повторении...
70 просмотров
schedule 09.01.2023

Как пошаговое решение работает в Z3?
У меня вопрос, как Z3 постепенно решает проблемы. Прочитав здесь несколько ответов, я обнаружил следующее: Есть два способа использования Z3 для инкрементального решения: один - в режиме push / pop (стек), другой - с использованием...
3354 просмотров
schedule 29.01.2023

Как выполнить следующий код SMT-LIB с помощью Alt-Ergo
Следующий код SMT-LIB работает без проблем в Z3, MathSat и CVC4, но не работает в Alt-Ergo. Пожалуйста, дайте мне знать, что произойдет, большое спасибо: (set-logic QF_UF) (set-option :incremental true) (set-option :produce-models true)...
512 просмотров
schedule 20.04.2022

Все возможные значения для типа данных записи в Z3?
Я пытаюсь определить тип данных записи в z3, состоящий из шести элементов разных типов. Вот как я это сделал: (declare-datatypes() ((S (mk-pair (p1 (P1type)) (p2 (P2type)) (p3 (P3type)) (m1 (bool)) (m2 (bool)) (m3 (bool)) )))) Но когда я использую...
598 просмотров
schedule 14.10.2022

Как определить количество решений данного экземпляра с помощью Mathsat
Mathsat поддерживает команду check-allsat , а Z3 ее не поддерживает. Пожалуйста, рассмотрите следующий пример: (declare-fun m () Bool) (declare-fun p () Bool) (declare-fun b () Bool) (declare-fun c () Bool) (declare-fun r () Bool) (declare-fun...
289 просмотров
schedule 15.03.2023

Haskell: привязка к быстрому и простому SAT-решателю
Сегодня я тоже хотел рассмотреть варианты решения SAT в Haskell. Сначала я задумался о написании собственного интерфейса для решателя Picosat. Затем я обнаружил, что существует библиотека SBV . Это интерфейсы для Z3, Yices, CVC4 и Boolector....
2293 просмотров
schedule 22.06.2022

Почему медленнее получать результат запроса из z3 java API, чем напрямую из z3?
Только что заметил, что для некоторых тестов очень медленно получать результат запроса от z3 через java API. Однако, если я просто выгружу запрос в формат smt2 и запущу z3 напрямую в командной строке, это займет меньше секунды. Интересно, почему?
157 просмотров
schedule 09.05.2023

Эксклюзивные типы данных в z3 (продолжение)
Я объявил эксклюзивный тип данных в z3, а также константу и небольшое утверждение: (declare-datatypes () ((IntOrBool (bpart (b Bool)) (ipart (i Int))))) (declare-fun iob () (IntOrBool)) (assert (= true (b iob))) Я получаю ожидаемый...
64 просмотров
schedule 25.04.2022

Какова единица использования памяти в статистике Z3?
В каких единицах измеряется использование памяти в статистике z3? Это МБ или КБ? И что именно означает память? Это максимальное использование памяти или совокупная сумма всех распределений во время выполнения?
170 просмотров
schedule 10.04.2022

Использование Z3 и SMT-LIB для поиска наивысшего палиндромного произведения
На основе "Разработка только для тестирования" с помощью средства доказательства теорем Z3 , Я пытаюсь закодировать проблему Эйлера 4 в SMT-LIB и решить ее с помощью Z3. Задача состоит в том, чтобы найти наибольшее целочисленное палиндромное...
147 просмотров
schedule 11.06.2022