Logic for Social Software
Marc Pauly
Abstract:
The term "social software" refers to the project of analyzing social
procedures and processes using the formal methods of computer science.
Examples of the social procedures we have in mind are cake-cutting
algorithms and voting procedures. What distinguishes these procedures
is that there are a number of agents who interact strategically in a
well-defined manner. We are interested in developing logical tools
for proving the correctness and efficiency of such social software.
For a cake-cutting algorithm, this may mean showing that the algorithm
can guarantee a fair piece to everyone with only a few cuts. For a
voting procedure, we would want a fair distribution of political power
while reducing the number of votes which need to be taken to a
minimum.
Two logics will be developed and studied for that purpose. Coalition
Logic, introduced in chapter 3, allows one to reason about the
power of coalitions in various kinds of extensive games. The formula
[C]p expresses that at the present state of the game/process, the
group of agents C has a joint strategy for bringing about a next
state where p holds. We provide complete axiomatizations of this
logic for extensive games with and without simultaneous moves, as well
as complexity results for model checking and the satisfiability problem.
Chapter 4 extends Coalition Logic with an extra modality,
adding formula [C*]p which expresses that the group of agents
$C$ has a joint strategy for bringing about p at some time in the
future.
The metatheoretic results obtained for Coalition Logic also allow us
to compare reasoning about individuals to reasoning about groups: For
certain classes of social processes, reasoning about individuals is
less complex than reasoning about groups, assuming that NP does not
equal PSPACE. Similarly, we can compare different classes
of processes in terms of their complexity, asking, e.g., whether
reasoning about situations where agents can act simultaneously is more or
less complex than reasoning about situations where agents can
only act one after the other.
Chapter 5 provides some examples of how Coalition Logic can be
applied in the analysis and synthesis of social processes. Most of
the examples are essentially voting procedures, including also the
Bonn vs. Berlin debate of the German parliament. The verification of
properties of a social process can be done via model checking in
Coalition Logic. Generating a process which satisfies a certain
specification on the other hand can be formulated as a satisfiability
problem.
Game Logic is the second logic for social software we study (chapters
6 and 7). In contrast to Coalition Logic, here the social
process is an explicit part of the logical language, where the formula
p expresses that player 1 has a strategy in process/game
G for achieving an outcome which satisfies p. The
language of Game Logic allows one to reason about determined 2-player
games. It also contains game operations such as sequential composition,
choice, and role interchange for constructing complex games which have
internal structure.
We compare Game Logic to a number of well-known logics which have been
proposed for reasoning about programs (i.e., 1-player games). By
looking at the complexity and expressive power of the different
logics, we are able to compare how reasoning about programs differs
from reasoning about games. As may be expected, games can be more
complex than programs, and more generally, verifying properties of a
game becomes more complex the more players alternate in taking turns.
This thesis tries to build a bridge between computer science on the
one hand and game theory and social choice theory on the other hand.
The logics discussed in this thesis are extensions of modal logics
used in computer science for reasoning about computational processes.
More precisely, Coalition Logic is closely related to Alternating
Temporal Logic whereas Game Logic is a cousin of Propositional Dynamic
Logic and the modal mu-calculus. On the other hand, we make use of
notions and results from game theory and the theory of social choice,
in particular in chapter 2 which develops a general semantic
model underlying both Coalition Logic and Game Logic. At the core of
this model lies the notion of an effectivity function which has been
studied extensively in social choice theory.