Download presentation
Presentation is loading. Please wait.
1
Finite Model Theory Lecture 11
Second Order Logic
2
Outline Chapter 7 in the textbook:
Games for SO, application to reachability Buchi’s theorem Star Free Languages Tree automata
3
Buchi’s Theorem Proof Part 1: regular languages µ MSO
Every regular language is in 9MSO [in class] Every regular language is in 8 MSO [in class]
4
Buchi’s Theorem MSO µ regular languages
This is harder: let f 2 MSO. Need to show that the set {M | M ² f} is regular Proof 1 (not in the book): induction on f [in class] Proof 2 (from the book): using types [in class]
5
Applications Corollary Over strings, 9 MSO = 8 MSO = MSO
Does this hold in general ?
6
Applications Consider s = {<}
A structure M = a string in {1}* = a number What sets of natural numbers are definable in MSO ?
7
Applications Proposition Hamiltonean path on undirected graphs is not definable in MSO Proof in class
8
Star-free regular languages
Let S = {a,b,c} (can be larger in general) A regular language is defined by the grammar: E ::= ; E ::= e | a | b | c E ::= E [ E E ::= E.E E ::= E* A star-free regular language: drop E*, add E (need overline, not underline)
9
Star-free Regular Languages
Which of the following are star-free ? Theorem L is star-free iff it is in FO. L is regular iff it is in MSO {ab, accb, ca} S* a* {a,b}* ((a [ b).c)*
10
Ranked Trees A ranked alphabet is a set S and r : S ! N
For a 2 S, r = r(a) ¸ 0 is it’s rank; also write ar Rank(S)=max(r(a) | a 2 S) A ranked tree T is a tree labeled with symbols in S s.t. each node x labeled with a has exactly r(a) children
11
Tree Automtata Notations: Trees(S) A tree language is L µ Tree(S)
This generalizes languages over strings (why ?)
12
Example Symbolic expressions: S = {a,b,c,f1,g2,h2,k3} h f h k b b a c
13
Not needed Tree Automata A = (S, Q, q0, d, F) where: q0 2 Q, F µ Q d is a set of tuples of the form: (w, a, q) w 2 Q*, a 2 S, q 2 Q, s.t. |w| = r(a) Execution: given a tree T, A executes bottom up or top down [show in class] A language L µ Tree[S] is a regular tree language iff there exists A s.t. L = {T | T accepted by A}
14
Tree Automata Example: S = {0,1,:, Æ, Ç} A = (S, Q, q0, d, F)
Q = {false, true} q0 = (not needed) F = { true } d = (e, 0, false), (e, 1, true) (false, :, true), (true, :, false) (false.false, Æ, false), …, (true.true, Æ, true) (false.false, Ç, false), …, (true.true, Ç, true)
15
Ranked Trees as Structures
Let’s restrict to Rank(S) = 2 easy to generalize Let s = {<, (Pa)a 2 S, succ1, succ2} Consider only structures in STRUCT[s] that are trees, where < is the ancestor-descendant relation, and succ1, succ2 are the left and right child respectively
16
MSO and Regular Tree Languages
Theorem A set of trees is definable in MSO iff it is regular Proof: almost identical to Buchi’s theorem What are star-free regular tree languages ?
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.