是否可以在 z3Py 中转换BoolRef为一位长?BitVecRef在我的设计中,要求 aBitVecRef从两个其他的比较中返回BitVecRef。这类似于将 pythonbool转换为int. 以下是它的使用示例:
bv1, bv2, added = z3.BitVecs('bv1 bv2 added', 4)
res = z3.BitVec('res', 1)
s = z3.Solver()
s.add(res == (bv1 < bv2))
s.add(added == added + z3.ZeroExt(3, res))
这将是理想的,但(bv1 < bv2)is的类型Boolref,它会引发“排序不匹配”错误。有没有办法将结果转换为可以(bv1 < bv2)断言res等于它的结果?