Вопросы по теме 'z3py'
Как решить проблему лжецов / правдивых с помощью Z3Py и Z3 SMT-LIB
Пример проблемы:
Предположим, что лжецы всегда говорят неправду, а правдивые всегда говорят правду. Далее предположим, что Эми, Боб, Кэл, Дэн, Эрни и Фрэнсис - каждый либо лжец, либо рассказчик правды.
Amy says, “Bob is a liar.”
Bob says, “Cal...
285 просмотров
schedule
26.07.2022
Какую форму ввода принимает решатель z3 smt? Как использовать файл для чтения уравнения, которое необходимо решить?
from z3 import *
x = Int('x')
y = Int('y')
s = Solver()
try:
f = open("read.txt","r")
try:
str = f.read()
length = len(str)
s.add(str)
finally:
f.close()
except IOError:
pass
Я написал приведенный...
1920 просмотров
schedule
25.12.2022
Проверьте переполнение с помощью Z3
Я новичок в Z3 и проверял онлайн-учебник по Python.
Затем я подумал, что могу проверить поведение переполнения в BitVecs.
Я написал этот код:
x = BitVec('x', 3)
y = Int('y')
solve(BV2Int(x) == y, Not(BV2Int(x + 1) == (y + 1)))
и я...
989 просмотров
schedule
25.03.2024
Можно ли получить окончательную формулу CNF от Z3?
Вот моя простая кодировка. Я хотел бы получить окончательную логическую CNF, в которой представлены все эти ограничения. Есть ли в решателе Z3 возможность получить окончательную логическую CNF?
x = Int('x')
y = Int('y')
c1 = And(x >= 1, x...
1378 просмотров
schedule
29.03.2022
Как я могу решить ограничение минимизации в Z3?
Может ли кто-нибудь сказать мне, как я могу реализовать задачу минимизации целых чисел, подобную приведенной ниже, с помощью Z3py? Как я могу определить для всех утверждений? Здесь все переменные int sort.
Есть ли в Z3 специальный решатель...
1446 просмотров
schedule
10.06.2023
z3py: предположения из (check-sat) утверждения
Есть ли способ передать предположения из (check-sat ...) утверждения формулы SMT2 в решатель?
Рассмотрим следующий пример формулы, хранящейся в ex.smt2:
# cat ex.smt2
(declare-fun p () Bool)
(assert (not p))
(check-sat p)
Как и ожидалось,...
227 просмотров
schedule
22.03.2023
как преобразовать выражение z3py в формат smtlib 2
Мой вопрос связан с: Z3: преобразовать выражение Z3py в SMT-LIB2?
Я пытаюсь преобразовать выражение z3py из в формат smtlib2. используя следующий скрипт, но после преобразования, когда я передаю результат на z3 или любой другой SMT, я получаю:...
1220 просмотров
schedule
12.08.2022
z3.prove намного быстрее, чем решатель и проверка
Я использую последний основной код z3 от Codeplex, помеченный как v4.3.1.
Мне нужна такая функция, как prove , которая имеет полезное возвращаемое значение и не печатает. Итак, я написал то, что казалось очевидным:
def prove2(claim):
s =...
545 просмотров
schedule
17.09.2023
Упрощение выражения с использованием переменных в конечной области
Тактика ctx-solver-simplify работает только для логических переменных, поэтому как мне поступить с переменными в конечной области (например, какую тактику использовать)? Например, если z может принимать только 3 значения 0,1,2 , то как упростить...
133 просмотров
schedule
25.04.2024
Производительность решателя z3 SMT на разных платформах
У меня есть логические проблемы, написанные с использованием z3py. Я запускаю их как на своем ПК (intel core i5 + 8 ГБ ОЗУ), так и на кластере (32 процессора AMD Operaton 6320 + 500 ГБ ОЗУ). Нет большой разницы во времени выполнения, и иногда...
640 просмотров
schedule
22.03.2023
как решить уравнение вместо того, чтобы давать одну модель в z3
Это может не выходить за рамки z3, я знаю, что в Z3 мы можем упростить выражение, но мне интересно, может ли z3 решить уравнение вместо того, чтобы давать модель.
Например, я хочу, чтобы следующее уравнение всегда было верным для любого значения a....
295 просмотров
schedule
01.02.2022
Как отобразить конкретное ограничение unsat, а не все ядро (Z3, Python)
Как я могу перечислить только конкретные результаты ограничений из моего ненасыщенного ядра? У меня много условий, и печать всего ядра не печатает все. Я читал, что это можно сделать с помощью команд assert_and_track и unsat_core. Я нашел несколько...
804 просмотров
schedule
22.01.2024
Почему создание объектов И / ИЛИ в Z3py занимает больше времени, чем ожидалось?
Я использую Z3py, где мне нужно создать тысячи объектов And () и Or () для подачи в Z3 Solver. Кажется, что большую часть времени уходит на создание этих объектов (добавление их в решатель и их решение происходит намного быстрее). В крайнем случае...
131 просмотров
schedule
01.02.2023
Неявная и явная количественная оценка существования в формулах SMT
Учитывая следующий код:
from z3 import *
a,b,c = BitVecs('a b c', 32)
f1 = Exists([a, b, c], And(a + b == c, a < b, c == 1337))
f2 = And(a + b == c, a < b, c == 1337)
prove(f1 == f2)
Я бы предположил, что в этом примере z3 неявно...
202 просмотров
schedule
04.08.2023
z3 и z3PY дают разные результаты
Когда я пробовал следовать в z3, у меня был таймаут результата
(set-option :smt.mbqi true)
(declare-fun R(Int) Int)
(declare-fun Q(Int) Int)
(declare-var X Int)
(declare-var Y Int)
(declare-const k Int)
(assert (>= X 0))
(assert (> Y 0))...
90 просмотров
schedule
07.02.2022
Объявление неинтерпретируемых полиадных функций с помощью Z3Py
Используя Z3Py, я пытаюсь написать функцию decl_func(fname, arity) , которая принимает два аргумента: fname , имя объявляемой функции, и arity , ее количество аргументов, и возвращает соответствующую (не интерпретируемую) функцию Z3 над целыми...
59 просмотров
schedule
21.03.2022
Примеры z3py не работают на macOS
Я не могу заставить работать ни один из примеров z3py. Мне удалось успешно установить его, следуя инструкциям из README на github. Я успешно обновил свой путь Python, чтобы он указывал на соответствующий каталог. Кроме того, мне удалось успешно...
1485 просмотров
schedule
03.06.2022
Ограничение K-вне-N в Z3Py
Я использую привязки Python для программы доказательства теорем Z3 (Z3Py). У меня есть N логических переменных, x1, .., xN. Я хочу выразить ограничение, согласно которому ровно K из N из них должны быть истинными. Как я могу это сделать в Z3Py?...
2001 просмотров
schedule
19.05.2023
Какие дополнительные аксиомы нам нужно добавить, чтобы Z3 мог проверять выполнимость программ с повторениями?
Как мы знаем , Z3 имеет ограничения с рецидивами. Есть ли способ получить результат для следующей программы? какое дополнительное уравнение поможет z3 получить результат?
from z3 import *...
326 просмотров
schedule
23.07.2023
Оцените BitVec в Z3Py
Я изучаю Z3 и возможно мой вопрос не актуален, так что наберитесь терпения.
Предположим, у меня есть следующее:
c1, c2 = z3.BitVec('c1', 32), z3.BitVec('c2', 32)
c1 = c1 + c1
c2 = c2 + c2
c2 = c2 + c1
c1 = c1 + c2
e1 = z3.simplify(c1)
e2 =...
286 просмотров
schedule
09.04.2024