# Model Explanation via Support Graphs

arXiv: https://arxiv.org/abs/2310.01626 · HTML: https://mlsanity.com/paper/2310.01626/

## Key facts

- Cited by 3 papers in the map (data through 14 Oct 2026).
- First posted on arXiv 2 Oct 2023.

## Built on by (most cited first, 3 of 3)

- [Inductive Learning for Possibilistic Logic Programs Under Stable Models](https://mlsanity.com/paper/2510.07069/) (2025)
- [An XAI View on Explainable ASP: Methods, Systems, and Perspectives](https://mlsanity.com/paper/2601.14764/) (2026)
- [The Dual Role of Abstracting over the Irrelevant in Symbolic Explanations: Cognitive Effort vs. Understanding](https://mlsanity.com/paper/2602.03467/) (2026)

## Abstract (arXiv)

In this note, we introduce the notion of support graph to define explanations for any model of a logic program. An explanation is an acyclic support graph that, for each true atom in the model, induces a proof in terms of program rules represented by labels. A classical model may have zero, one or several explanations: when it has at least one, it is called a justified model. We prove that all stable models are justified whereas, in general, the opposite does not hold, at least for disjunctive programs. We also provide a meta-programming encoding in Answer Set Programming that generates the explanations for a given stable model of some program. We prove that the encoding is sound and complete, that is, there is a one-to-one correspondence between each answer set of the encoding and each explanation for the original stable model.
