Faster Certified Symmetry Breaking Using Orders With Auxiliary Variables
Markus Anders, Bart Bogaerts, Benjamin Bogø, Arthur Gontier, Wietze Koops, Ciaran McCreesh, Magnus O. Myreen, Jakob Nordström, Andy Oertel, Adrian Rebola-Pardo, Yong Kiam Tan
TL;DR
The paper tackles the challenge of certifying symmetry-breaking reasoning in SAT solvers, where prior approaches encoded lexicographic orders with large integer coefficients, hindering proof logging and checking for large symmetries. It introduces encoding orders with auxiliary variables and a redesigned VeriPB-based proof system that uses a specification over these auxiliaries to maintain implicational proofs, enabling dominance- and redundance-based strengthening to certify symmetry-breaking constraints. The authors demonstrate asymptotic improvements (at least a linear factor in the order size $n$) and validate the approach through an end-to-end, formally verified toolchain comprising satsuma for generation and VeriPB/CakePB for checking. Experimental results show orders-of-magnitude improvements in proof logging and checking, with the new method outperforming the previous approach on crafted benchmarks and real SAT competition data, while incurring only modest overhead. This work considerably enhances the practicality of certified symmetry breaking for large-scale problems, paving the way for dynamic and conditional symmetry techniques in the future.
Abstract
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.
