smt

    6

    2答えて

    私は、固定長ビットベクトル演算の問題を解決/単純化するために用語書き換えを使用することに焦点を合わせたプロジェクトに取り組んでいます。ビットブラストに基づくもののようないくつかの決定手順への前のステップ。書き換えという用語は、まったく問題を解決するか、そうでなければより簡単な同等の問題を生成する可能性があるため、両方の組み合わせによってかなりのスピードアップが生じる可能性があります。 多くのSMT

    3

    2答えて

    私はZ3を使って有界モデルチェッカーを構築しています。完全性テストを実装しようとすると、私は奇妙なパフォーマンスの問題に遭遇しています。完全性テストでは、すべてのパスに各状態が最大で1回だけ含まれていることを確認する必要があります。このプロパティを満たすパスがまだ存在する場合、Z3は迅速に答えますが、すべてのパスが考慮されている場合、Z3は指数関数的に遅いようです。 (パスの長さに応じて)これが実

    4

    1答えて

    私は再帰関数を含むa Z3 tutorialの例のいくつかを試しています。私は次の例を試しました。 Fibonacci(セクション8.3) IsNat(セクション8.3) Inductive(セクション10.5) Z3タイムアウト上記実施例の全てに。しかし、このチュートリアルでは、Inductiveだけが終了していないことを暗示しているようです。 Z3は、再帰関数を含む数式の充足可能性をチェックで

    1

    1答えて

    my Z3 programに次の規則を使用して、sに、並べ替えSの唯一の可能な値を設定しています。 Z3: ERROR: WARNING: failed to find a pattern for quantifier (quantifier id: k!8) 特定の種類のドメインは単一の値のみを持っていることを確認するための正しい方法は何ですか? (assert (forall ((t S)

    8

    1答えて

    私は部分文字列について推論するためにZ3を使用しようとしており、非直感的な振る舞いに遭遇しました。 Z3は、 'xy'が 'xy'内に現れるかどうかを尋ねられたとき 'sat'を返しますが、 'x'が 'x'であるか 'x'が 'xy'であるかを尋ねられたら 'unknown'を返します。 私は、この動作を説明するために、次のコードにコメントしました:これで問題が設定されていることを、我々はサブス