Свързани въпроси 'z3'
разкриване на разликата между слаби променливи и оригинални променливи в Z3
Опитвам се да създам нов вид изрязване, за да заменя изрязванията на gomory, внедрени в Z3. Проектирах моя разрез да работи с първоначалното ограничение, въведено от потребителя. За съжаление открих, че Z3 предварителната обработка на ограниченията...
175 изгледи
schedule
27.09.2022
издаване на множество (check-sat) повиквания, докато не се върне ненаселено
Бележките по изданието за z3 версия 4.6 споменават нова функция „издаване на множество (check-sat) повиквания, докато не се върне обратно“. Това е еквивалент на ALLSAT? Къде мога да намеря допълнителна документация или пример за тази функция?
62 изгледи
schedule
15.09.2022
Използване на Z3 с паралелизиране от SBV
Бих искал да използвам Z3 чрез SBV, използвайки множество ядра. Въз основа на този отговор трябва да мога да направя това само като предам parallel.enable=true на изпълнимия файл z3 в командния ред. Тъй като използвам SBV, трябва да премина...
95 изгледи
schedule
16.09.2022
Можем ли да ограничим диапазон от стойности за всяка променлива в z3?
Например имам ограничение x + y > 100 . Не искам z3 да ми дава стойности на x да бъдат 1 или 2 и не искам z3 да дава стойности на y също да бъдат 1 или 2.
Така че x и y могат да бъдат произволно число освен 1 или 2.
Можем ли да наложим...
1182 изгледи
schedule
26.09.2022
Грешка в атрибута, z3 няма атрибут Ints
Правя символно изпълнение в Python, използвайки модула z3. В някаква част от кода exec се използва за извикване на извикваща функция z3. Кодовият фрагмент е както следва:
def can_be_satisfied(n):
path = get_path(n)
my_names, path...
666 изгледи
schedule
24.09.2022
Представяне на правила за извод в z3
Четох и обработвах няколко части от документацията и все още не ми е ясно как да представя моите правила за извод в z3.
Да кажем, че имам следните 2 правила за извод:
Толкова ли е просто, че моите z3 правила ще бъдат:
a. (a ^ b) =>...
173 изгледи
schedule
02.10.2022
Z3 статистика: какво измерва времето?
Получавам странни статистически резултати, когато стартирам Z3 3.1 с команда -st опция. Ако натиснете Ctrl-C, Z3 отчита total_time ‹ време. В противен случай, ако изчакате Z3 да завърши: total_time > time.
Какво измерват "общото време" и...
546 изгледи
schedule
24.10.2023
Преобразувайте формулата в CNF
Има ли начин да се използва z3 за преобразуване на формула в CNF (използвайки кодиране в стил Tseitsin)? Търся нещо като командата simplify , но гарантираща, че върнатата формула е CNF.
2941 изгледи
schedule
24.10.2022
съдържа за два комплекта в Z3
Ако искам да проверя дали едно множество има елементи от друго множество също е възможно?
Например (съдържа Set1 Set2):
contains [1,2] [3,5] -> is false
contains [1] [2,3, 1] -> is true
Множествата са крайни. И максималната стойност...
461 изгледи
schedule
30.10.2023
Твърдения за именуване на Microsoft Z3
Трябва да назова някои твърдения в моя модел z3, така че да може да генерира ненаситени ядра.
Мога да направя това ръчно по следния начин:
(assert (! (assertion) :named x))
Просто трябва да го направя с помощта на .NET API директно....
716 изгледи
schedule
18.11.2022
Процедурно прикачване в Z3
Използвам z3py. Имам предикат над две цели числа, които трябва да бъдат оценени с помощта на персонализиран алгоритъм. Опитвах се да го внедря, без особен успех. Очевидно това, от което се нуждая, е процедурно прикачване, което вече е отхвърлено....
121 изгледи
schedule
09.12.2022
Елиминиране на квантификатор - Още въпроси
Много благодаря на Джош и Леонардо за отговора на предишния въпрос.
Имам още няколко въпроса.
‹1> Помислете за друг пример.
(exists k) i * k > = 4 and k > 1.
Това има просто решение i > 0. (както за Int, така и за Real случай)...
2212 изгледи
schedule
15.12.2023
Ускорете z3-solver с правилна тактика
Създавам около 20 хиляди ограничения и на моята машина отнема около 3 минути, за да ги разреши. Имам различни видове ограничения и по-долу давам примери и ги обяснявам. Качих твърденията на http://filebin.ca/vKcV1gvuGG3 .
Интересувам се от...
601 изгледи
schedule
18.12.2023
Деактивиране на въвеждането на функция Skolem в линейно аритметично доказателство
При следния SMT2 скрипт:
(set-option :produce-proofs true)
(set-logic AUFLIRA)
(declare-sort Complex$ 0)
(declare-fun r$ () Real)
(declare-fun s$ () Complex$)
(declare-fun re$ (Complex$) Real)
(declare-fun norm$ (Complex$) Real)
(assert (! (not...
49 изгледи
schedule
10.12.2023
Има ли начин да се използва Z3 за получаване на модели за ограничения, включващи последователности и карти?
Преди време попитах как мога да използвам Z3, за да получа модели за ограничения, включващи набори ( Има ли начин да се използва Z3 за получаване на модели за ограничения, включващи набори? ). За това теорията за разширения масив работи добре в моя...
265 изгледи
schedule
08.01.2024
Z3 C api: променлива тип многомерен масив причинява невалиден резултат
ето контекста на Z3:
(forall ((X (Array Int (Array Int Real))) (i Int) (j Int))
(let ((a!1 (* (- 1) (to_int (select (select X i) j)))))
(= (+ (testArr X i j) a!1) 0))))
това означава:
forall X,i,j. testArr(X,i,j) ==...
55 изгледи
schedule
07.12.2023
Грешка в сегментирането при използване на тактика пар-или
Този smt2 скрипт среща грешка при сегментиране. Проблемът възниква, когато се използва пар-или тактика. Работи и без тази тактика. Използвам z3 4.4.0 на машина "Debian 3.2.60-1+deb7u3 x86_64 GNU/Linux".
70 изгледи
schedule
14.10.2022
Относно теорията на масивите в Z3
Искам да знам дали мога да накарам Z3 да "запомни" актуализацията на масив.
Например следният вход е удовлетворителен:
(declare-const x Int)
(declare-const a1 (Array Int Int))
(assert (= (select (store a1 x 2) x) 2))
(assert (not (= (select a1...
960 изгледи
schedule
20.01.2024
Как мога да проверя дали булев израз е буквално TRUE или FALSE?
Създадох следната програма:
context c;
expr x = c.int_val(1);
expr y = c.int_val(2);
expr b = (x > y).simplify();
std::cout << "b = " << b << "\n";
Резултатът каза, че b = невярно. Но как мога да проверя дали b е...
52 изгледи
schedule
14.01.2024
получаване на неизвестен резултат с тривиално forall
Използвам th z3 C++ API. ако създам този прост фалшив израз:
z3::expr x = C->int_const("x");
z3::expr p = z3::forall(x, x==0);
и се опитвам да реша, получавам неизвестен резултат. Не съм експерт по стратегии и тактики, но съм сигурен, че...
256 изгледи
schedule
25.01.2024