Answer Sets for Logic Programs with Arbitrary Abstract Constraint Atoms
Abstract
In this paper, we present two alternative approaches to defining answer sets for logic programs with arbitrary types of abstract constraint atoms (catoms). These approaches generalize the fixpointbased and the level mapping based answer set semantics of normal logic programs to the case of logic programs with arbitrary types of catoms. The results are four different answer set definitions which are equivalent when applied to normal logic programs.
The standard fixpointbased 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 negationasfailure (naf) atoms, make use of an immediate consequence operator to perform answer set checking, whose definition relies on the notion of conditional satisfaction of catoms w.r.t. a pair of interpretations.
The other two definitions, called strongly and weakly wellsupported models, are generalizations of the notion of wellsupported models of normal logic programs to the case of programs with catoms. As for the case of fixpointbased 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) wellsupported models of a program, thus generalizing the theorem on the correspondence between stable models and wellsupported models of a normal logic program to the class of programs with catoms.
We show that the newly defined semantics coincide with previously introduced semantics for logic programs with monotone catoms, and they extend the original answer set semantics of normal logic programs. We also study some properties of answer sets of programs with catoms, and relate our definitions to several semantics for logic programs with aggregates presented in the literature.
Enrico Pontelli epontell@cs.nmsu.edu
Phan Huy Tu tphan@cs.nmsu.edu
Computer Science Department
New Mexico State University
Las Cruces, NM 88003, USA
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 nonmonotonic reasoning, and it is sufficiently expressive for representing several classes of problems (e.g., normal logic programs capture the class of NPcomplete 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 nonmonotonic 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 catoms) 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 catom 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.).^{1}^{1}1One could also argue that catoms and general aggregates capture analogous notions. Thus, programs with weight constraint atoms or other aggregates can be represented as logic programs with catoms.
The first explicit definition of answer sets for positive programs with arbitrary catoms (i.e., programs without the negationasfailure operator)—called programs with set constraints or SCprograms—has been introduced in the work of Marek and Remmel (?). In this work answer sets for programs with catoms 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 wellagreed 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 catoms. Our aim is to match the semantics provided in the more recent literature for monotone catoms, and to avoid the pitfalls of the approach developed in the work of Marek and Remmel (?).
The concept of answer sets for programs with catoms has been later revisited by Marek and Truszczyński (?), focusing on answer sets for programs with monotone constraint atoms, where a catom 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 catoms (?). In another paper (?), it is extended to deal with convex catoms where a catom 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 catoms. It is shown that many wellknown properties of standard logic programming under answer set semantics are preserved in the case of programs with monotone catoms.
The main advantage of focusing on monotone catoms lies in that monotonicity provides a relatively simpler way for defining answer sets of logic programs with catoms. On the other hand, this restriction does not allow several important classes of problems to be directly expressed. For example^{2}^{2}2 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 catoms.
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 catoms developed by ? (?)?” Furthermore, will these alternatives—if any— capture the semantics of programs with monotone catoms proposed by ? (?) and avoid the pitfalls of the notion of answer sets for arbitrary catoms in ? (?)?
We present two equivalent approaches for defining answer sets for logic programs with arbitrary catoms.

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 catoms. 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 wellsupportedness, 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 catoms in ? (?).
We show that the newly defined semantics coincide with the previously introduced semantics in ? (?) in the case of programs with monotone catoms, and they extend the original stable model semantics for normal logic programs. We discuss different approaches for treating negationasfailure catoms. We also relate our definitions to several semantics for logic programs with aggregates, since the notion of catom 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 catoms, which is inspired by the fixpoint construction proposed in ? (?) (but simpler) and which differs significantly from the only proposal for programs with arbitrary catoms 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 wellsupported models in ? (?) to programs with arbitrary catoms, which—to the best of our knowledge—has not been investigated by any other researchers, which leads to the notions of weakly and strongly wellsupported models;

A result showing that the set of answer sets by reduct (resp. by complement) is equivalent to the set of weakly (resp. strongly) wellsupported 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 catoms, the basic notion of satisfaction, and the notion of answer set for programs with monotone catoms in ? (?) and for positive programs with arbitrary catoms in ? (?). Section 3 presents our first approach to defining answer sets for logic programs with arbitrary catoms based on a fixpoint operator, while Section 4 introduces an alternative definition based on wellsupportedness. Section 5 extends the semantics to programs with arbitrary catoms 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.
2.1 Syntax
An abstract constraint atom (or catom) is an expression of the form , where is a set of atoms (the domain of the catom), and is a collection of sets of atoms belonging to , i.e., (the solutions of the catom). Intuitively, a catom is a constraint on the set of atoms , and represents its admissible solutions. Given a catom , we use and to denote and , respectively.
A catom of the form is called an elementary catom and will be simply written as . A catom of the form , representing a constraint which does not admit any solutions, will be denoted by . A catom is said to be monotone if for every , implies that .
A rule is of the form
(1) 
where , ’s are catoms. The literals () are called negationasfailure catoms (or nafatoms). 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 catom;

A rule is a constraint rule if .
A logic program with catoms (or logic program, for simplicity)^{3}^{3}3Whenever we want to refer to traditional logic programs (without catoms), 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. nafmonotone) if each catom occurring in (resp. in a nafatom in ) is monotone. Clearly, a monotone program is also nafmonotone.
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 catoms. We then introduce the notion of a model of programs with catoms.
2.2.1 Satisfaction of CAtoms
A set of atoms satisfies a catom , denoted by , if . satisfies , denoted by , if .
It has been shown in ? (?) and in ? (?) that the notion of catom is more general than extended atoms such as cardinality constraint atoms and aggregate atoms; thus, catoms 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 catom 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 catom , where:

Example 1
Let us consider the aggregate , defined in a language where . From the considerations above, we have that this aggregate can be represented by the catom where
Example 2
Let us consider the cardinality constraint atom . This can be represented by the catom where
Catoms 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 catom . Further motivations behind the use of catoms 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 catoms, whenever no confusion is possible.
2.2.2 Models
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:

,

, and

.
Example 3
Let ^{4}^{4}4Remember that the notation is a short form for the catom . be the program
The aggregate notation represents the catom where . has two models:
is a minimal model of , while is not.
Example 4
Let be the program
The aggregate notation represents the catom 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 .
Example 5
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 catoms 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 catoms), 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 onestep provable from by means of if and for every . The nondeterministic onestep provability operator is a function from to such that for every , consists of all sets that are nondeterministically onestep provable from by means of .
A computation is a sequence where and for every nonnegative integer ,

(i) , and

(ii)
is called the result of the computation . A set of atoms is a derivable model of if there exists a computation such that . The GelfondLifschitz reduct for normal logic programs is generalized to monotone programs as follows.
Definition 1
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.
Definition 2
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 nonmonotone catoms, Definition 2 is, in general, not applicable.
Example 6
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 onestep provability operator might become nonmonotone in the presence of nonmonotone catoms.
2.4 Answer Sets for Positive Programs
Positive programs are characterized by the lack of negationasfailure atoms. Positive programs with arbitrary catoms have been investigated in ? (?), under the name of SCprograms. Let us briefly review the notion of answer sets for SCprograms—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 catom , the closure of , denoted by , is the catom
Intuitively, the closure is constructed by including all the supersets of the existing solutions.
A catom is said to be closed if . A rule of the form (1) is a Hornrule if (i) its head is an elementary catom; and (ii) each catom in the body is a closed catom. A SCprogram is said to be a Horn SCprogram if each rule in is a Hornrule. The onestep provability operator, defined by , associated to a Horn SCprogram is monotone. Hence, every Horn SCprogram has a least fixpoint which is the only minimal model of (w.r.t. set inclusion). Given a set of atoms and a SCprogram , the NSSreduct 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 catoms and ’s are nonelementary catoms by the set of rules
A model of a program is an answer set of if it is the least fixpoint of the onestep 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.
Example 7
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 nonminimal 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.
Observation 1
Let be a propositional normal logic program (i.e., without catoms)^{5}^{5}5For 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 catoms.
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 catoms, the monotonicity of is guaranteed only under certain circumstances, e.g., when catoms in are monotone. To deal with arbitrary catoms, we need to introduce the notion of conditional satisfaction of a catom.
Definition 3 (Conditional Satisfaction)
Let and be sets of atoms. The set conditionally satisfies a catom w.r.t. , denoted by , if

and,

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 catoms 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.
Proposition 1
Let be a model of , and let . Then
Corollary 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 .
Definition 4
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.
Example 8
Consider the program from Example 3.

is an answer set of since:

is not an answer set of , since:
Example 9
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.
Corollary 2
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.
Example 10
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 selfsupporting 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 FLPreduct of the program.
3.2 Answer Sets for Basic Programs
We will now define answer sets for basic programs, i.e., programs with elementary catoms in the head of the rules, and rule bodies composed of catoms and nafatoms.
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 negationasfailure atoms by replacing each nafatom with a catom , 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 nafatoms by using a form of program reduct—in the same spirit as in ? (?).
Following these perspectives, we study two different approaches for dealing with nafatoms, 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 NegationasFailure by Complement
In this approach, we treat a nafatom by replacing it with its complement. We define the notion of complement of a catom as follows.
Definition 5
The complement of a catom is the catom .
We next define the complement of a program .
Definition 6
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.
Definition 7
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 .
Example 11
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 .
Example 12
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 NegationasFailure by Reduction
Another approach for dealing with nafatoms is to adapt the GelfondLifschitz reduction of normal logic programs (?) to programs with catoms—this approach has been considered in ? (?) and ? (?). We can generalize this approach to programs with arbitrary catoms 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:
Definition 8
A set of atoms is an answer set by reduct of iff is an answer set of (w.r.t. Definition 4).
Example 13
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 nonmonotone programs).
Example 14
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 nonminimal answer sets—in the presence of nonmonotone atoms. For instance, if we replace the atom in with , the new program is (by replacing the aggregate with a catom):
This program admits the following two interpretations as answer sets by reduct: and . Since , we have that a nonminimal answer set exists.
This result indicates that, for certain programs with catoms, there might be different ways to treat nafatoms, leading to different semantical characterizations. This problem has been mentioned in ? (?). Investigating other methodologies for dealing with nafatoms 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 catoms 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 nafmonotone programs, the two approaches for dealing with nafatoms coincide.
Proposition 2
Let be a basic program. Each answer set by complement of is an answer set by reduct of . Furthermore, if is nafmonotone, then each answer set by reduct of is also an answer set by complement of .
The above proposition implies that, in general, the negationasfailure by complement approach is more ‘skeptical’ than the negationasfailure by reduct approach, in that it may accept fewer answer sets.^{6}^{6}6Note 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 catoms) and let be the program obtained by replacing each occurrence of an atom in with . Since is a monotone catom, 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 catoms 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.
Corollary 3
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, nafmonotone 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 catoms, which is based on the notion of wellsupported models.
The notion of wellsupported 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 wellsupported 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 .^{7}^{7}7This implicitly means that and , i.e., nafatoms are dealt with by reduct. Fages proved that answer sets are wellsupported models and vice versa (?). The notion of wellsupportedness 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
wellsupported models can be effectively applied to programs with catoms.
A key to the formulation of this notion is the answer to the
following question:
“what is the level of a catom 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 catoms evaluates the truth value of a catom 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 wellsupported model: if we follow the first view, the program consisting of the following rules
would have as a wellsupported 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 catom. 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 wellsupported models. The first notion, called weakly wellsupported models, is a straightforward generalization of the definition given in ? (?)—in that it ignores the nafatoms. The second notion,, called strongly wellsupported models, does take into consideration the nafatoms in its definition.
Definition 9 (Weakly WellSupported Model)
Let be a basic program. A model of is said to be weakly wellsupported 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.
Example 15
Let us consider again the program and the set of atoms . Let . Obviously, is a model of . Assume that is a weakly wellsupported 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 wellsupported model of .
The next proposition generalizes Fages’ result to answer sets by reduct for programs with catoms.
Proposition 5
A set of atoms is an answer set by reduct of a basic program iff it is a weakly wellsupported model of .
As we have seen in the previous section, different ways to deal with nafatoms lead to different semantics for basic programs with catoms. To take into consideration the fact that nafatoms can be dealt with by complement, we develop an alternative generalization of Fages’s definition of a wellsupported model to programs with abstract catoms as follows.
Definition 10 (Strongly WellSupported Model)
Let be a basic program. A model of is said to be strongly wellsupported 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 ,
Proposition 6
A set of atoms is an answer set by complement of a basic program iff it is a strongly wellsupported model of .
The above two propositions, together with Proposition 2, lead to the following corollary.
Corollary 4
For every nafmonotone basic program , each weakly wellsupported model of is also a strongly wellsupported 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 catoms of the form , . Thus, Corollary 4 indicates that the notion of weakly/strongly wellsupported model is indeed a generalization of Fages’s definition of wellsupported model to programs with catoms.
5 Answer Sets for General Programs
General programs are programs with nonelementary catoms in the head. The usefulness of rules with nonelementary catoms in the head, in the form of a weight constraint or an aggregate, has been discussed in ? (?, ?) and in ? (?). For example, a simple atom^{8}^{8}8 Recall that aggregates are special form of catoms.
can be used to represent the constraint that no more than 10 students can take the AI class. The next example shows how the 3coloring problem of a graph can be represented using catoms.
Example 16
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, catoms are considered as head of rules in the framework of logic programs with catoms by ? (?) and by ? (?).
In this section, we define answer sets for general programs—i.e., programs where the rule heads can be arbitrary catoms. Our approach is to convert a program with catoms 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 wellsupported 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.
Definition 11
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.
Example 17
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 nonelementary catoms in the head, answer sets might not be minimal.
Example 18
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 catoms using available answer set solvers.
6.1 Related Work
The concept of logic programs with catoms, as used in this paper, has been originally introduced in ? (?) and in ? (?)—in particular, programs with catoms have been named SCprograms in ? (?).^{9}^{9}9Although nafatoms are not allowed in the definition of SCprograms, the authors suggest that nafatoms 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:
Example 19
Consider the program