z3

    0

    1答えて

    最小の例は次のとおりです。可能な整数の集合[1, 2, 3]が与えられ、z3pyを使用して任意のサイズのリスト5を作成します。重複が許されます。 期待される結果が はどのようにこの問題に取り組むために、どのように「を選択」を実装するなど [1, 1, 1, 1, 1]または [3, 1, 2, 2, 3]のようなものでしょうか?最後に、 linkで説明されているように、制約を追加することですべての

    0

    1答えて

    Pythonでz3でいくつかのCプログラムを分析しようとしていて、ポインタに問題がありました。 float * buffer = (float*)malloc(5*sizeof(float)) 私はそう*bufferはReal()あるべきBitVec(32)値 としてバッファ解釈:私のような条件で働いています。 それは大丈夫でなければなりませんが、私はプログラムヒープをエンコードするために *

    2

    2答えて

    この例の後に(ここでは:z3py)、私はcを次のように比較できます。 Color.green。私のpython-文字列に cを比較する必要が自分のアプリケーションで Color = Datatype('Color') Color.declare('red') Color.declare('green') Color.declare('blue') Color = Color.create(

    0

    1答えて

    (∀i(0≤i<k→a[i]>0)∧a[k]>0)→∀i(0≤i≤k→a[i]>0)をz3で証明したい。否定は:∀i(0≤i<k→a[i]>0)∧a[k]>0∧∃i(0≤i≤k∧¬(a[i]>0))です。まず、私は5にkの値を設定し、一部a[k]>0を無視して、試してみてください。 from z3 import * i = Int('i')` a = Array('a',IntSort(),I

    0

    1答えて

    このスクリプト from z3 import * solver = z3.Solver() x = Int('x') def f(y): return y+y solver.add(x >= 0, x < 10, Exists(x, f(x) == 4)) print solver.check() print solver.model() は私の答えとして sat [x

    0

    1答えて

    私はいくつかのドキュメントを読んで作業していますが、z3の推論ルールをどのように表現するかはまだ不明です。 はのは、私は、次の2つの推論規則があるとしましょう: : は、それは私のZ3規則がされるようにシンプルです。 (a^b) => c b。 (a^b) => c または、もっと正確だと思いますが、データ型(レコード、スカラーなど)を宣言する必要があります。 そこから、Javaの実装は、ドキュメ

    0

    1答えて

    私はZ3 .Net APIを使用しています。私はすべての満足のいくモデルを作成したいという単純なコードを持っています。コードは次のようにされています Model resultModel = pSolver.Model; Console.WriteLine("x = {0}, y = {1}", resultModel.Evaluate(pX), resul

    0

    1答えて

    私はBitVecがz3でどのように機能するのか分かりません。この範囲内と外の値があるので、私は、これは「UNSAT」であることをことを期待 >>> import z3 >>> s = z3.Solver() >>> a = z3.BitVec("a", 32) >>> s.add(z3.ForAll(a, z3.Not(z3.And(a > 2147483647, a < 214748467

    1

    1答えて

    熱心なSMTソルバでは、SMT式は、同等のブール式としてエンコードされ、SATソルバに供給されます。通常、QF_UFの式では、未知の関数はAckermannの減少またはブライアントの減少によって減少し、等値グラフの手法によって等価ブール式が構築されます。 ソルバの低レベルの実装をハックすることなく、QF_UFの公式で同等のブール式を得るために既存のSMTソルバを呼び出すことが可能かどうかを知りたい