<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Knowledge about lights along a line</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">François</forename><surname>Schwarzentruber</surname></persName>
						</author>
						<title level="a" type="main">Knowledge about lights along a line</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">2C58701355B7DCA7EC9C97FC792928DC</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-25T05:47+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<textClass>
				<keywords>
					<term>Multi-agent system</term>
					<term>Epistemic logic</term>
					<term>Spatial reasoning</term>
					<term>Public announcements</term>
					<term>Pedagogical tool</term>
					<term>Complexity theory</term>
					<term>Polynomial hierarchy</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>In this article, we are going to talk about spatial situations. Every agent (human, camera etc.) and every proposition (lamp, object, etc.) are located in the space (here a line) and we express properties over a situation using standard epistemic logic language possibly extended with public announcements. We study links between validities of this geometrical version of epistemic logic and the standard one. We also investigate complexities of model checking and satisfiability.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>I. INTRODUCTION</head><p>Many authors in logic and in Artificial Intelligence <ref type="bibr" target="#b4">[5]</ref> developed epistemic logic and studied mathematical properties of it. Epistemic logic is theoretical and may be difficult to explain to students. This is the reason why in this article we are going to study a concrete example of multi-agent system. Let us take a line. We are going to put lamps and agents on this line as shown in the Figure <ref type="figure">1</ref>. Now the question is "what do agents know about lamps and knowledge of other agents about lamps"? This system has been implemented as a pedagogical tool in order to illustrate any epistemic logic course. Indeed, students can easily understand some epistemic logic on concrete examples:</p><p>• Agent a sees the lamp p on, so he knows p; a • Agent a and agent b are looking at each other and there is the lamp p between them, so there is common knowledge that p is true. This kind of situations have already been considered in <ref type="bibr" target="#b7">[8]</ref>. a</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>☼ p b</head><p>This approach can be compared to the approach in <ref type="bibr" target="#b1">[2]</ref> for first order logic. In <ref type="bibr" target="#b1">[2]</ref>, you put objects like cube, pyramids and you can then write formulas in first order logic to check properties over those objects. Here the approach is similar: you put agents and lamps and then you can write formulas in epistemic logic to check whether properties over those agents and lamps are true.</p><p>Generally speaking many examples of epistemic situation mix time and space. The link between time and knowledge (perfect recall etc.) has been studied and you can find a survey in <ref type="bibr" target="#b2">[3]</ref>. There exists also some work linking space and knowledge like in <ref type="bibr" target="#b9">[10]</ref>: they provide a logic with a spatial modal operator dealing with topology and an epistemic modal operator. Here, our approach is different: we want to deal with a spatially grounded epistemic logic. We are not going to provide operators in the language to deal with space but only provide an epistemic operator for each agent in the language. The semantics will then directly rely on the geometrical properties of a line. We would like to describe a situation but directly by the graphical and natural representation of the system and not with a Kripke structure. We can formalize well known toy examples as Russian cards <ref type="bibr" target="#b12">[13]</ref>, Muddy children ( <ref type="bibr" target="#b3">[4]</ref>, <ref type="bibr" target="#b10">[11]</ref>, <ref type="bibr" target="#b2">[3]</ref>) or the prisoner's test. For instance:</p><p>• The Muddy children. The spatial configuration is the following: two children are looking at each other. One knows the other's forehead is dirty. But one does not know he is dirty.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>☼</head><p>a's forehead_dirty a b ☼ b's forehead_dirty</p><p>• The prisoner's test. There are three prisoners on a line. Each prisoner must guess the color of his head.</p><p>☼ pr 1 's head pr 1 pr 2 's head pr 2 ☼ pr 3 's head pr 3 Another motivation would be video surveillance. Propositions are objects we have to take care of. Agents are camera. We then can specify the video surveillance with epistemic logic formulas. Another possible application may be robots' space and knowledge reasoning because robots evolve in our spatial world. A last application could be video games. In many role playing games or strategy games, players or non-playing characters can have knowledge about the virtual world. The behaviours of a non-playing character can then be described by the game designer using a knowledge based programming language. For instance, the designer can specify that the guardian of the castle gets crazy if he knows that the door of the castle is open. A preliminary work about formalizing the video game Thief has been done in <ref type="bibr" target="#b6">[7]</ref>.</p><p>A piece of software is available on the Web Site http://www. irit.fr/~Francois.Schwarzentruber/agentsandlamps/. It provides a model-checker: you specify the graphical situation and a formula written using epistemic modal operators and/or public announcements operators. In this article:</p><p>• We are going to present the semantics of the geometric version of epistemic logic in section II; • We are going to deal with the model checking and satisfiability problems' complexities in section III; • In section IV, we will add public announcements to our language to model examples like Muddy children; • In section V, we are going to present the current implementation.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>II. SEMANTICS</head><p>We are going to define a new logic based on the same language than the epistemic logic S5 n <ref type="bibr" target="#b4">[5]</ref>. S5 n is the logic of frames where relations are equivalence relations. Here we are defining a logic where the semantics is based on a geometric point of view.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>A. Language</head><p>Our logic is based on the same language as S5 n 's one. Let us recall the language of the epistemic logic S5 n <ref type="bibr" target="#b4">[5]</ref>.</p><p>Definition 1 (language): Let ATM be a countable set of atomic propositions. Let AGT be a countable set of agents. The language L AGT is defined by the following BNF:</p><formula xml:id="formula_0">ϕ ::= | p | ϕ ∧ ϕ | ¬ϕ | K a ψ</formula><p>where p ∈ ATM and a ∈ AGT. As usual, ϕ ∨ ψ = def ¬(¬ϕ ∧ ¬ψ). Ka ψ = def ¬K a ¬ψ. Notice that we can only deal with knowledge (operator K a ) and states of lamps (proposition p is true means that the lamp called p is on) in the language. One may expect to deal also with position of lamps, position of agents or maybe spatial topologic operator like in <ref type="bibr" target="#b9">[10]</ref> etc. This may be very interesting, especially in all applications cited in the introduction. For instance, we can not express a sentence like "the guardian knows that the beetle is near the old man." but we can say "The guardian knows that the beetle knows the old man's hat is red." (K guardian K beetle old_man_red) Here we have preferred to keep the language of classical epistemic logic for two reasons:</p><p>• a pedagogical tool for understanding epistemic logic should be simple and should have a simple syntax; • to focus on complexity results with the simple expressivity as S5 n .</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>B. Definitions</head><p>The semantics is not defined with a class of models but directly from what a concrete situation is. From this, we will obtain a spatially grounded epistemic logic. A world is situation where all agents have a location (position and direction where they look), all lamps (atomic propositions) have a location and a state (on or off). Formally:</p><p>Definition 2 (world): A world w is a tuple p AGT , d AGT , p ATM , π where:</p><formula xml:id="formula_1">• p AGT : AGT → R; • d AGT : AGT → {−1, +1}; • p ATM : ATM → R; 1 ☼ p 1 2 p 2 3 ☼ p 3 Fig. 1. Example of a world • π : ATM → {⊥, }.</formula><p>The set of all worlds is noted W .</p><p>In a world p AGT , d AGT , p ATM , π , p AGT (a) denotes the position of agent a. d AGT (a) denotes the direction where the agent a looks: if d AGT (a) = +1, the agent a will look on the right and if d AGT (a) = −1, he will look on the left. p ATM (p) denotes the position of the lamp saying whether p is true or not. π(p) = iff the lamp "p" is on. π(p) = ⊥ means that the lamp "p" is off.</p><p>We have defined a world in the more close to the reality manner: that is to say using the real numbers. We could also consider locations of agents and lamps as a total preorder over ATM ∪ AGT. Considering a total preorder is discussed at the end of this section and total preorder is used in Section III.</p><p>Here we prefer to use the Definition 8 whose advantage is that it can be easily generalized to dimension n ≥ 2: you just have to replace R by R n and to adapt the notion of direction. In dimension 2 or more, total preorders can no longer be used.</p><p>We can also discuss the Definition 8 by the way propositions are treated. Here, a proposition p is associated to a point p ATM (p). This seems to be the simple way to define the semantics. But be aware that in some cases this is a limitation:</p><p>• Maybe a proposition p can be associated to a set of points.</p><p>For instance, if you are at home, you can know it rains either by looking towards the window of the left L or the window of the right R. Hence, here the proposition rain may be associated to the set of points {L, R}; • Maybe you want that a lamp is associated not to a proposition but more generally to a formula. For instance, when you know that the alarm system located on point P is on, you in fact know that either there is an oil problem or overheating. Hence, here the point is associated to the formula oil_problem ∨ overheating. Here we stay with the simple definition for two reasons:</p><p>• it is easier for a pedagogical tool to have a simple and clear semantics; • it is easier for us to begin study a simple case.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Definition 3 (cone):</head><p>Let us consider a world w = p AGT , d AGT , p ATM , π . We note cone(a) the set {p AGT (a</p><formula xml:id="formula_2">) + λ.d AGT (a) | λ ∈ R + }.</formula><p>cone(a) denotes all the set of points the agent a sees.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Example 1:</head><p>The Figure <ref type="figure">1</ref> gives us an example of a world w. We have:</p><formula xml:id="formula_3">• p AGT (1) = 0; p AGT (2) = 2; p AGT (3) = 4; • d AGT (1) = +1; d AGT (2) = −1; d AGT (3) = −1; • p ATM (p 1 ) = 1; p ATM (p 2 ) = 3; p ATM (p 3 ) = 5; • π(p 1 ) = ; π(p 2 ) = ⊥; π(p 3 ) = ; • cone(1) = [0, +∞[; • cone(2) =] − ∞, 2]; • cone(3) =] − ∞, 4].</formula><p>Now we are going to define the epistemic relation over worlds. wR a u means that agent a can not distinguish w from u. In other words, wR a u iff agent a sees the same things in w and u. Formally: Definition 4 (epistemic relation): Let a ∈ AGT. We define the relation R a over worlds: p AGT , d AGT , p ATM , π R a p AGT , d AGT , p ATM , π iff for all b ∈ AGT, for all p ∈ ATM ,</p><formula xml:id="formula_4">• if p AGT (b) ∈ cone(a) then p AGT (b) = p AGT (b) and d AGT (b) = d AGT (b); • if p AGT (b) ∈ cone(a) then p AGT (b) ∈ cone(a); • if p ATM (p) ∈ cone(a) then p ATM (p) = p ATM (p) and π(p) = π (p) • if p ATM (p) ∈ cone(a) then p ATM (p) ∈ cone(a).</formula><p>Briefly, suppose that wR a u. If agent a see the agent b in the world w, then he will also see agent b in world u and agent b will have the same location (position and direction). If agent a does not see agent b in the world w, then he also does not see agent b in u. If agent a see the lamp p in the world w, then he will also see the lamp p in world u. The lamp will have the same position and state both in w and u. If agent a does not see the lamp p in w, then he will also not see the lamp p in u.</p><p>Until now, we have finally defined a model M = W, (R a ) a∈AGT , ν where ν maps each world w ∈ W to π w . From now, the truth conditions is standard:</p><p>Definition 5 (truth conditions): Let w ∈ W . We define w |= ϕ by induction:</p><formula xml:id="formula_5">• w |= ; • w |= p iff π(p) = • w |= ϕ ∧ ψ iff w |= ϕ and w |= ψ; • w |= ¬ϕ iff w |= ϕ; • w |= K a ψ iff</formula><p>for all w , wR a w implies w |= ψ.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>C. Comparison with epistemic logic</head><p>Now we are going to compare the epistemic logic S5 n and the set of validities we obtain with the truth conditions of Definition 12. First we give the definition of validities.</p><p>Definition 6 (set of validities): We denote the set of all validities by L ☼ 1D , that is to say,</p><formula xml:id="formula_6">L ☼ 1D = {ϕ ∈ L AGT | ∀w ∈ W, w |= ϕ}.</formula><p>In "L ☼ 1D ", "1D" stands for "one dimension" (a line). Now, we can see that our set L ☼ 1D contains all validities of S5 n .</p><p>Proposition 1:</p><formula xml:id="formula_7">S5 n ⊆ L ☼ 1D .</formula><p>Proof: We prove that for all a ∈ AGT, the relation R a is an equivalence relation. Hence, the model M is a model of the logic S5 n and satisfies validities of S5 n . We have to prove reflexivity, symmetry and transitivity. Let us just begin to prove transitivity. Suppose we have:  The semantics of K a p in L ☼ 1D corresponds to the fact that the agent a sees the light p and the light p is on. More generally, K a ψ means that the agent a has the proof that ψ.</p><formula xml:id="formula_8">p AGT , d AGT , p ATM , π R a p AGT , d AGT , p ATM , π and p AGT , d AGT , p ATM , π R a p AGT , d AGT , p ATM , π . Let us prove that p AGT , d AGT , p ATM , π R a p AGT , d AGT , p ATM , π .</formula><p>That is why we have those validities in L ☼ 1D : Proposition 2: Let p, q ∈ ATM .</p><formula xml:id="formula_9">|= L ☼ 1D K 1 (p ∨ q) → K 1 p ∨ K 1 q. |= L ☼ 1D K 1 (¬p ∨ ¬q) → K 1 ¬p ∨ K 1 ¬q. If p = q, |= L ☼ 1D K 1 (p ∨ ¬q) → K 1 p ∨ K 1 ¬q Proof: Let us prove |= L ☼ 1D K 1 (p ∨ q) → K 1 p ∨ K 1 q. Let w = p AGT , d AGT , p ATM , π be a world such that w |= K 1 (p ∨ q).</formula><p>We are going to prove that either w |= K 1 p or w |= K 1 q. We have p ATM (p) ∈ cone(1) or p ATM (q) ∈ cone <ref type="bibr" target="#b0">(1)</ref>. Indeed, if we suppose the contrary, that is to say p ATM (p) ∈ cone(1) and p ATM (q) ∈ cone(1), there exists a world u = p AGT , d AGT , p ATM , π such that π (p) = ⊥ and π (q) = ⊥ and wR 1 u. Hence, w |= K 1 (p ∨ q). Contradiction. So p ATM (p) ∈ cone(1) or p ATM (q) ∈ cone(1). For instance, p ATM (p) ∈ cone <ref type="bibr" target="#b0">(1)</ref>. And for all u ∈ R 1 (w), π u (p) = . So w |= K 1 p. The other cases are treated in the same manner.</p><p>Informally, K 1 (p ∨ q) means that agent 1 has a proof that p ∨ q. In other words, either he sees p on, or he sees q on. Hence, either</p><formula xml:id="formula_10">K 1 p or K 1 q. Nevertheless, K 1 (ϕ∨ψ) → K 1 ϕ∨ K 1 ψ is not valid in L ☼ 1D .</formula><p>Notice that there are crucial differences between S5 n and L ☼ 1D :</p><p>• S5 n is defined as the logic of a class of frames and has the property of uniform substitution. Now, here is a Proposition showing that we can have common knowledge only when</p><formula xml:id="formula_11">K 1 K 2 p ∧ K 2 K 1 p.</formula><p>Proposition 3: We have:</p><formula xml:id="formula_12">|= L ☼ 1D K 1 K 2 p ∧ K 2 K 1 p → K 1 K 2 K 1 . . . K 2 . . . p where "K 1 K 2 K 1 . . . K 2 . . . " denotes any finite sequence of K 1 and K 2 .</formula><p>Proof: Let w = p AGT , d AGT , p ATM , π be world such that w |= K 1 K 2 p ∧ K 2 K 1 p. We want to prove that w |= K 1 K 2 K 1 . . . K 2 . . . p. We are going to prove that:</p><p>• p AGT (2) ∈ cone(1); </p><formula xml:id="formula_13">(p) = ⊥. So w |= K 2 p. Hence w |= K 1 K 2 p. Contradiction.</formula><p>Same proof for p AGT (1) ∈ cone(2). Now we can prove by induction on n that for n ∈ N, for all u ∈ (R 1 • R 2 ) n (w), we have:</p><formula xml:id="formula_14">• p AGT (2) ∈ cone(1); • p AGT (1) ∈ cone(2); • p ATM (p) ∈ cone(1); • p ATM (p) ∈ cone(2). • π(p) = . Hence w |= K 1 K 2 K 1 . . . K 2 . . . p. The validity K 1 K 2 p ∧ K 2 K 1 p → K 1 K 2 K 1 . . . K 2 . . . p expresses that if K 1 K 2 p ∧ K 2 K 1 p</formula><p>then the state of the lamp p is the topic of a mutual social perception, studied in <ref type="bibr" target="#b7">[8]</ref>.</p><formula xml:id="formula_15">Corollary 1: If n ≥ 2 or card(ATM ) ≥ 2, S5 n L ☼ 1D . Proof: The formula K 1 (p∨q) → K 1 p∨K 1 q and K 1 K 2 p∧ K 2 K 1 p → K 1 K 2 K 1 p are in L ☼ 1D but are not valid in S5 n .</formula><p>More surprising is the fact that common knowledge is not guaranteed by</p><formula xml:id="formula_16">K 1 K 2 ϕ ∧ K 2 K 1 ϕ for all ϕ. More precisely, K 1 K 2 ϕ ∧ K 2 K 1 ϕ → K 1 K 2 K 1 ϕ is not L ☼ 1D -valid for all ϕ.</formula><p>Look at the model of the Figure <ref type="figure" target="#fig_3">2</ref>: agent 1 = agent in blue. agent 2 = agent in red. Consider the world on the bottom on the right. Let us call it w. We have</p><formula xml:id="formula_17">w |= K 1 K 2 ¬K 2 p ∧ K 2 K 1 ¬K 2 p. But, we have w |= K 1 K 2 K 1 ¬K 2 p. Indeed there exists w such that wR 1 • R 2 • R 1 w such that w |= K 2 p.</formula><p>Nevertheless, there are other formulas where it remains true. For instance, we have</p><formula xml:id="formula_18">|= L ☼ 1D K 1 K 2 K 3 p ∧ K 2 K 1 K 3 p → K 1 K 2 K 1 . . . K 2 . . . K 3 p. Question 1: What about K 1 K 2 ϕ ∧ K 2 K 1 ϕ → K 1 K 2 K 1 ϕ if ϕ do not contain agent 1 or 2? Do we have a characterisation or exhibit an interesting set of formulas ϕ such that K 1 K 2 ϕ ∧ K 2 K 1 ϕ → K 1 K 2 K 1 ϕ holds?</formula></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>D. A compact representation</head><p>Last but not the least, you can remark that if we want to deal with model-checking, satisfiability problem and other algorithmic problems, we need a compact representation that an algorithm can manipulate. Worlds are difficult to manipulate: in particular, it is unadapted that R a (w) is infinite given a agent a and a world w. According to the Definition 8, the set W is infinite. Nevertheless, the semantics do not depend on positions of lamps and agents but only on how define the notion of description of a world w: it is simply a total preorder over all propositions and agents appearing in a formula, plus d AGT and π. Notice that we can do this because the space is a line. If our space were R n (n ≥ 2), the notion of total preorder would unfortunately not be suited anymore.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Definition 7 (description of a world):</head><p>A description of a world w is a tuple &lt;, d AGT , π where:</p><formula xml:id="formula_19">• ≤ is a total preorder over AGT ∪ ATM ; • d AGT : AGT → {−1, +1}; • π : ATM → {⊥, }.</formula><p>We can also define the epistemic relation between two description of a world w:</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Definition 8 (epistemic relation):</head><p>Let a ∈ AGT. We define the epistemic relation R a on the set of descriptions of worlds by wR a v iff:</p><formula xml:id="formula_20">• if d AGT (a) = +1, -for all x ∈ AGT ∪ ATM , (x ≤ w a iff x ≤ v a); -for all x, y ∈ AGT ∪ ATM such that a ≤ w x and a ≤ w y, we have (x ≤ w y iff x ≤ v y); -for all x ∈ AGT, a ≤ w x implies d AGTw (x) = d AGTv (y); -for all x ∈ ATM , a ≤ w x implies π w (x) = π v (y). • if d AGT (a) = −1,</formula><p>-for all x ∈ AGT ∪ ATM , (x ≥ w a iff x ≥ v a); -for all x, y ∈ AGT ∪ ATM such that a ≥ w x and a ≥ w y, we have (x ≥ w y iff x ≥ v y); -for all x ∈ AGT, a ≥ w x implies d AGTw (x) = d AGTv (y); -for all x ∈ ATM , a ≥ w x implies π w (x) = π v (y).</p><p>In the same way, we can define an epistemic model. We can define truth conditions of a formula ϕ in L AGT over the set of descriptions of worlds, using the epistemic relation. We can prove that we obtain the same validities.</p><p>Definition 9 (extracting description of world from a world):</p><p>Given a world w, we define the description of world d(w) by:</p><p>• for all x, y ∈ AGT ∪ ATM , x ≤ d(w) y iff p(x) ≤ R p(y) where p(x) stands for</p><formula xml:id="formula_21">p AGT (x) if x ∈ AGT or p ATM (x) if x ∈ ATM ; • d AGTw = d AGTd(w) ; • π w = π v . Proposition 4: For all w ∈ W , for all ϕ ∈ L AGT , w |= ϕ iff d(w) |= ϕ.</formula><p>Proof: By induction on ϕ. In the case of one dimension, we simply rewrite mapping from ATM or AGT to real numbers into a total preorder over ATM ∪ AGT. In the case of two or more dimensions, it is an open problem how to represent a world in a compact way.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>III. MODEL-CHECKING AND SATISFIABILITY PROBLEM</head><p>For definitions for complexity class and for more details about the problem QSAT (quantified boolean formulas satisfiability problem), the reader may refer to <ref type="bibr" target="#b8">[9]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>A. Definitions</head><p>Now we are going to recall the classical problem of modelchecking and satisfiability. The problem of model-checking consists on testing if a given formula ϕ is true in a given world w. Satisfiability problem consists to test if there exists a world w in which a given formula ϕ is true.</p><p>Definition 10 (model-checking of L ☼ 1D AGT,ATM ): Let AGT be a set of agents and ATM a set of atoms. We call model-checking of L ☼ 1D AGT,ATM problem the following problem:</p><p>• Input: a formula ϕ ∈ L AGT , a description of a world w where only atoms and agents occurring in ϕ are given; • Output: Yes iff we have w |= L ☼ 1D ϕ. No, otherwise. In the previous Definition, we give a description of a world w that is to say a total preorder over all agents and propositions occurring in ϕ where we say for each agent if he is look on the left or on the right and for each proposition if it is true or not. We do not care about propositions or agents not in the formula ϕ. The description of w is then finite. Definition 11 (L ☼ 1D AGT -satisfiability problem): Let AGT be a set of agents. We call L ☼ 1D AGT -satisfiability problem the following problem:</p><p>• Input: a formula ϕ ∈ L AGT ;  </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>B. PSPACE-ness upper-bound of the two problems</head><p>In this subsection, we are going to give PSPACE-ness upper-bound of the model checking problem and also of the satisfiability problem. As you will see, the proof are directly given with algorithms using a polynomial amount of memory (Figures <ref type="figure" target="#fig_5">3 and 4</ref>).</p><p>Proposition 5: Let AGT be any set of agents. The modelchecking of L ☼ 1D AGT problem is in PSPACE.</p><p>Proof: You can take a look at the recursive algorithm of Figure <ref type="figure" target="#fig_4">3</ref>. We have to prove three points: terminaison, correctness and PSPACE-ness.</p><p>1) First let us prove terminaison by induction on ϕ. Let T (ϕ) be the property "for every world w, the call check(w, ϕ) terminates".</p><p>• check(w, ) and check(w, p) terminates. So T ( ) and T (p); • Let us prove that check(w, K a ψ) terminates. By induction, T (ψ) so every call check(u, ψ) terminates. So the call check(w, K a ψ) terminates and T (K a ψ); • Other cases are treated in the same manner.</p><p>2) Secondly, we have to prove correctness. Correctness corresponds to the property C(ϕ) defined by "for all world w, w |= ϕ iff check(w, ϕ) = ". We also prove C(ϕ) for all formula ϕ by induction. 3) Finally, we prove that check only requires a polynomial amount of memory. Just be careful at the line "for u ∈ R a (w) do ": although R a (w) may be of size exponential we do not compute it. Here we only enumerate here elements of R a (w) one by one. This can be done using only a linear amount of memory. This part is technical but I will nevertheless give some details how to implement a enumeration of elements of R a (w).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>The block:</head><p>for u ∈ R a (w) do if check(u, ψ) = ⊥ then return ⊥; endIf endFor can be rewritten in a unreadable block using a linear amount of memory in (*):</p><formula xml:id="formula_22">u := f irst_permutation(w) while ¬is_last_permutation(u) do if u ∈ R a (w) if check(u, ψ) = ⊥ then return ⊥; endIf endIf u := next_permutation(u)</formula><p>; endWhile where:</p><p>• assuming we have an order &lt; over permutations of elements appearing in w, f irst_permutation(w) gives, using a linear amount of memory, the first permutation we can make with elements of w; For instance, if w = 0 ☼ p , f irst_permutation(w) can be 0 p ;</p><p>• next_permutation(u) is a function, using a linear amount of memory, giving the &lt;-successor of u; For instance, we may have:</p><formula xml:id="formula_23">-next_permutation( 0 p ) = 0 ☼ p ; -next_permutation( 0 ☼ p ) = 0 ☼ p ; -next_permutation( 0 ☼ p ) = p 0 etc.</formula><p>• is_last_permutation(u) = iff u has no &lt;successor. Now, we can prove by induction on ϕ the following property for all ϕ, P(ϕ) defined as "for all world w, the call check(w, ϕ) needs O(|ϕ| × |w|) memory cells".   Finally, P(ϕ) is true for all ϕ. In other words, the algorithm of Figure <ref type="figure" target="#fig_4">3</ref> only use a polynomial number of memory cells (we take in account (*) ).</p><formula xml:id="formula_24">☼ 1D AGT card(AGT) L ☼ 1D AGT − md L ☼ 1D AGT − sat 1 Σ 1 -hard, in Δ 2 -hard Σ 2 -complete n ∈ N, n ≥ 2 Σ n -hard, in ?? Σ n+1 -hard, in ?? ∞ PSPACE-complete PSPACE-complete card(AGT) S5 card(AGT) − sat 1 NP-complete n ≥ 2 PSPACE-complete ∞ PSPACE-complete Fig. 5.</formula><p>Proposition 6: Let AGT be any set of agents. The L ☼ 1D AGTsatisfiability problem is in PSPACE.</p><p>Proof: You can read the algorithm of Figure <ref type="figure" target="#fig_5">4</ref>. The algorithm consists in guessing non-deterministically a world w and then call the routine check of Figure <ref type="figure" target="#fig_4">3</ref> to check if ϕ is true in w. So, the problem is NPSPACE, hence from Savitch's theorem <ref type="bibr" target="#b11">[12]</ref>, it is PSPACE. Now we are going to investigate more in details complexities of the model checking and satisfiability problem depending on the size of AGT. The table of Figure <ref type="figure">5</ref> sums up all results we have. There is also the recall of complexity results about S5 n satisfiability problem as comparison.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>C. When AGT is infinite: PSPACE-complete</head><p>We recall the complexity result about QBF formulas satisfiability problem:</p><p>Theorem 1: The QSAT-problem defined as following:</p><formula xml:id="formula_25">• Input: a formula ϕ = ∃ p 1 ∀ p 2 ∃ p 3 ∀ p 4 . . . Q n p n ψ where:</formula><p>n is any integer; ψ is a boolean formula; -and</p><formula xml:id="formula_26">Q i = ∀ if i is even and Q i = ∃ if i is odd;</formula><p>p j is a finite set of variables for each j.</p><p>• Output: Yes iff |= QBF ϕ. No, otherwise. is PSPACE-complete. Now the following Proposition gives a translation of a QBF-instance into a L ☼ 1D -model-checking instance or a L ☼ 1Dsatisfiability problem instance.</p><p>Proposition 7: Let ϕ = ∃ p 1 ∀ p 2 ∃ p 3 ∀ p 4 . . . Q n p n ψ be a formula of the logic QBF. We define f (ϕ) by induction:</p><formula xml:id="formula_27">• f (ψ) = ψ; • f (∀ p i ...Q n p n ψ) = K i−1 (put i → f (∃ p i+1 ...Q n p n ψ); • f (∃ p i ...Q n p n ψ) = Ki−1 (put i ∧ f (∀ p i+1 ...Q n p n ψ);</formula><p>where:</p><formula xml:id="formula_28">• put a = i∈{a+1...2n} ¬K if a p i ∧ i∈{1...a} K if a p i ; • K if a p = q∈ p K if a q; • K if a q = K a q ∨ K a ¬q.</formula><p>We have equivalence between:</p><formula xml:id="formula_29">• |= QBF ϕ; • put 1 ∧ f (∀ p 2 ∃ p 3 ∀ p 4 . . . Q n p n ψ) is L ☼ 1D AGT -satisfiable; • and w |= L ☼ 1D f (ϕ)</formula><p>where w ∈ W 0 where W 0 is the set of all worlds where agent 0 is completely on the left looking to the left. (we note W 0 = " 0 . . . ").</p><p>Proof: We are going to note for all U ⊆ W , U |= ϕ iff for all u ∈ U , u |= ϕ. We are going to prove by induction</p><formula xml:id="formula_30">|= QBF ϕ iff W 0 |= L ☼ 1D f (ϕ).</formula><p>We are going to note for all i ∈ N, for all valuation ν[ p 1 , . . . p i ],</p><formula xml:id="formula_31">W i (ν[ p 1 , . . . p i ]) def " 0 ☼ ν(p 1 ) 1 ☼ ν( p 2 ) 2 . . . ☼ ν( p i ) i ... .</formula></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>The induction hypothesis is:</head><formula xml:id="formula_32">ν[ p 1 , . . . p i−1 ] |= QBF Q i p i . . . Q n p n ψ iff W i−1 ( p 1 , . . . p i−1 ) |= L ☼ 1D f (Q i p i . . . Q n p n ψ)</formula><p>.</p><p>The basis case correspond to i = n+1. It is the propositional case. We have:</p><formula xml:id="formula_33">ν[ p 1 , . . . p n ] |= QBF ψ iff W n ( p 1 , . . . p n ) |= L ☼ 1D ψ.</formula></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Now we can attack the induction case. Let us prove for</head><formula xml:id="formula_34">i odd. ν[ p 1 , . . . p i−1 ] |= QBF Q i p i . . . Q n p n ψ means that there exists a valuation ν(p i ) such that ν[ p 1 , . . . p i ] |= QBF Q i+1 p i+1 . . . Q n p n ψ. By induction, it means that W i ( p 1 , . . . p i ) |= L ☼ 1D f (Q i p i . . . Q n p n ψ).</formula><p>But for all w i−1 ∈ W i−1 ( p 1 , . . . p i−1 ) and for all w i ∈ W i ( p 1 , . . . p i ), we have:</p><formula xml:id="formula_35">• w i−1 R i−1 w i ; • w i |= put i .</formula><p>Indeed, for all j &gt; i, we have w |= ¬K if i p j because agent j does not see lamps p j in w i . On the contrary, for all j &lt; i, we have w |= K if i p j because agent i do see lamps p j in w i (the valuation of lamps p j is the same in all worlds u ∈ R i (w i )). The technical proof of w i |= put i is left to the reader.</p><formula xml:id="formula_36">As f (∃ p i . . . Q n p n ψ) = Ki−1 (put i ∧ f (∀ p i+1 . . . Q n p n ψ), we have: W i−1 ( p 1 , . . . p i−1 ) |= L ☼ 1D f (∃ p i . . . Q n p n ψ).</formula><p>We ensure that it is equivalent.</p><p>The case where i is even is similar.</p><p>Immediately from this translation, we deduce the lower bound for model-checking in L ☼ 1D .</p><p>Corollary 2: Let AGT an infinite enumerable set of agents. The model-checking problem of L ☼ 1D AGT is PSPACE-hard.</p><p>Proof: Reduction via Proposition 7 and Theorem 1 in order to the PSPACE-hardness and Proposition 6.</p><p>In the same way we have: Corollary 3: Let AGT an infinite enumerable set of agents. The satisfiability problem of L ☼ 1D AGT is PSPACE-hard.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>D. When AGT is finite</head><p>We recall the complexity result about QBF formulas satisfiability problem but when the nesting of ∀ and ∃ is bounded by a fixed integer n.</p><p>Theorem 2: Let n be a integer. The QSAT n -problem defined as following:</p><formula xml:id="formula_37">• Input: a formula ϕ = ∃ p 1 ∀ p 2 ∃ p 3 ∀ p 4 . . . Q n p n ψ</formula><p>where ψ is a boolean formula, and</p><formula xml:id="formula_38">Q i = ∀ if i is even and Q i = ∃ if i is odd; • Output: Yes iff |= QBF ϕ. No, otherwise. is Σ n -complete.</formula><p>The Theorem 2 only differ from Theorem 1 by the fact that n is no more a input of the problem but is now fixed inside the problem. For each integer n, we have defined the QSAT nproblem. There is a enumerable number of problems.</p><p>In the same way, this precise complexity result of QBF combined with the translation of QBF to L ☼ 1D allows us to have complexity lower bounds of model-checking and satisfiability problem when the cardinality of the set AGT is finite and fixed.</p><p>Corollary 4: Let AGT a finite set of agents. The modelchecking problem of L ☼ 1D AGT is Σ card(AGT) P-hard.</p><p>Proof: Reduction via Proposition 7 and Theorem 2. Corollary 5: Let AGT a finite set of agents. The satisfiability problem of L ☼ 1D AGT is Σ card(AGT)+1 P-hard.</p><p>Proof: Reduction via Proposition 7 and Theorem 2.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>E. When card(AGT) = 1</head><p>Unfortunately we do not have a precise complexity upperbound for those problems in the general case when card(AGT) is finite. Nevertheless, we have the exact complexity when card(AGT) = 1.</p><p>Proposition 8: The model-checking problem of L ☼ 1D {1} is in Δ 2 P.</p><p>Proof: The figure <ref type="figure" target="#fig_6">6</ref> gives us an Δ 2 P-algorithm (a Palgorithm with NP-oracles) for the model-checking problem of L ☼ 1D {1} . Given a world w, first we compute the V of propositions occurring in ϕ that the agent 1 sees and I the set of propositions the agent 1 does not see. Then we can replace each occurrence p of a proposition p from V function check1(w, ϕ)</p><p>V := set of variables that agent 1 sees in w; I := set of variables that agent 1 does not see in w; ψ := ψ in which we replace each p ∈ V by π w (p); ψ := ψ in which we replace each p ∈ I not in the scope of a K 1 by π w (p); while there exists K 1 χ subformula of ψ, where χ is a boolean formula do if oracle − sat(¬χ) then ψ := ψ in which we replace K 1 χ by ⊥; else ψ := ψ in which we replace K 1 χ by ; endIf endWhile return P CL({⊥, }) − sat(ψ); endFunction in ϕ by the corresponding valuation π w (p). Concerning a proposition p ∈ I, we only replace occurrences which are not in the scope of a K 1 . For instance, if p ∈ I, q ∈ V , and</p><formula xml:id="formula_39">π w (p) = , π w (q) = ⊥ p ∧ q ∨ K 1 (p ∨ q) is replaced by ∧ ⊥ ∨ K 1 (p ∨ ⊥).</formula><p>Then we test satisfiability of boolean formulas ¬χ such that K 1 χ is a subformula of ψ and replace K 1 χ by ⊥ if ¬χ is satisfiable and by otherwise. At the end, we obtain a boolean formula ψ containing no variables. We test its satisfiability with P CL({⊥, }) − sat(ψ). Notice the while -loop is done in linear time because there are a linear number of subformulas in ψ.</p><p>Proposition 9: The satisfiability problem of L ☼ 1D {1} is Σ 2 P-complete.</p><p>Proof: The hardness comes from Corollary 5. The Figure <ref type="figure">7</ref> gives us an Σ 2 P-algorithm (a NP-algorithm with NP-oracles) for the satisfiability problem of L ☼ 1D {1} .</p><p>F. When AGT and ATM are both finite Proposition 10: Let ATM a finite set of agents and AGT = {1}. The satisfiability problem and model-checking of L ☼ 1D</p><p>{1} is in P. Proof: We adapt algorithms of the figure 6 and 7 in order to have an optimal polynomial algorithm. More precisely:</p><p>• You replace choose_world_with_symbols_in in Figure <ref type="figure">7</ref> by a loop over all worlds. You can notice that the set of all possible worlds is fixed, that is to say it does not depend on ϕ; • oracle − sat can now run in polynomial time because there is a fixed number of propositions. As done in <ref type="bibr" target="#b10">[11]</ref> we can extend our framework with public announcements. This is essentially motivated by modelling examples like Muddy children. With public announcements, an agent will be able to learn something about the part of the actual world which he can not see. The technique is classical: we add an operator [ϕ!] and we define semantics as in S5 n .</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>A. Definitions</head><p>Our new language L ! AGT is defined by the following BNF:</p><formula xml:id="formula_40">ϕ ::= p | ϕ ∧ ϕ | ¬ϕ | K a ψ | [ϕ!]ϕ</formula><p>where p ∈ ATM and a ∈ AGT.</p><p>From now, we do not only parameter |= with a world but also with the set of worlds.</p><p>Definition 12 (truth conditions): Let U a set of worlds (U ⊆ W ). Let w ∈ U . We define U, w |= ϕ by induction: </p><formula xml:id="formula_41">• U, w |= p iff π(p) = • U, w |= ϕ ∧ ψ iff U,</formula></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>B. Example</head><p>Now we are going to study the Muddy children example. This example is also studied in <ref type="bibr" target="#b10">[11]</ref>. You can also find this example in <ref type="bibr" target="#b3">[4]</ref> and <ref type="bibr" target="#b2">[3]</ref> with more than two children. The situation is the following: there are two children named 1 and 2. Their foreheads are dirty. They see each others. The situation is represented by the world w shown in Figure <ref type="figure" target="#fig_7">8</ref> in the top left. One child do not know if he is dirty or not but he knows the state of the forehead of the other one. We introduce two propositions: p stands for "1's forehead is dirty" and q stands for "1's forehead is dirty".</p><p>We have:</p><formula xml:id="formula_42">• W, w |= K 1 q ∧ K 2 p; • W, w |= ¬K 1 p ∧ ¬K 1 (¬p) ∧ ¬K 2 (¬q).</formula><p>Then:</p><p>• the father says at least one of them are dirty; • the children answer that they do not know whether they are dirty of not. Formally, we also have:</p><formula xml:id="formula_43">W, w |= [ϕ 1 !][ϕ 2 !](K 1 p ∧ K 2 q)</formula><p>where:</p><formula xml:id="formula_44">• ϕ 1 = p ∨ q; • ϕ 2 = (¬K 1 p ∨ ¬K 1 ¬p) ∧ (¬K 2 q ∨ ¬K 2 ¬q).</formula><p>We verify that after having announced ϕ 1 , we only consider worlds in Figure <ref type="figure">9</ref>. Then we only consider the initial world w drawn in 10.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>C. Complexity</head><p>Because L ☼ 1D ! is a conservative extension of L ☼ 1D , we inherit from the lower bound results both for model-checking and satisfiability. In fact, we keep the PSPACE-ness upperbound with public announcements.</p><p>Proposition 11: The model-checking and satisfiability problem in L ☼ 1D ! is PSPACE-complete.</p><p>Proof: The Figure <ref type="figure" target="#fig_10">11</ref> gives an algorithm for modelchecking. As usual, w is a world, ϕ is a formula. The second argument C is a list of formulas and stands for the context: if C = [] (empty list), it corresponds to the whole set of worlds otherwise it is a list of announced formulas used to update the model. More precisely, let us define:</p><formula xml:id="formula_45">• W [] = W ; • W [ψ 1 :C ] = {w ∈ W C | W C , w |= ψ 1 }. We want: • mc(w, C, ϕ) returns true iff W C , w |= ϕ; • inupdatedM (w, C) returns true iff w ∈ W C .</formula><p>We have to prove terminaison, correctness and complexity. Let us begin to prove terminaison. First of all, we are going to introduce an order ≺ over all possible inputs (C, ϕ) of the function mc! of Figure <ref type="figure" target="#fig_10">11</ref>.</p><p>We define (C, ϕ) ≺ (D, ψ) by:  More precisely:</p><p>-</p><formula xml:id="formula_46">|[]| = 0; -|[ψ 1 : C ]| = |ψ 1 | + |C |.</formula><p>The order ≺ is well-founded and we can use it to prove terminaison by induction.</p><p>• Basic case: (∅, p) etc.</p><p>• Induction case: you just have to see that mc!(w, C, ϕ) will only call mc!(u, D, ψ) with (D, ψ) ≺ (C, ϕ). For instance, when mc!(w, C, ϕ) calls inupdatedM (u, C) which calls mc!(w, C , ψ), we have</p><formula xml:id="formula_47">|C | + |ψ| = |C| &lt; |C| + |ϕ|.</formula><p>Correction and the fact that the algorithm runs using a polynomial space can also be proved by induction using the order ≺.</p><p>The hardness comes from the fact that L ☼ 1D ! is a conservative extension of L ☼ 1D and the model checking of L ☼ 1D is PSPACE-hard (Corollary 2).</p><p>Concerning the satisfiability, we can make the same remark than in the proof of Proposition 6.</p><p>The upper-bound in special cases (AGT finite etc.) has not been studied yet.</p><p>From now, we are to discuss about the implementation and develop the example of the Muddy children. V. IMPLEMENTATION You can find an implementation on the Web site. You can put positions and directions of agents and positions and states of lamps on your own. Then you can write down a formula and check if your formula is true in the world you have drawn.</p><p>This program offers a concrete example to illustrate epistemic logic to students.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>A. Description</head><p>The program is written in Scheme for the easy use of data structures and recursive programming. Haskell could also be a well-suited language especially for the lazy evaluation enabling us to write a program which seems to use a exponential amount of memory whereas it uses only a polynomial amount of memory. Here are the main Scheme functions:</p><p>• (mc world formula) computes if the formula formula is true in the world world; • (mc-with-context world context formula) computes of the formula formula is true in the world world but we restrict our check computations only on worlds satisfying the formula context; • (worldset-delete-not-satisfying worldset formula) removes from the set of world worldset all worlds which does not satisfy the formula formula. This function is used to deal with updated models; • (world-getpossibleworlds world agent) computes the set of all possible worlds for agent agent in world world. In order to be human readable, the implementation does not run in polynomial space but in exponential time. For instance the function (world-getpossibleworlds w a) computes really all worlds in R a (w).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>B. Practising Muddy children</head><p>You can describe the current situation (world w on the top left in Figure <ref type="figure" target="#fig_7">8</ref> by ( (p #t) (1 &lt;) (2 &gt;) (q #t)). Notice that we are not going to construct the Kripke structure by hand. When you draw a Kripke model, you can easily mistakes all the more so the model is theoretical. Here we just enjoy specifying graphically the situation. The Kripke structure is then generated on-the-fly by the algorithm. You can test if W, w |= K 1 p ∧ K 2 q by calling (mc '( (p #t) (1 &lt;) (2 &gt;) (q #t)) ((1 knows p) and (2 knows q))).</p><p>The function returns #f meaning that we do not have W, w |= K 1 p ∧ K 2 q.</p><p>We ask the computer the different worlds the agent 1 imagine. To do this we write (world-getpossibleworlds '( (p #t) (1 &lt;) (2 &gt;) (q #t)) 1).</p><p>The system gives: (((p #t) (1 &lt;) (2 &gt;) (q #t)) ((p #f) (1 &lt;) (2 &gt;) (q #t))).</p><p>We can now test if the formula W, w |= [ϕ 1 !][ϕ 2 !](K 1 p ∧ K 2 q). You simply write (mc '( (p #t) (1 &lt;) (2 &gt;) (q #t)) (announce (p or q) (announce ((not (1 knows p)) and (not (2 knows q))) ((1 knows p) and (2 knows q)))))</p><p>The system answers #t.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>VI. CONCLUSION</head><p>The epistemic logic S5 n is a general and theoretical framework for the representation of knowledge. In this paper, we have studied a spatially grounded epistemic logic. We have investigated two aspects of knowledge learning:</p><p>• With L ☼ 1D , we can reason about what agents know by learning only with their eyes (when they are located on a line space); • With L ☼ 1D ! we can reason about what agents know by looking at their environments and by listening to public announcements. Of course the case of the line is restrictive. The case of the plane or of the space may be more interesting. Nevertheless, this paper gives complexity results for model-checking and satisfiability problem for the case of the line. Even the line looks like easy, problems are already PSPACE-complete if the number of agents is not bounded. We conjecture that the complexity of this logic for dimension n ≥ 2 remains PSPACE-complete.</p><p>From now, there are two main perspectives: to adapt this logic to the case of two dimensions <ref type="bibr" target="#b0">[1]</ref> and to study properly complexity of model checking and satisfiability with/without public announcements. Other perspectives are numerous:</p><p>• fill the Figure <ref type="figure">5</ref>. The exact complexity classes of model checking and satisfiability L ☼ 1D AGT when AGT is finite are still open questions; • Study and implement the logic with agents and lamps in the plane <ref type="bibr" target="#b0">[1]</ref> and compare it to the logic in the line.</p><p>Writing down the semantics is quite easy: you just have to replace R by R 2 in Definition 8 and tune the definition of directions and Definition 3. The main difficulty is to find a compact representation in order to deal with the model checking and satisfiability problem. In two dimensions it is no more possible to consider a total preorder on elements. Finding a good equivalent of Definition 7 satisfying Proposition 4 in the case of dimension 2 or more is still an open problem.</p><p>• Study the logic in the 3D-space and compare it to the one in the plane (I guess we obtain the same validities);</p><p>• Find an axiomatization of those logics in order to understand better how they work; • Study if it is possible to have a normal form (like for S5, where all formulas are equivalent to a formula of modal degree 1 <ref type="bibr" target="#b5">[6]</ref>); • Extend with a common knowledge operator. Will the complexity of the satisfiability problem also increase and become EXPTIME-complete? • Extend with private communications between agents.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>•••</head><label></label><figDesc>Agent a does not see the lamp p, so he does not know whether p or ¬p; Agent a sees another agent b seeing the lamp p on, so agent a knows agent b knows p; a b ☼ p Agent a sees another agent b, and the lamp p, but agent a sees that agent b is not looking in the direction of the lamp p, so agent a knows agent b does not know whether p or ¬p; a ☼ p b</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head></head><label></label><figDesc>First we have p AGT (a) ∈ cone(a). So p AGT (a) = p AGT (a) = p AGT (a) and d AGT (a) = d AGT (a) = d AGT (a). In other words, cone(a) = cone (a) = cone (a).</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>From</head><label></label><figDesc>now on, if p AGT (b) ∈ cone(a), then p AGT (b) = p AGT (b) and d AGT (b) = d AGT (b). But, we have effectivelly, p AGT (b) = p AGT (b) and cone(a) = cone (a). So p AGT (b) ∈ cone (a). So p AGT (b) = p AGT (b) and d AGT (b) = d AGT (b). Finally, p AGT (b) = p AGT (b) and d AGT (b) = d AGT (b). The other cases are treated in the same manner.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head>Fig. 2 .</head><label>2</label><figDesc>Fig. 2. Some worlds of the model M</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_4"><head>Fig. 3 .</head><label>3</label><figDesc>Fig. 3. A PSPACE-algorithm for model-checking of L ☼ 1D AGT</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_5"><head>Fig. 4 .</head><label>4</label><figDesc>Fig. 4. A PSPACE-algorithm for satisfiability problem of L ☼ 1D AGT</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_6"><head>Fig. 6 .</head><label>6</label><figDesc>Fig. 6. A Δ 2 P -algorithm for model checking of L ☼ 1D {1} function sat(ϕ) w := choose_world_with_symbols_in(ϕ) return check1(w, ϕ) endFunction Fig. 7. Optimal Σ 2 P-algorithm for satisfiability problem of L ☼ 1D {1}</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_7"><head>Fig. 8 .</head><label>8</label><figDesc>Fig. 8. World for Muddy children</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_8"><head></head><label></label><figDesc>w |= ϕ and U, w |= ψ; • U, w |= ¬ϕ iff U, w |= ϕ; • U, w |= K a ψ iff for all w ∈ U , wR a w implies U, w |= ψ; • U, w |= [ϕ!]ψ iff U, w |= ϕ implies U ∩ {w ∈ U | U, w |= ϕ}, w |= ψ. The set of validities we obtain is noted L ☼ 1D ! = {ϕ | W, w |= ϕ} where W is the set of all worlds defined Definition 8.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_9"><head>Fig. 9 . 1 Fig. 10 .</head><label>9110</label><figDesc>Fig. 9. World for Muddy children after having announced ϕ 1</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_10"><head>Fig. 11 .</head><label>11</label><figDesc>Fig. 11. Algorithm for model-checking in L ☼ 1D !</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_11"><head>Fig. 12 .</head><label>12</label><figDesc>Fig. 12. Algorithm for testing if a world w is in the updated model formulas in C</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_1"><head></head><label></label><figDesc>Let us prove p ATM (p) ∈ cone(1) by contradiction. Suppose that p ATM (p) ∈ cone<ref type="bibr" target="#b0">(1)</ref>. Thus there exists a world w = p AGT , d AGT , p ATM , π such that wR 1 w and π (p) = ⊥. We have w |= p so w |= K 2 p. So w |= K 1 K 2 p. Contradiction.Same proof for p ATM (p) ∈ cone(2).Let us prove that p AGT (2) ∈ cone(1) by contradiction. Suppose that p AGT (2) ∈ cone<ref type="bibr" target="#b0">(1)</ref>. Thus there exists a world w = p AGT , d AGT , p ATM , π such that w R 1 w and d AGT<ref type="bibr" target="#b1">(2)</ref> is such that p ATM (p) ∈ cone (2). Thus, there exists a world w = p AGT , d AGT , p ATM , π such that w R 2 w and π</figDesc><table /><note>• p AGT (1) ∈ cone(2); • p ATM (p) ∈ cone(1); • p ATM (p) ∈ cone(2).</note></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_3"><head></head><label></label><figDesc>Let us prove P(ψ 1 ∧ψ 2 ). The first call check(w, ϕ 1 ) needs O(|ϕ 1 | × |w|) by hypothesis of induction.</figDesc><table><row><cell>function sat(ϕ)</cell></row><row><cell>w := choose_world_with_symbols_in(ϕ)</cell></row><row><cell>return check1(w, ϕ)</cell></row><row><cell>endFunction</cell></row></table><note>• P( ) and P(p) are true; • Then we can release all the memory cells used for the sub-call check(w, ϕ 1 ) and we can treat the call check(w, ϕ 2 ). It needs O(|ϕ 2 | × |w|). Hence, the sub-call check(w, ϕ 1 ∧ ϕ 2 ) needs max(O(|ϕ 1 | × |w|), O(|ϕ 2 |×|w|)) = O(|ϕ|×|w|). So P(ψ 1 ∧ψ 2 ).</note></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_4"><head></head><label></label><figDesc>Table of complexities</figDesc><table /><note>• Now, we prove P(K a ψ). By induction, every sub-call check(w, ψ) needs at most O(|ψ| × |w|) memory cells. Furthermore, we need O(|w|) for f irst_permutation(w), is_last_permutation(u) and next_permutation(u) and also to keep the local variable u in memory. So we need, O(|ψ| × |w|) + O(|w|) = O(|ϕ| × |w|).</note></figure>
		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Acknowledgements.</head><p>I thank Philippe Balbiani, Olivier Gasquet, Andreas Herzig, Emiliano Lorini and the reviewers for their different helpful remarks.</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<monogr>
		<author>
			<persName><forename type="first">Edwin</forename><surname>Abbott</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Abbott</forename></persName>
		</author>
		<title level="m">Flatland</title>
				<imprint>
			<publisher>Basil Blackwell</publisher>
			<date type="published" when="1884">1884</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Tarski&apos;s World: Version 4.0 for Macintosh (Center for the Study of Language and Information -Lecture Notes)</title>
		<author>
			<persName><forename type="first">Jon</forename><surname>Barwise</surname></persName>
		</author>
		<author>
			<persName><forename type="first">John</forename><surname>Etchemendy</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Center for the Study of Language and Information/SRI</title>
				<imprint>
			<date type="published" when="1993">1993</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<monogr>
		<title level="m" type="main">Reasoning About Knowledge</title>
		<author>
			<persName><forename type="first">Ronald</forename><surname>Fagin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Joseph</forename><forename type="middle">Y</forename><surname>Halpern</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Yoram</forename><surname>Moses</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Moshe</forename><forename type="middle">Y</forename><surname>Vardi</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1995">1995</date>
			<publisher>MIT Press</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<monogr>
		<title level="m" type="main">Handbook of Modal Logic, chapter Model Theory of Modal Logic</title>
		<author>
			<persName><forename type="first">V</forename><surname>Goranko</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Otto</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2006">2006</date>
			<publisher>Elsevier</publisher>
			<biblScope unit="page" from="255" to="325" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">A guide to completeness and complexity for modal logics of knowledge and belief</title>
		<author>
			<persName><forename type="first">Joseph</forename><forename type="middle">Y</forename><surname>Halpern</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Yoram</forename><surname>Moses</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Artificial Intelligence</title>
		<imprint>
			<biblScope unit="volume">54</biblScope>
			<biblScope unit="issue">3</biblScope>
			<biblScope unit="page" from="319" to="379" />
			<date type="published" when="1992">1992</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<monogr>
		<title level="m" type="main">An Introduction to Modal Logic</title>
		<author>
			<persName><forename type="first">G</forename><forename type="middle">E</forename><surname>Hughes</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">J</forename><surname>Cresswell</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1968">1968</date>
			<publisher>Methuen and Co</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Thief belief (extended abstract)</title>
		<author>
			<persName><forename type="first">Ethan</forename><surname>Kennerly</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Andreas</forename><surname>Witzel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Jonathan</forename><forename type="middle">A</forename><surname>Zvesper</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Presented at Logic and the Simulation of Interaction and Reasoning 2 (LSIR2) Workshop at IJCAI-09</title>
				<imprint>
			<date type="published" when="2009-07">July 2009</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">Establishing mutual beliefs by joint attention: towards a formal model of public events</title>
		<author>
			<persName><forename type="first">E</forename><surname>Lorini</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Tummolini</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Herzig</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the XXVII Annual Conference of the Cognitive Science Society</title>
				<editor>
			<persName><forename type="first">Monica</forename><surname>Bucciarelli</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">Bruno</forename><forename type="middle">G</forename><surname>Bara</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">Lawrence</forename><surname>Barsalou</surname></persName>
		</editor>
		<meeting>the XXVII Annual Conference of the Cognitive Science Society</meeting>
		<imprint>
			<publisher>Lawrence Erlbaum</publisher>
			<date type="published" when="2005">2005</date>
			<biblScope unit="page" from="1325" to="1330" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<monogr>
		<title level="m" type="main">Computational Complexity</title>
		<author>
			<persName><forename type="first">Christos</forename><forename type="middle">H</forename><surname>Papadimitriou</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1994">1994</date>
			<publisher>Addison-Wesley</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">Topology and epistemic logic</title>
		<author>
			<persName><forename type="first">Rohit</forename><surname>Parikh</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Lawrence</forename><forename type="middle">S</forename><surname>Moss</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Chris</forename><surname>Steinsvold</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Handbook of Spatial Logics</title>
				<imprint>
			<date type="published" when="2007">2007</date>
			<biblScope unit="page" from="299" to="341" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">Logics of public communications</title>
		<author>
			<persName><forename type="first">Jan</forename><surname>Plaza</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Synthese</title>
		<imprint>
			<biblScope unit="volume">158</biblScope>
			<biblScope unit="issue">2</biblScope>
			<biblScope unit="page" from="165" to="179" />
			<date type="published" when="2007">2007</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title level="a" type="main">Relationships between nondeterministic and deterministic tape complexities</title>
		<author>
			<persName><forename type="first">J</forename><surname>Walter</surname></persName>
		</author>
		<author>
			<persName><surname>Savitch</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">J. Comput. Syst. Sci</title>
		<imprint>
			<biblScope unit="volume">4</biblScope>
			<biblScope unit="issue">2</biblScope>
			<biblScope unit="page" from="177" to="192" />
			<date type="published" when="1970">1970</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">Model checking russian cards</title>
		<author>
			<persName><forename type="first">P</forename><surname>Hans</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Wiebe</forename><surname>Van Ditmarsch</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Ron</forename><surname>Van Der Hoek</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Ji</forename><surname>Van Der Meyden</surname></persName>
		</author>
		<author>
			<persName><surname>Ruan</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Electr. Notes Theor. Comput. Sci</title>
		<imprint>
			<biblScope unit="volume">149</biblScope>
			<biblScope unit="issue">2</biblScope>
			<biblScope unit="page" from="105" to="123" />
			<date type="published" when="2006">2006</date>
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
