2012-02-06 62 views
1

让我解释一下我的问题用一个例子:我可以在Z3中指定解决方案或搜索空间吗?

想,我有可能的离散整数域,例如,-1,0,2,3,5和6 现在,我在寻找一个解决方案(或模型)为变量x,将满足以下约束:

(X> 0)& &(X < 6)& &(X = 3)& &(X> 2)

的答案将是(来自解决方案领域)= 5,对吗?

我该如何在Z3中做到这一点?

也就是说,我想用离散实体定义解空间,然后声明几个约束并要求Z3检查满足性。如果可以满足,那么就需要这个模型。

任何人都可以帮助我的例子吗?

谢谢 --Ishtiaque

回答

2

他断言x == -1 || x == 0 || x == 2 || x == 3 || x == 5 || x == 6作为公理事先应该这样做。我不知道Z3是否内置了更好的方法。

编辑: 另一种解决方案可能是使用一个数组,虽然我以前没有使用它们。从概念上讲它应该是可能的声明包含数字的阵列A,然后说:

(存在(Y智力)(=(选择一个Y)X))`

不知道这是确切的语法,因为我以前没有使用数组,但希望它能工作。

相关问题