【发布时间】:2018-09-24 19:40:12
【问题描述】:
我想知道应该为我的 z3 应用程序使用什么数据类型。我的理解是,类似整数数组的数据结构的唯一选择是 Array(IntSort(), IntSort()) 和 IntVector()。
我认为数组过于矫枉过正的原因:每个数组元素只写一次,我没有像Store((Store(X, y, z1)), y, z2) 那样做任何事情。此外,每个数组的预定义长度为
我认为 BitVectors 不起作用的原因:我想使用 Int 变量来索引数组。例如,我可能有z = Int('z'),一些约束z 的子句,然后是Or(arr[z] == 2, arr[z + 1] == 2)。在玩弄 z3 并阅读之后,我的理解是向量不支持这一点。
有没有一种方法可以在不必使用昂贵的数组操作的情况下获得变量索引的强大功能?
【问题讨论】: