ここで説明したのと同じ理由で (ユーザー定義の未解釈関数)、独自の未解釈関数を定義したい
bvredxnor() : 指定されたビットベクトルのビットに対する xnor。
ここに示されている例 ( C API を使用したユニバーサル量指定子の例) に従うと、関数 (ビットベクトル) の引数にどのような種類を指定すればよいかわかりません。
指定された長さのビットベクトルの並べ替えを作成できましたが、任意の長さのビットベクトルに使用したいと考えています。
C API で利用可能なビットベクター関数を調べたところ、すべての引数の型が Z3_ast であることがわかったので、同じジェネリック型を使用できると考えていました。しかし、APIにはZ3_astソートを生成する関数はありません...(これを書いていると、タイプとソートの違いに触れているように感じますが、まだ少し不明です)
解釈されないソートを使用する解決策はありますか? もしそうなら、それを行う際に、型を大きくしすぎてモデルの精度をいくらか失うことはありませんか?このアーティファクトはデバッグ目的でのみ使用できますか? つまり、この関数をビットベクトルに適用すると、これは機能しますか?
前もって感謝します、
AG。