Z3中的变量选择

时间:2016-02-13 12:08:11

标签: z3

有没有办法在sat_solver.cppsolver::next_var)或smt_case_split_queue.cpp({{}中查找变量名称(或转换后的中间变量名称)与其代表号码之间的映射1}})?我知道这不是直截了当的,但有人可以给我一些提示吗? 提前谢谢。

1 个答案:

答案 0 :(得分:1)

是的,这是可能的,但可能还有很多工作要做。该公式在到达SAT求解器之前经历了多次变换。它们中的每一个都有自己的映射(如果它们引入/删除变量),因此获取最后完成的映射可能无法到达您想要的位置。

您正在寻找的映射很可能是atom2bool_var,但这些布尔变量(最有可能)是在bit-blaster中引入的,它具有自己的模型转换器,可将这些转换器转换回位向量变量如bit_blaster_model_converter.cpp中所示。