【发布时间】:2012-08-10 16:23:07
【问题描述】:
函数声明有什么限制吗?
比如这段代码返回unsat。
from z3 import *
def one_op (op, arg1, arg2):
if op==1:
return arg1*arg2
if op==2:
return arg1-arg2
if op==3:
return arg1+arg2
return arg1+arg2 # default
s=Solver()
arg1, arg2, result, unk_op=Ints ('arg1 arg2 result unk_op')
s.add (unk_op>=1, unk_op<=3)
s.add (arg1==1)
s.add (arg2==2)
s.add (result==3)
s.add (one_op(unk_op, arg1, arg2)==result)
print s.check()
Z3Py 如何解释声明的函数?它只是偶尔调用它还是这里也有一些隐藏的机器?
【问题讨论】: