Professional Documents
Culture Documents
Wolfgang Thomas
Wolfgang Thomas
Plan of the Lecture
1. Preparations on MSO-logic
2. MSO-logic over finite words
3. Büchi automata and their complementation
4. Determinization
Wolfgang Thomas
MSO-Logic
Wolfgang Thomas
MSO-Logic over (N, +1, 0)
We have
Wolfgang Thomas
Transitive Closure
Consider a formula ψ(z, z′ )
Write ψ∗ ( x, y) for:
“each set containing x and closed under the relation defined
by ψ(z, z′ ) contains also y”
“there is a path of ψ(z, z′ )-steps from x to y”
Wolfgang Thomas
Example
Wolfgang Thomas
First Step: MSO over Finite Words
Wolfgang Thomas
Words coded by Sets
Consider w = (01)(00)(00)(11)(10)
Domain of letter positions: D = {0, 1, 2, 3, 4}
For an infinite word this domain is N.
Wolfgang Thomas
A Definable Language
Wolfgang Thomas
BET Theorem
A0 :
1
0
q0 q1 1 q2
Wolfgang Thomas
1
0
q0 q1 1 q2
0 0 0 1 1
1 0 1 0 0 0
0 1 0 1 0 0
0 0 0 0 1 1
Wolfgang Thomas
1
0
q0 q1 1 q2
ϕ( X ) :=
∃Y0 ∃Y1 ∃Y2 (Partition(Y0 , Y1 , Y2 ) ∧ Y0 (min)
∧∀ x((Y0 ( x) ∧ ¬ X ( x) ∧ Y1 ( x + 1))
∨(Y1 ( x) ∧ ¬ X ( x) ∧ Y0 ( x + 1))
∨(Y1 ( x) ∧ X ( x) ∧ Y2 ( x + 1))
∨(Y2 ( x) ∧ X ( x) ∧ Y2 ( x + 1)))
∧(Y1 (max) ∨ Y2 (max)) ∧ X (max))
Wolfgang Thomas
Preparing MSO for Easy Induction
Work with a dialect of MSO in which the first-order variables
are cancelled.
Simulate x by a singleton variable { x}.
Atomic formulas: X ⊆ Y , Sing( X ), Succ( X, Y ), X < Y .
Example
ϕ( X1 , X2 ) = ∀ x∀y( x < y ∧ X2 ( x) ∧ X2 (y) → ∃z ¬ X1 (z))
ϕ′ ( X1 , X2 ) = ∀ X ∀Y ( X < Y ∧ X ⊆ X2 ∧ Y ⊆ X2 (y) →
∃ Z (Sing( Z ) ∧ ¬ Z ⊆ X1 ))
(00) (00)
(10) (01)
q0 q1 q2
Wolfgang Thomas
Büchi Automata and Their
Complementation
Wolfgang Thomas
Definition
A Büchi automaton (NBA) has the form A = ( Q, Σ, q0 , ∆, F )
with
Wolfgang Thomas
Periodicity
Given A = ( Q, Σ, q0 , ∆, F ) define
w
Wpq = {w ∈ Σ∗ | A : p → q}
Wolfgang Thomas
Büchi’s Theorem
Wolfgang Thomas
Complementation
Wolfgang Thomas
Büchi-Equivalence
Idea: Represent also the complement-ω-language as a finite
union of sets U · V ω with regular U, V .
As U, V use equivalence classes of an equivalence relation:
u v
u ∼A v :⇔ A : p → q ⇔ A : p → q
u v
and A : p → q via F ⇔ A : p → q via F
This is an equivalence relation.
The ∼A -class of u is captured by two lists of edges ( p, q):
u
those ( p, q) with A : p → q
u
those ( p, q) with A : p → q via F
Wolfgang Thomas
A Crucial Property
Assume U · V ω ∩ L(A) , 6O, where U, V are ∼A -classes.
Then U · V ω ⊆ L(A).
By assumption we have:
u 1 v 2v v3
A : q0 → p1 → p2 → p3 → . . . with u ∈ U, vi ∈ V
where via infinitely many vi a final state is passed.
Consider β = u′ v1′ v2′ v3′ . . . in U · V ω with u′ ∈ U, vi′ ∈ V .
Apply u ∼A u′ and vi ∼A vi′ :
u′ 1 v′
2 v′ v3′
A : q0 → p1 → p2 → p3 → . . .
where via infinitely many vi′ a final state is passed.
Wolfgang Thomas
Last Missing Step
Ramsey’s Theorem:
Given a coloring of all pairs i < j of natural numbers, there is
an infinite “homogeneous” set H ⊆ N and a fixed color c such
that each pair i < j with i, j ∈ H is colored with c.
3. Model checking:
Check whether for each path of a transition system S a
formula ϕ holds.
Check whether the intersection automaton of S and A¬ϕ
accepts some ω-word.
Wolfgang Thomas
Determinization
Wolfgang Thomas
Deterministic Büchi Automata (DBA)
are of the form A = ( Q, Σ, q0 , δ, F ) with δ : Q × Σ → Q
A accepts α if its unique run on α visits F infinitely often.
0, 1 0
q0 0 q1
k
∃ω m ̺(m) = q ∧ ¬∃ω m ̺(m) = q)
_ ^ ^
(
i =1 q∈ Fi q∈ Q\ Fi
Wolfgang Thomas
McNaughton’s Theorem
Wolfgang Thomas
Safra Trees
The desired Muller automaton has states that are “Safra trees”.
A Safra tree is a finite ordered tree of macrostates, possibly
some of them ticked, where the children of a node are disjoint
and their union a proper subset of the parent.
There are only finitely many such trees. These are the states of
the desired Muller automaton M.
Wolfgang Thomas
Transitions of M
From a Safra tree s via letter a the following Safra tree results:
Wolfgang Thomas
Acceptance
A run s0 s1 s2 . . . is accepting if from some si onwards some
node stays uncancelled in si si+1 si+2 . . . and is ticked infinitely
often.
Then by construction we have L(M) ⊆ L(B).
This is a Boolean combination of Büchi conditions on the run
s0 s1 s2 . . .:
For some node name k:
Wolfgang Thomas