z3py

    1

    1답변

    z3py API (4.3.0)를 사용하고 있습니다. 표현식 expr을 기본 컨텍스트에서 expr.translate(target_ctx)을 사용하여 새 컨텍스트 target_ctx으로 쉽게 변환 할 수 있습니다. 그러나 주어진 컨텍스트 ctx에서 기본 Z3 컨텍스트로 어떻게 변환 할 수 있습니까? 파이썬 API에서 기본값 Context을 얻을 수있는 방법이

    6

    1답변

    방정식 펠 x*x - 193 * y*y = 1 z3py에서 을 가지고 방정식을 이해하는 데 도움이 필요 : x = BitVec('x',64) y = BitVec('y',64) solve(x*x - 193 * y*y == 1, x > 0, y > 0) 결과 : [y = 2744248620923429728, x = 8169167793018974721]

    1

    1답변

    다음 프로그램 (89c1785b 커밋) 마스터 자식 지점에서 Z3의 최신 버전을 사용하여 인쇄 할 수없는 Z3 모델 (즉이 print solver.model() 예외를 throw) 생성 x = Int('x') a = Array('a', IntSort(), BoolSort()) b = Array('b', IntSort(), BoolSort()) c =

    2

    1답변

    g = And(ForAll([i, j, k], Implies(And(k <= 0, A * i + B * j + C * k + D <= 0), k + i - j <= 0)),Not(And(A==0,B==0,C==0)))을 만족하는 A, B, C, D의 값을 찾으려고합니다. solve(g)을 사용합니다. 여기에는 많은 가능한 해결책이 있는데, 하나는 A=1,B

    10

    1답변

    Z3 모델에서 실제 파이썬 값을 얻으려면 어떻게해야합니까? 예. p = Bool('p') x = Real('x') s = Solver() s.add(Or(x < 5, x > 10), Or(p, x**2 == 2), Not(p)) s.check() print s.model()[x] print s.model()[p] 인쇄 -1.4142135623

    4

    1답변

    그것은 Z3 파이썬 인터페이스는 ** 연산자를 좋아하지 않는 것 같다, 그것을 해결할 수있는 X * X가 아닌 X ** 2 당신은 아마 버전 4.3을 사용하는 >>> x,y = x,y=Reals('x y') >>> z3.prove(Implies(x -6 == 0,x**2 -36 == 0)) failed to prove [x = 6] >>> z3.pr

    3

    1답변

    두 개의 수식 a1 == a + b과 a1 == b은 a == 0 인 경우에 동일합니다. Z3 python으로이 필요한 조건 (a == 0)을 찾고 싶습니다. from z3 import * def equivalence(F, G): s = Solver() s.add(Not(F == G)) r = s.check() if

    0

    2답변

    문제의 예를 사용하여 거짓말 쟁이/진실 창구 인스턴스 해결 방법 : 거짓말 쟁이는 항상 false입니다 무슨 말을하고, 진실 창구는 항상 진실이 무엇인지 말을한다고 가정합니다. 또한 Amy, Bob, Cal, Dan, Erny 및 Francis가 각각 거짓말 쟁이이거나 진실을 말하는 사람이라고 가정합니다. Amy says, “Bob is a liar.”

    2

    1답변

    저는 Python-API에서 Z3을 사용하고 있습니다. 아주 큰 선형 산술 제약 조건을 설정 중입니다. 그러나 push/pop은 check()이 무한대로 작동하도록합니다. push/pop을 사용하지 않는다면 아무 문제가 없습니다. 하지만 난 그냥 s.check() 전에 어딘가에 s.push() s.pop() 를 삽입 할 때 s.check() 실행 끝

    1

    2답변

    내가 Mac에서 z3py와 이상한 문제를보고하고를 얻을 수없는 사람이 전에 본 경우 궁금 해서요 : $ 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의