【发布时间】:2012-05-06 23:13:05
【问题描述】:
出于与此处所述相同的原因 (user defined uninterpreted function),我想定义自己的未解释函数
bvredxnor() :对给定位向量的位进行 xnor。
如果我按照此处给出的示例 (example of universal quantifiers with C API) 我不知道要为我的函数的参数提供什么类型(位向量)
我可以创建一个给定长度的位向量,但我希望它用于任何长度的位向量。
查看 C API 中可用的位向量函数,我注意到所有参数的类型都是 Z3_ast,所以我想我可以使用相同的泛型类型。但是API中没有生成Z3_ast排序的函数......(写这个我感觉我在触摸类型和排序之间的区别,但还是有点不清楚)
是使用未解释排序的解决方案吗?如果是这样,那么在这样做时,我不会通过过度扩大类型来降低模型的精度,而这个人工制品仅用于调试目的吗?我的意思是,如果我将此函数应用于位向量,这会起作用吗?
提前谢谢你,
AG。
【问题讨论】:
-
我终于找到了这里描述的解决方案:stackoverflow.com/questions/7740556/…
标签: z3