Вопросы по теме 'z3py'
Непечатаемый Solver.model()
Следующая программа генерирует модель Z3, которую нельзя распечатать (то есть print solver.model() выдает исключение), используя последнюю версию Z3 из главной ветки git (коммит 89c1785b):
x = Int('x')
a = Array('a', IntSort(), BoolSort())
b =...
374 просмотров
schedule
17.04.2023
Z3Python: пример массива?
Я ищу некоторые примеры кода, использующие теорию массивов в Z3 python, но не могу их найти.
пожалуйста, может ли кто-нибудь привести несколько примеров кода?
Благодарность!
713 просмотров
schedule
13.09.2023
z3py на MacOSX: не удается получить модель
Я вижу странную проблему с z3py на Mac, мне было интересно, видел ли кто-нибудь это раньше:
$ cat bug.py
from z3 import *
x = Int('x')
s = Solver()
s.add(x > 5)
print(s.check())
print(s.model())
$ python bug.py
sat
[x = ]
Значение x...
183 просмотров
schedule
13.02.2023
Переменные Z3Py Bool преобразуются в Int в модели
Я использую API Python для Z3, чтобы создать инструмент для своих исследований. У меня возникла следующая проблема: я генерирую набор ограничений Z3 с помощью скрипта Python. Поскольку набор может быть непоследовательным, я отслеживаю каждую формулу...
1454 просмотров
schedule
03.02.2023
Код дает неверный результат с ForAll, почему?
Я пытаюсь использовать квантификатор ForAll для b , поэтому формула a * b == b с каждым b даст мне в результате a == 1 . Я реализовал это в приведенном ниже коде (Z3 python):
from z3 import *
a, b, a1 = BitVecs('a b a1', 32)
f = True
f...
971 просмотров
schedule
31.01.2023
Z3Python: ForAll вызывает зависание моего кода или возвращает Unsat, почему?
Я все еще борюсь с проблемой поиска значения a , чтобы a * b == b со всем значением b . Ожидаемый результат a == 1 . У меня есть два решения ниже.
(A) Я реализовал это с помощью квантификатора ForAll в приведенном ниже коде (поправьте...
86 просмотров
schedule
20.02.2023
Как выполнить исключение квантификатора с помощью Python API Z3
Как я могу выполнить исключение квантификатора с помощью Python API Z3? Хотя я проверил руководство и API, не смог этого сделать.
У меня есть формула с квантификатором существования, и я хочу, чтобы Z3 выдал мне новую формулу, чтобы этот квантор...
1705 просмотров
schedule
17.05.2022
Решатель z3: z3-SMT на платформе Mac
Мне нужно поработать над решателем Z3 SMT для моей магистерской диссертации. Я уже проверил учебные пособия для Z3-SMT, которые основаны на входных данных SMT-Lib. Но я смог установить только z3-Py, для которого нужно знание Python. Я хотел знать,...
1527 просмотров
schedule
20.10.2022
Возможная ошибка с Z3: Z3 не может доказать теорему в топологии
Я пытаюсь доказать с помощью Z3 теорему общей топологии, изложенную в
Топология TPTP
Я перевожу приведенный там код, используя следующий код Z3-SMT-LIB
;; File : TOP001-2 : TPTP v6.0.0. Released v1.0.0.
;; Domain : Topology
;;...
149 просмотров
schedule
07.07.2022
объявление алгебраического типа данных другого алгебраического типа данных?
Мне интересно, возможно ли создать алгебраический тип данных, который зависит от другого алгебраического типа данных в Z3Py.
Например, скажем, я определил свой собственный тип данных Bool и хочу сам определить список Bool:
from z3 import *
Bool...
171 просмотров
schedule
31.01.2023
Случайность Z3 сгенерированных значений модели
Я пытаюсь повлиять на случайность результатов для значений модели, сгенерированных Z3. Насколько я понимаю, возможности для этого очень ограничены: в случае линейной арифметики симплексный решатель не допускает случайных результатов, которые...
667 просмотров
schedule
31.03.2024
Использование for all с неинтерпретируемыми сортировками JAVA API
Я пытаюсь изучить Z3 с помощью java API, так как нет документации. Я просматривал документацию C API, но до сих пор не могу найти четкого примера того, как использовать некоторые основные функции.
Я пытаюсь закодировать этот код Z3 (который...
487 просмотров
schedule
04.06.2023
странное поведение при проверке сб Z3
Может кто-нибудь увидеть, что я делаю неправильно.... Я использую квантификатор для всех, чтобы создать две строки:
(assert(forall((t Task)) (not (mustPrecede t t))))
(assert(forall((t1 Task)(t2 Task)(t3 Task)) (implies (and (mustPrecede t1...
84 просмотров
schedule
19.08.2022
Z3py — Создать выражение Z3py из строки, или Что происходит с «не» в eval?
Я пытаюсь решить ограничения в выражении if или while с помощью Z3py. Поскольку Z3py ожидает таких выражений, как True, False или Z3py-Boolean, мне пришлось решить, как преобразовать ограничения, которые являются просто строками, в правильную форму....
296 просмотров
schedule
03.10.2022
Есть ли в Z3 способ сгенерировать неопределенное количество предположений для проверки?
Моя программа Python использует Z3 Python API. Он генерирует ряд предположений, которые Z3 проверяет с помощью команды:
check(P1, P2,....Pn)
Затем я получаю unsat ядро с помощью команды:
unsat_core()
Есть ли способ использовать в...
76 просмотров
schedule
03.03.2023
Создание константы из сортировки в Z3 Python API
Учитывая сортировку Z3 и строку s , я пытаюсь создать константу Z3 такого рода с именем s .
Например, учитывая IntSort() и имя "x" , я хотел бы получить целочисленную константу с именем "x" .
Я знаю, что могу заставить его вызывать...
602 просмотров
schedule
22.06.2022
Формализация достижимости в z3py
Я пытаюсь формализовать свойство достижимости, чтобы я мог найти удовлетворительное решение, если оно существует, путь длиной 4 (что означает, что есть 3 промежуточных узла, через которые соединяются 2 желаемых узла). Примечание. Я ограничиваю поиск...
174 просмотров
schedule
09.11.2022
Используйте z3 для подтверждения идентичности булевой/арифметической формулы
Я пытаюсь использовать z3 для подтверждения следующей личности:
х+у == х^у + 2*(х&у)
То есть мы можем заменить любое дополнение смесью логических и арифметических инструкций (пример взят из главы 2.2, Hacker's Delight). ).
Я...
223 просмотров
schedule
21.11.2022
Как создать ограничение в Z3py, чтобы проверить, является ли список перестановкой другого?
Я новичок в Z3py, и я борюсь с этим уже почти неделю ... Я не нахожу достаточно информации, чтобы помочь мне в учебниках, и хорошего примера (функции Exists), который может мне помочь .
446 просмотров
schedule
11.03.2023
Решатель Z3 возвращает unsat, когда формула должна быть удовлетворительной
У меня есть «простая» формула, которую решатель Z3 (интерфейс Python) не может обработать. Он работает довольно долго (30 минут), а затем возвращается неизвестным, хотя я могу найти удовлетворительное задание вручную менее чем за минуту. Это...
262 просмотров
schedule
30.01.2023