gpt4 book ai didi

Z3py:如何从公式中获取变量列表?

转载 作者:行者123 更新时间:2023-12-04 14:47:19 26 4
gpt4 key购买 nike

在 Z3Py 中,我有一个公式。如何检索公式中使用的变量列表?

谢谢。

最佳答案

Vu Nguyen 为 Z3Py 贡献了几个有用的程序。
他执行了一个程序get_vars收集使用过的变量列表。
此程序和许多其他程序可以在 here 中找到.
他的贡献将在下一个正式版本中提供。
这是get_vars的一个版本可以在 rise4fun 在线执行.

# Wrapper for allowing Z3 ASTs to be stored into Python Hashtables. 
class AstRefKey:
def __init__(self, n):
self.n = n
def __hash__(self):
return self.n.hash()
def __eq__(self, other):
return self.n.eq(other.n)
def __repr__(self):
return str(self.n)

def askey(n):
assert isinstance(n, AstRef)
return AstRefKey(n)

def get_vars(f):
r = set()
def collect(f):
if is_const(f):
if f.decl().kind() == Z3_OP_UNINTERPRETED and not askey(f) in r:
r.add(askey(f))
else:
for c in f.children():
collect(c)
collect(f)
return r

x,y = Ints('x y')
a,b = Bools('a b')
print get_vars(Implies(And(x + y == 0, x*2 == 10),Or(a, Implies(a, b == False))))

关于Z3py:如何从公式中获取变量列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14080398/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com