Symmetry breaking is a crucial technique in modern combinatorial solving, but it is difficult to be sure it is implemented correctly. The most successful approach to deal with bugs is to make solvers certifying, so that they output not just a solution, but also a mathematical proof of correctness in a standard format, which can then be checked by a formally verified checker. This requires justifying symmetry reasoning within the proof, but developing efficient methods for this has remained a long-standing open challenge. A fully general approach was recently proposed by Bogaerts et al. (2023), but it relies on encoding lexicographic orders with big integers, which quickly becomes infeasible for large symmetries. In this work, we develop a method for instead encoding orders with auxiliary variables. We show that this leads to orders-of-magnitude speed-ups in both theory and practice by running experiments on proof logging and checking for SAT symmetry breaking using the state-of-the-art satsuma symmetry breaker and the VeriPB proof checking toolchain.
翻译:对称性破缺是现代组合求解中的关键技术,但难以确保其实现正确性。应对缺陷最成功的方法是使求解器具备认证能力,使其不仅输出解,还能以标准格式提供正确性的数学证明,随后可通过形式化验证的检查器进行核验。这要求在证明中为对称性推理提供依据,但开发高效方法一直是长期存在的开放挑战。Bogaerts等人(2023)最近提出了一种完全通用的方法,但其依赖大整数编码字典序,对于大规模对称性会迅速变得不可行。本工作开发了一种利用辅助变量编码排序的方法。通过在SAT对称性破缺的证明记录与检查中,使用最先进的satsuma对称性破缺工具和VeriPB证明检查工具链进行实验,我们证明该方法在理论和实践中均能实现数量级的速度提升。