# Logic Programming With Social Features∗

FRANCESCO BUCCAFURRI and GIANLUCA CAMINITI
DIMET - Universit`a "Mediterranea" degli Studi di Reggio Calabria via Graziella, loc. Feo di Vito, 89122 Reggio Calabria, Italia
(*e-mail:* bucca@unirc.it, gianluca.caminiti@unirc.it)
submitted 16 January 2007 ; revised 13 November 2007, 18 April 2008; accepted 21 May 2008

## Abstract

In everyday life it happens that a person has to reason about what other people think and how they behave, in order to achieve his goals. In other words, an individual may be required to adapt his behaviour by reasoning about the others' mental state. In this paper we focus on a knowledge representation language derived from logic programming which both supports the representation of mental states of individual communities and provides each with the capability of reasoning about others' mental states and acting accordingly. The proposed semantics is shown to be translatable into stable model semantics of logic programs with aggregates. To appear in Theory and Practice of Logic Programming (TPLP).

KEYWORDS: logic programming, stable model semantics, knowledge representation

## 1 Introduction

In everyday life it happens that a person has to reason about what **other people**
think and how they behave, in order to achieve his goals. In other words, an individual may be required to adapt his behaviour by reasoning about the others' mental state. This typically happens in the context of cooperation **and negotiation:** for instance, an individual can propose his own goals if he knows that **they would** be acceptable to the others. Otherwise he can decide not to make them public.

As a consequence, one can increase the success chances of his actions, by having information about the other individuals' knowledge.

In this paper we focus on a knowledge representation language derived from logic programming which both supports the representation of mental states of individual communities and provides each with the capability of reasoning about others' mental states and acting accordingly. The proposed semantics is shown to be translatable into stable model semantics of logic programs with aggregates. We give the flavor of the proposal by two introductory examples, wherein we describe the features of our approach in an informal, yet deep fashion. Even though in these examples, as well as elsewhere in the paper, we use the term agent **to denote**
∗ An abridged version of this paper appears in (Buccafurri and Caminiti 2005).

arXiv:0805.3518v1 [cs.AI] 22 May 2008