replaced by the following equivalent rule: $$co {\leftarrow}q_1,\ \ldots,\ q_j,\ {{\mathit not}}~q_{j+1},\ \ldots,\ {{\mathit not}}~q_m,\ {{\mathit not}}~co,$$ where $co$ is a fresh atom (i.e., an atom that does not occur elsewhere in the program). We also require the notion of *head-cycle free* programs (cf. [@bene-dech-94]): a program ${P}$ is called head-cycle free if no different head atoms in a rule positively depend mutually on each other.

Given a program ${P}$, let ${{\mathit At}}({P})$ denote the set of atoms that occur in it, that is, let ${{\mathit At}}({P}) = \bigcup_{{\ensuremath{r}}\in {P}} {{\mathit At}}({\ensuremath{r}})$. An *interpretation* $I$ for a program ${P}$ is a subset of ${{\mathit At}}({P})$. An atom $p$ is true w.r.t. an interpretation $I$ if $p\in I$; otherwise, it is false. A negative literal ${{\mathit not}}\ p$ is true w.r.t. $I$ if and only if $p$ is false w.r.t. $I$. The body of a rule ${\ensuremath{r}}$ is true w.r.t. $I$ if and only if all the body literals of ${\ensuremath{r}}$ are true w.r.t. $I$, that is, if and only if ${\ensuremath{B^+({\ensuremath{r}})}} \subseteq I$ and ${\ensuremath{B^-({\ensuremath{r}})}} \cap I = \emptyset$. An interpretation $I$ [*satisfies*]{} a rule ${\ensuremath{r}}\in {P}$ if at least one atom in ${\ensuremath{H({\ensuremath{r}})}}$ is true w.r.t. $I$ whenever the 