z3py

    1

    1答えて

    私はZ3のUOD(ここではリスト)に「正確にN」をエンコードしようとしています。 IはCBMC(C有界モデルチェッカー)で達成するために使用される方法は、私は_Boolよく、それはZ3に単純ではないunsigned int型とちょうど状態B1 == N. // L is the length of the List b1. unsigned int B1 = 0 for i in range(

    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

    0

    2答えて

    z3.Realの行列をZ3に宣言できることは、その要素を個別に宣言することによって(おそらくリスト内包によって)知ることができます。未知のサイズの行列を表現する方法はありますか? は、例えば、次の例を考える:画像フィルタで を、画像IとKがI*Kあるフィルタカーネルとの間の畳み込み、size [X,Y]の画像Iとフィルタカーネルsize [M,N]のK所与。私はZ3がI*K == I*F1*F2の

    2

    1答えて

    以下のz3pyを使用して以下の量子消去の例があります。しかし、SMTLIB構文(Pythonコードの下のコード)を使って書き直したいと思います。どういうわけか私は公式であるPythonから得たものと同じ出力を得られませんでした。誰かが私にこの問題を指摘できるかどうか疑問に思います。 from z3 import * a, five = Ints('a five') cmp = Bool('cmp'

    1

    1答えて

    私はバイナリで隠されたkeygenアルゴリズムのパスワードを調べようとしています。だから、私は、アセンブリから式を抽出し、それを解決するために、小さなPythonスクリプトで(正しく、うまくいけば)翻訳: Traceback (most recent call last): File "./alt.py", line 13, in <module> state[i+1] = (

    1

    1答えて

    使用z3py API。 advanced examplesからの読書すべての例には、普遍的な量量子が外部にあります。量指定子の変更を使用したいと思います。例えば : for_all XがY つが存在する私はそれが便利だと思うのインスタンスは、(すべてのグラフのために...機能が存在する)です。 私はZ3pyでそれを達成できますか?そうでない場合、私は何をすべきですか?ありがとう。

    1

    1答えて

    : import z3 solver = z3.Solver(ctx=z3.Context()) #solver = z3.Solver() Direction = z3.Datatype('Direction') Direction.declare('up') Direction.declare('down') Direction = Direction.create() C

    3

    2答えて

    私はZ3 Pythonインターフェイスを使用して実験用の式を作成しています。私はその数式をZ3ソルバに送ります。私が正しいとすれば、Z3はそれ自身のソルバーを使います! Z3pyで別のSAT/SMTソルバーを使用するにはどうすればよいですか? CBMC(C限定モデルチェッカー)で行う方法:プログラムを実行し、中間のDIMAC表現をファイルに吐出し、そのファイルを他のSATソルバーへの入力として使用

    0

    1答えて

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