Published online by Cambridge University Press: 18 March 2022
Answer set programming is a prominent declarative programming paradigm used in formulating combinatorial search problems and implementing different knowledge representation formalisms. Frequently, several related and yet substantially different answer set programs exist for a given problem. Sometimes these encodings may display significantly different performance. Uncovering precise formal links between these programs is often important and yet far from trivial. This paper presents formal results carefully relating a number of interesting program rewritings. It also provides the proof of correctness of system projector concerned with automatic program rewritings for the sake of efficiency.
We are grateful to Pedro Cabalar, Jorge Fandinno, Nicholas Hippen, Vladimir Lifschitz, Miroslaw Truszczynski for valuable discussions on the subject of this paper. We are also thankful to the anonymous reviewers for their help to improve the presentation of the material in the paper. Yuliya Lierler was partially supported by the NSF 1707371 grant.