Forgetting in Answer Set Programming - A Survey

Research output: Contribution to journalArticlepeer-review

4 Citations (Scopus)
2 Downloads (Pure)


Forgetting - or variable elimination - is an operation that allows the removal, from a knowledge base, of middle variables no longer deemed relevant. In recent years, many different approaches for forgetting in Answer Set Programming have been proposed, in the form of specific operators, or classes of such operators, commonly following different principles and obeying different properties. Each such approach was developed to address some particular view on forgetting, aimed at obeying a specific set of properties deemed desirable in such view, but a comprehensive and uniform overview of all the existing operators and properties is missing. In this article, we thoroughly examine existing properties and (classes of) operators for forgetting in Answer Set Programming, drawing a complete picture of the landscape of these classes of forgetting operators, which includes many novel results on relations between properties and operators, including considerations on concrete operators to compute results of forgetting and computational complexity. Our goal is to provide guidance to help users in choosing the operator most adequate for their application requirements.

Original languageEnglish
Pages (from-to)111-156
JournalTheory and Practice of Logic Programming
Issue number1
Publication statusPublished - Jan 2023


  • Answer set programming
  • Forgetting
  • Logic programs


Dive into the research topics of 'Forgetting in Answer Set Programming - A Survey'. Together they form a unique fingerprint.

Cite this