私は、固定長ビットベクトル演算の問題を解決/単純化するために用語書き換えを使用することに焦点を合わせたプロジェクトに取り組んでいます。ビットブラストに基づくもののようないくつかの決定手順への前のステップ。書き換えという用語は、まったく問題を解決するか、そうでなければより簡単な同等の問題を生成する可能性があるため、両方の組み合わせによってかなりのスピードアップが生じる可能性があります。ビットベクトル演算の決定手順での用語書き換えの使用
多くのSMTソルバーがこの戦略(Boolector、Beaver、Alt-Ergo、Z3など)を実装していることを知っていますが、これらの書き換え手順を詳細に記述した論文/技術レポート/ 。一般に、私は著者がいくつかの段落でそのような簡略化のステップを記述した論文しか見つけなかった。ルールの例を提供し、AC書き換えやその他の公理の公理、書き直し戦略の使用などを論じる文書を見つけることを希望します。
今のところ私はちょうどCVC Liteで行われる正規化/簡略化の手順を説明する技術レポートA Decision Procedure for Fixed-Width Bit-Vectorsが見つかりました。このような技術レポートを探したいと思います。私も約Term rewriting in STPのポスターを見つけましたが、それは簡単な要約です。
は、私はすでに、これらのSMTソルバーのウェブサイトを訪問していると私は、現在のバージョンで使用されている私は、任意の参照、またはどのように項書換えのいずれかの説明をいただければ幸いです
...その出版ページで検索しましたよく知られたSMTソルバーの私は特に賢明な簡素化フェーズの1つを持っているように見えるので、Z3に特別に興味があります。例えば、Z3 3. *は新しいビットベクトル決定手続きを導入しましたが、残念ながらそれを記述する論文は見つかりませんでした。
ご回答ありがとうございます。私は数ヶ月前にこの論文を読んでいますが(Z3ウェブサイトの*出版物*セクションで参照されています)、正しく思い出すと、数式が*定量化されていることに由来する困難に重点を置いています。 – iago