Вопросы по теме '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 просмотров
z3
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 просмотров
z3
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 просмотров
z3
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 просмотров
z3
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 просмотров
z3
schedule 06.04.2024

Какая официальная версия движка PDR в Z3?
Я пробовал механизм PDR в Z3 и не уверен, какую версию Z3 использовать. «Официальная» основная ветка от git, кажется, работает, но датирована ноябрем 2012 года. Я уверен, что с тех пор были улучшения. С другой стороны, нестабильная ветвь «может...
220 просмотров
z3
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