出于与此处所述相同的原因(用户定义的未解释函数),我想定义自己的未解释函数
bvredxnor() :对给定位向量的位进行异或。
如果我按照此处给出的示例(使用 C API 的通用量词示例),我不知道为我的函数的参数提供什么类型(位向量)
我可以创建一个给定长度的位向量,但我想为任何长度的位向量创建它。
查看 C API 中可用的位向量函数,我注意到所有参数的类型都是 Z3_ast,所以我想我可以使用相同的泛型类型。但是API中没有生成Z3_ast排序的函数......(写这个我觉得我正在触及类型和排序之间的区别,但仍然有点不清楚)
是使用未解释排序的解决方案吗?如果是这样,那么在这样做时,我不会通过过度扩大类型来降低模型的一些精度,而这个人工制品仅用于调试目的?我的意思是,如果我将此函数应用于位向量,这会起作用吗?
先感谢您,
AG。