body of ${\ensuremath{r}}$ is true w.r.t. $I$. An interpretation $I$ is a *model* of a program ${P}$ if $I$ satisfies all the rules in ${P}$.

Given an interpretation $I$ for a program ${P}$, the reduct of ${P}$ w.r.t. $I$, denoted by ${P}^{I}$, is obtained by deleting from ${P}$ all the rules ${\ensuremath{r}}$ with ${\ensuremath{B^-({\ensuremath{r}})}} \cap I \neq \emptyset$, and then by removing all the negative literals from the remaining rules [@gelf-lifs-91]. The semantics of a program ${P}$ is given by the set ${{\mathit AS}}({P})$ of the answer sets of ${P}$, where an interpretation $M$ is an answer set for ${P}$ if and only if $M$ is a subset-minimal model of ${P}^M$.

In the subsequent sections, we will use the following properties that the models and models of reducts of programs satisfy (see, e.g. [@Eiter04; @Eiter05]):

-   for any disjunctive program $P$ and interpretations $I\subseteq J\subseteq K$, if $I$ satisfies $P^J$, then $I$ also satisfies $P^K$;

-   for any normal program $P$ and interpretations $I, J\subseteq K$, if $I$ and $J$ both satisfy $P^K$, then also $(I\cap J)$ satisfies $P^K$.

By a query in this paper we refer to an atom, negative and conjunctive queries can be simulated by adding appropriate 