Buchi Logical Characterization Regular Languages
Buchi Logical Characterization Regular Languages
Languages
Meenakshi D’Souza
IIIT-Bangalore.
Term II 2023-’24.
Background
Examples:
1 ∀x∃y (x < y ).
First-Order logic of (N, <).
Examples:
1 ∀x∃y (x < y ).
2 ∀x∃y (y < x).
First-Order logic of (N, <).
Examples:
1 ∀x∃y (x < y ).
2 ∀x∃y (y < x).
3 ∃x(∀y (y ≤ x)).
First-Order logic of (N, <).
Examples:
1 ∀x∃y (x < y ).
2 ∀x∃y (y < x).
3 ∃x(∀y (y ≤ x)).
4 ∃x(∀y (x ≤ y )).
First-Order logic of (N, <).
Examples:
1 ∀x∃y (x < y ).
2 ∀x∃y (y < x).
3 ∃x(∀y (y ≤ x)).
4 ∃x(∀y (x ≤ y )).
5 ∀x∀y ((x < y ) =⇒ ∃z(x < z < y )).
First-Order logic of (N, <).
Examples:
1 ∀x∃y (x < y ).
2 ∀x∃y (y < x).
3 ∃x(∀y (y ≤ x)).
4 ∃x(∀y (x ≤ y )).
5 ∀x∀y ((x < y ) =⇒ ∃z(x < z < y )).
Sentences 1 and 4 are true over the given domain (N, <)
while others are not.
First-Order logic of (N, <).
Examples:
1 ∀x∃y (x < y ).
2 ∀x∃y (y < x).
3 ∃x(∀y (y ≤ x)).
4 ∃x(∀y (x ≤ y )).
5 ∀x∀y ((x < y ) =⇒ ∃z(x < z < y )).
Sentences 1 and 4 are true over the given domain (N, <)
while others are not.
Question: Is there an algorithm to decide if a given FO(N, <)
sentence is true or not?
First-Order Logic
∃X (x ∈ X =⇒ 0 < x).
Monadic Second-Order logic over alphabet A: MSO(A)
Section 1.1 & 1.2 of wolfgang book
w |= ϕ.
DFA A for L:
e o
a, b
a a b a b a b a b
Xe 1 0 1 0 1 0 1 0 1
Xo 0 1 0 1 0 1 0 1 0
ϕA :
∃Xe ∃Xo (∀x( (x ∈ Xe =⇒ ¬x ∈ Xo ) ∧ (x ∈ Xo =⇒ ¬x ∈ Xe ) ∧
(x ∈ Xe ∨ x ∈ Xo ) ∧
(zero(x) =⇒ x ∈ Xe ) ∧
((x ∈ Xe ∧ Qa (x) ∧ ¬last(x)) =⇒ ∃y (succ(x, y ) ∧ y ∈ Xo )) ∧
((x ∈ Xe ∧ Qb (x) ∧ ¬last(x)) =⇒ ∃y (succ(x, y ) ∧ y ∈ Xo )) ∧
((x ∈ Xo ∧ Qa (x) ∧ ¬last(x)) =⇒ ∃y (succ(x, y ) ∧ y ∈ Xe )) ∧
((x ∈ Xo ∧ Qb (x) ∧ ¬last(x)) =⇒ ∃y (succ(x, y ) ∧ y ∈ Xe )) ∧
(last(x) =⇒ ((Qa (x) ∧ x ∈ Xo ) ∨ (Qb (x) ∧ x ∈ Xo ))))).
From MSO sentence to automaton
Qa (x1 ) ∧ (x2 ∈ X1 ).
Inductive construction of ATϕ .
∃x
∃y
x <y
Back to First-Order logic of (N, <).
Examples:
1 ∀x∃y (x < y ).
2 ∀x∃y (y < x).
3 ∃x(∀y (y ≤ x)).
4 ∀x∀y ((x < y ) =⇒ ∃z(x < z < y )).
Question: Is there an algorithm to decide if a given FO(N, <)
sentence is true or not?
Büchi’s decision procedure for MSO(N, <)
Büchi considered finite automata over infinite strings (so
called ω-automata).
An infinite word is accepted if there is a run of the automaton
on it that visits a final state inifinitely often.
Büchi showed that ω-automata have similar properties to
classical automata: are closed under boolean operations,
projection, and can be effectively checked for emptiness.
MSO characterisation works similarly for ω-automata as well.
Given a sentence ϕ in MSO(N, <) we can now view it as an
MSO({a}) sentence.
Construct an ω-automaton Aϕ that accepts precisely the
words that satisfy ϕ.
Check if L(Aϕ ) is non-empty.
If non-empty say “Yes, ϕ is true”, else say “No, it is not true.”
Summary