Hans vanDitmarsch
March8, 2000
Abstract
Modellingtheepistemicdynamicsofmultiagentsystemscurrentlygets
muchattentionfromtheresearchcommunity,seee.g.[Ger99 ],[FHMV95 ],
[BMS98],[Koo99],[Ren99]. Contrarytomostapproaches,werestrict
our-selvestoS5models,see[vD99]. WeproposealanguageKTofknowledge
actiontypesanda derivedlanguageKA of knowledgeactions. Basic to
ourapproachis theconcept oflocalinterpretation, where`local'means:
onlyfortheagentsinvolvedinthataction. Thelanguagecanbefruitfully
appliedtodescribeactionsinknowledgegames.
1 Introduction
In[vD00d],wedescribedwhatknowledgegamesare. In[vD00a],wearguethat
knowledge game states can be seen as pointed multiagent S5 models, i.e. as
multiagentS5states. Wenowproceedbydening aprogramminglanguagefor
gameactionsinknowledgegames,suchasshowingacardtoanotherplayer. An
actiontranformsonegamestateintoanotherone. Aprogramcorrespondingto
such an action should therefore be interpretedas afunctional binary relation
between pointed multiagent S5 models, corresponding to game states. Our
denitionswillbemoregeneralintworespects: rst,weforgetaboutknowledge
games,and justconsider operationstransformingmultiagent S5states. These
willbecalledknowledgeactions. Second,morebasicthananactionisatypeof
action. Aknowledge action typeis anoperationtransforming amultiagentS5
model, i.e. withoutdesignated point, into another (or several other) model(s).
Justas amodelcanbeseenasasetofstates,aknowledgeactiontypecanbe
seenas asetofknowledge actions. Becauseexamplesofknowledgeactionsare
actionsingames,westartbyareviewofsomeactionsinastandardknowledge
gamesituation.
Three players1,2and 3each hold oneof threecards red, whiteand blue.
Playerscanonlyseetheirowncard. Thisisallcommonknowledge. Theactual
University of Groningen, Cognitive Science and Engineering, Grote Kruisstraat 2/1,
inthisgamestateare:
example 1: player1putstheredcard(faceup)onthetable
example2: player1shows(only)player2theredcard(sothat player3
can'tsee theshowncard)
example3: player2asksplayer1forthewhitecard;player1saysthathe
doesn'thaveit;player2ends hismove,i.e. makespublicthat hedoesn't
knowthedealingofcards
example 4: player2asksplayer1to tellhimacardthat he(1)doesn't
have;player1whispersin2'searthathedoesn'thavethewhitecard(so
thatplayer3can't hearwhatisbeingsaid)
AlltheseactionscanbedescribedinourproposedactionlanguageKA,and
theirinterpretationcanbecomputedontheinitialgamestate. Other,seemingly
morecomplicated actionscanbedescribed andinterpretedaswell, such as(it
iscommonlyknownthat)`1suspects2tohavepeekedintohiscard'. Wedonot
aim to describe actionsthat disturbthe S5character ofgame states, such as
privatecommunications,non-public suspicions,etc. Still,othersorts ofaction
thatalsoresultinS5modelswillappeartobeoutsidethereachofourlanguage.
Example:
Sameasthepreviousexample,onlyweadd onemorecard,and werename
thecardsto: north,east,southandwest. Player3holdstwocards. Theactual
dealingof cards is: 1holds north, 2 holds east, and 3 holds south and west.
Someactionsin thisgamestateare:
example5: player3showshissouthcard(only)toplayer1,withhisleft
hand,and(simultaneously)hiswestcard(only)toplayer2,withhisright
hand
example6: player3showshissouthcard(only)toplayer1;next,player
2asks player3to showhim hisother card;player3showshis west card
(only)to player2
Now that we have an idea of the actions we want to model, we discuss
theprogram constructingoperators that we needin ouraction language. We
let ourselves be guided by the game actions that we want to model, by the
operators available in a dynamic logic as in [Har84] and [Gol92], and by the
updateoperationin [Ger99]. Weproposethefollowingsixprogram
construct-ingoperators: test,sequentialexecution,nondeterministicchoice,simultaneous
(parallel)execution, learning,and `local choice'. We motivate these operators
whethera player,oragroupofplayers,know(s) ordoes(do) notknow
some-thing. As a game canconsist of achain ofactions, asin example 3,weneed
sequentialexecution. Inorderto describealltheactionsthatareavailableto a
playergivenacertaingamestate,weneednondeterministicchoice. Inexample
4, above, where player1 holds the red card, he can choose between telling 2
thathedoesn'thavewhite,ortellinghimthathedoesn'thaveblue.
If a player shows acard to another player, they both have `learnt', so to
speak,thattherstplayerholdsthatcard. Inexample1,allthreeplayershave
learntthatplayer1holdstheredcard.Inexample2,players1and2havelearnt
that player1holdsthe redcard. Learning,as wedene it, ismuch relatedto
`updating',asin [Ger99]. Thereis animportantdierence: onecanonlylearn
thingsthat are true(or, moreproperly and generallyput: programs that are
executable), whereasonecanupdate withaproposition regardlessof itstruth
orfalsity.
The operation of local choice is needed to describe actions where dierent
subgroupslearndierentthings. Typicalistheactionwhereaplayerisshowing
acardto(only)anotherplayer,asinexample2. Inthatexample,thesubgroup
consistingof1and2learnsthat1holdstheredcard,whereasthegroup
consist-ingof1,2and3learnsthat1and2learnwhichcard1holds,or,inotherwords:
thateither 1and2learnthat 1holdsthered card,orthat 1and2learnthat
1holdsthe whitecard,orthat 1and2learnthat 1holds theblue card. One
mightsaythatthechoice madebysubgroupf1;2gfromthethree alternatives
islocal, i.e.knowntothemonly,becauseitishiddenfromplayer3. 1
Simultaneousexecutionisneededtodescribeexample5,themoveofaplayer
simultaneouslyshowingcards to dierentplayers. Because wedonothavean
interpretationforit,wewillnotdescribesimultaneousexecutioninthelanguage.
Instead,wediscussitinaseparatesection,5,at theend.
Wealsowillnotbeabletodescribetheactiontakingplaceinexample6,but
thisisforamoregeneralreason: wechoosetomodelactionsbytheirepistemic
eects,thereforewecannotexpresswhentheyhavebeentakingplace. Fromthe
viewpointofepistemiceects,theactioninexample6wouldbeindistinguishable
from: `player3showshisbluecard(only)toplayer1;threemoveslater,player
2asks player3toshowhimhis othercard;player3doesso'. Thiswill alsobe
discussedinsection5.
Theoperationswehavedescribed cannotbedened from each other. The
role of `local choice' is rather dierent from the role of the other operations.
Theclass of programsthat we canconstructfrom tests, sequence, choice and
learningaretheknowledgeactiontypesKT.Givenaknowledgeactiontype,we
canthenconstructaknowledgeactionbytheoperationoflocalchoice. Thusis
1
Themeaningoftheword`choice'issomewhatvague.In`nondeterministicchoice'choice
means`making a choice possible', inlocal choice it means `actuallychoosing'. Ofcourse,
`actuallychoosing' after`havingmadeachoicepossible'doesn'tcreate anewprogrambut
returnsanoldone.However,`locallychoosing'afterhavingmadeachoicepossibledoescreate
to overlap(in the deterministicaction types), someactions are nottypesand
sometypesarenotactions. Weexplainthiswithexample2: `1shows2acard'
isaknowledgeactiontype,whereas`1shows2hisredcard'isaknowledgeaction
of that type. Action types canbe nondeterministic, as here, whereas actions
arealwaysdeterministic.
The interpretation ofa knowledge actiontype is simultaneouslyarelation
betweenS5modelsandbetweentheirworlds. Fundamental tothis
interpreta-tion is the concept of local interpretation, that we need in order to interpret
thelearningoperator. Asin`localchoice',localmeans: `foracertainsubgroup
only'. Giventhe interpretation ofa knowledge actiontype, theinterpretation
ofaknowledgeactionisdeterminedbychoosingoneworldin theoriginofthat
interpretation,andoneworldinoneofitsimages.
Theclassof S5modelsisclosed underapplication ofactiontypes,and the
classofS5statesisclosedunderapplicationofactions. Thiswillbecomeobvious
fromthedenitions. Inorderto guaranteethat, wehaveto ruleoutprograms
where onlyasubgroup of agentslearnssomething, becauseafter itsexecution
agentsnotincludedinthatsubgrouperroneouslybelievethatnothinghappened
atall: thatmeansthatthemodelisnolongerreexive,andthereforenolonger
S5. Therearealsootherconstraintsonactiontypes.
Wenowproceedbyintroducingthelanguageanditsintepretation. Insection
2wedenethelogicallanguageDKL.Insection3wedenetheknowledgeaction
typesKTandtheirinterpretation. Insection4wedenetheknowledgeactions
KAand theirinterpretation. Insection 5wediscusspossibleextensionsof the
programminglanguage.
In[vD00c]wegiveanoverviewoftheapplicationofourdenitionsto
knowl-edgegames. In[vD00b]wecompareourapproachtothatof otherresearchers,
inparticular[Ger99]and [Bal99].
2 Dynamic knowledge logic
2.1 Logical preliminaries
Knowledge models and knowledge states
Werestatesomerelevantterminology.Forastandardintroduction,see[MvdH95].
A knowledge model is a multiagentS5 (S5
n
) model M. A knowledge stateis
apointed multiagent S5 model (M;w). We also name stateswith { possibly
indexed{lowercaseletterss;t. Ifs=(M;w)thensiscalledastateformodel
M;M iscalledthemodel underlyingstates.
InS5wemaywrite
a
fortheaccessibilityrelationforagenta,asitisan
equivalencerelation(a partitionofthedomain). Wewrite
A =(
S
a2A
a )
.
distinctionis that,nonstandardly,modalformulasK
a
' areundened, instead
ofvacuouslytrue,onmodelswithemptyaccess fora,see subsection2.3.
Group
Let M be a knowledge model, let s be a knowledge state. The group of
M=hW;(
a )
a2A
;Viis thesetA ofagentsforwhich accessisdened. When
gr(M) =Awesay that M is an A model, orthat M is amodel for group A.
Whengr(s)=AwesaythatsisanAknowledgestate,orthatsisaknowledge
statefor group A. Thenotionofgroupplaysanimportantpart. Wewill also
dene thegroupof anaction typeand of anaction. We thenrequirethat an
actiontypecanonlybeinterpretedinamodeliftheirgroupsarethesame,and
thatanactioncanonlybeinterpretedinastateiftheirgroupsarethesame.
2.2 Language of dynamic knowledge logic { DKL
Denition1(DKL {Language of DynamicKnowledgeLogic)
Given are a set of atomic propositions P and a set of agentsA. DKL is the
smallestset closedunder:
p2DKL if p2P
:'2DKL if '2DKL
'^ 2DKL if '; 2DKL
K
a
'2DKL if a2Aand'2DKL
C
B
'2DKL if BAand'2DKL
[]'2DKL if 2KT[KA and'2DKL
KT is the class of knowledge action types, to be dened in the section 3.
KA is theclass of knowledgeactions, to be dened in section4. `Program'is
thegenerictermthat weuseforbothtypesandactions. Theparametersetof
agentsAiscalledthepublic. Weintroducetheusualabbreviations(letp2P):
'_ := :(:'^: )
'! := :'_
'$ := ('! )^( !')
> := p_:p
? := p^:p
The `modal agents of a formula '', notation ag('), is the set of agents
occurringin modal operatorsK
a , C
B
and [] inthat formula. Theoperation
ag is needed for the interpretation of action types, at the stage where local
interpretation comes into play: A test ?' canonly be interpreted in a model
M,ifag(')gr(M): ifallthemodaloperatorsthat occurin'canindeedbe
evaluated inanyworldfromM. This isareal constraint. GiventhepublicA,
andagroupB A, M may beaB model, whereas'maycontainoperators
K
a
extendag to actiontypes andactions: theinterpretation of aformula with a
dynamicmodaloperator[]dependsonthemodalagentsofthetestsoccurring
in(andontheagentsthatlearnsomethinginthatprogram). Foraninductive
denition,seedenition 15intheappendix.
2.3 Semantics of dynamic knowledge logic
Denition2(Semantics ofdynamic knowledge logic)
LetM = hW;(
a )
a2A
;Vi be aknowledge model, where A A. Letw be a
worldin M. Letp2P, a2A, BA, 2KT[KA. Assumethat theagents
oftheformulatobeinterpretedarecontainedin orequaltoA.
M;wj=c i V
w (c)=1
M;wj=:' i M;w6j='
M;wj='^ if M;wj='andM;wj=
M;wj=K
a
' i 8w
0
:w 0
a
w)M;w 0
j='
M;wj=C
B
' i 8w
0
:w 0
B
w)M;w 0
j='
M;wj=[]' i 8M 0
:8w 0
:(M;w)[[]](M 0
;w 0
))M 0
;w 0
j='
A program can be either an action type 2 KT oran action 2 KA.
Theinterpretation[[]] ofanactiontypeisdenedinsection3. Itisbasicallya
relationbetweenmodels, fromwhicharelationbetweenstatesisderived. The
interpretation[[]] of anactionis dened in section4. It isarelationbetween
states.
Lets=(M;w)beaknowledgestate. Thensj=',M;wj='.
Warning: inthissemanticsitisnotthecasethatamodelwithoutaccessfor
acertainagentasatises formulasoftypeK
a
'`exfalso',becausetherearen't
anya-accessibleworlds. Accordingtothedenitionabove,theinterpretationof
such aformulaisundenedonthat model. Forasimilarreason, wehavethat
[?K
1 p]K
1
pisalwaysundened,evenonmodelsthatsatisfyK
1
p. Thiswillsoon
becomeclear.
3 Knowledge action types
3.1 Language of knowledge action types { KT
Wehavetochoosebetweeneitherdeningawideclassofprograms,andgivea
semantics foronlyasubclass, ordeningthis subclass directly,so that wecan
interpretall programs. Wedo thelast. Theinductivedenition of theaction
types KT assumes the simultaneous denition of the group gr() and of the
modalagentsag()of anactiontype. Therstistheset ofagentsoccurring
inlearningoperatorsL
B
besimultaneouslydened.
Denition3(KT { Knowledgeaction types)
Given a set of agentsA and a set of atoms P, KT is the smallest set closed
under:
3:a ?'2KT if '2DKL
3:b L
B
2KT if 2KT; andgr()B
3:c ; 0
2KT if ; 0
2KT;gr()=gr( 0
); andag( 0
)gr()
3:d [ 0
2KT if ; 0
2KT; andgr()=gr( 0
)
Thevariousconstraintsongroupsandmodalagentsplayaroleinthe
inter-pretationofaction types,andwill becomeclearin section3.3. Also, theywill
beextensivelydiscussedinsection3.7.
L
B
isthe `learn'operator. L
B
standsfor `groupB learnthat '. Instead
ofL
f1;2;:::;ng
wewrite L
12:::n
. If gr()=B then is called anaction type for
group BoraB actiontype. Theoperation`localchoice',thatwementionedin
theintroduction, is notan actiontype constructor but anaction constructor.
We therefore do not see it here. Observe that from the denitions it follows
thatM;wj=[]'isundenedifgr(M)gr().
Denition4(FuncKT{ Model functional actiontypes)
?'2FuncKT i '2DKL
L
B
2FuncKT i 2KT
; 0
2FuncKT i ; 0
2FuncKT
Denition5(DetKT {Deterministic actiontypes)
?'2DetKT i '2DKL
L
B
2DetKT i 2DetKT
; 0
2DetKT i ; 0
2DetKT
Observethat DetKTFuncKTKT. Instead of 2FuncKTwealsosay:
is model functional, or just functional. Instead of 2 DetKTwe also say:
is deterministic. This terminology will become clear in the subsection on
interpretation.
3.2 Examples
We give someexamples of action types that canbe interpreted in the model
underlying the game state we described in the introduction: three players 1,
2and 3holding three cards red, white andblue, in that order. Thepublic is
f1;2;3g and the set of atoms is fr
1 ;w
1 ;b
1 ;r
2 ;w
2 ;b
2 ;r
3 ;w
3 ;b
3
g, for `player 1
holds the red card', `player 1 holds the white card', etc. The multiagent S5
brw wrb
bwr wbr
1
1 2
2 2 3
3
3
Figure1: Themodelhexa,forthreeplayerseachholdingacard.
worldwhere1holdsred,2holdswhiteand3holdsblue,etc. Asheholdsredin
bothworlds,player1cannot distinguishworldrwb from worldrbw; hencethe
1-linkinthegure. Weimplicitlyassumereexivityandtransitivityin gures
of S5 models, such as hexa. Formula Æ
ijk
is the atomic description of world
(dealing)ijk,e.g. Æ
rwb :=r
1 ^:w
1 ^:b
1 ^:r
2 ^w
2 ^:b
2 ^:r
3 ^:w
3 ^b
3 .
First, wegivetheexample actiontypes and theirdescriptionin KT,then,
wegivesomeexplanationsonhowtheywereconstructed. Theinformalreading
ofthersttwoexamplesisambiguousforplayer3,asthegroupofthoseaction
typesissmallerthanthepublicf1;2;3g,thegroupofhexa.
1. player1holdstheredcard:
?r
1
2. player1showsplayer2theredcard:
L
12 ?r
1
3. example 1: player1putstheredcardonthetable:
L
123 ?r
1
4. example 2: player1shows(only)player2hiscard:
L
123 (L
12 ?r
1 [L
12 ?w
1 [L
12 ?b
1 )
5. example 3: player2asks player1forthe whitecard,1sayshedoesn't
haveit;2endshismove:
L
123 ?:w
1 ;L
123 ?:win
2
6. example 4: player1whispersin2'searacard thathe(1)doesn'thave:
L
123 (L
12 ?:r
1 [L
12 ?:w
1 [L
12 ?:b
1 )
Ad 1: This test succeeds if atom r
1
holds. It is not specied what the
playerslearn.
Ad2: Byshowinghiscardtoplayer2,player1`reveals'thatatomr
1 holds,
in awaythat bothplayershavecommonknowledge ofthat fact: 2observes1
showinghiscard,1observesthat2isobservingit,etc. ThustheoperatorL
12 .
Still,onemightconsidertwo(equivalent)readingshere: L
12 ?K
1 r
1 andL
12 ?r
1 .
isunclear.
Ad 3: Same asitem 2, only nowfor groupf1;2;3g, the public. Now,for
every agent it is specied what he learnsin this type of action, i.e. how his
knowledgechanges. Thisisthetypeof theactionin example1.
Ad 4: We paraphrase what happens here in greater precision: `player 1
shows (only) player 2 his card' is the same as `players 1, 2 and 3 learn that
player1showsplayer2hiscard',whichisthesameas`players1,2and3learn
that1showstheredcardto2,orthewhitecard,orthebluecard'whichisthe
sameas `players1,2and 3learnthat1and2learnthat1holdsred,orthat 1
and2learnthat 1holds white,orthat 1and 2learnthat1 holdsblue'. This
isexpressed by theproposed KTtype. Observethat this stilldoesn'tdescribe
the action of example 2, because in that case the red card wasshown. That
is an action, this is the action's type. Incidentally, in our analysis we have
implicitly combineda question with an answerto it into an action type. We
haven'tmodelledthoseseparately,forthat,see [vD99]or[vD00d].
Ad 5: The combination of the question and the answer is described by
L
123 ?:w
1
. Asexplainedinexample3,endingone'smovemeansmakingpublic
that one doesn't know the dealing of cards. In hexa, there are six possible
dealings of cards. Therefore, knowing one of them is described by K
2 Æ
rwb _
K
2 Æ
rbw _K
2 Æ
bwr _K
2 Æ
brw _K
2 Æ
wrb _K
2 Æ
wbr
. We abbreviatethisformulaas
win
2
. Therefore,2sayingthathecan'twinisdescribedby: L
123 ?:win
2
. Finally,
wehavetwoconsecutiveactions.
Ad 6: Theanalysis ofexample 4issimilar to that of example2,only the
threeoptionsarenothavingacard,insteadofhavingacard. Again,thisaction
typeis notthesameasthe actionin example4, that species just oneof the
threeactionsofthattype.
3.3 Local interpretation of action types
The,aswecallit, `public'interpretationofanAactiontypeonanA modelis
denedintermsofthelocalinterpretationonthatAmodelofitsBsubprograms.
Thenotionof local interpretationisthe morebasicone. Theideabehinditis
thefollowing: `public' means `for all agents', `local'means `only for acertain
group'. 2
Tointerpret a B action type in an A model `locally', you `forget'
aboutthe agents in AnB. You may do that, becausethese other agentswill
be properlyinterpreted `later', asaction type canbe asubprogramof anA
actiontype,that canbepublicly interpreted. Inotherwords: wedonoteven
wanttointerpret publicly: itjustdoesn'tspecifywhattheeects arefor the
agentsoutsideit.
Note that it is fundamental, contrary to [Ger99], that when locally
inter-pretingaB actiontype, knowledgechanges for theagentsnotin B arenot
2
Theterm`local'in`localinterpretation'mightbesomewhatpronetomisunderstanding,
butwehopethatthereaderappreciatesoureortstoavoidcallingit`partialinterpretation',
learntnothingfrom; wejustsaythattheydon'tcareatthisstage.
ThelocalinterpretationofanactiontypeonaknowledgemodelMconsists
oftworelations:
arelation[[]] betweenknowledgemodels,i.e. pairs(M;M 0
)where M 0
is
amodelresultingfrom 'sexecution;
arelation[[]]betweentheirworlds,tobemoreprecise: pairs(w;w 0
)that
link everyworld w 0
2M 0
toaworldw2M, so that [[]] 1
is afunction
fromM 0
toM.
Arelationbetweenaworldwin amodelM andaworldw 0
in amodelM 0
shouldbeseenasarelationbetweentheknowledgestates(M;w)and(M 0
;w 0
).
Wehavechosento `overload'thenotation[[]]byusing itbothbetweenmodels
andbetweentheirworlds(betweenstates).
As typeof operation,local interpretationisnotunlikebisimilarity.
Bisimi-larityisalsobotharelation $ betweenmodelsandarelationRbetweentheir
worlds, although in the caseof bisimilaritydierentsymbolsare used for the
twodierentlevels.
Wenowpresentthedenition of localinterpretation. Examples follow the
denitions. We include an example, in section 3.5, that illustrates the
dier-enceswiththeapproachof[Ger99]. Wehaven'tencounteredthenotionoflocal
interpretationofprogramsintheliteratureandregarditasourcontributionto
epistemicsemantics.
Notations in the denition We use the following notations for inx
binary relationsR such as[[]] and !
: [aR ] :=fb j aR bg, asin clause 6:a:2,
andaR bR c:=(aR bandbR c),asinclause6:c:3. Intheclausesunder(e),write
M 00
=hW 00
;( 00
a )
a2gr() ;V
00
i foran arbitraryM 00
2[M[[]]]; in 6:e:2 and 6:e:4
we thus refer to access and valuation in M 00
. In 6:e:3 we use the following
shorthand, given a context of two models: [[]] 1
(w) := v:(M;v)[[]](M 00
;w).
I.e. [[]] 1
(w) is the unique world in M that is theorigin of world w in M 00
.
(Seeproposition1,onpage22.)
Denition6(Local interpretationof anaction type)
Thelocalinterpretation[[]]ofaKTactiontypeisarelationbetweenknowledge
modelsandbetweentheirworlds,dened bysimultaneous induction. LetM =
hW;(
a )
a2A
;Vi be aknowledge model, where A 2A. Assume that both the
agents and the group of the action type to be interpreted are a subset of or
6:a:1 M[[?' ]]M i M =hW ;;;VW i
whereW 0
=fw2W jM;wj='g
6:a:2 M[[L
B ]]M 0 i M 0 = L B
[M[[]]]asdenedbelow
6:a:3 M[[ ; 0
]]M 0
i 9M
00
:M[[]]M 00
[[ 0
]]M 0
6:a:4 M[[[ 0
]]M 0
i M[[]]M 0
orM[[ 0
]]M 0
6:b:1 (M;w)[[]](M 0
;w 0
) i M[[]]M 0
andw!
w
0
6:c 8M;M
0
:M[[]]M 0
;8w2M;8w 0
2M 0
:
6:c:1 w!
?' w
0
i w=w 0
6:c:2 w!
L B w 0 i 9M 00
2[M[[]]]:9w 00 2M 00 : w 0 =(M 00 ;w 00
)andw!
w
00
6:c:3 w!
; 0 w 0 i 9M 00
:M[[]]M 00 [[ 0 ]]M 0 ;9w 00 2M 00 : w! w 00 ! 0 w 0
6:c:4 w!
[ 0
w 0
i w!
w
0
orw!
0 w 0 6:d:1 L B
[M[[]]] = hW 0 ;( 0 a ) a2B ;V 0 i; where: 6:e:1 W 0 = f(M 00
;w)jw2M 00
2[M[[]]]g
6:e:2 8a2gr(): 8(M 00
;w);(M 00
;w 0
)2W 0 : (M 00 ;w) 0 a (M 00 ;w 0
) i w
00
a w
0
6:e:3 8a2Bngr(): 8(M 00
;w);(M
;w 0
)2W 0 : (M 00 ;w) 0 a (M ;w 0 ) i [[]] 1 (w) a [[]] 1 (w 0 ) 6:e:4 8(M 00
;w)2W 0 : V 0 (M 00 ;w) =V 00 w
Ad (a) In part(a) of denition 6, the interpretation of action types on
modelsisdened.
Ad (b) and (c) In parts (b) and (c) of denition 6, the interpretation
of action types on states is dened. Clause 6:b:1 states that to interpret an
actiontype inastate(M;w),onehastointerpret in themodelM andone
hastodeterminetheimages ofwunder thatinterpretation. Theoperator !
determineswhattheseimagesare. Clause6:c:2statesthatworldw 0
isanimage
ofworldwfortypeL
B ,ifw
0
isastate(M 00
;w 00
)thatresultsfrominterpreting
on(M;w).
Ad (d) and (e) In parts (d) and (e) of denition 6, we dene the
model L
B
[M[[]]],theresultofinterpretinganactionoftypeL
B
. Themodel
L
B
[M[[]]] is the direct sum L
[M[[]]], plus access added for the agentsb 2
Bngr(), accordingto clause 6:e:3 of the denition. (So that, indeed, B is
just the parameter weneed.) To construct the direct sum L
M of a set M
of models, we cannot just takethe unionof their domains. We have to pair
aworld w 2M
i
2M to someindex iin orderto determinethe model M
chosentotakethemodelitselfasindex. Thusweget: (w;M
i
). Aswemightas
wellwrite (M
i
;w), thisamountstotakingstatesformodelsfromMasworlds
inthedirectsum L
M.
Unless confusion results, in theexamples we stillsimply takethe unionof
thedomainsofmodelsin L
B
[M[[]]]. Intheexampleswenameworldsbycard
dealings,thatcorrespondtotheatomicdescriptionsofthoseworlds. Evenwhen
dierentworldshavethesamename,wecandistinguish thembythedierent
accesstheyhavetootherworlds. 3
Itisessentialthatthelocalinterpretationofanactiontype inamodelM
isonlydened ifbothag()gr(M)andgr()gr(M). Withouttherst,a
testformulawithmodaloperatorsnotin gr() cannotbeevaluatedin M (see
clause6:a:1ofthedenition). Withoutthesecond,thereareagentsinagroup
B learningsomethingin ,that donotoccurin M,so thattheiraccess in the
resultingmodelcannotbecomputed(seeclause6:e:3ofthedenition). Seealso
section3.7.
Denition7(Executable)
AnactiontypeisexecutableinaknowledgemodelM,ifthelocalinterpretation
of onMisdenedandisnottheemptyrelation. Aactiontype isexecutable
inaknowledgestate(M;w),ifthelocalinterpretationof in(M;w)isdened
andisnottheemptyrelation: i.e.ifitisexecutableinM andifwhasa-image
underthatinterpretation.
Denition8(Equivalence)
TwoKTactiontypes and 0
areequivalent,notation = 0
,iftheyhavethe
samelocalinterpretationonallmodels: i.e.if[[]]=[[ 0
]].
Denition9(Public interpretation)
Ifgr()=gr(M)then[[]] isthepublicinterpretationof inM.
Thesethree denitionswilllaterbeextended toinclude actions.
Notation Ifthelocal interpretationofanactiontype isafunctional
rela-tiononthe levelof knowledge models, wewrite M[[]] forthe uniqueM 0
such
thatM[[]]M 0
. Themodelfunctional actiontypesFuncKThave such an
inter-pretation. (See subsection3.8.)
3
Byindexingworldswithmodels,wewouldstillrunintonamingtroublewhenpairinga
worldwithtwomodelswiththesamename. Fortechnicalreasons,dierentmodelswillnever
getthe samename. Thiswillonlybecomeclearinsection4. Still,whencomputing[M[[]]]
thesamemodelmightalsobemultiply`producedby',e.g.when= 0
[ 0
.Wehavetaken
aneasywayout ofthatproblem: weareonlyinterestedinthe set[M[[]]],sothatmultiple
occurrencesofmodelshavebeendeleted. Thereisalsoa`diÆcult'wayoutofthatproblem:
amodelconstructedfromthe setofrenamedmultipleoccurenceswouldbebisimilartoone
constructedfromtheset withmultipleoccurrencesdeleted,see section3.8forsomeresults
interpretation of an action type is functional, we write (M;w)[[]] for the
unique(M 0
;w 0
)suchthat (M;w)[[]](M 0
;w 0
). There issuchaunique(M 0
;w 0
)
if isnotonlymodelfunctional,butalsodeterministic,i.e.if 2DetKT. (See
subsection 3.8.) If is deterministic, instead of (M;w)[[]] we might as well
write(M[[]];w[[]]). Thisnotationalconventionwillalsobeusedforknowledge
actions,tobedened inthenextsection.
Insteadof L
B fM
1 ;M
2 ;:::;M
n
gwealsowriteM
1 L
B M
2 L
B :::
L
B M
n .
Instead of a `two-level' denition between both models and their worlds
(seenasstates),weconsidereddeninglocalinterpretationasarelationbetween
knowledge states only, which would in this respect have been as in [BMS98],
[Bal99] and [Ger99]. However, the basic programming operations `test' and
`learning'canbemuchmoreelegantlydenedbetweenmodels. Fortherelation
between interpretation on models and on worlds, see also subsection 3.8 on
actiontypeproperties.
3.4 Examples
Wenowillustrate denition 6bycomputingtheinterpretationofthe example
actiontypesfrom subsection3.2 onhexa,theknowledgemodel ofgure1,for
three players holding three cards red, white and blue. All examples can be
publiclyinterpreted.
Example1
Player1puts theredcardonthetable: L
123 ?r
1 .
Weapplydenition 6stepwise:
hexa[[L
123 ?r
1 ]]M
, denition6:a:2
M= L
123
[hexa[[?r
1 ]]]
hexa[[?r
1 ]]M
0
, denition6:a:1
M 0
=hfrwb;rbwg;;;Vfrwb;rbwgi
AsM 0
isunique,wemaywriteM 0
=hexa[[?r
1
]]andwehavethat[hexa[[?r
1 ]]]=
fhexa[[?r
1
]]g. Westillhavetocomputetherelationsbetweenworldsinhexaand
in hexa[[?r
1
]]. According to clause 6:c:1: rwb !
?r1
rwb and rbw !
?r1 rbw.
Wecannowcompute M (= hexa[[L
123 ?r
1
]]). Write M =hW M
;f M
1 ;
M
2 ;
M
3
g;V M
i. According toclause 6:e:1: W M
=f(hexa[[?r
1
]];rwb);(hexa[[?r
1
]];rbw)g.
As gr(?r
1
) = ;, clause 6:e:2 doesn't apply. For the other agents, i.e. for all
agents1,2and3,wecontinueasfollows:
(hexa[[?r
1
]];rwb) M
1
(hexa[[?r
1 ]];rbw)
brw wrb
rwb rbw
bwr wbr 1
1
1 2
2 2 3
3
3
rwb rbw rwb 1 rbw
?r1 L123?r1
Figure2: Computinghexa[[L
123 ?r
1 ]]
[[?r
1 ]]
1
(rwb)
1 [[?r
1 ]]
1
(rbw)
, denition 6:b:1and 6:c:1
rwb
1 rbw
Ifwesimplify thenotationofdomain W M
ofmodel hexa[[L
123 ?r
1
]], as
sug-gestedin theremarksadclause6:e:1,weevenget:
rwb M
1
rbw i rwb
1 rbw
Thesixreexivelinks inthemodel hexa[[L
123 ?r
1
]](for1,2,and3,forboth
rwb and rbw) are similarly computed. Further, clause 6:e:4 states that the
valuationV M
onthe`new'worldsrwbandrbwisthesameasonthe`old'ones.
Figure2givesanoverviewofourcomputations.
Example2
Player1showshis cardtoplayer2: L
123 (L
12 ?r
1 [L
12 ?w
1 [L
12 ?b
1 ).
Weelaborateonthenecessarycomputations:
hexa[[L
123 (L
12 ?r
1 [L
12 ?w
1 [L
12 ?b
1 )]]M
0
, denition6:a:2
M 0
= L
123 [hexa[[L
12 ?r
1 [L
12 ?w
1 [L
12 ?b
1 ]]]
hexa[[L
12 ?r
1 [L
12 ?w
1 [L
12 ?b
1 ]]M
00
, denition6:a:4
hexa[[L
12 ?r
1 ]]M
00
orhexa[[L
12 ?w
1 ]]M
00
orhexa[[L
12 ?b
1 ]]M
00
Weassumethat[isassociative,whichisprovenlater,inproposition2. We
getthreedierentmodelsM 00
thisway. Wecomputetherstone.
hexa[[L
12 ?r
1 ]]M
00
, denition6:a:2
M 00
= L
12
[hexa[[?r
Similarlytothecomputationinthepreviousexample,wegetM =hexa[[L
12 ?r
1 ]]=
hfrwb;rbwg;( M 00 1 ; M 00 2 );V M 00
frwb;rbwgi. Morestrictly,insteadoffrwb;rbwg,
thedomain isf(hexa[[?r
1
]];rwb);(hexa [[?r
1
]];rbw)g. Apartfrom reexiveaccess
forboth1and 2in bothworlds,weonlyhave rwb
1
rbw. Accessfor player
3is notcomputed. Similarlywecomputehexa[[L
12 ?w
1
]] and hexa[[L
12 ?b
1 ]], see
gure3. hexa brw wrb rwb rbw bwr wbr 1 1 1 2 2 2 3 3 3 hexa[[?r1]] rwb rbw hexa[[?w 1 ]] wrb wbr hexa[[?b1]] brw bwr hexa[[L12?r1]]
rwb 1 rbw
hexa[[L 12 ?w 1 ]] wrb wbr 1 hexa[[L12?b1]]
brw 1 bwr
hexa[[L 123 (L 12 ?r 1 [L 12 ?w 1 [L 12 ?b 1 )]] brw wrb rwb rbw bwr wbr 1 1 1 3 3 3
Figure3: Computinghexa[[L
123 (L 12 ?r 1 [L 12 ?w 1 [L 12 ?b 1 )]]
Wenishthecomputation bydetermining
M 0
= hexa[[L
123 (L 12 ?r 1 [L 12 ?w 1 [L 12 ?b 1 )]]
= hexa[[L
12 ?r 1 ]] L 123 hexa[[L 12 ?w 1 ]] L 123 hexa[[L 12 ?b 1 ]]
Formally,thedomainW 0
ofM 0
istheset
W 0
= f(hexa[[L
12 ?r
1
]];(hexa [[?r
1
]];rwb));
(hexa [[L
12 ?r
1
]];(hexa[[?r
1
]];rbw));
(hexa [[L
12 ?w
1
]];(hexa[[?w
1
]];wrb));
(hexa [[L
12 ?w
1
]];(hexa[[?w
1
]];wbr));
(hexa [[L
12 ?b
1
]];(hexa[[?b
1
]];bwr));
(hexa [[L
12 ?b
1
]];(hexa[[?b
1 ]];brw))
Again,forconveniencewesimplifyittoW 0
computations for access in example 1, we have reexive access for player 3,
and apart from that we can compute in M 0
that rwb
3
wrb, rbw
3 brw,
and bwr
3
wbr. Figure 3 visualizes the resulting model, and how we have
constructedit.
In any world of the resulting model, player 2knows the dealing of cards.
Player1doesn'tknowthecardsof2and3,althoughheknowsthat2knowsit.
Example3
Everybody learns that player 1 doesn't have the white card, and everybody
learns that player 2 can't win the game (doesn't know the dealing of cards)
afterthat: L
123 ?:w
1 ; L
123 ?:win
2 .
Weelaborate on thenecessarycomputations. First weinterpret L
123 ?:w
1
onhexa. Thetest?:w
1
succeeds onfour ofthesix worldsof hexa. Asbefore,
accessforallthreeplayersisthenreestablishedbetweenworldsthatwerealready
linked. Apartfromreexivelinksforallplayersbetweenallworlds,wegetthat
rwb
2
bwr andthatbrw
3 rbw.
WecontinuebyinterpretingL
123 ?:win
2
onhexa[[L
123 ?:w
1
]](aswehavethat
M[[ ; 0
]]M 0
,M[[ ]][[ 0
]]M 0
). Theformulawin
2
describesthatplayer2knows
which ofthe sixpossibledealingsofcards isactuallythe case,in gameterms:
that2canwin. Insemanticaltermsthisconditionisonlysatisedinsingleton
equivalence classes of 2's access. As we test on 2 not being able to win, we
therefore removeall singletons in 2's access. Next we reassert previously (in
hexa[[L
123 ?:w
1
]]) existing access for 1, 2 and 3between the remaining worlds
rwb and bwr. This is generalprocedure fortests that arepublicly learnt, i.e.
`public announcements' in terms of [BMS98]. Figure 4 pictures the resulting
model,andhowwehaveconstructedit.
In the nal model hexa[[L
123 ?:w
1 ; L
123 ?:win
2
]] on the right in gure 4,
both1and3havefullknowledgeofthe dealingof cards,whereasin anystate
ofhexa[[L
123 ?:w
1
]] consistentwith that,only 3canwin. So1canwin because
2sayshe(2)can't.
Example4
Player1 whispers in 2's ear acard that he (1) doesn't have: L
123 (L
12 ?:r
1 [
L
12 ?:w
1 [L
12 ?:b
1 ).
Unlikethepreviousexamples, thisisacaseof truenondeterminism: 1can
choose what to whisper. Now the model resulting from the execution of an
actiontype canbe morecomplex, in terms of the its number of worlds, than
themodel uponwhich thetypeisexecuted. Indeed,this isherethecase. We
donotperformthecomputationsin detail.
Figure 5pictures hexa[[L
123 (L
12 ?:r
1 [L
12 ?:w
1 [L
12 ?:b
1
) ]]. Notethat we
brw wrb
bwr wbr 1
1 2
2 2 3
3
3
brw bwr brw bwr
1 2 3
=
=
brw
rwb rbw
bwr 1
1 2 3
rwb
bwr
rwb
bwr 2 ?:w
1
L
123 ?:w
1
?:win
2
L
123 ?:win
2
Figure4: Computinghexa[[L
123 ?:w
1 ; L
123 ?:win
2 ]]
brw wrb
bwr wbr
brw
rwb rbw
bwr wrb
rwb rbw
wbr
3
3 1
1
2 3
1
1 2 3
1
1 2 3
3
3
3
3
Figure 5: Pictureofhexa[[L
123 (L
12 ?:r
1 [L
12 ?:w
1 [L
12 ?:b
1 ) ]]
6:e:1, but have kept their original names. Otherwise, e.g. the world wrb `in
front'would benamed (hexa[[L
12 ?:r
1
]];(hexa[[?:r
1
]];wrb)), callitwrb
front , and
theworldwrb`attheback',wouldbenamed(hexa[[L
12 ?:b
1
]];(hexa[[?:b
1
]];wrb)),
call it wrb
back
. World wrb in hexa has both wrb
front
and wrb
back
as images
undertheinterpretation ofthistype,correspondingto thechoice hecanmake
betweenredandblue. Thiscanbecheckedbycomputingbothwrb!
wrb
front
and wrb !
t auwrb
back
, fortype =L
123 (L
12 ?:r
1 [L
12 ?:w
1 [L
12 ?:b
1 ), by
stepwiseapplication ofclausesfromdenition6:c.
Withoutrenaming, wecanstill distinguishtheworldwrb infrontfrom the
worldwrbattheback,becauseplayer2islessinformedinfront. Inotherwords:
otherplayersofcheating,andforexamplesofactiontypesinrelatedmodelsfor
cardgames,see[vD00c].
In section 2.3 we mentioned that formulas [?K
1 p]K
1
p are undened on
any model. Why, will now be clear: note that hexa;rwb j= [?K
1 r
1 ]K
1 r
1 ,
hexa[[?K
1 r
1
]];rwbj=K
1 r
1
. Themodelhexa[[?K
1 r
1
]]isthesameashexa[[?r
1 ]],as
ingure2. Asitisan;model,obviouslywecannotinterprettheformulaK
1 r
1 .
We do not see this asa limitation of ourapproach. Instead, we see it as
an advantage that we that, e.g. show that hexa j= [?K
1 r
1 ]r
1
. Put in other
words: someformulas can be locally interpreted without any assumptions on
otheragents. This isdierentfromthe approachin [Ger99],where onehasto
assumethat all other agents learnnothing. We continue with an example of
that.
3.5 Local interpretation versus updating
Inexample2wecomputedthe(public)interpretationofL
123 (L
12 ?r
1 [L
12 ?w
1 [
L
12 ?b
1
) in hexa. Instead of (locally) interpreting subprogram L
12 ?r
1 , as in
gure3,wemighthaveconsidered`totally'interpretingthatsubprogram,before
continuingtoincorporateitsinterpretationintheinterpretationofL
123 (L
12 ?r
1 [
L
12 ?w
1 [L
12 ?b
1
). Howtoproceed? Becausewedonotknowhowtheexecution
of this type of action eects player 3, we might as well assume that he (his
knowledge) is not at all aected by it. This is the approach in [Ger99]. In
[Ger99], DEL programs are always totally interpreted in this manner. Also,
for technical reasons, they can only be interpreted in states, not in models.
The action type L
12 ?r
1
corresponds to the DEL program ?r
1 ; U
12 ?r
1 . This
expressesthat: 1and2havelearntthat1holdstheredcard,and3hasn'tlearnt
anything. Figure 6picturesthe stateresulting from interpreting?r
1 ; U
12 ?r
1
instate(hexa;rwb). Continuing inthis manner,aDELprogramcorresponding
to L
123 (L
12 ?r
1 [L
12 ?w
1 [L
12 ?b
1
)has thesame interpretation asthat action
typein everystateofhexa.
For the purpose of computing relations between S5 models, we think the
approachof[Ger99]lessattractive,forthefollowingthreereasons:
Intermediatein thecomputationaremodelsthat arenotS5,suchasthe
modelin gure6.
Intermediatein thecomputationaremodelsthat aremorecomplexthan
theinitial and thenalmodel. Themodelin gure6contains8worlds,
correspondingto8non-bisimilarstates. Bothhexaandtheresultingmodel
hexa[[L
123 (L
12 ?r
1 [L
12 ?w
1 [L
12 ?b
1
)]]consistof 6worlds.
One hasto assume an actual state(the point of themodel), before one
brw wrb
rwb rbw
bwr wbr rwb rbw
1
1
1 2
2 2 3
3
3
3 3
1
Figure 6: Picture of (hexa;rwb)[[?r
1 ; U
12 ?r
1
]], using [Ger99]. The designated
worldrwbisinromanstyle. Thisisnotanexampleoflocalinterpretation.
are compatible with (`survive') theexecution of L
123 (L
12 ?r
1 [L
12 ?w
1 [
L
12 ?b
1
). Thatmeanssix(althoughsimilar)computations.
But, of course, amoreessentialdierence is that onecanlocally interpret
programs(actionsortypes) withoutany assumptionsonthe otheragents,i.e.
withoutassumingthat theotheragentshavelearntnothing. Seealso[vD00b].
3.6 Another example
Thereis onlyoneatom pandthere areonly twoagents1and 2. Letter is the
model hfw;w 0
g;(
1 ;
2
);Vi with both
1 and
2
the universal relation, and
withV
w
(p)=1;V
w 0(p)
=0. We canthink ofw astheworldwhere 1gets`an
invitationforanightoutinAmsterdam'andofw 0
astheworldwhere,instead,
1is invited, or,if he wishes to see it that way, `obliged to givea lecture'. It
iscommonlyknownthat these aretheonlyalternatives. Wecanalsothink of
thisexampleastheknowledgegame fortwoplayersandtwocards,where the
playershaven'tyet lookedinto theircards. Three examplesofaction typesin
thismodelare:
An outsider tells the agents that agent 1 is invited for a night out in
Amsterdam 4
:
L
12 ?p
Inaletteriswrittenthatagent1isinvitedforanightoutinAmsterdam.
Agent 1 is given the letter, opens it, and reads its contents. Agent 2
observesplayer1openinghisletter(andthisiscommonlyknown):
L
12 (L
1 ?p[L
1 ?:p)
4
Whichresults inthe samemodelas: Inaletteriswrittenthat agent 1isinvitedfora
p 1;2 :p
p
letter[[L
12 ?p]]
p :p
2
letter[[L
12 (L
1 ?p[L
1 ?:p)]]
p :p
p :p
2
2 2
1;2
letter [[L
12 (L
1 ?p[L
1 ?:p[L
1 ?>)]]
Figure7: Nightcluborlecture
Sameaspreviousitem,onlynowagent2doesn'tknowbut onlysuspects
1to haveopenedtheletter(andthisiscommonlyknown):
L
12 (L
1 ?p[L
1
?:p[L
1 ?>)
Figure 7presentsthe modelsproduced bytheseactiontypes. Insteadofw
andw 0
,wenamedtheworldsbytheiratomicdescriptionspand :p.
3.7 Motivations for the constraints on KT
Giventheinterpretationofactiontypes,andtheexamples,wecannowexplain
theconstraintsonactiontypeconstructionindenition 3. Without these
con-straints, local interpretation canbeincorrect, from the viewpoint of expected
postconditions,orundened.
Denition3.a: tests
Therearenoconstraintsontests. Forthosewhoopposetothename`test': see
theend ofthissubsection.
Denition3.b: learning
In clause 3:b we required that gr() B. We can relax this constraint to
gr() B. Clause 6:c:2, on the interpretation of the learning operator, in
denition6,willstillconstructacorrectmodel. Relaxingtheconstraintdoesn't
haveany(modelling)value,however. Ifgr()=B,theinterpretationoflearning
iseitheridentityor constructsadirectsum. Examples:
[[L
B (L
B
) ]] istheidentityonallmodelswhereitcanbeexecuted. Thereis
Because
;
is simply , themodelhexa[[L
123 (L 123 ?r 1 [L 123 ?w 1
)]] would
be thedirect sumhexa[[L
123 ?r 1 ]] L hexa[[L 123 ?w 1
]]. Fromthe `viewpoint' ofits
agents the dierence doesn't matter. For all worlds in hexa[[L
123 ?r
1
]], state
(hexa[[L
123 ?r
1
]];w)ismodallyequivalenttostate(hexa[[L
123 (L 123 ?r 1 [L 123 ?w 1 ) ]];w),
becausethelatterconsistsoftwodisconnectedparts.
Similar to thecase B = gr(), alsofor B gr() is the interpretation of
typeL
B
thesameasthat of.
Denition3.c: sequentialexecution
Given an action type ; 0
, we required both that gr() = gr( 0
) and that
ag( 0
)gr(). Theresultofinterpreting willbesomemodelM withaccess
denedfortheagentsingr().
If B=gr()gr( 0
)=C, [[ 0
]] would beundened. Actiontype 0
would
containasubprogramoftypeL
C
thatcannotbeinterpreted,becauseaccess
for agents a 2 CnB can not be dened from a-access between worlds from
M, asaccess fora isundened onM. An example: Theinterpretation of the
actiontypeL
2 ?r 1 ; L 123 ?r 1
isundened,becauseaccess for1and3cannotbe
computed.
If,ontheotherhand,C=gr( 0
)gr()=B,thentheresultofinterpreting
; 0
in aB[C modelwouldincorrectlybecalledthepublicinterpretationof
that actiontype in that model, eventhough gr( ; 0
)=gr(M). Any model
resulting from executing ; 0
would only be a C model, so that we can't
compute the knowledge of agents not in C, as a result of its execution. An
example: the interpretation of theaction typeL
123 ?r 1 ; L 2 ?r 1
isdened but
incorrect. E.g. in the resulting model M 0
, e.g. M 0
j= K
3 r
1
is undened, but
shouldactuallyhold. Notethat, ontheotherhand,modelM[[L
123 ?r
1 ]][[L
2 ?r
1 ]]
isdened. (Onlyifgr()=gr( 0
)itholdsthat[[]][[ 0
]]=[[ ; 0
]].)
If containsmodalagentsnotinthegroupof,i.e.ifD=(ag( 0
)ngr())6=
;, then 0
contains a test on aproposition with a modal operator for agents
thatcannot beevaluatedonM. Thismodaloperator mustbeeither amodal
operator K
a
, with a 2 D, or a modal operator C
B
, with B \D 6= ;, or a
modaloperator[
]withmodalagentsinD. Agr()model M onwhichsuch
propositions are to be evalutated, lacks access for those agents. An example:
theinterpretationoftheactiontypeL
1 ?K 2 r 1 ; L 1 ?K 2 r 1
isundened,because
thetest onK
2 r
1
in thesecond occurrenceof L
1 ?K
2 r
1
cannotbeevaluated in
the1-modelthat resultsfrom interpretingtherstoccurrenceofthat formula.
For those who feel uncomfortable under this restriction: thefollowing
ex-planationmayhelp tomakeitseemreasonable. Intheexampleabovetherst
occurrenceof L
1 ?K
2 r
1
isinterpretedlocallybecauseweexpectitto bea
sub-program of an actiontype for a largergroup that contains 2, sothat we can
computewhat 2haslearntfromthissubprogram. Untilwehavespeciedthat
actiontype,wewant2'saccesstobeundened, andthereforewouldn'tbyany
means want to refer to 2's knowledge, which is exactly what happens in the
secondoccurrenceofL
1 ?K
2 r
1
. Sobasicallytheconstraintag( 0
)gr()rules
guage.Whenspecifyingplayers'communicationingames,anysequential
execu-tioncanbedescribedonthelevelofthepublic: ; 0
isrestrictedtosequences
ofAactiontypesonly. Thiswouldhavesimpliedourdenitionsconsiderably.
Denition3.d: nondeterministicchoice
For[ 0
tobeanactiontype,werequiredthatgr()=gr( 0
). Ifnot,constructs
oftypeL
B ([
0
)mightbeincorrectlyinterpretedforagentsa62gr()\gr( 0
).
An example: L
123 (L
2 ?r
1 [L
3 ?w
1
) would be incorrectly interpreted in hexa.
Asgr(L
2 ?r
1 [L
3 ?w
1
)=f2;3g, whenconstructinghexa[[L
123 (L
2 ?r
1 [L
3 ?w
1 ) ]]
fromhexa[[L
2 ?r
1 [L
3 ?w
1
]]onlyaccessfor1isadded. Inparticular,no3-access
isadded to hexa[[L
2 ?r
1
]] and no2-access isadded to hexa[[L
3 ?w
1
]]. E.g., if the
actualstatewasrwb,in the model resultingfrom theexecution of thisaction
player3 cannot imaginerwb to be theactual dealing of cards. The model is
thereforenotevenS5.
Thismodelisobviouslynottheintendedinterpretation: 3learnsthateither
2learns r
1
or that he himself learnsw
1
. Therefore, if after execution of this
actionhe hasnotlearnt w
1
, which canbechecked byintrospection, heknows
that2musthavelearntr
1
instead. As3alsoknowshisowncard,henowknows
allthree cards: 3cannotjustimaginerwb,3evenknowsthisdealingtobethe
case.
Whyis a testa test?
WhyisaKTtestcalledatest? Testssupposedlydonotchangetheobjectsthey
operateupon,butjustletthemsurvive,ornot. Atest?'2KTisonlyatestin
thissense,ifitcanbepublicly interpreted,notifitisonly locallyinterpreted.
Tests canonlybepublicly interpretedonmodelswithout access. In that case
thetestformulasmustnotcontainmodaloperators. Eventhen,theyonly`do
notchangethemodel' ifthat modelconsists ofasingleton world. An example
ofatestthat`doesn'tchangethemodel': ?r
1
canbepubliclyinterpretedonthe
modelhfrwbg;;;Vfrwbgi,withV andrwbasinhexa. Acounterexample,i.e.a
`testthatchangesthemodel': thetest?K
1 r
1
canneverbepubliclyinterpreted,
because;=gr(?K
1 r
1
)ag(?K
1 r
1
)=f1g: it canonlybepubliclyinterpreted
onan ;model, but on such a model we cannot interpretmodal operator K
1 .
It canbe locally interpreted on hexa, in which case it does change the model
itoperatesupon. Theresultingmodelhexa[[?K
1 r
1
]]isidenticaltohexa[[?r
1 ]],as
computedingure3.
Onemightremarkthattheword`test'isthereforeinappropriateforthisKT
construct. Weagree. (Butdonothaveabettername.)
3.8 Action type properties
LetM bea knowledgemodel. Let(M;w)beaknowledgestate. Let 2KT.
Then:
(a) 8M 0
:M[[]]M 0 )8w 0 2M 0 :9!w
2M:(M;w
)[[]](M 0 ;w 0 ) (b) 8M 0 :8w 0
:(M;w)[[]](M 0
;w 0
))M[[]]M 0
Proof
(a)Inductionon. E.g.caseL
B
: SupposeM[[L
B ]]M
0
. Letw 0
2M 0
. AsM 0
=
L
B
[M[[]]], itholdsthat w 0
=(M 00
;w 00
)forsomeM 00
2[M[[]]] andw 00
2M 00
.
Byinduction there mustbeexactlyonew2M such that (M;w)[[]](M 00
;w 00
).
From denition 6:b:1 follows(M;w) !
(M
00
;w 00
). From that and from
de-nition 6:c:2 follows (M;w) !
LB (M
0
;w 0
), i.e. (M;w) !
LB (M 0 ;(M 00 ;w 00 )).
(b)Immediatelyfromdenition 6.b.1.
Becauseofproposition1,inclausee:3ofdenition6wecanwrite[[]] 1
(w 0
)
fortheuniqueoriginofaworldw 0
.
Proposition 2(Associativity of actiontype construction operations)
(a) 8; 0
;
2KT:([ 0 )[ = [( 0 [ ) (b) 8; 0 ;
2KT:( ; 0 ); = ; ( 0 ; ) Proof
(a)SupposeM[[([ 0
)[
]]M 0
. Then,bydenition6:a:4,eitherM[[[ 0
]]M 0
orM[[
]]M 0
. IfM[[[ 0
]]M 0
,then,againbydenition6:a:4,eitherM[[]]M 0 or M[[ 0 ]]M 0
. FromM[[ 0
]]M 0
andM[[
]]M 0
followsM[[ 0
[
]]M 0
. FromM[[]]M 0
andM[[ 0
[
]]M 0
followsM[[[( 0 [ )]]M 0 .
(b) Similar to (a), by decomposing and recomposing according to denition
6:a:3.
Thefollowingwill be obviousand neednoproof, asitfollowsimmediately
fromtheconstructionsof agentaccess in clauses6:a:1, 6:e:2,and6:e:3 of
de-nition6:
Fact 1(S5invariance)
Theclassof knowledgemodelsisclosedunderexecutionofactiontypes.
The model functional action types havea functional interpretation on the
levelof models, andthe deterministicaction typeshaveafunctional
LetM beaknowledgemodel,letw2M.
(a) 8 2FuncKT: isexecutableonM)9!M 0
:M[[]]M 0
(b) 8 2DetKT: isexecutableon(M;w))9!(M 0
;w 0
):(M;w)[[]](M 0
;w 0
)
Proof
(a) Immediate, by induction on . The only interesting case is L
B
, where
2KTand therefore maybenotmodel functional. SuÆcesto observethat
denition 6constructsasingle model L
B
[M[[]]], regardlessof thenumberof
models[M[[]]]contains.
(b)Immediate,byinductionon.
Proposition 4(Bisimilarityinvariance)
LetM;M 0
be S5models, and M$M 0
(M is bisimilarto M 0
), let R be the
bisimulationbetweenM andM 0
,andlet 2KT. Then:
8M
:M[[]]M
)9M
:(M 0
[[]]M
andM
$M
and(i))
(i): ForthebisimulationR
betweenM
and M
itholds that:
8w
2M
;8w
2M
:w
R
w
)[[]] 1
(w
)R[[]] 1
(w
)
Proof: Byinductiononthestructureofactiontypes. Themostinteresting
caseisL
B
. Theproofisfoundin theappendix.
Directly from proposition 4 follows the next (corollary, but because of its
importance)proposition:
Proposition 5
IfM;M 0
areS5models,andM$M 0
,and 2FuncKT,thenM[[]]$M 0
[[]].
4 Knowledge actions
Wenowcontinuebydeningtheclassofknowledgeactions. Rememberexample
2,theaction`player1shows(only)player2theredcard'anditscorresponding
type`player1shows(only) player2hiscard'. Althoughwehavenowformally
describedandinterpretedthisaction'stype,westillcannotdescribetheaction
itself. Inthissection,weextendourlanguagewiththeoperationof`localchoice',
tomakethatpossible.
A knowledge action can be formed from an action type by a mapping
operation !
I
, where !
I
lyingitsstructural treeas follows: all nodesthat arebranching due to
nonde-termisticchoicearelabeledwithdierentvariables;allothernodesandallarcs
arenotlabeled. Avariable correspondstoalocalchoice forasubgroup, aswe
areaboutto see.
Denition10 (Labeled structure ofan actiontype)
Assumea(countably)innitesupplyof variablesX.
ls(?') = ()
ls(L
B
) = (ls())
ls([ 0
) = x(ls();ls( 0
))forsomefresh variablex
ls( ; 0
) = (ls();ls( 0
))
Bundle
Given the structure ls() of an action type, a valuation val : X ! B (we
may as well, and will, write val 2 B N
) of the variables in its labeled
struc-ture denes a rooted subtree val(ls()) that we call a bundle. 5;6
Value 0
se-lectsthe `left' arcof thecurrentsubtree,whereas1selects the`right'arc. By
overloading the notation of val we can map a labeled structure to a bundle.
A crucial clause in that mapping is: val(ls( [ 0
)) = val(x(ls();ls( 0
))) =
val(x)(val(ls());val(ls( 0
))). If val(x) = 1, this is 1(val(ls());val(ls( 0
))),
ifval(x) = 0, this is 0(val(ls());val(ls( 0
))). A bundle can be more than a
branch. Forasequentialexecutionbotharcswillbepartofthebundle. Because
ofthatwecallitabundle: it'snot(necessarily)abranch,it'snot(necessarily)
theentiretree,it'ssomethinginbetween: justacoupleofbranches.
Forconvenience,wenowdenebu()=fval(ls())jval2B N
g;bu()isthe
setof (dierent)bundlesof . Obviously, wedonotrequirethat twodierent
valuations denedierentbundles. Wedo noteven requirethat twodierent
bundlesdenedierentactions,aswillbecomeclearfromtheexamples,below.
Each bundle in the structural tree of an action type denes a knowledge
action: if 2KTandI 2bu(),then!
I
denesaknowledgeaction. KAisthe
classof allsyntacticobjectsthusformed. Write foran arbitraryknowledge
action.
Denition11 (Knowledge actions{ KA)
LetAbeaset ofagents(thepublic),letPbeasetof atoms.
KA=f!
I
j 2KTandI 2bu()g
Themodalagentsandthegroupofanactionarethoseofitstype,see
de-nitions15and14. Therelationbetweenknowledgeactiontypesandknowledge
actionsisthefollowing: toeachtypecorrespondsasetofactions(its`instances',
5
Inorder to distinguish val fromvaluations Vw on models, wehave chosen a dierent
notation.
6
isticactiontypesareknowledgeactions,as 2DetKT)8I 2bu(): !
I =;
in thatcase, bu()consistsof asingle bundle(`nochoice'). This will bemade
preciseinsection4.4.
Theformalnotationwith bundlesprexedtoaction typesis abit
cumber-some. Thefollowingdenesamoreconvenientnotationforknowledgeactions.
Denition12 (Notationalequivalent for knowledge actions )
!
()
(?') := !?'
!
(I) (L
B
) := !L
B !
I
!
0(I;J) ([
0
) := !
I [
0
!
1(I;J) ([
0
) := [ !
J
0
!
(I;J) ( ;
0
) := !
I ; !
J
0
The onlyposition where anexclamationmark `!' meaningfullyremains, is
just before alearning operator, i.e. in a subprogramof the form !L
B
. This
`means'(seebelow)thatonlytheagentsinBknowthattheyhaveselectedfor
execution,fromthealternatives. The`!' in frontofatest !?'hasnomeaning,
seetheexamplein thenextsubsection.
Furthersimplications: Ifthereisnothingtochoosefrom,wecandeletethe
exclamationmark. Thatmeansweonlyhavetokeep`!'-sinsubprogramsofthe
form![ 0
or[ ! 0
.
Warning: thelocal interpretationof actions,to bedened in thenext
sub-section,is onlycompositionalfrom theviewpointofformal notation,notfrom
thatofitsnotationalequivalent.
Wecontinuewithsomeexamples.
4.1 Examples
We are now ready to describe the examples from the introductory section 1.
Fromsubsection3.2wealreadyknowtheirtypes.
Example1
The rst example, `player 1 puts the red card on the table', is not of much
interest. Itsstructuraltreeisabranch,which(therefore)alsoisitsonlybundle:
ls(L
123 ?r
1
)=(()). Thenextexampleweexplainindetail:
Example2
Thisistheaction`player1shows(only)player2theredcard'. Thetypeofthis
actionis: `player1showshiscardtoplayer2',formallyL
123 (L
12 ?r
1 [L
12 ?w
1 [
L
12 ?b
1 ).
Toillustrate theconstructionof anactionof thistype,wehavetobemore
preciseaboutitsstructure. Wecan{arbitrarily,as[isassociative{takethe
(x(y((());(()));(()))):
Thelabeledstructure consistsofthreebundles:
(0(0((());(()));(())))
(0(1((());(()));(())))
(1(0((());(()));(())))
Notethat(1(0((());(()));(())))denesthesamebundleas(1(1((());(()));(()))):
oncewehavechosentherightsubtree,wedon'tcarewhatchoicesaremade
fur-therdownintheprunedleftsubtree.
Figure8illustrateshowthemiddleoneofthethree bundlesis created. On
theleftinthegure,thelabeledstructurels(L
123 (L
12 ?r
1 [L
12 ?w
1 [L
12 ?b
1 )). In
themiddle,thebundleval(ls(L
123 (L
12 ?r
1 [L
12 ?w
1 [L
12 ?b
1
))),forthevaluation
val(x)=0andval(y)=1. Ontherightinthegure,theactualbundlethatis
selectedbythisformallydened bundle.
x
y
0
1
Figure8: Howto makeabundlefromatree
Thethreedierentbundlesresultin thethreedierentactions:
!L
123 ((!L
12 !?r
1 [L
12 !?w
1 )[L
12 !?b
1 )
!L
123 ((L
12 !?r
1 [ !L
12 !?w
1 )[L
12 !?b
1 )
!L
123 ((L
12 !?r
1 [L
12 !?w
1 )[ !L
12 !?b
1 )
With the simplications mentioned before, and deleting some superuous
brackets,becausenondeterministicchoiceisassociative,weget:
L
123 (!L
12 ?r
1 [L
12 ?w
1 [L
12 ?b
1 )
L
123 (L
12 ?r
1 [ !L
12 ?w
1 [L
12 ?b
1 )
L
123 (L
12 ?r
1 [L
12 ?w
1 [ !L
12 ?b
123 12 1 12 1 12 1
`player1shows(only)player2theredcard'. Theexclamationmark`!' infront
ofthesubprogramL
12 ?r
1
means: fromthethree available alternatives,agents
1and 2chooseL
12 ?r
1
. Thischoice islocal,i.e. knownto 1and 2only. Player
3doesn't know which of the three alternativeshas been chosen, although he
knowswhattochoosefrom.
Example3
`Player2asksplayer1forthewhitecard;player1saysthat hedoesn'thaveit;
player2endshis move.' Thetypeofthisactionis L
123 ?:w
1 ;L
123 ?:win
2 . The
labeledstructureof thisactiontypecontainsnovariables. The onlybundle in
itsstructuraltreeisthetreeitself. Thereforetheonlyactioncorrespondingto
itis theaction typeitself. Note that the bundle, unlikethose in the previous
examples,isnotabranch.
Example4
Theactionis`player1whispersin2'searthathedoesn'thavethewhitecard'.
Itstypeis`player1whispersin2'searacardthathe(1)doesn'thave',formally:
L
123 (L
12 ?:r
1 [L
12 ?:w
1 [L
12 ?:b
1
). It will nowbe clearthat theKA action
describingexample4is:
L
123 (L
12 ?:r
1 [ !L
12 ?:w
1 [L
12 ?:b
1 )
Choosingbetween tests
We end by explaining the remark after denition 12, on the meaningless of
choosing betweentests. Considertheactiontype=L
123 (?r
1 [?w
1
). Observe
thatls()=(x(();())). Thestructuraltreethereforecontainstwodierent
bun-dles,I =(0(();())), andJ =(1(();())). E.g.!
I
istheactionwhereeverybody
in gr()ngr(?r
1
) cannot distinguish between the tests ?r
1
and ?w
1
, whereas
everybodyin gr(?r
1
)learnsthat?r
1
hasreallybeenexecuted. Computing the
groups: everybody learnsthat ?r
1 [?w
1
whereasnobodylearnsthat ?r
1
.
There-fore(asinthepreviousexample,butforadierentreason): !
I
=. Ofcourse,
similarly!
J
=. Indeed,althoughitcontainsa[operator,theactiontype
isdeterministic,andthetwodierentbundlesI andJ denethesameaction.
In simplied notation, we can always delete `!' in front of tests, because
`localchoice'betweentwotestscorrespondsto`nobody'learningwhichofthose
testsischosen.
4.2 Local interpretation of knowledge actions
The local interpretation of aknowledge action is afunctional relation [[]]
be-tween knowledge states. Again, we overload the [[ ]] notation, to include the
interpretationofactions. Tointerpretaknowledgeaction= !
I
ona
Botharetrulyselections,as[M[[]]]cancontainmorethanonemodel, andM
cancontainmorethan one-imageof w. WhatM 0
andw 0
are, isdetermined
bythebundleI. Theworldw 0
is the!
I
image ofw, tobedenedbelowasa
relation7!
!
I
, and M 0
is simply themodelthat containsw 0
. (M 0
;w 0
)is then
therequiredknowledgestate.
Denition13 (Localinterpretation ofknowledge actions)
Let(M;w)=(hW;(
a )
a2A
;Vi;w)beaknowledgestate. Let beanAaction
type. LetI beabundlein ls().
13:a:1 (M;w)[[!
I ]](M
0
;w 0
) i M[[]]M 0
andw7!
!I w
0
13:b 8M;M
0
:M[[]]M 0
;8w2M;8w 0
2M 0
:
13:b:1 w7!
!
() ?'
w 0
i w=w 0
13:b:2 w7!
! (I) L B w 0 i 9M 00
2[M[[]]]:9w 00 2M 00 : w 0 =(M 00 ;w 00
)andw7!
!I w
00
13:b:3 w7!
! (I;J) ( ; 0 ) w 0 i 9M 00
:M[[]]M 00 [[ 0 ]]M 0 ;9w 00 2M 00 : w7! !I w 00 7! !J 0 w 0
13:b:4 w7!
! 0(I;J) ([ 0 ) w 0
i w7!
!I w
0
13:b:5 w7!
! 1(I;J) ([ 0 ) w 0
i w7!
!J 0
w 0
Becausethelocalinterpretationofanactionisfunctionaloneveryknowledge
state,insteadof(M;w)[[!
I ]](M
0
;w 0
)wewrite (M 0
;w 0
)=(M;w)[[!
I
]]. Wesay
that (M;w)[[!
I
]] is the interpretation of !
I
in (M;w). As before, we might
even write (M[[!
I ]];w[[!
I
]]). However, only the type of an action determines
thestructuralchangesinthemodel. Therefore,if ismodelfunctional,instead
of(M[[!
I ]];w[[!
I
]])wewillwrite (M[[]];w[[!
I
]]). Of course,w[[!
I
]]isprecisely
the7!
!I
-imageofw.
We have chosen the 7! symbol for its functional connotation. Note that
w!
w
0
,asindenition6:c,relateswtooneofits-images,whereasw7!
!
I
w 0
relateswtoitsunique!
I
-image.
Warning: although thesemantics ofknowledgeactionsis compositional,it
appears to be not compositional when we use the notationalequivalent from
denition 12. Foran example, theinterpretation of !L
12 ?r 1 in L 123 (!L 12 ?r 1 [ L 12 ?b 1
)isnotafunction oftheinterpretationof`!',whateverthatmightmean,
andL
12 ?r
1
. Inthenextsubsectionwegiveanexampleofhowtoapplydenition
13.
Thedenitionsof`executable',`equivalence',and`publicinterpretation'are
extendedtoinclude actions. Seedenitions7,8,and9:
Aknowledgeaction!
I
isexecutableinaknowledgestate(M;w),ifthelocal
interpretationof!
I
in(M;w)isnottheemptyrelation.
TwoKAactions!
I and!
J
0
areequivalent,notation!
I =!
J
0
,iftheyhave
the sameinterpretation: i.e. if [[!
I ]] =[[!
J
0
]]. We even have: Two KT[KA
programs and 0
areequivalent,if[[]]=[[ 0
]].
Toillustratethesemanticsofactionswecomputethe(public)interpretationof
knowledgeactionL
123 (!L 12 ?r 1 [L 12 ?w 1 [L 12 ?b 1
)in (hexa;rwb).
(hexa;rwb)[[L
123 (!L 12 ?r 1 [L 12 ?w 1 [L 12 ?b 1 )]](M 0 ;w 0 )
, denition 13:a:1
hexa[[L 123 (L 12 ?r 1 [L 12 ?w 1 [L 12 ?b 1 )]]M 0 and rwb7! L123(!L12?r1[L12?w1[L12?b1) w 0
ThemodelM 0
=hexa[[L
123 (L 12 ?r 1 [L 12 ?w 1 [L 12 ?b 1
) ]] iscomputed in
ex-ample2(seegure3). Theimage ofrwb inthat model iscomputedasfollows
(betterreadthecomputationbottom-up):
rwb7!
L123(!L12?r1[L12?w1[L12?b1)
(hexa [[L
12 ?r
1
]];(hexa[[?r
1 ]];rwb))
, denition13:b:2
rwb7!
!L12?r1[L12?w1[L12?b1
(hexa[[?r
1 ]];rwb)
, denition13:b:4; twice
rwb7!
L12?r1
(hexa[[?r
1 ]];rwb)
, denition13:b:2
rwb7!
?r1 rwb
, denition13:b:1
rwb=rwb
If we write unions instead of direct sums fordomains, we simply getrwb,
instead of (hexa[[L
12 ?r
1
]];(hexa [[?r
1
]];rwb)), as the required image of rwb in
hexa[[L 123 (!L 12 ?r 1 [L 12 ?w 1 [L 12 ?b 1
)]]. Seealsogure9,tobecomparedwith
gure3. brw wrb rwb rbw bwr wbr 1 1 1 2 2 2 3 3 3 brw wrb rwb rbw bwr wbr 1 1 1 3 3 3 L 123 (!L 12 ?r 1 [L 12 ?w 1 [L 12 ?b 1 )
Figure9:InterpretingactionL
123 (!L 12 ?r 1 [L 12 ?w 1 [L 12 ?b 1
)instate(hexa;rwb)
4.4 Action properties