gpt4 book ai didi

z3 - 如何从 SAT 模型中仅获取 "true"变量?

转载 作者:行者123 更新时间:2023-12-04 05:27:18 25 4
gpt4 key购买 nike

考虑到我有一个简单的 SMT-lib 公式:

(declare-const a Bool)
(declare-const b Bool)
(declare-const c Bool)
(declare-const d Bool)
(assert (or a b))
(assert (or d c))
(check-sat)
(get-model)

当 SAT 求解器给出模型时。它为所有变量提供真/假值。但我只想要“真”值分配变量。 Z3可以吗??

最佳答案

这是完成此操作的 z3py 脚本。 http://rise4fun.com/Z3Py/fp5k

我认为要与模型交互/遍历模型,您需要使用 API。

a,b,c,d = Bools('a b c d')

s = Solver()

s.add( Or(a, b) )
s.add( Or(c, d) )

s.check()
m = s.model()
print m

for t in m.decls():
if is_true(m[t]):
print t
print m[t]

关于z3 - 如何从 SAT 模型中仅获取 "true"变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13042359/

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