*7.1. Model-Checking for ADL*∗

Before considering the MCP for ADL∗, remember that a state formula in a test in a ADL∗ state formula *ϕ* is also a state subformula of *ϕ*.

**Theorem 10.** *The computational complexity of model-checking for ADL*∗ *is 2EXPTIME-complete, in time polynomial w.r.t. the size of CGS model and double exponential in the size of ADL*∗ *formula.*

**Proof.** Firstly, because the MCP for ATL∗ is 2EXPTIME-complete [5], which can be linearly encoded by that for ADL∗ by Lemma 5, then the MCP for ADL∗ is 2EXPTIME-hard. Next we show that the complexity of model checking for ADL∗ is in 2EXPTIME.

Given a CGS model <sup>G</sup><sup>=</sup> *Ac*, *<sup>W</sup>*, *<sup>λ</sup>*, *<sup>τ</sup>*, *<sup>w</sup>*0 and an ADL<sup>∗</sup> formula *<sup>ϕ</sup>*, as in the modelchecking algorithm for CTL, we adopt the labelling algorithm, in a bottom-up fashion, starting from the innermost state subformulas of *ϕ*. We label each state *w* of G by all state subformulas of *ϕ* that are satisfied in *w*. To give this algorithm, we only consider the case *ϕ* = *Aψ*, for each subformula *ϕ* such as *Bψ* in *ψ*, introduce a new atomic proposition *p<sup>ϕ</sup>* in G, where for each state *w*, *p<sup>ϕ</sup>* ∈ *λ*(*w*) iff G, *w* |= *ϕ* . Therefore, assume that *ψ* is just an LDL formula.

Now we mainly consider *ϕ* = *Aψ*, where *ψ* is an LDL formula.

1. Construct a Büchi tree automaton AG,*w*,*<sup>A</sup>* as in [5].

Here, AG,*w*,*<sup>A</sup>* accepts exactly the (*w*, *<sup>A</sup>*)-execution trees, which are trees induced by *out*(*w*, *gA*), where *gA* is a collective strategy of *<sup>A</sup>*. Automaton AG,*w*,*<sup>A</sup>* is bounded by *O*(|G|).

2. Construct a Rabin tree automaton A**A***ψ*.

Here, <sup>A</sup>**A***<sup>ψ</sup>* accepts all trees that satisfy the CDL<sup>∗</sup> formula **<sup>A</sup>***ψ*. <sup>A</sup>*<sup>ψ</sup>* has 22*<sup>O</sup>*(|*ψ*|) states and 2*O*(|*ψ*|) Rabin pairs.


The decidable problem is to determine whether *L*(A) = ∅ can be done in time *<sup>O</sup>*(*<sup>n</sup>* · *<sup>r</sup>*)3*<sup>r</sup>* [34,35].

The automata A is a Rabin tree automaton that accepts precisely the (*w*, *A*)-execution trees that satisfy **A***ψ*.

Since G, *w* |= *Aψ* iff there is a collective strategy *gA* so that all *w*-computations in *out*(*w*, *gA*) satisfy *ψ*. Since each *w*, *A*-execution tree corresponds to a set *gA* of strategies, it follows that G, *w* |= *Aψ* iff the product automaton is nonempty. According to the above steps, the whole algorithm runs in polynomial time in the size of model and double exponential time in the size of formula.

In fact, according to the above algorithm, since both CTL∗ satisfiability-checking [36] and module-checking [37] problems are 2EXPTIME-complete, then CDL∗ satisfiability and module checking problems are also 2EXPTIME-complete.
