170 likes | 310 Views
Finite Model Theory Lecture 11. Second Order Logic. Outline. Chapter 7 in the textbook: Games for SO, application to reachability Buchi’s theorem Star Free Languages Tree automata. Buchi’s Theorem. Proof Part 1: regular languages µ MSO Every regular language is in 9 MSO [in class]
E N D
Finite Model TheoryLecture 11 Second Order Logic
Outline Chapter 7 in the textbook: • Games for SO, application to reachability • Buchi’s theorem • Star Free Languages • Tree automata
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]
Buchi’s Theorem MSO µ regular languages • This is harder: let f2 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]
Applications CorollaryOver strings, 9 MSO = 8 MSO = MSO Does this hold in general ?
Applications • Consider s = {<} • A structure M = a string in {1}* = a number What sets of natural numbers are definable in MSO ?
Applications Proposition Hamiltonean path on undirected graphs is not definable in MSO • Proof in class
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)
Star-free Regular Languages • Which of the following are star-free ? TheoremL 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)*
Ranked Trees • A ranked alphabet is a set S and r : S! N • For a 2S, r = r(a) ¸ 0 is it’s rank; also write ar • Rank(S)=max(r(a) | a 2S) • 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
Tree Automtata Notations: • Trees(S) • A tree language is L µ Tree(S) • This generalizes languages over strings (why ?)
Example • Symbolic expressions:S = {a,b,c,f1,g2,h2,k3} h f h k b b a c a
Notneeded Tree Automata • A = (S, Q, q0, d, F) where:q02 Q, F µ Qd is a set of tuples of the form: (w, a, q) w 2 Q*, a 2S, q 2 Q, s.t. |w| = r(a) Execution: given a tree T, A executesbottom up or top down [show in class] A language L µ Tree[S] is a regulartree language iff there exists A s.t. L = {T | T accepted by A}
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)
Ranked Trees as Structures • Let’s restrict to Rank(S) = 2 easy to generalize • Let s = {<, (Pa)a 2S, 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
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 ?