通过已经定义的z3py访问函数

时间:2014-12-15 12:13:55

标签: z3 z3py

有没有人知道是否有通过z3py与某个功能进行交互的方法,我已经在Z3中定义并使用parse_smt2_string进行解析?我是Z3和python以及Z3Py的新手如果这很明显就道歉,但到目前为止我还没有找到任何类似的问题......

我尝试了以下形式:



original = """ 
(define-fun MyFun () Real 
....
)
"""

f = parse_smt2_string (original) 
s = Solver() 
s.add(f) 
MyFun = Function('MyFun')
s.push()
s.add(MyFun <= 0.4)
s.check()
s.pop()

s.push()
s.add(MyFun >= 0.8)
s.check()
s.pop()
&#13;
&#13;
&#13;

但是如果我将断言添加到我正在解析的Z3字符串中,这会返回不同的结果。我认为这是因为它没有意识到python中的MyFun与字符串中的相同。所以我可能错误地定义了这个功能,但我无法弄清楚我做错了什么。我也试过MyFun = Function('MyFun', RealSort()),但那不起作用......

有人可以帮帮我吗? :)

0 个答案:

没有答案