Logic: Lecture 23, 20 November 2012 ---------------------------------- View a finite word as encoding a sequence of states rather than a sequence of actions. - Fix a set of atomic propositions AP - In each state, some subset of propositions are true - For an atomic proposition a, P_a is the subset of positions where a is true - P_a, P_b, ... no longer partition the set of position, unlike the word interpretation - Or, choose Sigma = 2^AP, in which case each letter describes a state valuation - Note: can absorb the transition label into the target state of each transition, so there is no loss of expressiveness MSO can now be used to reason about computational systems: Simplest case: Finite state automata, each state is labelled by a subset of AP Path through automaton is a sequence of states Example assertions In every execution (Linear time) Temporal Logic (LTL) Syntax : X, F, G, U Semantics : w,i |= phi, w is a word, i is a position {1,2,...,n} Examples : Every p followed by q G (p -> Fq) If a request is made, it remains valid till it is granted. G (r -> r U g) Theorem [Kamp, McNaughton, Wilke] LTL is expressively equivalent to FO(N,0,S,<) LTL admits a more direct decidability proof in terms of automta. Construction is (single) exponential in size of formula. Model-checking: Given a DFA/NFA A and an LTL formula phi, does every word in L(A) satisfy phi? In other words, is L(A) a subset of L(phi)? Infinite words Buechi automata (BA) Same structure as DFA/NFA but interpret F differently: Infinite word is accepted iff it has a run that visits F infinitely often (which implies that some f in F is visited infinitely often) Examples: Sigma = {a,b} L = { w | w has infinitely many a's} a ------> (self loop on b) q0 q1 (self loop on a) <------ b q0 is initial state, F = {q1} This automaton is determinstic. If we make F = {q0} we get L' = { w | w has infinitely many b's}, which is not the complement of the original language! L" = { w | w has finitely many a's} b (self loop on a,b) q0 ------> q1 (self loop on b) q0 is initial state, F = {q1} Finitely many a's means the word ends with an infinite suffix of b's. Guess when we are in this infinite suffix and move to q1. This automaton is nondeterministic. Claim: There is no deterministic BA for this langauge. Theorem: Deterministic BA are strictly weaker than nondeterministic BA. Omega-regular languages: languages accepted by nondeterministic BA Complementation is a nontrivial problem, solved by Buechi using Ramsey Theory and later simpler proofs have been presented by modifying the automaton model and translating back and forth. Product construction works with minor modification for union and instersection. Projection is as for finite automata. Using these, we can get a correspondence between MSO(N,0,S) and omega-regular languages (Buchi, 1960). ======================================================================