z3

    1зной

    1ответ

    Я использую th z3 C++ API. если я создаю это простое ложное выражение: z3::expr x = C->int_const("x"); z3::expr p = z3::forall(x, x==0); и попытаться решить, я получаю неизвестный результат. Я не с

    0зной

    1ответ

    Я пытаюсь моделировать доступ к памяти с помощью теории массивов. У меня есть простой код, как показано ниже (Z3 питона) Mem = Array('Mem', BitVecSort(32), BitVecSort(32)) F = True tmp = BitVec('tm

    0зной

    1ответ

    Добрый запрос не отвечает, если вы не знаете о Z3 solver.i, отправил эти вопросы ранее, некоторые ответы, как, например, как реализовать массив в C. Есть люди, которые разработали Z3 решатель на этом

    2зной

    1ответ

    Мне нужно указать некоторые утверждения в моей модели z3, чтобы он мог генерировать unsat core. Я могу сделать это вручную, как это: (assert (! (assertion) :named x)) Мне просто нужно, чтобы сделать

    1зной

    1ответ

    Существует набор из 4 формул, как эти x - y < 2x - y > 2 x> 3 y < 4. Когда первая формула стирается, можно найти модель x=4 y=-1. Как я могу заменить x и y на 4 и -1 на первую формулу, используя z3 (a

    0зной

    1ответ

    небольшого примера подготовлен ниже: (declare-datatypes() ((Type1 a b c d e g h i f k l m n o p q r s t u v w z))) (declare-const x Type1) (declare-const y Type1) (assert (and (= y x) (or (and (not

    0зной

    1ответ

    Я использовал * Z3_parse_smtlib2_file (с, Z3_string, 0,0,0, num_decl, & decl_names, & decls) *, чтобы попытаться получить переменных и количества переменных. Но значение * num_decl * все равно равно н