将整数运算与布尔值混合 - Z3证明器

时间:2017-03-22 10:50:53

标签: c++ z3

在阅读此问题之前,请考虑将其用于Z3求解器工具及其c ++ api(所有内容都已重新定义,因此它不是正常的c ++语法)

有人可以解释如何将布尔逻辑与整数混合(编程明智)? 例如:

y =  (x > 10 and x < 100) //y hsould be true or false (boolean)
z =  (y == true and k > 20 and k < 200)
m =  (z or w) //suppose w takes true of false (boolean)

我尝试了c ++文件中给出的示例,但是在混合整数算术和布尔值时,我无法弄清楚它是如何工作的。

1 个答案:

答案 0 :(得分:0)

假设您是c ++的初学者,写答案。

可能你正在寻找这个。

bool y,z,m,w;
int x, k; 
y = (x>10 && x<100);  
z = (y == true && k > 20 && k < 200);
m = (z || w);

让我们看看这条线的含义:     y =(x> 10&amp;&amp; x&lt; 100);

此处如果x大于10 x>10结果true。如果x小于100 x<100结果true,则同样如此。如果它们都是true,则右侧结果为true,将分配给y||表示或。