Department of Computer Science Institute for Theoretical Computer Science
Modal µ-Calculus and Alternating Tree Automata
Seminar “Automata, Logics, and Infinite Games”
Patrick Bahr s0404888@inf.tu-dresden.de
Modal -Calculus and Alternating Tree Automata Seminar Automata, - - PowerPoint PPT Presentation
Department of Computer Science Institute for Theoretical Computer Science Modal -Calculus and Alternating Tree Automata Seminar Automata, Logics, and Infinite Games Patrick Bahr s0404888@inf.tu-dresden.de Dresden, February 1, 2008
Department of Computer Science Institute for Theoretical Computer Science
Patrick Bahr s0404888@inf.tu-dresden.de
Modal µ-Calculus Introduction Syntax Semantics Auxiliary Notions Translation into Alternating Tree Automata [Alternating Tree Automata] Construction of Equivalent Alternating Tree Automata Model-Checking and Satisfiability Conclusion
TU Dresden, February 1, 2008 µ-Calculus & Alternating Tree Automata slide 2 of 28
Modal µ-Calculus Introduction Syntax Semantics Auxiliary Notions Translation into Alternating Tree Automata [Alternating Tree Automata] Construction of Equivalent Alternating Tree Automata Model-Checking and Satisfiability Conclusion
TU Dresden, February 1, 2008 µ-Calculus & Alternating Tree Automata slide 3 of 28
TU Dresden, February 1, 2008 µ-Calculus & Alternating Tree Automata slide 4 of 28
The set of formulae of the modal µ-calculus, denoted by Lµ is defined by the following grammar: ϕ, ψ ::= ⊥ | ⊤ | p | ¬ϕ | ϕ ∧ ψ | ϕ ∨ ψ | ϕ | ♦ϕ | µp.ϕp | νp.ϕp
TU Dresden, February 1, 2008 µ-Calculus & Alternating Tree Automata slide 5 of 28
The set of formulae of the modal µ-calculus, denoted by Lµ is defined by the following grammar: ϕ, ψ ::= ⊥ | ⊤ | p | ¬ϕ | ϕ ∧ ψ | ϕ ∨ ψ | ϕ | ♦ϕ | µp.ϕp | νp.ϕp where p ∈ P and ϕp is restricted to only contain p in the scope of an even number
TU Dresden, February 1, 2008 µ-Calculus & Alternating Tree Automata slide 5 of 28
ϕ1 = µp.¬(µp′.(¬q ∨ p′) ∨ ¬p) is well-formed
TU Dresden, February 1, 2008 µ-Calculus & Alternating Tree Automata slide 6 of 28
ϕ1 = µp.¬(µp′.(¬q ∨ p′) ∨ ¬p) is well-formed
ϕ2 = µp.¬(µp′.(¬q ∨ p′) ∨ (¬p ∧ p)) is not well-formed ϕ2 : µp ¬ µp′ ∨ ∨ ∧ ¬
p q p′
TU Dresden, February 1, 2008 µ-Calculus & Alternating Tree Automata slide 6 of 28
ϕ1 = µp.¬(µp′.(¬q ∨ p′) ∨ ¬p) is well-formed
ϕ2 = µp.¬(µp′.(¬q ∨ p′) ∨ (¬p ∧ p)) is not well-formed ϕ2 : µp ¬ µp′ ∨ ∨ ∧ ¬
p q p′
TU Dresden, February 1, 2008 µ-Calculus & Alternating Tree Automata slide 6 of 28
The set free(ϕ) of atomic propositions occurring freely in ϕ: free(⊤) = free(⊥) = ∅, free(p) = {p}, free(ϕ ∨ ψ) = free(ϕ ∧ ψ) = free(ϕ) ∪ free(ψ), free(¬ϕ) = free(ϕ) = free(♦ϕ) = free(ϕ), free(µp.ϕ) = free(νp.ϕ) = free(ϕ) \ {p}.
TU Dresden, February 1, 2008 µ-Calculus & Alternating Tree Automata slide 7 of 28
A Kripke model is a triple K = (W, R, λ) where
For w ∈ W we will call (K, w) a pointed Kripke model.
Let K = (W, R, λ) be a Kripke model.
if p = p′ λ(p)
for all p ∈ P.
TU Dresden, February 1, 2008 µ-Calculus & Alternating Tree Automata slide 8 of 28
Let K = (W, R, λ) be a Kripke model. For every Lµ formula ϕ the set ϕK ⊆ W is defined as follows: ⊥K = ∅, ⊤K = W, pK = λ(p) for all p ∈ P, ¬ϕK = W \ ϕK, ϕ ∨ ψK = ϕK ∪ ψK, ϕ ∧ ψK = ϕK ∩ ψK, ϕK = {w ∈ W | wR ⊆ ϕK}, ♦ϕK = {w ∈ W | wR ∩ ϕK = ∅}, µp.ϕK = {W ′ ⊆ W | ϕK[p→W ′] ⊆ W ′}, νp.ϕK = {W ′ ⊆ W | ϕK[p→W ′] ⊇ W ′}.
= ϕ if w ∈ ϕK.
= ϕ iff (K, w) | = ψ.
TU Dresden, February 1, 2008 µ-Calculus & Alternating Tree Automata slide 9 of 28
{W ′ ⊆ W | ϕK[p→W ′] ⊆ W ′}.
g : 2W → 2W , W ′ → ϕK[p→W ′]
TU Dresden, February 1, 2008 µ-Calculus & Alternating Tree Automata slide 10 of 28
{W ′ ⊆ W | ϕK[p→W ′] ⊆ W ′}.
g : 2W → 2W , W ′ → ϕK[p→W ′]
{W ′ ⊆ W | g(W ′) ⊆ W ′}
TU Dresden, February 1, 2008 µ-Calculus & Alternating Tree Automata slide 10 of 28
{W ′ ⊆ W | ϕK[p→W ′] ⊆ W ′}.
g : 2W → 2W , W ′ → ϕK[p→W ′]
{W ′ ⊆ W | g(W ′) ⊆ W ′}
TU Dresden, February 1, 2008 µ-Calculus & Alternating Tree Automata slide 10 of 28
Let ϕ, ψ ∈ Lµ and p, q ∈ P, s.t. q does not occur in ϕ. Then we have the following equivalences: (i) µp.ϕ ≡ µq.ϕ[p/q] (ii) νp.ϕ ≡ νq.ϕ[p/q], (iii) ¬¬ϕ ≡ ϕ, (iv) ϕ ∨ ψ ≡ ¬(¬ϕ ∧ ¬ψ), (v) ♦ϕ ≡ ¬¬ϕ, (vi) µp.ϕ ≡ ¬νp.¬ϕ[p/¬p].
TU Dresden, February 1, 2008 µ-Calculus & Alternating Tree Automata slide 11 of 28
Consider ϕ1 = µp.p. (K, w) | = ϕ1 iff all paths in K starting in w are finite.
TU Dresden, February 1, 2008 µ-Calculus & Alternating Tree Automata slide 12 of 28
Consider ϕ1 = µp.p. (K, w) | = ϕ1 iff all paths in K starting in w are finite.
Consider ϕ2 = µp. (ψ ∨ ♦p). (K, w) | = ϕ2 iff there is a world w′ in K in which ψ holds and which is reachable from w.
TU Dresden, February 1, 2008 µ-Calculus & Alternating Tree Automata slide 12 of 28
Consider ϕ1 = µp.p. (K, w) | = ϕ1 iff all paths in K starting in w are finite.
Consider ϕ2 = µp. (ψ ∨ ♦p). (K, w) | = ϕ2 iff there is a world w′ in K in which ψ holds and which is reachable from w.
Consider ϕ3 = νp.µq. ((ψ ∧ p) ∨ ♦q) (K, w) | = ϕ2 iff ψ holds infinitely often on a path starting in w.
TU Dresden, February 1, 2008 µ-Calculus & Alternating Tree Automata slide 12 of 28
Consider ϕ1 = µp.p. (K, w) | = ϕ1 iff all paths in K starting in w are finite.
Consider ϕ2 = µp. (ψ ∨ ♦p). (K, w) | = ϕ2 iff there is a world w′ in K in which ψ holds and which is reachable from w.
Consider ϕ3 = νp.µq. ((ψ ∧ p) ∨ ♦q) (K, w) | = ϕ2 iff ψ holds infinitely often on a path starting in w.
TU Dresden, February 1, 2008 µ-Calculus & Alternating Tree Automata slide 12 of 28
To make the translation into an alternating tree automaton easier, normal forms of Lµ formulae are considered.
Let ϕ ∈ Lµ. (i) ϕ is standardised apart if every atomic proposition in ϕ occurs either only free
The subformula ηp.ψ uniquely determined by p will be denoted by ϕp. (ii) ϕ is in negation normal form if ¬ψ ≤ ϕ implies ψ ∈ P for every ψ ∈ Lµ. That is, the negation connective only occurs in front of atomic propositions. (iii) ϕ is in normal form if it is standardised apart and in negation normal form.
TU Dresden, February 1, 2008 µ-Calculus & Alternating Tree Automata slide 13 of 28
TU Dresden, February 1, 2008 µ-Calculus & Alternating Tree Automata slide 14 of 28
Let ϕ be an Lµ formula being standardised apart. The alternation depth of ϕ, denoted α(ϕ), is recursively defined as follows: α(⊥) = α(⊤) = α(p) = 0, α(ψ1 ∨ ψ2) = α(ψ1 ∧ ψ2) = max({α(ψ1), α(ψ2)}), α(¬ψ) = α(ψ) = α(♦ψ) = α(ψ), α(µp.ψ) = max({1, α(ψ)} ∪ {α(νq.ψ′) + 1 | νq.ψ′ ≤ ψ, p ∈ free(νq.ψ′)}), α(νp.ψ) = max({1, α(ψ)} ∪ {α(µq.ψ′) + 1 | µq.ψ′ ≤ ψ, p ∈ free(µq.ψ′)}).
The alternation depth of all subformulae of an Lµ formula ϕ can be computed in O |ϕ|2 time.
TU Dresden, February 1, 2008 µ-Calculus & Alternating Tree Automata slide 15 of 28
Modal µ-Calculus Introduction Syntax Semantics Auxiliary Notions Translation into Alternating Tree Automata [Alternating Tree Automata] Construction of Equivalent Alternating Tree Automata Model-Checking and Satisfiability Conclusion
TU Dresden, February 1, 2008 µ-Calculus & Alternating Tree Automata slide 16 of 28
An alternating tree automaton is a tuple A = (Q, qI, δ, Ω) where
Skip alternating tree automata recap TU Dresden, February 1, 2008 µ-Calculus & Alternating Tree Automata slide 17 of 28
An alternating tree automaton is a tuple A = (Q, qI, δ, Ω) where
Let Q be some set of states. The transition conditions TCQ over Q are defined as follows:
for all p ∈ P,
for all q ∈ Q, and
for all q1, q2 ∈ Q.
Skip alternating tree automata recap TU Dresden, February 1, 2008 µ-Calculus & Alternating Tree Automata slide 17 of 28
Let A = (Q, qI, δ, Ω) be an alternating tree automaton and (K, wI) a pointed Kripke model where K = (W, R, λ). A run of A on (K, w) is a (W × Q)-vertex-labelled tree R = (V, E, l) such that the root is labelled with (wI, qI) and for every vertex v with label (w, q) the following conditions are satisfied:
⇒ w ∈ λ(p)
⇒ w ∈ λ(p).
⇒ ∃v′ ∈ vE s.t l(v′) = (w, q′).
TU Dresden, February 1, 2008 µ-Calculus & Alternating Tree Automata slide 18 of 28
Let A = (Q, qI, δ, Ω) be an alternating tree automaton and (K, wI) a pointed Kripke model where K = (W, R, λ). A run of A on (K, w) is a (W × Q)-vertex-labelled tree R = (V, E, l) such that the root is labelled with (wI, qI) and for every vertex v with label (w, q) the following conditions are satisfied:
⇒ w ∈ λ(p)
⇒ w ∈ λ(p).
⇒ ∃v′ ∈ vE s.t l(v′) = (w, q′).
⇒ ∃w′ ∈ wR ∃v′ ∈ vE having l(v′) = (q′, w′)
⇒ ∀w′ ∈ wR ∃v′ ∈ vE having l(v′) = (q′, w′)
TU Dresden, February 1, 2008 µ-Calculus & Alternating Tree Automata slide 18 of 28
Let A = (Q, qI, δ, Ω) be an alternating tree automaton and (K, wI) a pointed Kripke model where K = (W, R, λ). A run of A on (K, w) is a (W × Q)-vertex-labelled tree R = (V, E, l) such that the root is labelled with (wI, qI) and for every vertex v with label (w, q) the following conditions are satisfied:
⇒ w ∈ λ(p)
⇒ w ∈ λ(p).
⇒ ∃v′ ∈ vE s.t l(v′) = (w, q′).
⇒ ∃w′ ∈ wR ∃v′ ∈ vE having l(v′) = (q′, w′)
⇒ ∀w′ ∈ wR ∃v′ ∈ vE having l(v′) = (q′, w′)
TU Dresden, February 1, 2008 µ-Calculus & Alternating Tree Automata slide 18 of 28
Let A = (Q, qI, δ, Ω) be an alternating tree automaton and R = (V, E, l) a run of it.
its labelling trace. π is accepting if max{Ω(q)|q occurs infinitely often in q0q1 . . . } is even.
Let A be an alternating tree automaton and (K, w) a pointed Kripke model. (K, w) is accepted by A if there is an accepting run of A on (K, w). The set of all pointed Kripke models of an alternating tree automaton A — denoted L(A) — is called the language of A.
TU Dresden, February 1, 2008 µ-Calculus & Alternating Tree Automata slide 19 of 28
Let A = (Q, qI, δ, Ω) be an alternating tree automaton. The transition graph of A, denoted G(A), is the directed graph (V, E) where:
TU Dresden, February 1, 2008 µ-Calculus & Alternating Tree Automata slide 20 of 28
Let A = (Q, qI, δ, Ω) be an alternating tree automaton. The transition graph of A, denoted G(A), is the directed graph (V, E) where:
Let A = (Q, qI, δ, Ω) be an alternating tree automaton and CA the set of all strongly connected components of G(A).
C denotes the number of different priorities of states
mA
C = |{Ω(q)|q ∈ C}|
C , i.e.,
ind(A) = max({mA
C |C ∈ CA} ∪ {0}) TU Dresden, February 1, 2008 µ-Calculus & Alternating Tree Automata slide 20 of 28
Let A = (Q, qI, δ, Ω) be an alternating tree automaton with d different non-zero priorities and let (K, w) be a finite pointed Kripke model.
O
⌈d/2⌉
, and in space O (d|Q||W| log (|Q||W|)) . whether A accepts (K, w).
The emptiness problem of alternating tree automata is in Exptime.
TU Dresden, February 1, 2008 µ-Calculus & Alternating Tree Automata slide 21 of 28
TU Dresden, February 1, 2008 µ-Calculus & Alternating Tree Automata slide 22 of 28
respective connectives of transition conditions. (e.g. δ(ψ1 ∨ ψ2) = ψ1 ∨ ψ2)
respective terminating transition conditions. (e.g. δ(¬p) = ¬p)
TU Dresden, February 1, 2008 µ-Calculus & Alternating Tree Automata slide 22 of 28
respective connectives of transition conditions. (e.g. δ(ψ1 ∨ ψ2) = ψ1 ∨ ψ2)
respective terminating transition conditions. (e.g. δ(¬p) = ¬p)
states p to ηp.ψ.
the priority function.
TU Dresden, February 1, 2008 µ-Calculus & Alternating Tree Automata slide 22 of 28
Let ϕ be an Lµ formula in normal form. The alternating tree automaton corresponding to ϕ, denoted by A(ϕ) = (Q, q0, δ, Ω), is defined as follows:
δ(⊥) = 0, δ(⊤) = 1, δ(p) =
if p ∈ free(ϕ), ϕp
δ(¬p) = ¬p, δ(ψ1 ∨ ψ2) = ψ1 ∨ ψ2, δ(ψ1 ∧ ψ2) = ψ1 ∧ ψ2, δ(ψ) = ψ, δ(♦ψ) = ♦ψ, δ(µp.ψ) = ψ, δ(νp.ψ) = ψ,
TU Dresden, February 1, 2008 µ-Calculus & Alternating Tree Automata slide 23 of 28
Ω(ψ) =
smallest odd number ≥ α(ψ) − 1 if ψ = µp.ψ′, smallest even number ≥ α(ψ) − 1 if ψ = νp.ψ′,
TU Dresden, February 1, 2008 µ-Calculus & Alternating Tree Automata slide 24 of 28
Ω(ψ) =
smallest odd number ≥ α(ψ) − 1 if ψ = µp.ψ′, smallest even number ≥ α(ψ) − 1 if ψ = νp.ψ′,
This construction takes O |ϕ|2 time and O (|ϕ|) space.
TU Dresden, February 1, 2008 µ-Calculus & Alternating Tree Automata slide 24 of 28
Ω(ψ) =
smallest odd number ≥ α(ψ) − 1 if ψ = µp.ψ′, smallest even number ≥ α(ψ) − 1 if ψ = νp.ψ′,
This construction takes O |ϕ|2 time and O (|ϕ|) space.
(i) α(ϕ) = ind(A(ϕ)), (ii) ind(A(ϕ)) = “number of different non-zero priorities”, (iii) |QA(ϕ)| = |ϕ|S.
TU Dresden, February 1, 2008 µ-Calculus & Alternating Tree Automata slide 24 of 28
Let ϕ be am Lµ formula in normal form. Then for every pointed Kripke model (K, w) the following holds: (K, w) | = ϕ iff (K, w) ∈ L(A(ϕ)).
TU Dresden, February 1, 2008 µ-Calculus & Alternating Tree Automata slide 25 of 28
Let ϕ be am Lµ formula in normal form. Then for every pointed Kripke model (K, w) the following holds: (K, w) | = ϕ iff (K, w) ∈ L(A(ϕ)).
word problem of alternating tree automata.
(non-)emptiness problem of alternating tree automata.
TU Dresden, February 1, 2008 µ-Calculus & Alternating Tree Automata slide 25 of 28
Let ϕ be an Lµ formula with α(ϕ) ≥ 2 and (K, w) a pointed Kripke model.
O
⌈α(ϕ)/2⌉
, and in space by O (α(ϕ)|ϕ||W| log (|ϕ||W|)) .
The satisfiability problem for the modal µ-calculus is in Exptime.
TU Dresden, February 1, 2008 µ-Calculus & Alternating Tree Automata slide 26 of 28
Modal µ-Calculus Introduction Syntax Semantics Auxiliary Notions Translation into Alternating Tree Automata [Alternating Tree Automata] Construction of Equivalent Alternating Tree Automata Model-Checking and Satisfiability Conclusion
TU Dresden, February 1, 2008 µ-Calculus & Alternating Tree Automata slide 27 of 28
systems (Kripke models).
corresponding to an Lµ formula.
to word problem and emptiness problem of alternating tree automata.
to the equivalent automaton (state space, number of non-zero priorities).
to the modal µ-calculus.
the size of the state space of the transition system.
TU Dresden, February 1, 2008 µ-Calculus & Alternating Tree Automata slide 28 of 28