Consider a nondeterministic Mealy machine, $M$, defined as follows: $M = (Q, \Sigma, \Delta, \delta, \tau, q_0)$ where
- $Q$ is a finite set of states
- $\Sigma$ is an input alphabet
- $\Delta$ is an output alphabet
- $\delta : Q \times \Sigma_{\varepsilon} \to \mathcal{P}(Q)$ is the transition function
- $\tau : Q \times \Sigma_{\varepsilon} \to \mathcal{P}(\Delta)$ is the output function
- $q_0 \in Q$ is the start state
Let $M(x)$ for $x \in \Sigma^*$ denote the set of all strings that $M$ could output on input $x$. Note that $M$ could fail to process the entirety of its input, and thus a string is output only if $M$ processes all of its input. Also, we define, for $L \subset \Sigma^*$, $M(L) = \bigcup\limits_{w \in L} M(w)$. Given this, if $L$ is regular, does it follow that $M(L)$ is regular?
I've attempted to solve this by first showing that for every non-deterministic Mealy machine, there exists an equivalent deterministic Mealy machine. By "equivalent" I mean that the input-output behavior of the two is identical. The problem, however, is that the output function for a deterministic Mealy machine can only output a single character at a time. How, then, could I get the simulating deterministic Mealy machine to output a set of strings?