给定 Z3 中的一组约束(断言),我想知道检查我已经拥有的模型是否满足这些断言的最有效方法是什么。该模型是从类似的一组约束中获得的。我需要一个是/否的答案,而不是像为 Z3 指定初始模型值那样的软约束。
我正在使用 Z3 3.2 的 x64 版本在 Windows 7 x64 上使用 C# API 对位向量进行操作。我通过实例化多个 Z3Context
对象来实现多线程,每个线程一个。由于缺乏对多线程的支持,我没有使用 Z3 4.0。
我目前的方法只是将模型断言为一组额外的约束Context.AssertCnstr(Term)
,然后简单地调用Context.Check()
.