Subrahmanian, V., Bonatti, P., Dix, J., Eiter, T., Kraus, S., Ozcan, F., and Ross, R. 2000. *Heterogeneous Agent Systems*. MIT Press/AAAI Press, Cambridge, MA, USA.

van der Hoek, W. and Wooldrige, W. 2003. Towards a logic of rational agency. Logic Journal of the IGPL 11, 2, 135–159.

Wooldridge, M. 2000. *Reasoning about Rational Agents*. Intelligent Robots and Autonomous Agents. MIT Press, Cambridge, Massachusetts.

Wooldridge, M. and Jennings, N. R. 1995. Intelligent Agents: Theory and Practice.

The Knowledge Engineering Review 2, 10, 115–152.

## Appendix A

In order to improve the overall readability of the paper, a number of lemma and theorem proofs have been moved to this section.

Lemma 1 (see page 18) Given a SOLP collection SP = {P1, · · · ,Pn}**, an integer** j
(1 ≤ j ≤ n), a SOLP program Pj ∈ SP, a social interpretation ¯I for SP **and a SC**
s ∈ MSC Pj, it holds that s is true for Pj w.r.t. I¯ iff ∃M ∈ SM (C(P1, **· · ·** ,Pn)∪Q)
s.t. ρ(s)Pj ∈ M **, where** Q = {a ←| a ∈ ¯I }.

Proof Before starting with the proof, let us denote the set of all the SCs **occurring in** s
(plus the SC s itself) by N (s), and the LPA program C(P1, · · · ,Pn**) by** C¯ .

(⇒). We have to prove that if s is true for Pj w.r.t. ¯I**, then there exists a**
stable model M of the logic program C¯ ∪ Q s.t. the atom ρ(s)Pj**, corresponding to**
s by means of the translation, is included in M **. We proceed by induction on the**
maximum nesting depth (see page 3) of the SCs in N (s), d = maxs
′∈N (s){depth(s
′)}
(d ≥ 0).

(Basis). In case d = 0, then N (s) = {s} and depth(s**) = 0 (recall the definition of**
the function depth on page 3). Since |N (s)| = 1, s **is a simple SC, i.e.** skel(s) = ∅.

Now, assume by contradiction that s is true for Pj w.r.t. ¯I **and that for each**
M ∈ SM (C¯ ∪ Q), ρ(s)Pj 6∈ M **. Observe now that it may occur either the following**
cases: (1) cond(s) = [Pk ](1 ≤ k ≤ n**), or (2)** cond(s**) = [**l, h].

In case (1), according to Definition 13 (page 16), there exists a set S = {r1, r2} ⊆
C¯ ∪ Q **such that:**

$r_{1}:\rho(s)_{p_{j}}\leftarrow(g(s))(k)_{p_{j}}$  $r_{2}:(g(s))(k)_{p_{j}}\leftarrow\Lambda_{b\in content}(s)$
and for each r ∈ (C¯ ∪ Q) \ S, head(r ) 6= r1 ∧ head(r ) 6= r2.

Since we have assumed that ρ(s)Pj 6∈ M **, it is easy to see that both** body(r1)
and body(r2) are false w.r.t. M **. Moreover, it holds that for each** M ∈ SM (C¯ ∪ Q), ¯I ⊆ M , as Q = {a ←| a ∈ ¯I }**. As a consequence,** body(r2**) is false w.r.t.** ¯I.

Since the elements occurring in body(r2**) are labeled literals, we have proven that**
cond(s) = [Pk **] and that the condition** ∀a ∈ content(s), a is true for Pk **w.r.t.** ¯I
does not hold. Such a result, according to Definition 8 (page 11), contradicts the hypothesis that s is true for Pj w.r.t. ¯I **and, therefore, concludes the proof of the**
basis of the induction, in case (1).