我正在尝试为Z3找到c ++文件,如果它无法在当前分支上找到解决方案,则会回溯该算法。我一直在查看所有文件,并尝试在python文件上调试模式,但到目前为止没有运气。我只是想在方法中添加一个print语句,所以我可以告诉它何时返回上一个节点并尝试新的路径。
谢谢!
答案 0 :(得分:1)
这取决于Z3使用哪个解算器来解决您的问题。它通常在src / smt中使用smt_context.cpp。可以在context :: pop_scope方法中跟踪相关的backjump。其他求解器也存在:src / sat / sat_solver用于位向量和布尔问题。它有一个类似的流行方法。最后,nlsat用于实数上的非线性多项式算术。