z3

    0

    2답변

    저는 z3을 C++ 라이브러리로 사용하고 있습니다. 내 현재 프로그래밍 프로젝트에서 부울 수식을 가지고 있는데 z3을 사용하여 단순화했습니다. 내 프로젝트에서 단순화 된 방정식을 사용하려면 lhs, rhs 및 단순화 된 방정식의 연산이 필요합니다. 예를 들면 : -> X expression.arg(0) 식 (엑스 == 3) & & (X < 5) (X =

    1

    2답변

    다음 제약 조건을 풀고 싶다고 가정합니다. y == max(x, 0). 내가 생각할 수있는 것은 다음을 인코딩하는 것입니다 (z3py 인터페이스에서) : If(x > 0, y == x, y == 0). 내 질문을했다 : x > 0 /\ y == x 및 x <= 0 /\ y == 0을 다음 두 제약 조건 중 하나가 만족할 될 때 또는 그 반환 토 취 는 Z3

    1

    2답변

    Z3 최적화 프로그램을 사용하여 그래프 분할 문제를 해결하려고 할 때 문제가 있습니다. 나는 minimize 명령을 제거하면 namespace z3 { expr ite(context& con, expr cond, expr then_, expr else_) { return to_expr(con, Z3_mk_ite(con, cond, the

    1

    1답변

    사각형과 관련된 문제를 최소화하기 위해 z3을 사용하는 것이 좋습니다. 나는 (파이썬 3 z3opt)이 간단한 예제를 작성할 때 : unknown (incomplete (theory arithmetic)) -1*oo [b = 0, cost = 30, a = 3] 내가 잘못된 방법으로 문제를 정의하고 있는가 또는이 고유 제한 사항입니다 :는 from

    1

    1답변

    내가 근무하는 회사에서 여러 SAT 솔버에 액세스 할 수 있습니다. 각 SAT 솔버가 Z3 SMT 솔버의 성능에 어떤 영향을 주는지 분석하고 싶습니다. Z3에서 외부 SAT 솔버를 호출 할 수 있습니까? 그렇지 않은 경우 외부 솔버를 호출하도록 Z3을 수정해야합니까?

    1

    1답변

    제 연구에 z3을 사용하고 있으며 다음과 같은 문제가 있습니다. 배열을 포함하는 만족스러운 수식의 모델을 분석 중이지만 모델 결과를 이해하지 못합니다. 예를 들어, 두 변수 'pkgcounter'와 'rxlen'과 두 개의 명제 p1과 p2가 있습니다. 제 목표는 두 가지 명제를 모두 만족시키는 모델이 있는지 알아 보는 것입니다. [! -> 0] = [다른

    0

    1답변

    나는 풀 수있는 선형 실수 산술 제약 조건을 가지고 있으며,이를 점차적으로 솔버에 제공하고 있습니다. Z3은 항상 잠시 후에 붙어있는 것 같습니다. Z3은 내부적으로 제약 조건을 해결하는 전략을 변경합니다 (예 : 단방향 알고리즘에서 벗어나 다른 알고리즘을 시도하는 등). 그렇지 않으면 명시 적으로 Z3에 지시해야합니까? 나는 Z3py를 사용하고있다.

    3

    1답변

    2 가지 기능으로 혼란 스럽습니다. 그들은 서로 비슷한 인수를 취하는 것처럼 보이고 (서로 직접적으로 변환 가능), 각각은 AST를 반환합니다. 함수가 똑같은 일을합니까? 그렇지 않은 경우 각각 언제 필요합니까? 2의 서명 : Z3_ast Z3_mk_forall (Z3_context c, unsigned weight, uns

    0

    1답변

    저는 Z3을 처음 사용합니다. 나는 bool 유형 변수 a를 정의합니다. Z3_sort bool_type = Z3_mk_bool_sort (ctx); Z3_ast a = Z3_mk_const (ctx, Z3_mk_string_symbol (ctx, "a"), bool_type); 제 질문은 어떻게 다른 값을 할당 할 수 있습니까? Z3_L_TRUE를 직접

    0

    1답변

    아래의 문제에 대한 해결책이 있지만 z3에 UNSAT이 나와 있습니다. (set-logic QF_UFNRA) (declare-fun a() Real) (declare-fun b() Real) (declare-fun c() Real) (declare-fun d() Real) (declare-fun e() Real) (declare-fun f() R