問題タブ [smt]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
z3 - 「二重矢印」=>は本当に「含意」を意味しますか?
する
常に同じことを意味する
?
私のモデルでは、2 つの式の動作が異なります。=>を使用するとUNSATが得られますが、他のバリアントを使用しても結果は得られません ( timeout )。演算子とその意味のリストがあれば満足です。SMTLIB 標準については知っていますが、ドキュメントでは演算子の意味について明示的に説明されていません。具体的には、' => ' は、三項式で使用される場合、' ite ' (if_then_else) 演算子のエイリアスとしても機能するようで、私はそれについてかなり混乱しています。
関連する場合は、 AUFLIAロジックを設定します。
最初に単純な「はい」または「いいえ」の答えを探しています。そして、SMT2 に関する適切なドキュメント (本かもしれません) が 2 番目です。
ダニエル・ジャクソンのマークスイープ・モデルから生成されたこのかなり大きなモデルを持っています。自分で見てみたい人のために、alloy4 用です。
solver - モード認識論理のソルバー
モーダル認識論理 (別名、知識の論理) 用の (SMT のような) ソルバーはありますか?
私は(命題だけでなく)ファーストオーダーのケースが必要です。
z3 - 一次微分方程式を一次式としてエンコードする
誰かが、SMTソルバーへの入力として与えるために、一次式を使用して次の方程式の最良のエンコードが何であるかを指摘するのを手伝ってもらえますか?
z3 - 固定小数点をサポートするSMTツール
フィックスポイントをサポートするZ3以外のsmtツールがあることを知っていますか?
z3 - 配列と数量詞
特定のテキスト内の部分文字列を見つけるために、Z3 で配列と量指定子を使用しようとしています。
私のコードは次のとおりです。
Z3 は、それが SAT であってはならないときに、SAT であると言います。私は Z3 と SMT 理論にかなり慣れていないので、自分のコードの何が問題なのかわかりません。
z3 - z3を使用して変数を非表示にする結果を単純化する方法は?
いくつかの変数を非表示にして、簡略化された結果を取得したいと思います。
私は隠したいc1
、c2
そしてd
次のように:
ただし、結果は複雑に見えますが、実際には、結果は次のようになります。以前はコードv2>=5.0 & v1<= v2+5.0
を使用していました。(apply ctx-solver-simplify)
ただし、applyを追加すると、エラーが発生し、スクリプトが機能しなくなります。誰かが私がそれを修正するのを手伝ってもらえますか?
c# - Z3で.netAPIを使用してelim-quantifiersを使用する方法は?
.net apiが見つかりません(elim-quantifiers (exists ((x Int)) (and (< t1 x) (< x t2))))
。それは戦術ですか?誰かがZ3の.netAPIを使用して次のスクリプトを実装するのを手伝ってもらえますか?
z3 - 文字列Containsメソッドをシミュレートする式を実装します
String.Containts関数を実装しようとしています。いくつかの簡単なテストケースを作成しましたが、次のテストケース(UNSATを返す必要があります)はSATを返します。
テストでは、可能なすべてのサブ文字列を必要な文字列(Z3出力から取得したテキスト)と比較することにより、文字列'abcd'のサブ文字列'bd'を一致させようとします。
いろいろな実装を試みましたが、うまくいきませんでした。
z3 - Z3は、「AUFLIA-p」セクションのsmtComp結果にユーザー提供のパターンを使用しましたか?
私はいくつかの単純化の一般性をテストしています(主に:有向部分数量詞のインスタンス化)。したがって、単純化の有無にかかわらず、smtCompの「AUFLIA-p」セクションでベンチマークのコレクションを実行しました。副作用をできるだけ少なくするために、(ユーザー提供の)パターンなしでZ3を実行することに興味があります。
「AUFLIA-p」セクションでいくつかのベンチマークを調べましたが、なぜこのセクションのベンチマークにパターンが含まれているのか疑問に思います。パターンを無効にするオプションを使用して、このセクションでZ3を実行した可能性があります。最近、いくつかのベンチマークからパターンを削除したところ、劇的なパフォーマンスの低下が見られました。
質問:
「AUFLIA-p」セクションと「AUFLIA + p」セクションに違いはありますか?
(ユーザー提供の)パターンを無視するようにZ3に指示するにはどうすればよいですか?
よろしく、
Aboubakr Achraf El Ghazi
z3 - SAT/SMT ソルバーでの変数の削除
SMT/SAT の解法で、数式から無関係な変数を決定する手法はありますか? つまり、任意の値を持つことができ、式の充足可能性に影響を与えないものです。