*2.1. Temporal Logics*

Computational-tree dynamic logic (CDL∗) [25] is a branching-time extension of LDL, which adopts the syntax from propositional dynamic logic (PDL).

**Definition 1** (Syntax of CDL∗)**.** *The syntax of is defined inductively by:*

$$State\ formula\ \wp ::= p \mid \neg \wp \mid \not\neg \wp \mid \not\neg \wp \mid \not\neg \wp$$

$$Path\ formula\ \psi ::= \wp \mid \neg \psi \mid \psi \land \psi \mid \langle \rho \rangle \psi$$

$$Path\ expression\ \rho ::= \Phi \mid \psi ?\ \mid \ \rho + \rho \mid \not\rho ; \rho \mid \rho^\*$$

*where, p* ∈ *AP, and* Φ ∈ L(*AP*)*.*

Intuitively, the path formula *ρψ* means that from the current instant, there exists an execution satisfying the path expression *ρ* s.t. Its last instant satisfies *ψ*, and the state formula **E***ψ* means that there exists a reachable path that makes the path formula *ψ* hold.

Let **A** define the dual of **E**, i.e., **A** = ¬**E**¬, and let [*ρ*] define the dual of *ρ*, i.e., [*ρ*] = ¬*ρ*¬.

LDL is a linear-time fragment of CDL∗, just as LTL is a fragment of CTL∗ The syntax of LDL is

$$\Psi ::= p \mid \neg \psi \mid \psi \land \psi \mid \langle \rho \rangle \psi, \quad \text{and} \; \rho ::= \Phi \mid \psi ? \; \mid \; \rho + \rho \mid \rho; \rho \mid \rho^\*. \tag{1}$$

Furthermore, CTL∗(resp. LTL) is a fragment of CDL∗(resp. LDL), where *ρ* is replaced by *next-time* , *eventuality* ♦, and *until* U, three temporal operators.

Any LTL formula can be linearly expressed in LDL, for instance, *<sup>p</sup>* . = *truep*, ♦*<sup>p</sup>* . <sup>=</sup> *true*∗*p*, and *<sup>p</sup>*U*<sup>q</sup>* . = (*p*; *true*)∗*q*, when *p*, *q* ∈ L(*AP*).

**Definition 2** (Kripke Model)**.** *A Kripke model M is a tuple* (*W*, *R*, *V*)*, where W is a finite non-empty set of possible worlds; R* ⊆ *W* × *W, which is a left-total relation over W, i.e., for any w* ∈ *W, there exists a w* ∈ *W s.t., w R w ; and V* : *<sup>W</sup>* <sup>→</sup> <sup>2</sup>*AP is a valuation function.*

In a Kripke model *M* = (*W*, *R*, *V*), by *Path*(*w*) we denote the set of infinite reachable sequences (i.e., path) *π* = *w*0*w*<sup>1</sup> ··· from *w*, where *w*<sup>0</sup> = *w* and *wi R wi*+<sup>1</sup> for all *i* ∈ N. Let *<sup>π</sup><sup>i</sup>* denote the *<sup>i</sup>*-th element *wi* in *<sup>π</sup>*, and *<sup>π</sup>*≥*<sup>i</sup>* denote the suffix of *<sup>π</sup>*, i.e., *<sup>π</sup>*≥*<sup>i</sup>* = *wiwi*+<sup>1</sup> ··· , and let *<sup>π</sup>*≤*<sup>i</sup>* denote the prefix of *<sup>π</sup>*, i.e., *<sup>π</sup>*≤*<sup>i</sup>* = *<sup>w</sup>*0*w*<sup>1</sup> ··· *wi*.

The semantics of CDL∗ is defined inductively as follows.

Given a CDL∗ state formula *ϕ*, a Kripke model *M* and a state *w* in *M*, the relation *M*, *w* |= *ϕ* is defined as follows.


Given a CDL<sup>∗</sup> path formula *ψ*, a path *π* in *M*, and *i* ∈ N, the relation *π*, *i* |= *ψ* is defined as follows.


Given a path expression *ρ* and a path *π* in *M*, for *i*, *j* ∈ N, the relation (*i*, *j*) ∈ R(*ρ*, *π*) is defined as follows:


## *2.2. Strategic Logics Based on Classical Temporal Logics*

SL [24] is an expressive logic, which can explicitly reason about agents' strategies in multi-agent concurrent systems. In [26], Knight and Maubert propose a branching-time version BSL of SL, which is equivalent to SL. Here we introduce BSL with some minor changes, still equivalent with SL.

**Definition 3** (BSL Formula)**.** *BSL formulas are defined inductively by:*

$$\text{State formula } \mathfrak{g} ::= \mathfrak{p} \mid \neg \mathfrak{p} \mid \mathfrak{q} \wedge \mathfrak{q} \mid (a, \mathfrak{x})\mathfrak{q} \mid \langle \mathfrak{x} \rangle \mathfrak{q} \mid \mathsf{E} \mathfrak{p} \mathfrak{q}$$

$$\text{Path formula } \psi ::= \varphi \mid \neg \psi \mid \psi \land \psi \mid \bigcirc \psi \mid \Diamond \psi \mid \psi \; \mathcal{U} \; \psi \; \nu$$

*here p* ∈ *AP, a* ∈ *Ag, and x* ∈ *Var.*

Syntactically, BSL extends linear-time temporal logic LTL with two operators. Intuitively, *x* (resp. (*a*, *x*)) means *"there exists a strategy x"* (resp. *"bind agent a to the strategy associated with variable x"*). Here, let [[*x*]] = ¬*x*¬, which means "*for all strategies x*".

For a BSL formula *ϕ*, let *f ree*(*ϕ*) ⊆ *Var* ∪ *Ag* denote the set of *free strategy variables and agents* of *ϕ*. Informally, *f ree*(*ϕ*) contains all strategy variables (resp. agents) for which there exists an agent binding but no quantifications (resp. no agent binding after the occurrence of a temporal operator). Here the formal definition refers to [24].

Since CTL∗ (resp. ATL∗) is a fragment of ATL∗ [5] (resp. SL [24]), and BSL is equivalent with SL [26], then both CTL∗ and ATL∗ are fragments of BSL.

Now we introduce the semantics model of BSL based on the notion of *concurrent game structure* [5].

**Definition 4** (Concurrent Game Structure)**.** *A concurrent game structure (CGS)* G *has five components Act*, *<sup>W</sup>*, *<sup>λ</sup>*, *<sup>τ</sup>*, *<sup>w</sup>*0*:*


*A decision is a function from Ag to Act, by ActAg we denote Dc.*

In fact, a concurrent game structure can be viewed as a multi-player game, in which all agents strategically perform joint actions. Before defining the semantics of BSL, first we present relevant notations and definitions, namely *track, strategy, strategy assignment*, and *outcome*.

**Definition 5** (Track)**.** *In a CGS* <sup>G</sup> <sup>=</sup> *Act*, *<sup>W</sup>*, *<sup>λ</sup>*, *<sup>τ</sup>*, *<sup>w</sup>*0*, a finite state sequence <sup>h</sup>* <sup>=</sup> *<sup>w</sup>*0*w*1...*wk is called a track in* G *if, for each i with* 0 ≤ *i* < *k, there exists d* ∈ *Dc s.t. wi*+<sup>1</sup> = *τ*(*wi*, *d*)*.*

Given a track *h* = *w*0*w*1...*wk*, let *len*(*h*) denote the length *k* + 1 of *h*, and *lst*(*h*) denote the last state *wk* of *h*.

**Definition 6** (Strategy)**.** *In a CGS* <sup>G</sup> <sup>=</sup> *Act*, *<sup>W</sup>*, *<sup>λ</sup>*, *<sup>τ</sup>*, *<sup>w</sup>*0*, a strategy in* <sup>G</sup> *is a function mapping a track in* G *into an action.*

Intuitively, a strategy of one agent can be viewed as a plan for this agent, which contains the unique choice of action for each track in G.

For brevity, let *Trk*(G) (resp. *Str*(G)) denote the set of all tracks (strategies) in a CGS G, and let *Trk*(G, *w*) denote the set of all tracks starting with *w*.

Like the definition of variable assignment in first-order logic, a partial function *χ* : *Var* ∪ *Ag Str*(G) is called a *strategy assignment* or just *assignment* in G, which maps a variable or an agent to a strategy. Let *Asg*(G) denote the set of all strategy assignments in CGS G. If *Ag* ⊆ *dom*(*χ*), *χ* is called *complete*, here *dom*(*χ*) is the domain of *χ*. For each agent *a*, *χ* is called *w-total*, if *Track*(G, *w*) ⊆ *dom*(*χ*(*a*)). Let *Asg*(G, *w*) denote the set of all *w*-total assignments in G. Let *χ*[*x* → *g*] denote a new strategy assignment almost like *χ*, where the only difference is that it maps *x* into *g*.

Let *out*(G, *χ*, *w*) denote the set of outcomes (or paths) from *w*, which is determined by *χ*. If G is explicit, we omit the G in *out*(G, *χ*, *w*).

**Definition 7** (Outcome)**.** *For any π* = *w*0*w*1...*, π* ∈ *out*(G, *χ*, *w*) *iff w*<sup>0</sup> = *w, for any i* ∈ N*, there exists a joint action d, such that <sup>τ</sup>*(*wi*, *<sup>d</sup>*) = *wi*+1*, satisfying <sup>d</sup>*(*a*) = *<sup>χ</sup>*(*a*)(*π*≤*i*) *for each a* ∈ *dom*(*χ*) ∩ *Ag.*

Given a collective strategy *gA* of *A*, i.e., {*ga* : *a* ∈ *A*}, by *out*(*w*, *gA*) we denote the set of legal executions from *w* where agents in *A* perform actions according to *gA*. Formally,

$$\text{out}(w, \text{g.}\_A) = \{\pi | \pi(0) = w \land \exists d \in D \text{C.d}(A) = \text{g.}\_A(\pi\_{\le k}) \land \pi(\pi\_k.d) = \pi\_{k+1} \lor k.\}\tag{2}$$

When *χ* is complete and *w*-total, there exists just one path in *out*(*w*, *χ*(*Ag*)), which we call (*χ*, *w*)-play.

Given a CGS <sup>G</sup> <sup>=</sup> *Ac*, *<sup>W</sup>*, *<sup>λ</sup>*, *<sup>τ</sup>*, *<sup>w</sup>*0, a BSL state formula *<sup>ϕ</sup>*, an assignment *<sup>χ</sup>*, and a state *w*, the relation G, *χ*, *w* |= *ϕ* is inductively defined as follows.


Given a path formula *ψ* in BSL, *i* ∈ N, and a path *π*, the relation G, *χ*, *π*, *i* |= *ψ* is defined by:


• G, *χ*, *π*, *i* |= *ψ*1U*ψ*<sup>2</sup> if and only if ∃*j* ∈ N with *i* ≤ *j*, such that for each *k*, *i* ≤ *k* < *j* satisfying that G, *χ*, *π*, *k* |= *ψ*1, and G, *χ*, *π*, *j* |= *ψ*2.

BSL state formula *ϕ* is called a *sentence* if *f ree*(*ϕ*) = ∅. Clearly, G, *χ*, *w* |= *ϕ* does not depend on *χ*; hence, we can omit *χ* without confusion.

In order to define the syntax of BSL[1G], we introduce the notions of *quantification prefix* and *binding prefix* [24]. A sequence ℘ = ((*x*1))((*x*2))···((*xn*)) is called quantification prefix, if ((*xi*)) ∈ {*xi*, [[*xi*]]} is either an existential or universal quantification. Given a fixed set of agents *Ag* = {*a*1, ··· , *am*}, a sequence = (*a*1, *x*1), ··· ,(*am*, *xm*) is called a binding prefix if every agent in *Ag* occurs exactly once. A combination ℘ is *closed* if every variable occurring in occurs in some quantifier of ℘.

Now the syntax of one-goal fragment BSL[1G] of BSL is defined as follows.

*ϕ* ::= *p* | ¬*ϕ* | *ϕ* ∧ *ϕ* | E*ψ* | ℘*ϕ*, and *ψ* ::= *ϕ* | ¬*ψ* | *ψ* ∧ *ψ* | *ψ* | ♦*ψ* | *ψ*U*ψ*, (3)

where ℘ is a closed combination of a quantification/binding prefix [24].

ATL∗, whose underlying logic is CTL∗, is a fragment of BSL[1G] [24]. Its syntax is defined by (*A* ⊆ *Ag*)

State formula *ϕ* ::= *p* | ¬*ϕ* | *ϕ* ∧ *ϕ* | *Aψ*

$$\text{Path formula } \psi ::= \varphi \mid \neg \psi \mid \psi \land \psi \mid \bigcirc \psi \mid \Diamond \psi \mid \psi \mathcal{U} \psi.$$

For details about the semantics of ATL∗ and BSL[1G], see [5,24]. Here, consider the semantics of the case *ϕ* = *Aψ*: given a CGS G and a state *w*,

G, *w* |= *Aψ* iff there exist *gA*, s.t., ∀*π* ∈ *out*(*w*, *gA*), G, *π*, 0 |= *ψ*. (4)
