🤖 AI Summary
This work addresses the challenge of automatically verifying strong equivalence for complex logic programs in Answer Set Programming (ASP), overcoming the limitation of the existing tool Anthem, which supports only positive programs. We introduce a novel translation σ* from equilibrium (HT) logic to classical logic and extend the τ* translation to handle negation, simple choice rules, and pool constructs. For the first time, strong equivalence of ASP programs with negation and choice is formally characterized and mechanized within a classical-logic framework. By integrating HT-semantic analysis, logical bridging, and automated theorem proving, we implement an enhanced version of Anthem. Experimental evaluation demonstrates that our tool successfully verifies strong equivalence for diverse nonmonotonic programs—including those featuring negation, choice, and pools—significantly broadening the class of verifiable programs. This advancement provides a sound and scalable foundation for industrial-strength ASP program optimization and refactoring.
📝 Abstract
With the increase in industrial applications using Answer Set Programming, the need for formal verification tools, particularly for critical applications, has also increased. During the program optimisation process, it would be desirable to have a tool which can automatically verify whether an optimised subprogram can replace the original subprogram. Formally this corresponds to the problem of verifying the strong equivalence of two programs. In order to do so, the translation tool anthem was developed. It can be used in conjunction with an automated theorem prover for classical logic to verify that two programs are strongly equivalent. With the current version of anthem, only the strong equivalence of positive programs with a restricted input language can be verified. This is a result of the translation $ au^*$ implemented in anthem that produces formulas in the logic of here-and-there, which coincides with classical logic only for positive programs. This thesis extends anthem in order to overcome these limitations. First, the transformation $sigma^*$ is presented, which transforms formulas from the logic of here-and-there to classical logic. A theorem formalises how $sigma^*$ can be used to express equivalence in the logic of here-and-there in classical logic. Second, the translation $ au^*$ is extended to programs containing pools. Another theorem shows how $sigma^*$ can be combined with $ au^*$ to express the strong equivalence of two programs in classical logic. With $sigma^*$ and the extended $ au^*$, it is possible to express the strong equivalence of logic programs containing negation, simple choices, and pools. Both the extended $ au^*$ and $sigma^*$ are implemented in a new version of anthem. Several examples of logic programs containing pools, negation, and simple choice rules, which the new version of anthem can translate to classical logic, are presented. Some a...