Mikołaj Bojańczyk

Here we prove the following theorem.

Theorem. For every deterministic Muller automaton, there is an equivalent deterministic parity automaton.

 

The above theorem can be proved in two ways. One of them is to show that, by taking more care, we can actually produce a parity automaton in the determinisation construction. Here we use an alternative construction, based on a data structure called the latest appearance record that was found by McNaughton. The construction is presented in the following lemma.

Lemma. For every finite alphabet \Sigma, there exists a deterministic automaton with input alphabet \Sigma, a totally ordered state space Q, and a function 

    \[g : Q \to \powerset \Sigma\]

with the following property. For every input word, the set of letters appearing infinitely often in the input is obtained by applying g to the smallest state that appears infinitely often in the run.

Proof. The state space Q consists of pairs

    \[u \in \Sigma^*  \qquad n \in \set{0,\ldots,|\Sigma|}\]

such that u is a non-repeating word, i.e. it contains each letter at most once. The initial state of the automaton is (\epsilon,0). After reading a finite input word, the state of the automaton is:
• The word obtained from the input by keeping only the latest appearance of each letter (call this the latest appearance record).
• The length of the longest common prefix of the latest appearance records in the current and previous states (call this the hit position).

It is not difficult to define the transition function of the automaton to make the above invariant true. Here is an example run:

    \begin{eqnarray*}(\epsilon,0) \stackrel a \to (a,0) \stackrel a \to (a,1) \stackrel b \to (ab,1) \stackrel c \to (abc,2) \stackrel a \to (bca,0) \stackrel b \to \\  (cab,0)  \stackrel b \to (cab,3) \stackrel a \to (cba,1)  \stackrel b \to (cab,1) \stackrel a \to (cba,1) \stackrel a \to (cba,3) \end{eqnarray*}

The key observation is this: if n is the smallest hit position that appears infinitely often, then there are exactly n letters in the input word that appear at least once but finitely often. In particular, if the smallest state that appears infinitely often is (u,n) then by removing the first n letters of u we get the set of letters that appear infinitely often in the input word.  (To be fully precise, there is an exception: if |u|=n, then the set of letters that appears infinitely often is the last letter in u.)

Therefore, to get the statement of the lemma, we order Q first by hit positions, and in case of equal hit positions we use some arbitrary total ordering on the latest appearance records. The function g is defined according to the description in the previous paragraph. \Box

The conversion of Muller to parity is a straightforward corollary of the above lemma: one applies the above lemma to the state space of the Muller automaton, and defines the ranks according to the Muller condition.

 

Leave a Reply

Your email address will not be published.