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

SMT-решатели для бит-векторной арифметики
Я планирую несколько экспериментов по символьному выполнению кода C, используя готовый SMT-решатель, и мне интересно, какой решатель использовать; глядя на например. участники конкурса SMT и, принимая только системы с открытым исходным кодом, сужают...
1108 просмотров
schedule 09.12.2023

Поддержка многомерных массивов в QF_AUFBV?
В настоящее время я работаю над кодом, который переводит «путь» через программу C в соответствующий запрос SMT, чтобы проверить возможность этого пути. У меня есть рабочий код, который создает запрос SMT-LIB v1.2 и использует Z3 2.11 и логику...
616 просмотров
schedule 06.06.2024

Z3py: решение с целыми числами и битовыми векторами в ограничениях
Я пытаюсь решить ограничения с помощью решателя Z3 SMT в python. Ограничения включают как целые числа, так и битовые векторы. Я конвертирую BitVec в Int с помощью Z3_mk_bv2int. Я считаю, что следующие ограничения невыполнимы, но я получаю тест SAT...
761 просмотров
schedule 15.10.2022

Как избавиться от решений с -0.0 в SBV
Следующий код (с использованием SBV): {-# LANGUAGE ScopedTypeVariables #-} import Data.SBV main :: IO () main = do res <- allSat zeros putStrLn $ show res zeros :: Predicate zeros = do z1 <- sDouble "Z1" constrain $ z1 .==...
94 просмотров
schedule 21.04.2024

z3py: почему время проверки так сильно меняется после переименования переменной?
Я заметил, что время проверки моих логических формул, написанных в z3py, сильно изменилось (с ~ 60 с до ~ 30 с, около 50%) после того, как я удалил «-» в именах переменных, которые я определил. E.g., vec = IntVector('vec-1',10) to vec...
76 просмотров
schedule 12.10.2022

Почему прувер z3 smt не работает с такой простой формулой?
Я провел несколько экспериментов с тестером z3 smt от Microsoft, работая над своей магистерской диссертацией. В моем случае использования мне нужно проверить выполнимость (без модели) для простых формул, содержащих квантификаторы (логика первого...
227 просмотров
schedule 03.12.2023

Взаимно рекурсивные типы данных в z3 и их взаимодействие со встроенными типами
В настоящее время я пытаюсь использовать Z3 для кодирования простой программной логики для нетипизированного языка с полиморфными списками. Насколько я понимаю, из учебника Z3 Моуры и Бьорнера , это не возможно «вкладывать рекурсивные определения...
222 просмотров
schedule 10.11.2022

Максимальное усилие (максимум | минимум) в оптимизации Z3
Я заинтересован в том, чтобы Z3 предоставил мне модель, и в то же время я был бы счастлив, если бы он попытался принять во внимание целевую функцию как эвристику, но я не хочу платить штраф за производительность за нахождение фактического (max | мин)...
61 просмотров
schedule 09.12.2022

Почему введение этого квантора существования приводит к незавершенности?
Я только начинаю играть с Z3 самостоятельно, и я подумал, что одним интересным экспериментом будет создание поля из 3 элементов. Поэтому я объявил свое поле S скалярным перечислением трех элементов, A, B, C, и начал постепенно добавлять аксиомы...
62 просмотров
schedule 27.01.2024

Комбинация MAxSMT и определяемой пользователем функции стоимости в решателе Z3
Я использую Z3 для оптимизации функции стоимости с некоторыми мягкими ограничениями (со взвешенным MaxSMT). Мне было любопытно, как взаимодействуют MaxSMT и определяемая пользователем функция стоимости. Минимизирует ли решатель стоимость MaxSMT и...
248 просмотров
schedule 17.02.2024

Реализация функций пола и потолка в Z3
Я попытался реализовать функцию пола и потолка, как указано в следующей ссылке. https://math.stackexchange.com/questions/3619044/floor-or-ceiling-function-encoding-in-first-order-logic/3619320#3619320 Но запрос Z3 возвращает контрпример....
263 просмотров
schedule 01.03.2024

Рекомендации по настройке создания квантификатора Z3 (с интерфейсом SMT-LIB)
Я пытаюсь настроить z3 на машинные проблемы, которые являются неудовлетворительными, содержат утверждения, не имеющие отношения к доказательству нерелевантные утверждения содержат кванторы где z3 не может найти доказательство невыполнимости...
81 просмотров
schedule 02.11.2023

Эффективный способ выполнения n-арных ветвей/табличных функций?
Я пытаюсь получить некоторую базовую информацию о характеристиках производительности веток в SBV. Предположим, у меня есть SInt16 и очень разреженная таблица поиска Map Int16 a . Я могу реализовать поиск с вложенным ite : sCase :: (Mergeable...
106 просмотров
schedule 02.06.2024

Какие важные факторы определяют точность оптимизации в решателе Z3?
Чтобы получить оптимизирующее решение с помощью решателя Z3, я изучил 2 метода оптимизации. Один из них использует оптимизирующий решатель с инструкциями MkMaximize или MkMinimize. Другой - использовать метод оптимизатора с общим решателем в...
44 просмотров
schedule 27.01.2024

что означает ключевое слово at-most в языке SMT-LIB (расширенная версия Z3 FixedPoint)
как в этом файле, самое большее ключевое слово в правиле: horn1.smt2 (из примеров репозитория Z3 github/python/data) (declare-rel Goal (Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool Bool)) (declare-rel Invariant (Bool Bool Bool Bool...
42 просмотров
schedule 11.11.2022

Создание нескольких моделей для запросов CVC4 SMT
Могу ли я получить несколько моделей для запроса, подобного следующему? (set-logic LIA) (set-option :produce-models true) (declare-const x Int) (assert (< x 20)) (check-sat) (get-model) Вместо того, чтобы просто sat ( (define-fun x ()...
41 просмотров
schedule 24.03.2024