Answer Set Programming Modulo Acyclicity

Jori Bomanson, Martin Gebser*, Tomi Janhunen, Benjamin Kaufmann, Torsten Schaub

*Corresponding author for this work

Research output: Contribution to journalArticleScientificpeer-review

26 Citations (Scopus)


Acyclicity constraints are prevalent in knowledge representation and applications where acyclic data structures such as DAGs and trees play a role. Recently, such constraints have been considered in the satisfiability modulo theories (SMT) framework, and in this paper we carry out an analogous extension to the answer set programming (ASP) paradigm. The resulting formalism, ASP modulo acyclicity, offers a rich set of primitives to express constraints related to recursive structures. In the technical results of the paper, we relate the new generalization with standard ASP by showing (i) how acyclicity extensions translate into normal rules, (ii) how weight constraint programs can be instrumented by acyclicity extensions to capture stability in analogy to unfounded set checking, and (iii) how the gap between supported and stable models is effectively closed in the presence of such an extension. Moreover, we present an efficient implementation of acyclicity constraints by incorporating a respective propagator into the state-of-the-art ASP solver CLASP. The implementation provides a unique combination of traditional unfounded set checking with acyclicity propagation. In the experimental part, we evaluate the interplay of these orthogonal checks by equipping logic programs with supplementary acyclicity constraints. The performance results show that native support for acyclicity constraints is a worthwhile addition, furnishing a complementary modeling construct in ASP itself as well as effective means for translation-based ASP solving.

Original languageEnglish
Pages (from-to)63-91
Number of pages29
JournalFundamenta Informaticae
Issue number1
Publication statusPublished - 2016
MoE publication typeA1 Journal article-refereed


Dive into the research topics of 'Answer Set Programming Modulo Acyclicity'. Together they form a unique fingerprint.

Cite this