Using Certifying Constraint Solvers for Generating Step-wise Explanations
This work addresses the efficiency bottleneck in explainable constraint solving for users needing understandable conflict explanations, though it is incremental as it builds on existing proof-based methods.
The paper tackles the computational expense of generating step-wise explanations for unsatisfiable constraint problems by using solver-generated proofs as a starting point, resulting in significantly faster generation while maintaining similar quality to state-of-the-art methods.
In the field of Explainable Constraint Solving, it is common to explain to a user why a problem is unsatisfiable. A recently proposed method for this is to compute a sequence of explanation steps. Such a step-wise explanation shows individual reasoning steps involving constraints from the original specification, that in the end explain a conflict. However, computing a step-wise explanation is computationally expensive, limiting the scope of problems for which it can be used. We investigate how we can use proofs generated by a constraint solver as a starting point for computing step-wise explanations, instead of computing them step-by-step. More specifically, we define a framework of abstract proofs, in which both proofs and step-wise explanations can be represented. We then propose several methods for converting a proof to a step-wise explanation sequence, with special attention to trimming and simplification techniques to keep the sequence and its individual steps small. Our results show our method significantly speeds up the generation of step-wise explanation sequences, while the resulting step-wise explanation has a quality similar to the current state-of-the-art.