Disjunctive logic programming under the answer set semantics (DLP, ASP) has been acknowledged as a versatile formalism for knowledge representation and reasoning during the last decade. Lifschitz, Tang, and Turner have introduced an extended language of DLP, called Nested Logic Programming (NLP), in 1999 [1]. It often allows for more concise representations by permitting a richer syntax in rule heads and bodies. However, that language is propositional and thus does not allow for variables, one of the strengths of DLP. In this paper, we introduce a language similar to NLP, called Normal Form Nested (NPN) programs, which does allow for variables, and present the syntax and semantics. With the presence of variables, domain independence is no longer guaranteed. We study this issue in depth and define the class of safe NPN programs, which are guaranteed to be domain independent. Moreover, we show that for NPN programs which are also NLPs, our semantics coincides with the one of [1]; while keeping the standard meaning of answer sets on DLP programs with variables. Finally, we provide an algorithm which translates NPN programs into DLP programs, and does so in an efficient way, allowing for the effective implementation of the NPN language on top of existing DLP systems
Normal Form Nested Programs
FABER, WOLFGANG;LEONE, Nicola
2008-01-01
Abstract
Disjunctive logic programming under the answer set semantics (DLP, ASP) has been acknowledged as a versatile formalism for knowledge representation and reasoning during the last decade. Lifschitz, Tang, and Turner have introduced an extended language of DLP, called Nested Logic Programming (NLP), in 1999 [1]. It often allows for more concise representations by permitting a richer syntax in rule heads and bodies. However, that language is propositional and thus does not allow for variables, one of the strengths of DLP. In this paper, we introduce a language similar to NLP, called Normal Form Nested (NPN) programs, which does allow for variables, and present the syntax and semantics. With the presence of variables, domain independence is no longer guaranteed. We study this issue in depth and define the class of safe NPN programs, which are guaranteed to be domain independent. Moreover, we show that for NPN programs which are also NLPs, our semantics coincides with the one of [1]; while keeping the standard meaning of answer sets on DLP programs with variables. Finally, we provide an algorithm which translates NPN programs into DLP programs, and does so in an efficient way, allowing for the effective implementation of the NPN language on top of existing DLP systemsI documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.