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

Неудовлетворительные ядра в Z3 Python
Я работаю с Python API Z3, пытаясь включить его поддержку в инструмент исследования, который я пишу. У меня вопрос по извлечению неудовлетворительного ядра с помощью интерфейса Python. У меня такой простой запрос: (set-option...
2325 просмотров
schedule 03.11.2021

как подавить упрощение формул до True или False?
можно ли отключить автоматическое упрощение логических выражений в Z3? Например, выражение 2> 1 автоматически становится True, в то время как я хотел бы, чтобы оно оставалось 2> 1: >>> t = 2 > 1 >>> t True Я нашел...
260 просмотров
schedule 18.09.2021

Экземпляр QF_AUFBV имеет одно невероятно сложное предположение
Код smt2, сброшенный из Z3py, находится здесь . Если вы прокрутите вниз, вы увидите, что есть одно предположение, которое, если его прокомментировать, сразу же решает проблему. У меня несколько вопросов: Правильно ли я выбрал теорию,...
104 просмотров
schedule 18.09.2021

Разница в выводе, когда решатель smtlib2 вызывается через z3 python api и непосредственно из исполняемого файла?
Я работаю с z3 python api. Когда я решаю ограничения с помощью z3 python api, решатель работает бесконечно, и никаких ошибок не возникает. Но когда одни и те же ограничения сбрасываются в виде формата smtlib2, а затем решаются с помощью исполняемого...
131 просмотров
schedule 15.09.2021

как получить несколько решений для решателя z3 в примере формата smt2?
Как сгенерировать несколько моделей для формулы битового вектора с помощью решателя z3 в формате smt2? При реализации кода IDEA для битового вектора создается одна модель. Как сгенерировать все возможные модели для одного и того же, если он...
1408 просмотров
schedule 26.11.2021

Понимание обхода кванторов в Z3
Я пытаюсь понять количественную формулу обхода в z3 (я использую z3py). Понятия не имею, как получить количественные переменные. Например, в приведенном ниже коде я пытаюсь распечатать ту же формулу и получаю ошибку. from z3 import * def...
98 просмотров
schedule 17.10.2021

Как обнаружить или доказать рекуррентные отношения периодических последовательностей с помощью Z3?
Как обнаружить или доказать, что это рекуррентное отношение определяет периодическую последовательность. Вот пример фиксированного A> 0 где A, x - натуральные числа, а функция f возвращает натуральное значение. Можете ли вы предложить...
175 просмотров
schedule 24.11.2021

Ненулевой вектор в квантификаторе
Я хочу проверить формулу вида: Exists p . ForAll x != 0 . f(x, p) > 0 Реализация (которая не работает) следующая: def f0(x0, x1, x, y): return x1 ** 2 * y + x0 ** 2 * x s = Solver() x0, x1 = Reals('x0 x1') p0, p1 = Reals('p0 p1')...
75 просмотров
schedule 05.10.2021

Z3 находит модель, несовместимую с аксиомами
При запуске этого кода на Python 3.6.7 с модулем z3-solver (4.8.0.0) модель, возвращаемая z3, кажется недействительной с аксиомами. f = z3.Function('f', z3.IntSort(), z3.IntSort(), z3.IntSort()) x = z3.Int('x') s = z3.Solver() s.add(f(1, 10) ==...
64 просмотров
schedule 04.10.2021

Отключение усечения печати Z3py
Мне нужно распечатать всю проблему Z3, чтобы отладить ее, но когда я распечатываю ее, вывод обрезается. from z3 import * s = Solver() ... Add many assertions to s ... print(s) Как мне все отобразить?
55 просмотров
schedule 29.09.2021

Проблемы с функцией TransitiveClosure в Z3Py
Я пытаюсь смоделировать графическое соединение с Z3. В частности, я разбиваю граф и хочу, чтобы подграфы оставались связанными. Однако TransitiveClosure работает не так, как я ожидал. Я моделирую кромки буквой F Вот MWE: s = Solver() N =...
45 просмотров
schedule 18.02.2022

Как определять кусочные функции в Z3py
Я хотел бы определить в Z3py кусочно-линейную функцию, например, функция f(x) имеет вид f(x) = a*x + b when 0 <= x <= 1 f(x) = exp(c*x) when 1 < x <= 2 f(x) = 1/(1+10^x) when 2 < x <= 3 etc. где a , b и c - константы....
135 просмотров
schedule 05.03.2022

(Под) оптимальный способ получить достоверную информацию о диапазоне при использовании ограничения SMT с Z3
Этот вопрос связан с моим предыдущим вопросом Возможно ли получить достоверную информацию о диапазоне при использовании ограничения SMT с Z3? Таким образом, кажется, что «эффективное» нахождение информации о максимальном диапазоне...
97 просмотров
schedule 04.03.2022

Как определить необъявленный тип в Z3 Solver
Я использую SMT Solver Z3 для устранения ограничений. Например: (declare-const a Int) (declare-fun f (Int Bool) Int) (assert (> a 10)) (assert (< (f a true) 100)) (check-sat) // SAT Однако как, если мы не знаем, какой тип переменной...
60 просмотров
schedule 08.03.2022

Перевод с Z3Py на SMT-LIB
Пожалуйста, дайте мне знать, как перевести следующую строку из Z3Py в SMT-LIB: def _to_octonion(a): if isinstance(a, OctonionExpr): return a else: return OctonionExpr(a, RealVal(0), RealVal(0), RealVal(0), RealVal(0), RealVal(0),...
258 просмотров
schedule 23.03.2022

Как запустить файл smtLib с помощью Z3 в Ubuntu?
Например, у меня есть файл smtLib 'encoding.smt'. Теперь я хочу запустить этот файл с помощью z3 (автономный исполняемый файл) с заданным временем ожидания и выделением памяти на машине с Ubuntu. Нравиться : $./z3 encoding.smt 240(sec) 6(GB)...
794 просмотров
schedule 10.04.2022

Чередование квантификаторов в Z3?
с помощью z3py API. Чтение из расширенных примеров . Каждый пример имеет снаружи универсальный квантификатор. Хотел бы использовать чередование кванторов. Например: for_all X существует Y Один пример, который я считаю полезным, это...
420 просмотров
schedule 06.05.2022

Получение доказательства от z3py
Я просматривал документацию Z3Py и для таких, как я, не смог понять, как получить доказательство от решателя (например, если я начну с экземпляра законов Де Моргана, как я могу извлечь доказательство из Z3Py экземпляра, шаг за шагом). Единственная...
1189 просмотров
schedule 29.05.2022

Определение битовых векторов в Z3 с использованием фиксированных символов
Можем ли мы определить наш вход BitVec () в Z3 таким образом, чтобы мы знали часть входных данных, а другую часть мы хотим, чтобы Z3 решал? В качестве примера в приведенном ниже коде я определяю битовый вектор для представления строки из 10...
191 просмотров
schedule 23.06.2022

Есть ли способ получить контекст по умолчанию в Z3?
Я использую z3py API (4.3.0). Я могу легко перевести выражение expr из контекста по умолчанию в новый контекст target_ctx , используя expr.translate(target_ctx) . Но как я могу перевести из заданного контекста ctx в контекст Z3 по умолчанию?...
589 просмотров
schedule 24.06.2022