Certified First-Order Model Expansion
ERC Consolidator Grant 2024-2029
I'm always looking for motivated and talented researchers in combinatorial optimization to join the fascinating CertiFOX project. Currently, there are no official vacancies, but if you are interested in doing a PhD or PostDoc on this project, get in touch! Also, if you are interested in visiting our lab for a short period of time, contact Prof. Bogaerts.
The field of combinatorial optimization is concerned with developing generic tools that take a declarative problem description and automatically compute an optimal solution to it. Often, users specify their problem in a high-level, human-understandable formal language. This specification is first translated into a low-level specification a solver understands and subsequently solved. Thanks to tremendous progress in solving technology, we can now solve a wide variety of NP-hard (or worse) problems in practice. Moreover, these tools are increasingly used in real-life applications, including high-value and life-affecting decisions. Therefore, it is of utmost importance that they be completely reliable. The central objective of this proposal is to develop methodologies and tools with which we can guarantee with 100% certainty that the right problem has been solved correctly.
To achieve this ambitious objective, we will build on recent breakthroughs in proof logging, where solvers do not just output an answer, but also a proof (or certificate) of correctness. However, a major limitation of current techniques is that correctness is not proven relative to the human-understandable specification written by the user, but relative to the low-level translation that the solver receives, meaning that there is no guarantee that the solver is solving the original problem. In this project, we will investigate end-to end guarantees of correctness. When successful, this will have a major impact on the way combinatorial optimization software is developed, evaluated, and used: the proofs produced will enable (1) debugging, since proofs contain detailed information about where bugs occurred, (2) auditability, since proofs can be stored and checked by an independent third party, and even (3) rigorous evaluation of algorithmic improvements. There are several fundamental questions that need to be tackled before we get there, relating to the nature of proofs for grounding, proofs of transformations, and the combination of proofs.
While the project is yet to start, there are several interesting results to share already that will contribute to this grand goal. In particular, together with several collaborators, we are making good progress towards developing a fundamental understanding of strengthening rules in proof logging as well as developing proof logging methods for maximum satisfiability. These proof logging efforts all build on the awesome VeriPB tool (developed mainly at the MIAO reseach group), and are made possible thanks to numerous collaborations. A list of papers in these directions that relate to the CertiFOX project can be found below.
Our efforts for spreading the love for proof logging, and for slowly but surely bringing correctness guarantees to all different subfields of combinatorial optimization, have resulted in a series of tutorials. A short version of this tutorial can be found online. The next iteration of our tutorial will be at AAAI 2024. Join us there!
Certified Symmetry and Dominance Breaking for Combinatorial Optimisation
This extended version of our AAAI 2022 distinguished paper award introduces strong strengthening rules for pseudo-Boolean proof logging, allowing to capture advanced solving techniques including symmetry breaking.
QMaxSATpb: A Certified MaxSAT Solver
This is the first paper introducing VeriPB proof logging for MaxSAT. We show how to equip the solution-improving solver QMaxSAT with proof logging.
Certified Core-Guided MaxSAT Solving
In this paper we equip the state-of-the-art core-guided MaxSAT solvers RC2 and CGSS with VeriPB-style proof logging. A nice side-effect was the discovery of two bugs in these solvers.