Logic Programs with Propositional Connectives and Aggregates Paolo Ferraris Google Inc 1600 Anphitheatre Pkwy Mountain View CA 94043, USA
[email protected] October 23, 2018 Abstract Answer set programming (ASP) is a logic programming paradigm that can be used to solve complex combinatorial search problems. Aggregates are an ASP construct that plays an important role in many applications. Defining a satisfactory semantics of aggregates turned out to be a difficult problem, and in this paper we propose a new approach, based on an analogy between aggregates and propositional connectives. First, we extend the definition of an answer set/stable model to cover arbitrary propositional theories; then we define aggregates on top of them both as primitive constructs and as abbrevi- ations for formulas. Our definition of an aggregate combines expressiveness and simplicity, and it inherits many theorems about programs with nested expressions, such as theorems about strong equivalence and splitting. arXiv:0812.1462v1 [cs.AI] 8 Dec 2008 1 Introduction Answer set programming (ASP) is a logic programming paradigm that can be used to solve complex combinatorial search problems ([Marek and Truszczy´nski, 1999]), ([Niemel¨a, 1999]). ASP is based on the stable model semantics [Gelfond and Lifschitz, 1988] for logic programs: programming in ASP consists in writing a logic program whose sta- ble models (also called answer sets) represent the solution to our problem. ASP has been used, for instance, in planning [Dimopoulos et al., 1997; Lifschitz, 1999], model checking [Liu et al., 1998; Heljanko and Niemel¨a, 2001], product configu- ration [Soininen and Niemel¨a, 1998], logical cryptanalysis [Hietalahti et al., 2000], workflow specification [Trajcevski et al., 2000; Koksal et al., 2001], reasoning about 1 policies [Son and Lobo, 2001], wire routing problems [Erdem et al., 2000] and phy- logeny reconstruction problems [Erdem et al., 2003].