有没有办法在sat_solver.cpp
(solver::next_var
)或smt_case_split_queue.cpp
({{}中查找变量名称(或转换后的中间变量名称)与其代表号码之间的映射1}})?我知道这不是直截了当的,但有人可以给我一些提示吗?
提前谢谢。
答案 0 :(得分:1)
是的,这是可能的,但可能还有很多工作要做。该公式在到达SAT求解器之前经历了多次变换。它们中的每一个都有自己的映射(如果它们引入/删除变量),因此获取最后完成的映射可能无法到达您想要的位置。
您正在寻找的映射很可能是atom2bool_var,但这些布尔变量(最有可能)是在bit-blaster中引入的,它具有自己的模型转换器,可将这些转换器转换回位向量变量如bit_blaster_model_converter.cpp中所示。