  Machine learning models that automate decision-making are increasingly being
used in consequential areas such as loan approvals, pretrial bail, hiring, and
many more. Unfortunately, most of these models are black-boxes, i.e., they are
unable to reveal how they reach these prediction decisions. A need for
transparency demands justification for such predictions. An affected individual
might desire explanations to understand why a decision was made. Ethical and
legal considerations may further require informing the individual of changes in
the input attribute that could be made to produce a desirable outcome. This
paper focuses on the latter problem of automatically generating counterfactual
explanations. Our approach utilizes answer set programming and the s(CASP)
goal-directed ASP system. Answer Set Programming (ASP) is a well-known
knowledge representation and reasoning paradigm. s(CASP) is a goal-directed ASP
system that executes answer-set programs top-down without grounding them. The
query-driven nature of s(CASP) allows us to provide justifications as proof
trees, which makes it possible to analyze the generated counterfactual
explanations. We show how counterfactual explanations are computed and
justified by imagining multiple possible worlds where some or all factual
assumptions are untrue and, more importantly, how we can navigate between these
worlds. We also show how our algorithm can be used to find the Craig
Interpolant for a class of answer set programs for a failing query.
