ときどき (または多くの場合)、問題が大きすぎて Z3 ソルバーで多くのタイムアウトが発生することがあります。そのような場合、問題をより小さなサブ問題に分割すると有益であると思います。
Theory Plugins
Z3の について具体的にお聞きしたいです。
3 つの変数があるとしますA,B and C
。そして、それぞれに値を割り当てています。私が指定したいくつかの制約により、割り当てられる値がA=0
と であるとしB=1
ます。現在、 のこれらの値に応じてA and B
、C
はおそらく制約としてエンコードされていない別の一連の方程式で計算されます。その場合、A and B
特定の値が割り当てられたときに、いくつかの関数にコールバックして の値を返すという理論プラグインを作成することは可能ですかC
?
examples ディレクトリで理論的な例を見ましたが、あまり明確ではありません。また、ドキュメントを読んでみました。