S-stable models

Abstract Dialectical Frameworks (ADF) allow to represent and reason on argumentations. There are several semantics for ADF. One of them was proposed by Strass (AIJ paper), and can be computed using ASP solvers as described in the following paper:

Mario Alviano, and Wolfgang Faber.
Stable Model Semantics of Abstract Dialectical Frameworks Revisited: A Logic Programming Perspective.
Proceedings of the 24th International Joint Conference on Artificial Intelligence (IJCAI 2015).
Online appendix: [PDF]

Download link: [GitHub].

The script can be run as follows:

$ s-stable-models.py  | clasp 0

where filename is the file containing the ADF specification. For example:

$ s-stable-models.py example3.adf | clasp 0
clasp version 1.3.6
Reading from stdin
Solving...
Answer: 1
true(a) 
Answer: 2
true(p) 
SATISFIABLE

Models      : 2     
Time        : 0.000s (Solving: 0.00s 1st Model: 0.00s Unsat: 0.00s)

where example3.adf encodes the Nixon’s diamond problem:

s(X) :- ac(X,_).

ac(a, neg(p)).
ac(p, neg(a)).