有时(或多次)会发生问题如此之大,以至于 Z3 求解器有很多超时。在这种情况下,我认为将问题拆分为更小的子问题会很有好处。
我想专门问一下Theory Plugins
Z3中的问题。
假设我有 3 个变量A,B and C
。我正在为他们每个人分配价值。假设由于我指定的一些约束,分配的值是A=0
和B=1
。现在,根据 的这些值A and B
,C
用另一组方程计算,可能没有编码为约束。在这种情况下,是否可以编写一个理论插件,它会说当A and B
分配某些值时,然后回调某些函数以返回C
.
我在示例目录中看到了一个理论示例,但是对我来说不是很清楚。我也尝试阅读文档。