Вопросы по теме 'z3'
Может ли Z3 проверять выполнимость формул, содержащих рекурсивные функции?
Я пробую некоторые примеры из руководства по Z3 , в которых используются рекурсивные функции. . Я пробовал следующий пример.
Фибоначчи (раздел 8.3)
IsNat (раздел 8.3)
Индуктивный (раздел 10.5)
Время ожидания Z3 истекло во всех...
1839 просмотров
schedule
09.09.2022
Как получить статистику в Z3 3.2?
С Z3 2.x я использовал команду SMTLib2
(get-info statistics)
чтобы получить статистику запуска Z3. Используя Z3 3.2 я получаю
(error "line _ column _: invalid command argument, keyword expected")
для вышеизложенного и для...
446 просмотров
schedule
30.10.2023
Минимальное и максимальное значения целочисленной переменной
Предположим очень простое ограничение: solve(x > 0 && x < 5) .
Может ли Z3 (или любой другой SMT-решатель или любой другой автоматический метод) вычислить минимальное и максимальное значения (целочисленной) переменной x , которые...
3450 просмотров
schedule
11.09.2022
Хеширование выражений в Z3Python
Похоже, что выражение z3 имеет метод hash() , но не __hash__() . Есть ли причина, почему бы не использовать __hash__() ? Это позволяет хэшировать выражение.
395 просмотров
schedule
10.05.2024
можно ли использовать smt/z3 для оптимизации
Может ли решатель SMT эффективно найти решение (или задание) псевдобулевой задачи, как описано ниже:
\sum {i..m} f_i x1 x2.. xn *w_i
где f_i x1 x2 .. xn — булева функция, а w_i — вес типа Int.
Для вашего удобства я выделяю содержание...
491 просмотров
schedule
25.07.2022
Массив Z3: почему Select() не возвращает значение, сохраненное Store()?
У меня есть простой код Python Z3, как показано ниже. Я ожидаю, что строка «print» вернет мне «y», который был сохранен в строке над ней. Вместо этого я получил обратно «A [x]».
I = IntSort()
A = Array('A', I, I)
x = Int('x')
y = Int('y')...
780 просмотров
schedule
09.09.2022
Исключение в z3
там Когда я получил ненасыщенные ядра из экземпляра smtlib2, я разделил их как предложение, такое как (не (>=::Int x1)). И затем я попытался добавить предложение в z3 для решения снова. Но проблемы произошли после выполнения.
ВНИМАНИЕ:...
706 просмотров
schedule
30.01.2024
Кодирование let-выражений в Z3
Следующий код кодирует «запись» с двумя полями array-fld и blist-fld . Я определил функции обновления для этих полей, а затем утвердил свойство, которое должно быть истинным (но которое z3 сообщает как unknown ). Это Z3 версии 4.0, запускаемый...
1077 просмотров
schedule
25.01.2024
Как использовать перечисляемые константы после вызова какой-либо тактики в Z3?
Вот исходный код моей программы тестирования перечислимых типов:
Z3_symbol enum_names[3];
Z3_func_decl enum_consts[3];
Z3_func_decl enum_testers[3];
enum_names[0]=Z3_mk_string_symbol(z3_cont,"a");...
304 просмотров
schedule
17.12.2023
Можно ли вычислить скобку Кауфмана с помощью Z3py?
Я пытаюсь вычислить скобку Кауфмана узла-трилистника, используя Z3py. До сих пор у меня есть следующий код:
a, b, c, d, e, f, A, B = Ints('a b c d e f A B')
delta = Function('delta', IntSort(), IntSort(), IntSort())
def X(a,b,c,d):
return...
124 просмотров
schedule
16.04.2024
(применить qe) не удаляет сразу все кванторы?
Я прошу Z3 выполнить исключение квантора в теории UFLIA, используя интерфейс SMTLIB 2. Итак, я утверждаю формулу с 21 экзистенциально количественной переменной, из них семь целочисленных и 14 логических. Затем я делаю (apply qe) , и Z3 возвращает...
251 просмотров
schedule
08.02.2024
Стратегия Z3 для решения системы с условными целочисленными сложениями
Я использую Z3 для решения системы, состоящей из логических ограничений для переменных Vi , а также ограничения следующей формы:
L < If(V0, T0, F0) + If(V1, T1, F1) + ... + If(Vn, Tn, Fn) <= H
где L , H и Ti и Fi - целые...
700 просмотров
schedule
07.03.2024
Z3 решить-экв, как использовать
Я пытаюсь понять, как использоватьsolve-eq, я ожидал, что Z3 решит это
(declare-const mem (Array Int Int))
(declare-const adr_a Int)
(declare-const a Int)
(assert (= (select mem adr_a) a))
(assert (<= 0 (select mem adr_a)))
(apply solve-eqs)...
215 просмотров
schedule
25.01.2024
Какая логика поддерживается z3?
Есть ли полный список всех теорий/логик, которые поддерживает z3? Я ознакомился с этим руководством по SMTLIB , в котором представлен ряд логических считаю, что список исчерпывающий. В самой документации z3, похоже, не указано, какая логика...
1998 просмотров
schedule
02.11.2023
Отбрасывает ли Z3 леммы после pop() в инкрементном режиме?
При использовании Z3 в инкрементном режиме решатель отбрасывает все леммы после выполнения операции pop()?
В 2012 году Леонардо де Моура подтвердил, что Z3 фактически отбрасывает леммы после pop() [1]. Однако мои бенчмарки с Z3 4.3.1 не показывают...
143 просмотров
schedule
01.07.2022
использование сортировки в Z3
Может ли кто-нибудь помочь узнать, как правильно использовать "для всех" в Z3, я искал в документации, но не нашел информации. Что я пытаюсь сделать
внутри "foo" мне нужно сказать в Z3 что-то эквивалентное
"пусть (u, r) запускается (t) в...
1544 просмотров
schedule
14.04.2024
Моя формула находится в DNF, преобразует ли z3 ее в CNF?
DNF SAT имеет полиномиальное время, тогда как CNF SAT является NP-полным. Если у меня есть формула первого порядка, логический скелет которой уже находится в ДНФ, будет ли z3 знать об этом, или он будет слепо преобразовывать формулу в КНФ для решения...
435 просмотров
schedule
22.08.2022
Генерация ядра Unsat с помощью .NET Z3 API
Я пытаюсь включить генерацию неподатливого ядра, используя Z3 4.3.0 и .NET API.
Вызов context.UpdateParamValue("unsat_core", "true") вызывает исключение с сообщением «Ошибка установки 'unsat_core', причина: неизвестный параметр».
При проверке...
178 просмотров
schedule
06.04.2024
Какая официальная версия движка PDR в Z3?
Я пробовал механизм PDR в Z3 и не уверен, какую версию Z3 использовать.
«Официальная» основная ветка от git, кажется, работает, но датирована ноябрем 2012 года. Я уверен, что с тех пор были улучшения. С другой стороны, нестабильная ветвь «может...
220 просмотров
schedule
25.07.2022
Удивительное поведение при попытке доказать
Рассмотрим следующий код SMT-LIB:
(set-option :auto_config false)
(set-option :smt.mbqi false)
; (set-option :smt.case_split 3)
(set-option :smt.qi.profile true)
(declare-const x Int)
(declare-fun trigF (Int Int Int) Bool)
(declare-fun trigF$...
191 просмотров
schedule
12.10.2023