什么是c++;DPLL算法回溯树的文件和方法? 我试图找到Z3的C++文件,如果它找不到当前分支上的解决方案,算法会回溯。我已经浏览了所有的文件,并在python文件上尝试了调试模式,但到目前为止运气不好。我只想向该方法添加一个print语句,这样我就可以知道它何时返回到前一个节点并尝试一个新路径

什么是c++;DPLL算法回溯树的文件和方法? 我试图找到Z3的C++文件,如果它找不到当前分支上的解决方案,算法会回溯。我已经浏览了所有的文件,并在python文件上尝试了调试模式,但到目前为止运气不好。我只想向该方法添加一个print语句,这样我就可以知道它何时返回到前一个节点并尝试一个新路径,z3,dpll,Z3,Dpll,谢谢 这取决于Z3用于解决您的问题的解算器。它通常在src/smt中使用smt_context.cpp。可以在context::pop_scope方法中跟踪相关的反向跳转。其他解算器也存在:src/sat/sat_解算器用于位向量和布尔问题。它有一个类似的pop方法。最后,nlsat用于实数上的非线性多项式算法 对于example.py文件,它将使用哪个解算器?可以插入一个简单的printf(“测试”)吗?

谢谢

这取决于Z3用于解决您的问题的解算器。它通常在src/smt中使用smt_context.cpp。可以在context::pop_scope方法中跟踪相关的反向跳转。其他解算器也存在:src/sat/sat_解算器用于位向量和布尔问题。它有一个类似的pop方法。最后,nlsat用于实数上的非线性多项式算法

对于example.py文件,它将使用哪个解算器?可以插入一个简单的printf(“测试”)吗?