Concurrency Theory: Lecture 10, 1 March 2018 -------------------------------------------- ---------------------------------------------------------------------- Regular trace languages and minimal DFA - w ~ w' means for all u, wu in L iff w'u in L - w and w' are right-congruent (Myhill Nerode), so minimal DFA reaches same state on w and w' - In particular, if (a,b) in I, wab ~ wba. So, at any state in the minimal DFA, transitions on independent letters form a diamond - This allows us to check if a regular language is trace closed wrt I: check that the minimal DFA has diamonds for every state and every pair of independent letters. ---------------------------------------------------------------------- Synchronized product automata Recall that direct products are not closed wrt boolean operations, but regular trace languages are. Need a more expressive model to capture all regular trace languages. - Definition is same as direct product, except that F is an arbitrary subset of Q (not simply F_1 x F_2 x ... x F_k) - Allow some global exchange of information at the end of a word Lemma: Every synchronized product language is a finite union of direct product languages Proof: Let A be a synchronized product automaton with F = {f1,f2,..,fm}. For each fi = (q1,q2,...,qk) construct a direct product automaton with F_1 = {q1}, ..., F_k = {qk}. These m direct product automata together accept the same language as A. Conversely, easy to check that the union of a synchronized product and a direct product language is again a synchronized product. Note: There is no effective way to compute the number of direct product components if L is presented sequentially (as a DFA/NFA). In fact, it is an open question to characterize the class of regular trace languages that are accepted by synchronized product automata. Lemma: Synchronized product languages are closed under boolean operations. Proof: Closure under union follows from characterization in terms of finite unions of direct product languages. Closure under complementation follows from the fact that we can always construct deterministic synchronized products. This is by induction on m, the number of direct product components that make up the language. Synchronized products do not accept all regular trace languages. Counterexample: Distributed alphabet = ({a,c},{b,c}) - Language = [(ab+ba)c + (aabb + ... + bbaa)c]* - Use pigeonhole principle argument to show that this cannot be a finite union of direct products - Intuitively speaking, global final states allow us to check consistent choices across components at the end of the word, but we may have to check such consistent choices repeatedly, as we go along. Hence, need to further enhance the model to allow synchronization across components for each transition. ======================================================================