1

这是一个简单的位向量问题:

import z3

s = z3.Tactic('bv').solver()
m = z3.Function('m', z3.BitVecSort(32), z3.BitVecSort(32))
a, b = z3.BitVecs('a b', 32)

axioms = [
    a == m(12432),
    z3.Not(a == b)
]

s.add(axioms)
print(s.check())

Python 崩溃并显示错误代码 139。请注意,这不是我真正的问题,所以我必须smt在我的项目中使用位向量策略,尽管它在策略甚至策略上没有任何问题qfbv

4

1 回答 1

0

这似乎是 4.4.0 中的一个错误。使用 4.4.0 和 Ubuntu 16.04 LTS 和 Python 2.7,您可以重现该问题。但是在较新版本的 Z3 中,它已被修复。我尝试了 4.4.2 并返回sat.

https://github.com/Z3Prover/z3/issues/685

于 2016-07-18T18:29:37.037 回答