Interactive constraint systems often suffer from infeasibility (no solution)
due to conflicting user constraints. A common approach to recover infeasibility
is to eliminate the constraints that cause the conflicts in the system. This
approach allows the system to provide an explanation as: "if the user is
willing to drop out some of their constraints, there exists a solution".
However, one can criticise this form of explanation as not being very
informative. A counterfactual explanation is a type of explanation that can
provide a basis for the user to recover feasibility by helping them understand
which changes can be applied to their existing constraints rather than removing
them. This approach has been extensively studied in the machine learning field,
but requires a more thorough investigation in the context of constraint
satisfaction. We propose an iterative method based on conflict detection and
maximal relaxations in over-constrained constraint satisfaction problems to
help compute a counterfactual explanation.