What is a Logic Program.
Vladimir Lifschitz · 2005
The concept of a program in answer set programming is constantly evolving as additional constructs are being added to the basic syntax used in the original definition of a stable model: second negation, disjunction and negation in heads of rules, choice rules, cardinality constraints and other aggregates. The future may bring us new extensions, motivated both by applications of ASP and by considerations of mathematical elegance. So where are we going, how will we define the syntax of ASP programs a few years from now? In this talk I will argue that we may be going back to 1980, when John McCarthy introduced circumscription as a nontraditional semantics of usual first-order formulas. Future work on the concept of a stable model may lead us to the view that logic programs are simply first-order formulas, and to a semantics that is similar in some ways to circumscription.