使用Datalog输入格式在Z3中的BitVec中计数

时间:2018-07-04 06:48:32

标签: z3 datalog

是否有一种简便的方法来计算使用Datalog输入格式在Z3中的BitVec中设置为1的位数?

$ z3 -h  # most of the lines below omited for clarity
Input format:
  -dl         use parser for Datalog input format.

此问题的当前接受答案:Count ones in BitVec in Z3 with SMT 2 input format指出,没有SMT 2输入格式的好方法。

此问题的当前公认答案:Sum of all the bits in a Bit Vector of Z3显示了如何在Python中执行此操作。

1 个答案:

答案 0 :(得分:0)

对于deployment = deployment + '''(...)'''向量,您可以尝试将以下伪代码转换为SMT:

32 bit

这被称为Bit Twiddling Hack,并已发布到here