Python z3py中的if断言

Python z3py中的if断言,python,validation,z3,z3py,Python,Validation,Z3,Z3py,我是z3py的新用户。我需要写一个程序来检查一些规则的满意度,比如 IF room.temp < 18 THEN room.fireplace = on IF room.temp > 24 THEN room.fireplace = off IF room.CO > 180 THEN room.fireplace = off IF room.temp > 28 THEN house.hvac = off IF house.hvac == on THEN

我是z3py的新用户。我需要写一个程序来检查一些规则的满意度,比如

IF room.temp < 18 THEN room.fireplace = on  
IF room.temp > 24 THEN room.fireplace = off  
IF room.CO > 180  THEN room.fireplace = off  
IF room.temp > 28 THEN house.hvac = off  
IF house.hvac == on THEN room.fireplace = off
如果房间温度<18,则房间壁炉=打开
如果房间温度>24,则房间壁炉=关闭
如果room.CO>180,则room.fireplace=关闭
如果室温>28,则house.hvac=关闭
如果house.hvac==打开,则room.fireflace=关闭
还有这个怎么写

bedroom.occupancy  ==  true  and  bedroom.env_brightness  <=  31.5 and  bedroom.light.switch = on

doomy.occulation==true和doomy.env_亮度您需要一个Z3 If-then-else,它可以使用Z3中的
If
来定义

>>> x = Int('x')
>>> y = Int('y')
>>> max = If(x>y, x, y)
>>> max
If(x > y, x, y)
要定义多个约束,可以使用

>>> max = If(And(x>y, x!=0), x, y)
>>> max
If(And(x > y, x != 0), x, y)
>>> simplify(max)
If(And(Not(x <= y), Not(x == 0)), x, y)
>>max=If(和(x>y,x!=0),x,y)
>>>马克斯
如果(和(x>y,x!=0),x,y)
>>>简化(最大值)

如果(和)(不)(x)谢谢你的回答。但是我如何使用solver对象来创建约束,并检查在某些策略“条件”下这些约束是否满足。这在solver中也非常有效。请看。我正在打电话,这就是我能找到的所有内容。