Populational Announcement (PPAL)

Vitor Machado1 and Mario Benevides1,2

1 Institute of Mathematics Federal University of Rio de Janeiro 2 System Engineering and Program (PESC/COPPE) Federal University of Rio de Janeiro

Abstract. Populational Announcement Logic (PPAL), is a variant of the standard Public Announcement Logic (PAL) with a fuzzy semantics, where instead of specific agents we have populations and groups. The semantics and the announcement logic are defined, and an example is provided. We briefly talk about decidability and . We conclude that the main advantage of PPAL over DEL and PAL is the flexibility to work with non-priorly defined agents.

Keywords: epistemic logic, , knowledge representation

 Introduction

Epistemic attempt to provide ways to reason about knowledge representa- tion models []. C. I. Lewis published back in   the book “Survey of Symbolic Logic”, possibly the first systematic approach to the matter []. Later in  , Von Wright’s “An Essay in Modal Logic” introduced a concept called “modality” to better represent the semantics of knowledge [], providing operators such as “usually” and “always” to qualify propositional statements. It is considered the first important work regarding modal logic. A further development is Dynamic Logic, which reasons about actions and their effects []. Dynamic Epistemic Logic (DEL) is conceived to reason about actions that change agents’ knowledge and beliefs. It is not interested in justifying whether something is knowledge or not, but in inferring something from said knowledge. The first Dynamic Epistemic Logic was proposed independently by [] and [], and is called Public Announcement Logic (PAL), a logic which allows simple public actions which alter the state of knowledge for its agents. Later [,] proposed the Action Model Logic approach, allowing for more complex reasoning.

. Motivation and Objectives This work aims to specify a variation of PAL where knowledge is represented across populations and groups of populations, instead of discrete agents as it is normally done. The motivation behind this is to provide a framework that is capable of dealing with applications where one intends to reason about evolution  Vitor Machado and Mario Benevides

of knowledge across populations instead of individual agents. It is specially designed for model checking, because it is not necessary to specify agents (or populations in this case) beforehand, and instead these populations can be defined in the middle of the execution by the announcement operators of the language. To achieve this we have introduced and defined a “fuzzyfied” variant of PAL that allows partial announcements to its agents (called “populations” and “groups”). We formalize the model, language and semantics, and give an example where an initial model is given and some announcements are made which modify it, in order to illustrate its applicability in a scenario where knowledge evolves across populations as announcements are made.

. Roadmap In section  we introduce Public Announcement Logic (PAL), showing a classical example to illustrate its use. In section , we introduce Populational Announce- ment Logic (PPAL), explain its purpose and differences with respect to PAL and define its language, semantics and model. We also talk about decidability and a model checker. Section  provides two basic examples of PPAL, showing how the model evolves after an announcement. Section  provides a conclusion, some final remarks and future works.

 Public Announcement Logic (PAL)

Now, we will briefly introduce the Public Announcement Logic, an extension to Multi-Agent Epistemic Logic which has been investigated in Computer Science [] to represent and reason about agents or groups of agents’ knowledge and beliefs. It is the first actual Dynamic Epistemic Logic, developed by Plaza in [].

. Language and Semantics The language is as follows in BNF notation:

휙 ::= 푝 |¬휙 | 휙1 ∧ 휙2 | 퐾푎휙 | [휑]휙 where 푝 ∈ 훷, the set of countably many proposition symbols, and 푎 ∈ 풜, a finite set of agents. The operators ∨ and → can be derived from the others similarly to propositional logic. The modal operator of public announcement [휑]휙 has the intended meaning: “after the announcement of 휑, 휙 holds”. The effect of announcing 휑 publicly is a restriction in the model to contain only states where 휑 is true.

Definition  Given a multi-agent epistemic model ℳ = ⟨푆, ∼푎, 푉 ⟩, the notion of satisfaction ℳ, 푠 |= 휙 is defined as follows:

– ℳ, 푠 |= 푝 iff 푠 ∈ 푉 (푝) – ℳ, 푠 |= ¬휑 iff ℳ, 푠 ̸|= 휑 Populational Announcement Logic (PPAL) 

– ℳ, 푠 |= 휑 ∧ 휓 iff ℳ, 푠 |= 휑 and ℳ, 푠 |= 휓 ′ ′ ′ – ℳ, 푠 |= 퐾푎휑 iff ∀푠 ∈ 푆 : 푠 ∼푎 푠 ⇒ ℳ, 푠 |= 휑 – ℳ, 푠 |= [휑]휙 iff ℳ, 푠 |= 휑 ⇒ ℳ|휑, 푠 |= 휙 where ℳ|휑 is a new model obtained by restricting ℳ to have only states where 휑 holds.

. Example This example is from []. Suppose we have a card game with three cards: 0, 1 and 2, and three players 푎, 푏 and 푐. Each player receives a card and does not know the other players cards. We use proposition symbols 0푥, 1푥, 2푥 for 푥 ∈ {푎, 푏, 푐} meaning “player 푥 has card 0, 1 or 2”. We name each state by the cards that each player has in that state, for instance 012 is the state where player 푎 has card 0, player 푏 has card 1 and player 푐 has card 2. Figure  shows the epistemic model 퐻푒푥푎1 which represents the epistemic state of each agent.

012 a 021

c b

102 a 120

b c b c

201 a 210

Fig. . Initial epistemic model (퐻푒푥푎1).

We are now going to make a public announcement and check the knowledge of an agent after that. Consider an announcement that agent 푎 does not have card 1 (¬1푎), and after that we want to check if agent 푐 knows if agent 푎 has the card 0 (퐾푐0푎). This can be expressed as:

퐻푒푥푎1, 012 |= [¬1푎]퐾푐0푎 ()

The epistemic model 퐻푒푥푎2 representing the epistemic state of each agent after the announcement is shown in figure . We can check if 퐾푐0푎 holds in the new model 퐻푒푥푎2:

퐻푒푥푎2, 012 |= 퐾푐0푎 ()

Now, we have to check if 0푎 is true in every state connected to state 012 via the relation ∼푐. Since there are no other states other than 012 itself, we check only this state: 퐻푒푥푎2, 012 |= 0푎 () ′ Which is true because 012 ∈ 푉 (0푎), and therefore 퐻푒푥푎2, 012 |= 퐾푐0푎 is also true.  Vitor Machado and Mario Benevides

012 a 021

c b

201 a 210

Fig. . Epistemic model after announcement (퐻푒푥푎2).

 Populational Announcement Logic (PPAL)

Now we introduce PPAL, where we have populations and groups instead of agents. It works like a “fuzzyfied” version of PAL, where announcements act upon fractions of populations, so it does not make sense to talk explicitly of private or public announcements. It should be noticed that in the limit case where announcements are made to the whole population, PPAL behaves similarly to PAL with public announcements. This allows us much more flexibility, as we can define the populations of the system beforehand. Also, it allows expressing partial knowledge in a much more natural way. As a motivation, consider the following example: A famous politician is under suspicion of money laundering and bribery. Elections are coming up, and this politician expects to be re-elected, but people are less willing to vote for him if they are aware of both charges against him. Not everyone in the population is aware of the charges, however. With PPAL we can model announcements made by a TV program which only a certain amount of the population sees, and then we can assert the overall knowledge of the population in regards to the politician. For instance, the formula 0.3 [푙]퐺 퐾퐺(푙 ∧ 푏) () represents an announcement made to a fraction of 0.3 of a group 퐺, that the politician is in fact guilty of money laundering (푙), and a subsequent knowledge assertion of whether 퐺 knows that the politician is corrupt or not (guilty of money laundering and bribery). We will return to this example in section .

. Populations and Groups Definition  A population represents a collection of individuals. A population 푃 has size 푃 ∈ R>0. It is defined as a real number because announcements split populations into a group with two populations, and their sizes will be then fractions of the population’s size. Populational Announcement Logic (PPAL) 

Note that while a population represents many individuals, actual individuals are never directly expressed or referenced (as in DEL). Individuals are represented solely by the size of the population. The motivation for this comes down to the fact that we are mostly interested in representing and working with the knowledge of populations or fractions of populations, thus there is no purpose in modelling actual individuals. Next we will define the notion of groups.

Definition  A group 퐺 can be empty, a population or a disjoint set of groups:

퐺 := ∅ | 푃 | {퐺0, 퐺1, . . . , 퐺푛} ()

The size of a group 퐺 is defined as:

⎧ 0 if 퐺 = ∅, ⎨ 퐺 = 푃 if 퐺 = 푃 , ⎩ ∑︀ 퐺 if 퐺 = {퐺 , 퐺 , . . . , 퐺 }. 퐺푖∈퐺 푖 0 1 푛

The reason for having two definitions for “groups” and “populations” is the fact that announcements operate splitting groups into populations, as will be seen in section . and in subsection . Having groups and populations allows for a clearer definition of announcements, because if we only had populations there would be no easy way to reference, as a whole, the same individuals that we could reference before the announcement was made and they were a single population.

. Model

Since the announcements apply to fractions of a population, they work similarly to private announcements. Due to this, the many worlds approach is used. Each population has its own model, representing its current knowledge of the world:

푀푃 ,퐺 Definition  A model for a population 푃 , 푀푃 = ⟨푇, ∼ , 푉 ⟩ is composed of a set of states 푇 , a valuation function that maps propositional symbols in 훷 into 푀 ,퐺 subsets of 푇 , 푉 : 훷 → 2푇 , and a family of binary relations over 푇 , ∼푃 .

For example, an edge representing the doubts of population 푃 in regards to group 푀 ,퐺 퐺 would be in the relation ∼푃 .

Definition  A model 푀퐺, for a group 퐺 = {퐺0, 퐺1, . . . , 퐺푛} is defined as the set of models of each of its groups. That is, 푀퐺 = {푀퐺0 , 푀퐺1 , . . . , 푀퐺푛 }.

Since announcements split groups into populations, groups appearing on a branch after a split are not known to groups on other branches. That is, they will not appear on these groups’ models.  Vitor Machado and Mario Benevides

. Language

The language is as follows in BNF notation:

푟 휙 ::= 푝 | ¬휙 | 휙1 ∧ 휙2 | 휙1 ∨ 휙2 | 휙1 → 휙2 |퐾퐺휙 | 퐵퐺휙 | [휙1]퐺휙2 ()

where 푟 ∈ 푈 = [0, 1], 퐺 denotes a group and 푝 ∈ 훷. The modal operators have the following intended meaning:

– 퐾퐺휙 and 퐵퐺휙: “the group 퐺 knows/believes that 휙 is true”; 푟 – [휙1]퐺휙2:“휙2 is true on group 퐺’s model after the announcement of 휙1 to fraction 푟 of the individuals in 퐺”, where 퐺 = {푃1, 푃2} and 푃1 = 퐺푟. This expression describes a partial announcement which defines two new populations, one of them with additional knowledge announced and other that did not received the new information announced.

. Semantics

This section presents the semantics of PPAL. We start by redefining (fuzzifying) the valuation functions 푉 defined in  and . In order to achieve that, we define an evaluation function 푒 : 푝 × (푀퐺, 푠) → 푈 where 푝 ∈ 훷, 푀퐺 is a model for 퐺, 푠 is a state and 푈 is the unit interval [0, 1]. We can define the semantics as follows:

퐸푀퐺,푠(푝) = 푒(푝, (푀퐺, 푠))

퐸푀퐺,푠(¬휙) = 푁푂푇 (퐸푀퐺,푠(휙))

퐸푀퐺,푠(휙 ∧ 휓) = 퐴푁퐷(퐸푀퐺,푠(휙), 퐸푀퐺,푠(휓))

퐸푀퐺,푠(휙 ∨ 휓) = 푂푅(퐸푀퐺,푠(휙), 퐸푀퐺,푠(휓))

퐸푀퐺,푠(휙 → 휓) = 퐼푀푃 (퐸푀퐺,푠(휙), 퐸푀퐺,푠(휓)) ′ ′ 퐸푀퐺,푠(퐾퐺 휙) = 퐾(휙, (푀퐺, 푠), 퐺 ) ′ ′ 퐸푀퐺,푠(퐵퐺 휙) = 퐵(휙, (푀퐺, 푠), 퐺 ) 퐸 ([휙]푟 휓) = 퐸 (휓) 푀퐺,푠 퐺푛푒푤 푀퐺푛푒푤 ,푠

1 2 1 2 1 2 where ∃퐺 , 퐺 such that 퐺푛푒푤 = {퐺 , 퐺 }, and 푀퐺푛푒푤 = {푀퐺 , 푀퐺 } such 푟 1−푟 that 푀퐺1 = 푀퐺|휙 and 푀퐺2 = 푀퐺|⊤ . ⊤ is a symbol for 푡푟푢푒. 푟 푀퐺|휙 is defined as the new model obtained from 푀퐺 by removing all states where ¬휙 holds, and multiplying all the sizes inside it by 푟. Depending on the choice of the evaluation function we can have different semantics. One possible evaluation function is the crisp evaluation. Suppose ′ 푀퐺,푆 푀퐺 = ⟨푇, ∼ , 푉 ⟩

푒(푝, (푀퐺, 푠)) = 1 if 푝 ∈ 푉 (푝) , and 0 otherwise ()

Below, we give some properties about the fuzzy functions that are used in the definition of satisfaction. At this point we choose not to define a particular fuzzy semantics and instead define classes for each operation. One can choose any Populational Announcement Logic (PPAL) 

semantics which satisfies the following properties, and we provide an example for each of the classes. It is also important to note that this work is concerned with model checking and for that the notion of satisfaction is enough. For this reason we did not define the consequence relation.

. Fuzzy Negation An unary operation 푁푂푇 : 푈 → 푈 is a fuzzy negation if – 푁푂푇 (0) = 1; – 푁푂푇 (1) = 0; – 푥 ≤ 푦 → 푁푂푇 (푦) ≤ 푁푂푇 (푥). For instance, a possible negation function is 푁푂푇 (푥) = 1 − 푥.

. Fuzzy Conjunction A binary operation 퐴푁퐷 : 푈 2 → 푈 is a fuzzy conjunction if – 퐴푁퐷(푥, 푦) = 퐴푁퐷(푦, 푥); – 퐴푁퐷(푥, 퐴푁퐷(푦, 푧)) = 퐴푁퐷(퐴푁퐷(푥, 푦), 푧); – 푦 ≤ 푧 → 퐴푁퐷(푥, 푦) ≤ 퐴푁퐷(푥, 푧); – 퐴푁퐷(푥, 1) = 푥. These also define precisely the class of t-norm functions, which are widely used in fuzzy logics as they are considered “well-behaved” functions []. For instance, a possible conjunction function is 퐴푁퐷(푥, 푦) = 푚푖푛{푥, 푦}.

. Fuzzy Disjunction A binary operation 푂푅 : 푈 2 → 푈 is a fuzzy disjunction if – 푂푅(푥, 푦) = 푂푅(푦, 푥); – 푂푅(푥, 푂푅(푦, 푧)) = 푂푅(푂푅(푥, 푦), 푧); – 푦 ≤ 푧 → 푂푅(푥, 푦) ≤ 푂푅(푥, 푧); – 푂푅(푥, 0) = 푥. These also define precisely the class of t-conorm functions, analogous to the t-norm class. For instance, a possible disjunction function is 푂푅(푥, 푦) = 푚푎푥{푥, 푦}.

. Fuzzy Implication A binary operation 퐼푀푃 : 푈 2 → 푈 is a fuzzy implication if – 푥 ≤ 푦 → 퐼푀푃 (푥, 푧) ≥ 퐼푀푃 (푦, 푧); – 푦 ≥ 푧 → 퐼푀푃 (푥, 푦) ≥ 퐼푀푃 (푥, 푧); – 퐼푀푃 (0, 푥) = 1; – 퐼푀푃 (푥, 1) = 1; – 퐼푀푃 (1, 0) = 0. For instance, a possible implication function is 퐼푀푃 (푥, 푦) = 푚푖푛{1, 1 − 푥 + 푦}, also known as the Łukasiewicz implication.  Vitor Machado and Mario Benevides

. Fuzzy Knowledge Assertion

A ternary operation 퐾 : 휑 × (푀푆, 푠) × 퐺 → 푈 is a fuzzy knowledge assertion if

′ 푀푆 ,푃 ′ ′ – if 퐺 = 푃 then ∀푠 ∈ 푇 |푠 ∼ 푠 [퐸푀푆 ,푠 (휙) = 1 → 퐾(휙, (푀푆, 푠), 푃 ) = 1]; ′ 푀푆 ,푃 ′ ′ – if 퐺 = 푃 then ∀푠 ∈ 푇 |푠 ∼ 푠 [퐸푀푆 ,푠 (¬휙) = 1 → 퐾(휙, (푀푆, 푠), 푃 ) = 0]; ′ – 퐾(휙, (푀푆, 푠), 퐺) ≤ 푚푎푥퐺′∈퐺{퐾(휙, (푀푆, 푠), 퐺 )}; ′ – 퐾(휙, (푀푆, 푠), 퐺) ≥ 푚푖푛퐺′∈퐺{퐾(휙, (푀푆, 푠), 퐺 )}. For instance, a possible knowledge assertion function is

퐾(휙, (푀푆, 푠), 퐺) = ⎧ ′ ∑︀ 퐺 퐾(휙, (푀 , 푠), 퐺′) if 퐺 ̸= 푃 , ⎨⎪ 퐺′∈퐺 퐺 푆 ′ 푀푆 ,푃 ′ ′ 1 if ∀푠 ∈ 푇 |푠 ∼ 푠 → 퐸푀푆 ,푠 (휙), ⎩⎪ 0 otherwise.

Note here that we slightly abuse notation for binary relations when they appear 푀 ,푃 referring to models of groups, such as the expression ∼퐺 , which represents the for the model of population 푃 contained inside 푀퐺. Intuitively, it means that the knowledge of a group is equal to the weighted average knowledge of its contained groups, is equal to 1 when the group is a 푀 ,퐺 single population and 휙 is true in every state connected to state 푠 via ∼푆 , and 0 otherwise. A single population knows something only when it is true in every conceivable world this population contemplates.

. Fuzzy Belief Assertion

A ternary operation 퐵 : 휑 × (푀푆, 푠) × 퐺 → 푈 is a fuzzy belief assertion if

′ 푀푆 ,푃 ′ ′ – if 퐺 = 푃 then ∃푠 ∈ 푇 |푠 ∼ 푠 [퐸푀푆 ,푠 (휙) = 1 → 퐵(휙, (푀푆, 푠), 푃 ) > 0]; ′ 푀푆 ,푃 ′ ′ – if 퐺 = 푃 then ∃푠 ∈ 푇 |푠 ∼ 푠 [퐸푀푆 ,푠 (¬휙) = 1 → 퐵(휙, (푀푆, 푠), 푃 ) < 1]; ′ 푀푆 ,푃 ′ ′ – if 퐺 = 푃 then ∀푠 ∈ 푇 |푠 ∼ 푠 [퐸푀푆 ,푠 (휙) = 1 → 퐵(휙, (푀푆, 푠), 푃 ) = 퐾(휙, (푀푆, 푠), 푃 )]; ′ – 퐵(휙, (푀푆, 푠), 퐺) ≤ 푚푎푥퐺′∈퐺{퐵(휙, (푀푆, 푠), 퐺 )}; ′ – 퐵(휙, (푀푆, 푠), 퐺) ≥ 푚푖푛퐺′∈퐺{퐵(휙, (푀푆, 푠), 퐺 )}. For instance, a possible population belief assertion function is

퐵(휙, (푀푆, 푠), 퐺) = ⎧ ∑︀ 퐺′ 퐵(휙, (푀 , 푠), 퐺′) if 퐺 ̸= 푃 , ⎨⎪ 퐺′∈퐺 퐺 푆 퐸 ′ (휙) ∑︀ 푀푆 ,푠 푠′∈푁 if 퐺 ̸= ∅, ⎪ 푠 푁푠 ⎩ 0 otherwise.

⋃︀ ′ 푀푆 ,퐺 where 푁푠 = 푀 ,퐺 푠 are the neighbours of 푠 via relation ∼ . 푠′∈푇 |푠 ∼푆 푠′ Populational Announcement Logic (PPAL)

Which is functionally similar to 퐾, but allowing any number in the interval 푀 ,푃 [0, 1]. For example, if in half of the states connected to state 푠 via ∼푆 , 휙 evaluates to 1 and in the other half to 0, then 퐵(휙, (푀푆, 푠), 푃 ) = 0, 5. And also similarly to 퐾, the belief of a group is equal to the weighted average beliefs of its contained groups.

. Decidability An important aspect of model checking a logical system is that of decidability. In this section we show that any valid finite formula of the PPAL language over a finite model is in fact decidable. We use induction over the size 푠 of the formula for this proof.

Definition  The size 푠 for each expression of the language is defined as follows:

– 푠(푝) = 1; – 푠(휙1 ∧ 휙2) = 푠(휙1 ∨ 휙2) = 푠(휙1 → 휙2) = 푠(휙1) + 푠(휙2) + 1; – 푠(퐾퐺휙) = 푠(퐵퐺휙) = 푠(휙) + 1 + |퐺|; 푟 – 푠([휙1]퐺휙2) = 푠(휙1) + 푠(휙2) + 1 + |퐺|. Next, we can proceed to the induction basis step where 푠 = 1, that is, the case

of a formula consisting of a single propositional symbol. 퐸푀퐺,푠(푝) = 푒(푝, (푀퐺, 푠)) evaluates to 1 or 0 in a finite model, and therefore is decidable. We then consider the induction hypothesis to be that any formula with size 푠 is decidable. Now it remains necessary to take the inductive step, assuming the induction hypothesis and proving that formulas with size 푠 + 훿 are also decidable, where 훿 ∈ R>0. Note that 훿 is in the real interval because the size |퐺| of a group 퐺 can be a real value. Inductive step:

. 퐸푀퐺,푠(¬휙) = NOT(퐸푀퐺,푠(휙)): NOT is a simple mathematical function

which evaluates to a value in 푈 for any input in 푈. Since 퐸푀퐺,푠(휙) is decidable

by hypothesis, this formula is decidable. 퐸푀퐺,푠(휙 ∧ 휓), 퐸푀퐺,푠(휙 ∨ 휓) and

퐸푀퐺,푠(휙 → 휓) are all decidable due to the same arguments; ′ ′ . 퐸푀퐺,푠(퐾퐺 휙) = K(휙, (푀퐺, 푠), 퐺 ): (a) It is trivially decidable when 퐺′ = ∅, because its evaluation will always be equal to 0; (b) It is decidable when 퐺′ = 푃 , as the formula is resolved via calculations

′ of 퐸푀퐺,푠 (휙) which is decidable by hypothesis; ′ ′ ′ ′ (c) In the case where 퐺 = {퐺0, 퐺1, . . . , 퐺푛}, the sum will range recursively ′ ′ ′ over every 퐺푖 ∈ 퐺 . The sizes |퐺푖| are strictly smaller than |퐺| because by definition the group 퐺′ is composed of a disjoint set of groups. Due to this, 푠(퐾 ′ 휙) < 푠(퐾 ′ 휙) and 퐾 ′ 휙 is decidable by hypothesis. 퐾 ′ 휙 퐺푖 퐺 퐺푖 퐺 is resolved via calculations of 퐾퐺′ 휙, therefore, the formula is decidable. ′ 푖 ′ . 퐸푀퐺,푠(퐵퐺 휙) = B(휙, (푀퐺, 푠), 퐺 ): (a) It is trivially decidable when 퐺′ = ∅, because its evaluation will always be equal to 0;  Vitor Machado and Mario Benevides

(b) When 퐺′ = 푃 , the sum ranges over all neighbours 푠′ of state 푠, but

′ since the model is finite and 퐸푀퐺,푠 (휙) is decidable by hypothesis, it is decidable; ′ ′ ′ ′ (c) In the case where 퐺 = {퐺0, 퐺1, . . . , 퐺푛}, the same argument used in b shows this formula is decidable. 푟 ′ ′ . 퐸푀퐺,푠([휙]퐺 휓) = 퐸푀퐺′ ,푠(휓): 푀퐺 is finite and therefore 푀퐺 is also finite as it contains exactly twice the number of elements in 푀퐺. To define 푀퐺′ we need

to calculate 퐸푀퐺,푠(휙) for every 푠 ∈ 푇 , which are decidable by hypothesis.

퐸푀퐺′ ,푠(휓) is also decidable by hypothesis. Also note that it is not possible to write a formula that divides the group indefinitely, as that would require us to write down an infinite number of announcements. Therefore, the formula is decidable. Hence we have covered every possible case and shown that they are all decidable, therefore successfully showing that any valid finite formula of the PPAL language over a finite model is decidable using the specified operator functions. 푟 푟 Notice however, that recursive formulas such as 휙 := [휙]퐺′ 휓 or 휙 := [휓]퐺′ 휙 are not included in the language definition, and they would break the language’s property of being decidable.

. Model Checker A general-purpose Java library implementing the aforementioned language and semantics, and a model checker have been developed. Both programs are covered by unit and integration testing to ensure consistency with the PPAL language and semantics. The source-code of both library and model checker are available on GitHub. The main current implementations of model checkers available for epistemic logics are MCK [ ], MCMAS [] and DEMO []. A recent development called SMCDEL [] formalizes a new structure to represent DEL models which allows for symbolic model checking, a model which uses binary decision diagrams (BDDs) [] to represent models instead of having every state directly represented in the system. Due to this, SMCDEL also provides better performance over the other model checkers.

 The Corrupt Politician

In this section we continue the example introduced in section , where a simple model is established and some assertions are made to probe the knowledge represented by this model. For clarity’s sake, we name the states with the set of propositional symbols, or their negation, that hold in it. For instance, state {푎, ¬푏} is the state where 푎 and ¬푏 are true. Also, we will omit the full math for some of the simplest equations due to space constraints.

 https://github.com/vittau/PPAL Populational Announcement Logic (PPAL) 

. Initial Model

Suppose an initial model composed of a single population 푃 with size 푃 = 1, two propositions 푙 (money laundering) and 푏 (bribery), and a real state 푟 = {푙, 푏}, which means the politician in fact is guilty of the charges against him. The evaluation function is the same as defined before. This model is as shown in figure .

¬푙, ¬푏

푃 푃 푃

푃 ¬푙, 푏 푙, ¬푏

푃 푃

푙, 푏

Fig. . Initial state.

For brevity, let us call 휙 = 푙 ∧ 푏 here onwards. As expected if we assert how much of the population would not vote on the politician, that is, if we ask:

퐸푀푃 ,푟(퐾푃 (휙)) ()

It will evaluate to 0, as there are 푃 edges connecting the state 푟 to other states.

. First Announcement

Then, a TV program aired revealing the politician in fact did money laundering, but given that only 30% of the population watched the program, only a fraction of the population is now aware of this fact. This is equivalent to the announcement 0.3 1 2 [푙]퐺 , where 퐺 = {푃 , 푃 } is a group containing the two populations resulting from the announcement: 푃 1 who received the announcement, and 푃 2 who did not. Figure  shows the resultant model G. If we were now to assert how much of the population would not vote on the politician, we would be asking:

0.3 퐸푀푃 ,푟([푙]퐺 퐾퐺(휙)) ( )

0.3 The announcement [푙]퐺 generates group 퐺, which contains populations 푃1 and 푃2, where the former received the announcement. 퐾퐺(휙) will still evaluate to 0, as there are still 푃1 and 푃2 edges connecting the state 푟 to other states. That is, both populations remain in doubt about whether 푟 is the real state or not.  Vitor Machado and Mario Benevides

¬푙, ¬푏 ¬푙, ¬푏

푃 2 푃 2 푃 2 푃 1, 푃 2 푃 1, 푃 2 푃 1, 푃 2 푃 2 ¬푙, 푏 푙, ¬푏 ¬푙, 푏 푙, ¬푏 푃 1, 푃 2

푃 1, 푃 2 푃 1, 푃 2 푃 1, 푃 2 푃 2

푙, 푏 푙, 푏

Fig. . Model 퐺 (푃 1’s to the left, 푃 2’s to the right).

We could also make an assertion in regards to the belief of the population, that is: 0.3 퐸푀푃 ,푟([푙]퐺 퐵퐺(휙)) ()

To evaluate the belief we must evaluate 퐸푀퐺,푟(퐵퐺(휙)), which expands into

′ ∑︁ 퐺 ′ 퐵(휙, (푀퐺, 푟), 퐺) = 퐵(휙, (푀퐺, 푟), 퐺 ) 퐺 퐺′∈퐺

∑︁ 퐸푀 1 ,푟(휙) ∑︁ 퐸푀 2 ,푟(휙) () = 0.3 푃 + 0.7 푃 ′ 푁푟 ′ 푁푟 푟 ∈푁푟 푟 ∈푁푟 = 0.3 · 1/2 + 0.7 · 1/4 = 0.325 The first sum evaluates to 1/2 because out of two neighbour states to 푟 ({푙, 푏} itself and {푙, ¬푏}), 휙 is only true in 푟. The second has all four states as neighbours, but 휙 is only true in 푟 again. The result 0.325 demonstrates a small belief at this moment that the politician is in fact corrupt.

. Second Announcement Now, let us consider another TV program aired, and this time covering 40% of the same original population, and it was told that the politician is in fact guilty 0.4 ′ 1 2 of bribery. This corresponds to the announcement [푏]퐺′ , where 퐺 = {퐺 , 퐺 } is a group containing the two groups resulting from the announcement: 퐺1 who received the announcement, and 퐺2 who did not. The model resulting from both announcements is shown in figure . If we were now to assert how much of the population would not vote on the politician, we would be asking:

0.3 0.4 ′ 퐸푀푃 ,푟([푙]퐺 [푏]퐺′ 퐾퐺 (휙)) () At this moment the assertion would evaluate to 0.12, since there are no more edges connecting the state 푟 to anything else for population 푃 11 in 퐺1. This example shows how pieces of knowledge can build up to create useful information for certain fractions of the populations, due to them having being exposed enough to these pieces, and how it might not be intuitive to find out how much exactly of a population knows a certain fact. Populational Announcement Logic (PPAL) 

푙, 푏 푙, 푏 푃 12 푃 12 푃 21, 푃 22 푃 22 푃 12 푃 22 ¬푙, 푏 푙, ¬푏 ¬푙, 푏 푙, ¬푏 푃 12 푃 22 푃 12 푃 12 푃 22 푃 22 ¬푙, ¬푏 ¬푙, ¬푏

푙, 푏 푙, 푏 푃 12 푃 11, 푃 12 푃 21, 푃 22 푃 21, 푃 22 푃 12 푃 21, 푃 22 ¬푙, 푏 푙, ¬푏 ¬푙, 푏 푙, ¬푏 푃 12 푃 21, 푃 22 푃 12 푃 12 푃 21, 푃 22 푃 21, 푃 22 ¬푙, ¬푏 ¬푙, ¬푏

Fig. . Model 퐺′. 퐺1’s model to the left, population above received both announcements, below received only the first one; 퐺2’s to the right, population above received only the second announcement, below received none.

 Final Remarks, Future Works and Acknowledgments In this work we introduced and defined a “fuzzyfied” variant of PAL that allows partial announcements to its populations. The main advantage of PPAL over DEL and PAL is the flexibility to work with non-priorly defined agents. It is possible to define an initial population and have it evolve in a more natural way that doesn’t require a formal initial definition of every agent on the system. Therefore we believe it can be a more appropriate logic for practical use, as it would be much easier to manage a knowledge model. We also believe this work expands horizons for the definition of “dynamic” logic, as not only accessibility relations are dynamic, but the agents of the world themselves are changing and evolving. As such, it is a worthwhile topic of theoretical discussion, and not only of interest for model checking applications.

. Axiomatization There is room for further development on a few directions still, and one important formalism for logics is that of axiomatization, that is, a set of tautologies (formulas that are always true in the logic), called in this case, that can be used to derive all other formulas in the language.

. Symbolic Model Checking We did not attempt symbolic model checking, a way to represent all reachable states using only sets of states and formulas for transition relations, which can improve performance. One such approach is based on the previously mentioned BDDs, which provide a compact way to represent and check valuations in Boolean functions, and equivalent Boolean sub-expressions are uniquely represented.

. Acknowledgments We wish to thank the research agencies CNPq, CAPES and FAPERJ for their support.  Vitor Machado and Mario Benevides

References

. Akers, S.B.: Binary decision diagrams. IEEE Trans. Comput. (),  – ( ) . Baltag, A., Moss, L.S.: Logics for epistemic programs. Synthese  (), – () . Baltag, A., Moss, L.S., Solecki, S.: The logic of public announcements, and private suspicions. Proceedings of TARK’  pp. – ( ) . van Benthem, J., van Eijck, J., Gattinger, M., Su, K.: Symbolic model checking for dynamic epistemic logic. In: van der Hoek, W., Holliday, W.H., Wang, W.f. (eds.) Logic, Rationality, and Interaction, Lecture Notes in Computer Science, vol.  , pp. –. Springer Berlin Heidelberg () . van Ditmarsch, H., van Eijck, J., HernÃąndez-AntÃşn, I., Sietsma, F., Simon, S., Soler-Toscano, F.: Modelling cryptographic keys in dynamic epistemic logic with demo. th International Conference on Practical Applications of Agents and Multi-Agent Systems , – () . van Ditmarsch, H., van der Hoek, W., Kooi, B.: Dynamic epistemic logic. Synthese Library  () . Esteva, F., Godo, L., Noguera, C.: First-order t-norm based fuzzy logics with truth-constants: distinguished semantics and properties. Annals of Pure and Applied Logic , – ( ) . Fagin, R., Halpern, J.Y., Moses, Y., Vardi, M.Y.: Reasoning about knowledge ( ) . Gammie, P., van der Meyden, R.: Mck: Model checking the logic of knowledge. Computer Aided Verification ,  – () . Gerbrandy, J., Groeneveld, P.W.: Reasoning about information change. Journal of Logic, Language and Information (), – ( ) . Harel, D.: Dynamic Logic, pp.  –. Springer Netherlands, Dordrecht ( ) . Lewis, C.I.: A survey of symbolic logic ( ) . Lomuscio, A., Raimondi, F.: mcmas: A model checker for multi-agent systems. Tools and Algorithms for the Construction and Analysis of Systems  , – () . Plaza, J.A.: Logics of public communications. Synthese (), – (  ) . Shapiro, S.C.: Knowledge representation. Encyclopedia of , – () . von Wright, G.H.: An essay in modal logic ( )