  Ethical and legal concerns make it necessary for programs that may directly
influence the life of people (via, e.g., legal or health counseling) to justify
in human-understandable terms the advice given. Answer Set Programming has a
rich semantics that makes it possible to very concisely express complex
knowledge. However, justifying why an answer is a consequence from an ASP
program may be non-trivial -- even more so when the user is an expert in a
given domain, but not necessarily knowledgeable in ASP. Most ASP systems
generate answers using SAT-solving procedures on ground rules that do not match
how humans perceive reasoning. We propose using s(CASP), a query-driven,
top-down execution model for predicate ASP with constraints to generate
justification trees of (constrained) answer sets. The operational semantics of
s(CASP) relies on backward chaining, which is intuitive to follow and lends
itself to generating explanations that are easier to translate into natural
language. We show how s(CASP) provides minimal justifications for, among
others, relevant examples proposed in the literature, both as search trees but,
more importantly, as explanations in natural language. We validate our design
with real ASP applications and evaluate the cost of generating s(CASP)
justification trees.
