Rewriting recursive aggregates in answer set programming: Back to monotonicity

Mario Alviano, Wolfgang Faber, Martin Gebser

Research output: Contribution to journalConference articlepeer-review

35 Citations (Scopus)


Aggregation functions are widely used in answer set programming for representing and reasoning on knowledge involving sets of objects collectively. Current implementations simplify the structure of programs in order to optimize the overall performance. In particular, aggregates are rewritten into simpler forms known as monotone aggregates. Since the evaluation of normal programs with monotone aggregates is in general on a lower complexity level than the evaluation of normal programs with arbitrary aggregates, any faithful translation function must introduce disjunction in rule heads in some cases. However, no function of this kind is known. The paper closes this gap by introducing a polynomial, faithful, and modular translation for rewriting common aggregation functions into the simpler form accepted by current solvers. A prototype system allows for experimenting with arbitrary recursive aggregates, which are also supported in the recent version 4.5 of the grounder gringo, using the methods presented in this paper.

Original languageEnglish
Pages (from-to)559-573
Number of pages15
JournalTheory and Practice of Logic Programming
Issue number4-5
Publication statusPublished - 3 Sep 2015
Event31st International Conference on Logic Programming - Cork, Ireland
Duration: 31 Aug 20154 Sep 2015


Dive into the research topics of 'Rewriting recursive aggregates in answer set programming: Back to monotonicity'. Together they form a unique fingerprint.

Cite this