Answer Sets for Logic Programs with Arbitrary Abstract Constraint Atoms
In this paper, we present two alternative approaches to defining answer sets for logic programs with arbitrary types of abstract constraint atoms (c-atoms). These approaches generalize the fixpoint-based and the level mapping based answer set semantics of normal logic programs to the case of logic programs with arbitrary types of c-atoms. The results are four different answer set definitions which are equivalent when applied to normal logic programs.
The standard fixpoint-based semantics of logic programs is generalized in two directions, called answer set by reduct and answer set by complement. These definitions, which differ from each other in the treatment of negation-as-failure (naf) atoms, make use of an immediate consequence operator to perform answer set checking, whose definition relies on the notion of conditional satisfaction of c-atoms w.r.t. a pair of interpretations.
The other two definitions, called strongly and weakly well-supported models, are generalizations of the notion of well-supported models of normal logic programs to the case of programs with c-atoms. As for the case of fixpoint-based semantics, the difference between these two definitions is rooted in the treatment of naf atoms.
We prove that answer sets by reduct (resp. by complement) are equivalent to weakly (resp. strongly) well-supported models of a program, thus generalizing the theorem on the correspondence between stable models and well-supported models of a normal logic program to the class of programs with c-atoms.
We show that the newly defined semantics coincide with previously introduced semantics for logic programs with monotone c-atoms, and they extend the original answer set semantics of normal logic programs. We also study some properties of answer sets of programs with c-atoms, and relate our definitions to several semantics for logic programs with aggregates presented in the literature.
1 Introduction and Motivation
Logic programming under the answer set semantics has been introduced as an attractive and suitable knowledge representation language for AI research (?), as it offers several desirable properties for this type of applications. Among other things, the language is declarative and it has a simple syntax; it naturally supports non-monotonic reasoning, and it is sufficiently expressive for representing several classes of problems (e.g., normal logic programs capture the class of NP-complete problems); it has solid theoretical foundations with a large body of building block results (e.g., equivalence between programs, systematic program development, relationships to other non-monotonic formalisms), which is extremely useful in the development and validation of large knowledge bases; it also has a large number of efficient computational tools. For further discussion of these issues, the interested reader is referred to the book of Baral (?), the overview paper of Gelfond and Leone (?), the paper of Marek and Truszczyński (?), and the paper of Niemelä (?).
A large number of extensions of logic programming, aimed at improving its usability in the context of knowledge representation and reasoning, have been proposed. The Smodels system introduces weight and cardinality constraint atoms to facilitate the encoding of constraints on atom definitions (?). These constructs can be generalized to aggregates; aggregates have been extensively studied in the general context of logic programming by the work of (see, e.g., ?, ?, ?), and further developed in recent years (see, e.g., ?, ?, ?, ?, ?, ?, ?). Both dlv (?) and Smodels have been extended to deal with various classes of aggregates (?, ?). The semantics of these extensions have been defined either indirectly, by translating programs with these extensions to normal logic programs, or directly, by providing new characterizations of the concept of answer sets for programs with such extensions.
Each of the above mentioned extensions to logic programming has been introduced to facilitate the representation of a desirable type of knowledge in logic programming. As such, it is not a surprise that the focus has been on the definition of the semantics and little has been done to investigate the basic building block results for the new classes of logic programs. In this context, the study of a uniform framework covering various classes of extensions will provide us with several benefits. For example, to prove (or disprove) whether a basic building block result (e.g., splitting theorem) can be extended to the new classes of logic programs, we will need to prove (or disprove) this result only once; new results in the study of the generic framework are applicable to the study of one of the aforementioned extensions; etc. Naturally, for these studies to be possible, a uniform framework whose semantical definition exhibits the behavior of various extensions of logic programming, needs to be developed. The main goal in this paper is to address this issue.
The concept of logic programs with abstract constraint atoms (or c-atoms) has been introduced by Marek, Remmel, and Truszczyński as an elegant theoretical framework for investigating, in a uniform fashion, various extensions of logic programming, including cardinality constraint atoms, weight constraint atoms, and more general forms of aggregates (?, ?). Intuitively, a c-atom represents a constraint on models of the program containing —and the description of includes an explicit description of what conditions each interpretation has to meet in order to satisfy . This view is very general, and it can be shown to subsume the description of traditional classes of aggregates (e.g., Sum, Count, Min, etc.).111One could also argue that c-atoms and general aggregates capture analogous notions. Thus, programs with weight constraint atoms or other aggregates can be represented as logic programs with c-atoms.
The first explicit definition of answer sets for positive programs with arbitrary c-atoms (i.e., programs without the negation-as-failure operator)—called programs with set constraints or SC-programs—has been introduced in the work of Marek and Remmel (?). In this work answer sets for programs with c-atoms are defined by extending the notion of answer sets for programs with weight constraint atoms proposed in the work of Niemelä, Simons, and Soininen (?). Nevertheless, this approach provides, in certain cases, unintuitive answer sets (see, e.g., Examples 7 and 20). In particular, the approach of Marek and Remmel does not naturally capture some of the well-agreed semantics for aggregates. One of our main goals in this paper is to investigate alternative solutions to the problem of characterizing answer sets for programs with arbitrary c-atoms. Our aim is to match the semantics provided in the more recent literature for monotone c-atoms, and to avoid the pitfalls of the approach developed in the work of Marek and Remmel (?).
The concept of answer sets for programs with c-atoms has been later revisited by Marek and Truszczyński (?), focusing on answer sets for programs with monotone constraint atoms, where a c-atom is monotone if, for each pair of interpretations and with , we have that satisfies implies that satisfies . This proposal has been further extended to the case of disjunctive logic programs with monotone c-atoms (?). In another paper (?), it is extended to deal with convex c-atoms where a c-atom is convex if, for every pair of interpretations and with , we have that and satisfy implies that satisfies for every . This paper also proves several properties of programs with monotone and convex c-atoms. It is shown that many well-known properties of standard logic programming under answer set semantics are preserved in the case of programs with monotone c-atoms.
The main advantage of focusing on monotone c-atoms lies in that monotonicity provides a relatively simpler way for defining answer sets of logic programs with c-atoms. On the other hand, this restriction does not allow several important classes of problems to be directly expressed. For example222 Although variables appear in the definition of aggregates, they are locally quantified. As such, an aggregate literal is nothing but a shorthand of a collection of ground terms. , the aggregate atom cannot be viewed as a monotone aggregate atom—since monotonic extensions of the definition of might make the aggregate false; e.g., the aggregate is true if is the definition of , but it becomes false if we consider a definition containing . Similarly, the cardinality constraint atom is not a monotone constraint. Neither of these two examples can be directly encoded using monotone c-atoms.
The studies in ? (?, ?) and in ? (?) lead to the following question: “what are the alternatives to the approach to defining answer sets of programs with arbitrary c-atoms developed by ? (?)?” Furthermore, will these alternatives—if any— capture the semantics of programs with monotone c-atoms proposed by ? (?) and avoid the pitfalls of the notion of answer sets for arbitrary c-atoms in ? (?)?
We present two equivalent approaches for defining answer sets for logic programs with arbitrary c-atoms.
The first approach is inspired by the notion of conditional satisfaction—originally developed in ? (?)—to characterize the semantics of logic programs with aggregates. We generalize this notion to the case of programs with c-atoms. The generalization turns out to be significantly more intuitive and easier to understand than the original definition in ? (?). Using this notion, we define an immediate consequence operator for answer set checking.
The second approach is inspired by the notion of well-supportedness, proposed by Fages (?) for normal logic programs.
The approaches are very intuitive, and, we believe, they improve over the only other semantics proposed for logic programs with arbitrary c-atoms in ? (?).
We show that the newly defined semantics coincide with the previously introduced semantics in ? (?) in the case of programs with monotone c-atoms, and they extend the original stable model semantics for normal logic programs. We discuss different approaches for treating negation-as-failure c-atoms. We also relate our definitions to several semantics for logic programs with aggregates, since the notion of c-atom can be used to encode arbitrary aggregates. These results show that the proposed framework naturally subsumes many existing treatments of aggregates in logic programming.
In summary, the main contributions of the paper are:
A new notion of fixpoint answer set for programs with arbitrary c-atoms, which is inspired by the fixpoint construction proposed in ? (?) (but simpler) and which differs significantly from the only proposal for programs with arbitrary c-atoms in ? (?); this will lead to two different definitions of answer sets (answer set by reduct and answer set by complement);
A generalization of the notion of well-supported models in ? (?) to programs with arbitrary c-atoms, which—to the best of our knowledge—has not been investigated by any other researchers, which leads to the notions of weakly and strongly well-supported models;
A result showing that the set of answer sets by reduct (resp. by complement) is equivalent to the set of weakly (resp. strongly) well-supported models; and
A number of results showing that the newly defined notions of answer sets capture the answer set semantics of various extensions to logic programming, in those cases all the previously proposed semantics agree.
The rest of this paper is organized as follows. Section 2 presents preliminary definitions, including the syntax of the language of logic programming with c-atoms, the basic notion of satisfaction, and the notion of answer set for programs with monotone c-atoms in ? (?) and for positive programs with arbitrary c-atoms in ? (?). Section 3 presents our first approach to defining answer sets for logic programs with arbitrary c-atoms based on a fixpoint operator, while Section 4 introduces an alternative definition based on well-supportedness. Section 5 extends the semantics to programs with arbitrary c-atoms in the head of rules. Section 6 relates the semantics presented in this paper with early work on abstract constraint atoms and aggregates. Section 7 provides conclusions and future work. Proofs of theorems and propositions are deferred to the appendix.
2 Preliminaries—Logic Programs with Abstract Constraint Atoms
We follow the syntax used in ? (?) to define programs with abstract constraint atoms. Throughout the paper, we assume a fixed propositional language with a countable set of propositional atoms.
An abstract constraint atom (or c-atom) is an expression of the form , where is a set of atoms (the domain of the c-atom), and is a collection of sets of atoms belonging to , i.e., (the solutions of the c-atom). Intuitively, a c-atom is a constraint on the set of atoms , and represents its admissible solutions. Given a c-atom , we use and to denote and , respectively.
A c-atom of the form is called an elementary c-atom and will be simply written as . A c-atom of the form , representing a constraint which does not admit any solutions, will be denoted by . A c-atom is said to be monotone if for every , implies that .
A rule is of the form
where , ’s are c-atoms. The literals () are called negation-as-failure c-atoms (or naf-atoms). For a rule of the form (1), we define:
For a program , denotes the set .
We recognize special types of rules:
A rule is positive if ;
A rule is basic if is an elementary c-atom;
A rule is a constraint rule if .
A logic program with c-atoms (or logic program, for simplicity)333Whenever we want to refer to traditional logic programs (without c-atoms), we will explicitly talk about normal logic programs. is a set of rules. A program is called a basic program if each rule is a basic or a constraint rule. is said to be positive if every rule in is positive. is monotone (resp. naf-monotone) if each c-atom occurring in (resp. in a naf-atom in ) is monotone. Clearly, a monotone program is also naf-monotone.
2.2 Models and Satisfaction
In this subsection, we introduce the basic definitions for the study of logic programs with constraints. We will begin with the definition of the satisfaction of c-atoms. We then introduce the notion of a model of programs with c-atoms.
2.2.1 Satisfaction of C-Atoms
A set of atoms satisfies a c-atom , denoted by , if . satisfies , denoted by , if .
It has been shown in ? (?) and in ? (?) that the notion of c-atom is more general than extended atoms such as cardinality constraint atoms and aggregate atoms; thus, c-atoms can be used to conveniently represent weight constraints, cardinality constraints (?), and various other classes of aggregates, such as maximal cardinality constraints. For example,
Let us consider an arbitrary choice atom of the form ; this can be represented by the c-atom where:
Let us consider an arbitrary aggregate of the form where is a set function (e.g., Sum, Avg), is a number, and is a comparison operation (e.g., ). This can be represented by the c-atom , where:
Let us consider the aggregate , defined in a language where . From the considerations above, we have that this aggregate can be represented by the c-atom where
Let us consider the cardinality constraint atom . This can be represented by the c-atom where
C-atoms allow us to compactly represent properties that would require complex propositional combinations of traditional aggregates. E.g., a condition like “either all elements or no elements of the set are true” can be simply written as the single c-atom . Further motivations behind the use of c-atoms can be found in ? (?) and ? (?).
In the rest of the paper, we will often use in our examples the notation of cardinality constraint atoms, weight constraint atoms, or general aggregate atoms instead of c-atoms, whenever no confusion is possible.
A set of atoms satisfies the body of a rule of the form (1), denoted by , if for and for . satisfies a rule if it satisfies or if it does not satisfy .
A set of atoms is a model of a program if satisfies every rule of . is a minimal model of if it is a model of and there is no proper subset of which is also a model of . In particular, programs may have more than one minimal model (see, for example, Example 5).
Given a program , a set of atoms is said to support an atom if there exists some rule in and such that the following conditions are met:
Let 444Remember that the notation is a short form for the c-atom . be the program
The aggregate notation represents the c-atom where . has two models:
is a minimal model of , while is not.
Let be the program
The aggregate notation represents the c-atom where
Because of the first rule, any model of will need to contain . It is easy to see that and are models of but is not a model of .
Let be the program
has three models , , and , of which and are minimal.
2.3 Previously Proposed Semantics
In this section, we will overview the semantical characterizations for programs with c-atoms proposed in the existing literature. In particular, we will review the notion of answer sets for monotone programs (i.e., program that contain only monotone c-atoms), as defined in ? (?). A formal comparison between these semantics and the novel approach we propose in this paper is described in Section 6.
Given a set of atoms , a rule is applicable in if . The set of applicable rules in is denoted by . A set is nondeterministically one-step provable from by means of if and for every . The nondeterministic one-step provability operator is a function from to such that for every , consists of all sets that are nondeterministically one-step provable from by means of .
A -computation is a sequence where and for every non-negative integer ,
(i) , and
is called the result of the computation . A set of atoms is a derivable model of if there exists a -computation such that . The Gelfond-Lifschitz reduct for normal logic programs is generalized to monotone programs as follows.
Let be a monotone program. For a set of atoms , the reduct of with respect to , denoted by , is obtained from by
removing from every rule containing in the body a literal such that ; and
removing all literals of the form from the remaining rules.
Answer sets for monotone programs are defined next.
A set of atoms is an answer set of a monotone program if is a derivable model of the reduct .
The next example shows that, for programs with non-monotone c-atoms, Definition 2 is, in general, not applicable.
Consider the program from Example 5. We can check that this program does not allow the construction of any -computation. In fact, and . Hence, would not be an answer set of (according to Definition 2) since it is not a derivable model of the reduct of with respect to (which is ).
On the other hand, it is easy to see that is intuitively equivalent to the normal logic program . As such, should accept as one of its answer sets.
The main reason for the inapplicability of Definition 2 lies in that the nondeterministic one-step provability operator might become non-monotone in the presence of non-monotone c-atoms.
2.4 Answer Sets for Positive Programs
Positive programs are characterized by the lack of negation-as-failure atoms. Positive programs with arbitrary c-atoms have been investigated in ? (?), under the name of SC-programs. Let us briefly review the notion of answer sets for SC-programs—which, in turn, is a generalization of the notion of answer sets for logic programs with weight constraints, as presented in ? (?). A detailed comparison between the approach in ? (?) and our work is given in Section 6.
For a c-atom , the closure of , denoted by , is the c-atom
Intuitively, the closure is constructed by including all the supersets of the existing solutions.
A c-atom is said to be closed if . A rule of the form (1) is a Horn-rule if (i) its head is an elementary c-atom; and (ii) each c-atom in the body is a closed c-atom. A SC-program is said to be a Horn SC-program if each rule in is a Horn-rule. The one-step provability operator, defined by , associated to a Horn SC-program is monotone. Hence, every Horn SC-program has a least fixpoint which is the only minimal model of (w.r.t. set inclusion). Given a set of atoms and a SC-program , the NSS-reduct of with respect to , denoted by , is obtained from by
removing all rules whose body is not satisfied by ; and
replacing each rule
where ’s are elementary c-atoms and ’s are non-elementary c-atoms by the set of rules
A model of a program is an answer set of if it is the least fixpoint of the one-step provability operator of the program , i.e., . It sometimes yields answer sets that are not accepted by other extensions to logic programming. The next example illustrates this point.
Consider the program :
We have that and are models of . Furthermore, is the program
and consists of the rules
It is easy to see that and . Thus, observe that has a non-minimal answer set according to ? (?). Note that the program can be viewed as the following program with aggregates
which does not have as an answer set under most of the proposed semantics for aggregates (?, ?, ?, ?, ?). Furthermore, all these approaches accept as the only answer set of this program.
3 Answer Sets for Basic Programs: A Fixpoint Based Approach
In this section, we define the notion of answer sets of basic programs. In this approach, we follow the traditional way for defining answer sets of logic programs, i.e., by:
first characterizing the semantics of positive programs (Definition 4), and then
3.1 Answer Sets for Basic Positive Programs
Example 5 shows that a basic positive program might have more than one minimal model. This leads us to define a -like operator for answer set checking, whose construction is based on the following observation.
Let be a propositional normal logic program (i.e., without c-atoms)555For a rule from a normal logic program ,
, , and denote , , and , respectively. and let be two sets of atoms. Given a set of atoms , we define the operator and the monotone sequence of interpretations as follows.
Let us denote with the limit of this sequence of interpretations. It is possible to prove that is an answer set of w.r.t. ? (?) iff .
As we can see from the above observation, the (modified) consequence operator takes two sets of atoms, and , as its arguments, and generates one set of atoms which could be viewed as the consequences of given that is true and is assumed to be an answer set of . It is easy to see that is monotone w.r.t. its first argument, i.e., if , then . Thus, the sequence is monotone and converges to for a given . We will next show how can be generalized to programs with c-atoms.
Observe that the definition of requires that or, equivalently, . For normal logic programs, this is sufficient to guarantee the monotonicity of . If this definition is naively generalized to the case of programs with c-atoms, the monotonicity of is guaranteed only under certain circumstances, e.g., when c-atoms in are monotone. To deal with arbitrary c-atoms, we need to introduce the notion of conditional satisfaction of a c-atom.
Definition 3 (Conditional Satisfaction)
Let and be sets of atoms. The set conditionally satisfies a c-atom w.r.t. , denoted by , if
for every such that and , we have that .
Observe that this notion of conditional satisfaction has been inspired by the conditional satisfaction used to characterize aggregates in ? (?), but it is significantly simpler.
We say that conditionally satisfies a set of c-atoms w.r.t. , denoted by , if for every . Intuitively, implies that for every such that . Thus, conditional satisfaction ensures that if the body of a rule is satisfied in then it is also satisfied in , provided that . This allows us to generalize the operator defined in Observation 1 as follows. For a set of atoms and a positive basic program , let
The following proposition holds.
Let be a model of , and let . Then
Let and, for , let
Then, the following corollary is a natural consequence of Proposition 1.
Let be a positive, basic program and be a model of . Then, we have
The above corollary implies that the sequence is monotone and limited (w.r.t. set inclusion) by . Therefore, it converges to a fixpoint. We denote this fixpoint by .
Let be a model of a basic positive program . is an answer set of iff .
Observe that the constraint rules present in (i.e., rules whose head is ) do not contribute to the construction performed by ; nevertheless, the requirement that should be a model of implies that all the constraint rules will have to be satisfied by each answer set. We illustrate Definition 4 in the next examples.
Consider the program from Example 3.
is an answer set of since:
is not an answer set of , since:
Consider again the program (Example 5). Let and . We have that
Thus, both and are answer sets of . On the other hand, for , we have that because and . Hence, is not an answer set of .
We conclude this section by observing that the answer sets obtained from the above construction are minimal models.
Let be a positive basic program and be an answer set of . Then, is a minimal model of .
The next example shows that not every positive program has an answer set.
The example highlights that supportedness, in our approach, is not a sufficient condition for being an answer set— is a supported model, but it is not accepted as an answer set. The reason for rejecting is the fact that the element is essentially self-supporting itself (cyclically) in . Note that is rejected, as an answer set, in most approaches to aggregates in logic programming—e.g., the approach in ? (?) rejects for not being a minimal model of the FLP-reduct of the program.
3.2 Answer Sets for Basic Programs
We will now define answer sets for basic programs, i.e., programs with elementary c-atoms in the head of the rules, and rule bodies composed of c-atoms and naf-atoms.
In the literature, two main approaches have been considered to deal with negation of aggregates and of other complex atoms. Various extensions of logic programming (e.g., weight constraints in ? (?) and aggregates in ? (?)) support negation-as-failure atoms by replacing each naf-atom with a c-atom , where is obtained from by replacing the predicate relation of with its “negation”. For example, following this approach, the negated cardinality constraint atom can be replaced by . Similarly, the negated aggregate atom can be replaced by .
On the other hand, other researchers (see, e.g., ?, ?) have suggested to handle naf-atoms by using a form of program reduct—in the same spirit as in ? (?).
Following these perspectives, we study two different approaches for dealing with naf-atoms, described in the next two subsections. It is worth mentioning that both approaches coincide in the case of monotone programs (Proposition 2).
3.2.1 Negation-as-Failure by Complement
In this approach, we treat a naf-atom by replacing it with its complement. We define the notion of complement of a c-atom as follows.
The complement of a c-atom is the c-atom .
We next define the complement of a program .
Given a basic program , we define (the complement of ) to be the program obtained from by replacing each occurrence of in with the complement of .
The program is a basic positive program, whose answer sets have been defined in Definition 4. This allows us to define the notion of answer sets of basic programs as follows.
A set of atoms is an answer set by complement of a basic program iff it is an answer set of .
It is easy to see that each answer set of a program is indeed a minimal model of .
Let us consider the program , which consists of the following rules:
The complement of is
which has as its only answer set. Thus, is an answer set by complement of .
Let be the program
We have that is the program
This program does not have an answer set (w.r.t. Definition 4); thus does not have an answer set by complement.
3.2.2 Negation-as-Failure by Reduction
Another approach for dealing with naf-atoms is to adapt the Gelfond-Lifschitz reduction of normal logic programs (?) to programs with c-atoms—this approach has been considered in ? (?) and ? (?). We can generalize this approach to programs with arbitrary c-atoms as follows. For a basic program and a set of atoms , the reduct of P w.r.t. M () is the set of rules obtained by
removing all rules containing s.t. ; and
removing all from the remaining rules.
The program is a positive basic program. Thus, we can define answer sets for as follows:
A set of atoms is an answer set by reduct of iff is an answer set of (w.r.t. Definition 4).
Let us reconsider the program from Example 11 and let us consider . If we perform a reduct, we are left with the rules
whose minimal model is itself. Thus, is an answer set by reduct of the program .
The next example shows that this approach can lead to different answer sets than the case of negation by complement (for non-monotone programs).
Consider the program from Example 12. Let . The reduct of w.r.t. is the program
which has as its answer set, i.e., is an answer set by reduct of .
One consequence of the negation by reduct approach is the fact that it might lead to non-minimal answer sets—in the presence of non-monotone atoms. For instance, if we replace the atom in with , the new program is (by replacing the aggregate with a c-atom):
This program admits the following two interpretations as answer sets by reduct: and . Since , we have that a non-minimal answer set exists.
This result indicates that, for certain programs with c-atoms, there might be different ways to treat naf-atoms, leading to different semantical characterizations. This problem has been mentioned in ? (?). Investigating other methodologies for dealing with naf-atoms is an interesting topic of research, that we plan to pursue in the future.
3.3 Properties of Answer Sets of Basic Programs
We will now show that the notion of answer sets for basic programs with c-atoms is a natural generalization of the notions of answer sets for normal logic programs. We prove that answer sets of basic positive programs are minimal and supported models and characterize situations in which these properties hold for basic programs. We begin with a result stating that, for the class of naf-monotone programs, the two approaches for dealing with naf-atoms coincide.
Let be a basic program. Each answer set by complement of is an answer set by reduct of . Furthermore, if is naf-monotone, then each answer set by reduct of is also an answer set by complement of .
The above proposition implies that, in general, the negation-as-failure by complement approach is more ‘skeptical’ than the negation-as-failure by reduct approach, in that it may accept fewer answer sets.666Note that we use the term “skeptical” to indicate acceptance of fewer models, which is somewhat different than the use of the term in model theory. Furthermore, Examples 12 and 14 show that a minimal (w.r.t. set inclusion) answer set by reduct is not necessarily an answer set by complement of a program.
Let be a normal logic program (without c-atoms) and let be the program obtained by replacing each occurrence of an atom in with . Since is a monotone c-atom, is a monotone program. Proposition 2 implies that, for , answer sets by reduct and answer sets by complement coincide. In the next proposition, we prove that the notion of answer sets for programs with c-atoms preserves the notion of answer set for normal logic programs, in the following sense.
Proposition 3 (Preserving Answer Sets)
For a normal logic program , is an answer set (by complement or by reduct) of iff is an answer set of (w.r.t. the definition in ? (?)).
The above proposition, together with Proposition 2, implies that normal logic programs can be represented by positive basic programs. This is stated in the following corollary.
Every answer set of a normal logic program is an answer set of and vice versa.
In the next proposition, we study the minimality and supportedness properties of answer sets of basic programs.
Proposition 4 (Minimality of Answer Sets)
The following properties hold:
Every answer set by complement of a basic program is a minimal model of .
Every answer set by reduct of a basic, naf-monotone program is a minimal model of .
Every answer set (by complement/reduct) of a basic program supports each of its members.
4 Answer Sets for Basic Programs: A Level Mapping Based Approach
The definition of answer sets provided in the previous section can be viewed as a generalization of the answer set semantics for normal logic programs—in the sense that it relies on a fixpoint operator, defined for positive programs. In this section, we discuss another approach for defining answer sets for programs with c-atoms, which is based on the notion of well-supported models.
The notion of well-supported models for normal logic programs was introduced in ? (?), and it provides an interesting alternative characterization of answer sets. Intuitively, a model of a program is a well-supported model iff there exists a level mapping, from atoms in to the set of positive integers, such that each atom is supported by a rule , whose body is satisfied by and the level of each positive atom in is strictly smaller than the level of .777This implicitly means that and , i.e., naf-atoms are dealt with by reduct. Fages proved that answer sets are well-supported models and vice versa (?). The notion of well-supportedness has been extended to deal with dynamic logic programs in ? (?). Level mapping has also been used as an effective tool to analyze different semantics of logic programs in a uniform way (?).
In what follows,
we will show that the notion of
well-supported models can be effectively applied to programs with c-atoms.
A key to the formulation of this notion is the answer to the
“what is the level of a c-atom given a set of atoms and a level mapping of ?”
On one hand, one might argue that the level mapping of should be defined independently from the mapping of the other atoms, being an atom itself. On the other hand, it is reasonable to assume that the level of depends on the levels of the atoms in , since the satisfaction of (w.r.t. a given interpretation) depends on the satisfaction of the elements in . The fact that every existing semantics of programs with c-atoms evaluates the truth value of a c-atom based on the truth value assigned to elements of stipulates us to adopt the second view.
It is worth to mention that this view also allows us to avoid undesirable circular justifications of elements of a well-supported model: if we follow the first view, the program consisting of the following rules
would have as a well-supported model in which , , and are supported by , , and respectively. This means that is true because both and are true, i.e., there is a circular justification for w.r.t. the model .
Let be a set of atoms, be a mapping from to positive integers, and let be a c-atom. We define , and
Intuitively, the “level” of each atom is given by the smallest of the levels of the solutions of the atom compatible with —where the level of a solution is given by the maximum level of atoms in the solution. We assume that , while is undefined. We will now introduce two different notions of well-supported models. The first notion, called weakly well-supported models, is a straightforward generalization of the definition given in ? (?)—in that it ignores the naf-atoms. The second notion,, called strongly well-supported models, does take into consideration the naf-atoms in its definition.
Definition 9 (Weakly Well-Supported Model)
Let be a basic program. A model of is said to be weakly well-supported iff there exists a level mapping such that, for each , contains a rule with , , and for each , is defined and .
We illustrate this definition in the next example.
Let us consider again the program and the set of atoms . Let . Obviously, is a model of . Assume that is a weakly well-supported model of . This means that there exists a mapping from to the set of positive integers satisfying the condition of Definition 9. Since and there is only one rule in with as head, we can conclude that . Observe that and . Thus, by the definition of , we have that
This implies that there exists no rule in , which satisfies the condition of Definition 9 and has as its head. In other words, is not a weakly well-supported model of .
The next proposition generalizes Fages’ result to answer sets by reduct for programs with c-atoms.
A set of atoms is an answer set by reduct of a basic program iff it is a weakly well-supported model of .
As we have seen in the previous section, different ways to deal with naf-atoms lead to different semantics for basic programs with c-atoms. To take into consideration the fact that naf-atoms can be dealt with by complement, we develop an alternative generalization of Fages’s definition of a well-supported model to programs with abstract c-atoms as follows.
Definition 10 (Strongly Well-Supported Model)
Let be a basic program. A model of is said to be strongly well-supported iff there exists a level mapping such that, for each , contains a rule with , , for each , is defined and , and for each , is defined and ,
A set of atoms is an answer set by complement of a basic program iff it is a strongly well-supported model of .
The above two propositions, together with Proposition 2, lead to the following corollary.
For every naf-monotone basic program , each weakly well-supported model of is also a strongly well-supported model of and vice versa.
As we have discussed in the previous section, each normal logic program can be easily translated into a monotone basic program with c-atoms of the form , . Thus, Corollary 4 indicates that the notion of weakly/strongly well-supported model is indeed a generalization of Fages’s definition of well-supported model to programs with c-atoms.
5 Answer Sets for General Programs
General programs are programs with non-elementary c-atoms in the head. The usefulness of rules with non-elementary c-atoms in the head, in the form of a weight constraint or an aggregate, has been discussed in ? (?, ?) and in ? (?). For example, a simple atom888 Recall that aggregates are special form of c-atoms.
can be used to represent the constraint that no more than 10 students can take the AI class. The next example shows how the 3-coloring problem of a graph can be represented using c-atoms.
Let the three colors be red (), blue (), and green (). The program contains the following rules:
the set of atoms for every edge of ,
for each vertex of , the following rule:
which states that must be assigned one and only one of the colors red, blue, or green.
for each edge of , three rules representing the constraint that and must have different color:
We note that, with the exception of the proposals in ? (?, ?), other approaches to defining answer sets of logic programs with aggregates do not deal with programs with aggregates in the head. On the other hand, weight constraint and choice atoms are allowed in the head (?). Similarly, c-atoms are considered as head of rules in the framework of logic programs with c-atoms by ? (?) and by ? (?).
In this section, we define answer sets for general programs—i.e., programs where the rule heads can be arbitrary c-atoms. Our approach is to convert a program with c-atoms in the head into a collection of basic programs, whose answer sets are defined as answer sets of . To simplify the presentation, we will talk about “an answer set of a basic program” to refer to either an answer set by complement, an answer set by reduct, or a well-supported model of the program. The distinction will be stated clearly whenever it is needed.
Let be a program, , and let be a model of . The instance of w.r.t. , denoted by is defined as follows
The instance of w.r.t. , denoted by , is the program
It is easy to see that the instance of w.r.t. is a basic program. This allows us to define answer sets of general programs as follows.
Let be a general program. is an answer set of iff is a model of and is an answer set of .
This definition is illustrated in the next examples.
Let be the program consisting of a single fact:
Intuitively, is the choice atom in the notation of Smodels.
This program has two models, and . The instance contains the single fact
whose only answer set is . Similarly, the instance is the single fact
whose only answer set is . Thus, has the two answer sets and .
The next example shows that in the presence of non-elementary c-atoms in the head, answer sets might not be minimal.
Let be the program consisting of the following rules:
Intuitively, the first rule of is the cardinality constraint in the notation of Smodels. This program has four models: , , , and . The instance contains the single fact
whose only answer set is . Thus, is an answer set of .
If we consider , the corresponding instance contains the rules
whose only answer set is . This shows that is another answer set of .
Similarly, one can show that is also an answer set of .
The instance is the program
which has as its only answer set. Hence, is not an answer set of . Thus, has three answer sets, , , and . In particular, observe that .
Observe that if is a basic program then is its unique instance. As such, the notion of answer sets for general programs is a generalization of the notion of answer sets for basic programs. It can be shown that Proposition 2 also holds for general programs. The relationship between the notion of answer set for general programs and the definition given in ? (?) and other extensions to logic programming is discussed in the next section.
6 Related Work and Discussion
In this section, we relate our work to some recently proposed extensions of logic programming, and discuss a possible method for computing answer sets of programs with c-atoms using available answer set solvers.
6.1 Related Work
The concept of logic programs with c-atoms, as used in this paper, has been originally introduced in ? (?) and in ? (?)—in particular, programs with c-atoms have been named SC-programs in ? (?).999Although naf-atoms are not allowed in the definition of SC-programs, the authors suggest that naf-atoms can be replaced by their complement. The Example 7 shows that our semantical characterization differs from the approach adopted in ? (?). In particular, our approach guarantees that answer sets for basic programs are minimal, while that is not the case for the approach described in ? (?). Consider another example:
Consider the program